iHARP Research Toolkit Portal

Python Packages

Explore and discover Python packages on the PyPI Index to support reproducible scientific workflows. iHARP shares its source code on the GitHub platform as well as its models and datasets on the Zenodo platform.

PINNICLE

v1.0.6
PyPI

A Python library for solving ice sheet modeling problems using Physics Informed Neural Networks

python -m pip install PINNICLE
Dependencies (9)
  • deepxde
  • mat73
  • matplotlib
  • netCDF4==1.7.2
  • h5py==3.14.0
  • numpy
  • pandas
  • scikit-learn
  • scipy

View on PyPI

cmad

v0.1.0.post6
PyPI

CMAD: A Lightweight Framework for Extreme Spatio-Temporal Anomaly Detection

python -m pip install cmad
Key features
  • ✔ Unsupervised (no training labels required)
  • ✔ Works with **images or generic 2D time-series arrays**
  • ✔ Supports arbitrary spatial dimensions (no fixed size)
  • ✔ Adaptive IQR-based thresholding
  • ✔ Binary anomaly masks (`1 = anomaly, 0 = normal`)
  • ✔ CPU-only by default (GPU-ready via PyTorch)
  • ✔ Suitable for large spatio-temporal datasets
Dependencies (4)
  • numpy
  • torch
  • opencv-python
  • matplotlib

View on PyPI

spatial-link

v0.1.0.post3
PyPI

Spatial-Link: A framework for detecting statistically significant linkages from spatio-temporal data.

python -m pip install spatial-link
Dependencies (2)
  • numpy
  • networkx

View on PyPI

causalnn

v0.1
PyPI

CausalNN package is the implementation of the TS-CausalNN causal discovery method for time series data.

python -m pip install causalnn

View on PyPI

Python tools for validating research claims against scientific literature.

python -m pip install research-claim-validator
Dependencies (109)
  • anthropic>=0.18.0; extra == "llm"
  • openai>=1.12.0; extra == "llm"
  • pydantic>=2.4.0; extra == "llm"
  • pydantic-settings>=2.0.0; extra == "llm"
  • prometheus-client>=0.19.0; extra == "llm"
  • python-dotenv>=1.0.0; extra == "llm"
  • tenacity>=8.2.3; extra == "llm"
  • arxiv>=2.1.0; extra == "retrieval"
  • Deprecated>=1.2.13; extra == "retrieval"
  • einops>=0.7.0; extra == "retrieval"
  • faiss-cpu>=1.7.4; extra == "retrieval"
  • httpx>=0.24.0; extra == "retrieval"
  • langgraph>=0.0.20; extra == "retrieval"
  • neo4j>=5.14.0; extra == "retrieval"
  • numpy>=1.24.0; extra == "retrieval"
  • pandas>=2.0.0; extra == "retrieval"
  • pypdf>=6.6.2; extra == "retrieval"
  • requests>=2.31.0; extra == "retrieval"
  • sentence-transformers>=2.2.0; extra == "retrieval"
  • spacy>=3.7.0; extra == "retrieval"
  • structlog>=24.1.0; extra == "retrieval"
  • torch>=2.0.0; extra == "retrieval"
  • tqdm>=4.65.0; extra == "retrieval"
  • aiofiles>=23.0.0; extra == "corpus"
  • anthropic>=0.18.0; extra == "corpus"
  • arxiv>=2.1.0; extra == "corpus"
  • Deprecated>=1.2.13; extra == "corpus"
  • einops>=0.7.0; extra == "corpus"
  • faiss-cpu>=1.7.4; extra == "corpus"
  • httpx>=0.24.0; extra == "corpus"
  • langgraph>=0.0.20; extra == "corpus"
  • neo4j>=5.14.0; extra == "corpus"
  • numpy>=1.24.0; extra == "corpus"
  • openai>=1.12.0; extra == "corpus"
  • pandas>=2.0.0; extra == "corpus"
  • prometheus-client>=0.19.0; extra == "corpus"
  • pydantic>=2.4.0; extra == "corpus"
  • pydantic-settings>=2.0.0; extra == "corpus"
  • pypdf>=6.6.2; extra == "corpus"
  • python-dotenv>=1.0.0; extra == "corpus"
  • requests>=2.31.0; extra == "corpus"
  • sentence-transformers>=2.2.0; extra == "corpus"
  • spacy>=3.7.0; extra == "corpus"
  • structlog>=24.1.0; extra == "corpus"
  • tenacity>=8.2.3; extra == "corpus"
  • torch>=2.0.0; extra == "corpus"
  • tqdm>=4.65.0; extra == "corpus"
  • aiofiles>=23.0.0; extra == "api"
  • fastapi>=0.104.0; extra == "api"
  • opentelemetry-api>=1.22.0; extra == "api"
  • opentelemetry-exporter-otlp>=1.22.0; extra == "api"
  • opentelemetry-instrumentation-fastapi>=0.43b0; extra == "api"
  • opentelemetry-sdk>=1.22.0; extra == "api"
  • prometheus-client>=0.19.0; extra == "api"
  • python-multipart>=0.0.6; extra == "api"
  • sse-starlette>=1.8.2; extra == "api"
  • uvicorn[standard]>=0.24.0; extra == "api"
  • pandas>=2.0.0; extra == "ui"
  • sseclient-py>=1.8.0; extra == "ui"
  • streamlit>=1.30.0; extra == "ui"
  • aiofiles>=23.0.0; extra == "full"
  • anthropic>=0.18.0; extra == "full"
  • arxiv>=2.1.0; extra == "full"
  • Deprecated>=1.2.13; extra == "full"
  • einops>=0.7.0; extra == "full"
  • faiss-cpu>=1.7.4; extra == "full"
  • fastapi>=0.104.0; extra == "full"
  • httpx>=0.24.0; extra == "full"
  • langgraph>=0.0.20; extra == "full"
  • neo4j>=5.14.0; extra == "full"
  • numpy>=1.24.0; extra == "full"
  • openai>=1.12.0; extra == "full"
  • opentelemetry-api>=1.22.0; extra == "full"
  • opentelemetry-exporter-otlp>=1.22.0; extra == "full"
  • opentelemetry-instrumentation-fastapi>=0.43b0; extra == "full"
  • opentelemetry-sdk>=1.22.0; extra == "full"
  • pandas>=2.0.0; extra == "full"
  • prometheus-client>=0.19.0; extra == "full"
  • pydantic>=2.4.0; extra == "full"
  • pydantic-settings>=2.0.0; extra == "full"
  • pypdf>=6.6.2; extra == "full"
  • python-dotenv>=1.0.0; extra == "full"
  • python-multipart>=0.0.6; extra == "full"
  • requests>=2.31.0; extra == "full"
  • sentence-transformers>=2.2.0; extra == "full"
  • spacy>=3.7.0; extra == "full"
  • sse-starlette>=1.8.2; extra == "full"
  • sseclient-py>=1.8.0; extra == "full"
  • streamlit>=1.30.0; extra == "full"
  • structlog>=24.1.0; extra == "full"
  • tenacity>=8.2.3; extra == "full"
  • torch>=2.0.0; extra == "full"
  • tqdm>=4.65.0; extra == "full"
  • uvicorn[standard]>=0.24.0; extra == "full"
  • black>=23.12.1; extra == "dev"
  • build>=1.0.0; extra == "dev"
  • flake8>=7.0.0; extra == "dev"
  • ipython>=8.20.0; extra == "dev"
  • mypy>=1.8.0; extra == "dev"
  • pytest>=7.4.3; extra == "dev"
  • pytest-asyncio>=0.23.3; extra == "dev"
  • pytest-cov>=4.1.0; extra == "dev"
  • pytest-mock>=3.12.0; extra == "dev"
  • responses>=0.24.1; extra == "dev"
  • twine>=5.0.0; extra == "dev"
  • wheel>=0.42.0; extra == "dev"
  • datasets>=2.16.0; extra == "notebooks"
  • ipykernel>=6.25.0; extra == "notebooks"
  • ipywidgets>=8.1.0; extra == "notebooks"

View on PyPI

PyPI

Construct interpretable macro-neighborhoods from spatial data using adjacency-aware regional aggregation.

python -m pip install macroneighborhoods
Dependencies (11)
  • pandas
  • numpy
  • geopandas
  • shapely
  • scipy
  • libpysal
  • esda
  • geovoronoi
  • pyarrow
  • matplotlib
  • contextily

View on PyPI

icepatchnet

v0.1.0
PyPI

Ice-PatchNet: A patch (segmented images) based CNN workflow

python -m pip install icepatchnet
Dependencies (5)
  • numpy
  • torch
  • opencv-python
  • matplotlib
  • tqdm

View on PyPI

rictsc

v0.1.3
PyPI

Causal Time Series Modeling of Supraglacial Lake Evolution in Greenland under Distribution Shift

python -m pip install rictsc
Dependencies (10)
  • numpy==1.26.4
  • pandas==2.2.3
  • scikit-learn==1.5.1
  • sktime==0.37.0
  • tigramite==5.2.7.0
  • xarray
  • geopandas
  • matplotlib
  • scipy
  • netcdf4

View on PyPI

xcheck

v0.1.2
PyPI

Python package for 'XCheck: A Consistency-based validation framework of englacial layers annotations' across consecutive and intersecting radargram pairs using dot-product similarity.

python -m pip install xcheck
Dependencies (5)
  • numpy
  • matplotlib
  • scipy
  • pandas
  • cartopy

View on PyPI