Climate_Indices

Contains Python implementations of various climate index algorithms which provide a geographical and temporal picture of the severity of precipitation and temperature anomalies useful for climate monitoring and research.
https://github.com/monocongo/climate_indices

Category: Climate Change
Sub Category: Climate Data Processing and Analysis

Keywords

climate climate-analysis climate-data climate-risk climate-science climate-tech drought energy energy-consumption energy-data energy-forecasting energy-management energy-monitoring flood flood-risk hazard hazard-assessment multi-hazard wildfire wildfire-risk

Keywords from Contributors

gtk qt tk wx

Last synced: 12 minutes ago
JSON representation

Repository metadata

Climate indices for multi- and compound-hazard monitoring (drought, flood, wildfire, energy)

README.md

Banner Image

climate_indices

Actions Status
License
Python | 3.10-3.14

Python library of climate indices for drought, wildfire, and flood monitoring

climate_indices provides reference implementations of climate index algorithms that give a
geographical and temporal picture of the severity and duration of precipitation, temperature,
evaporative-demand, fire-weather, and wet-extreme anomalies for climate monitoring and research.
It began as a drought library; it now covers drought, wildfire, and flood potential, and an
energy family is in development.

Indices

Drought and moisture balance

  • SPI,
    Standardized Precipitation Index, utilizing gamma and Pearson Type III distributions, with
    selectable placement of zero accumulations (zero_handling)
  • SPEI,
    Standardized Precipitation Evapotranspiration Index, utilizing gamma, Pearson Type III, and generalized-logistic (log-logistic) distributions
  • Standardized index (indices.standardized_index()), the SPI fitting pipeline for any
    non-negative series, such as runoff or streamflow for
    SRI/SSI work
  • PNP,
    Percentage of Normal Precipitation
  • PCI, Precipitation Concentration Index
  • EDDI, Evaporative Demand Drought Index
  • Palmer indices,
    including PDSI, PHDI, PMDI, Z-Index, and scPDSI

Evapotranspiration

Wildfire (climate_indices.fire)

Flood potential (climate_indices.flood)

Energy (in development, #1157)

Planned, none shipped yet in the package:

  • Heating, cooling, and energy degree days (HDD / CDD / EDD)
  • Hub-height wind-speed profile, and wind and temperature-derated PV capacity factors
  • Standardized energy production and demand indices: SREPI and a standardized demand index,
    plus SRLI for signed residual-load series, following
    Allen and Otero (2023)
  • Run-theory energy-drought events (onset, duration, severity), and a capacity-weighted
    precipitation proxy for hydropower
  • These indices describe the climate-driven component of energy supply and demand, not
    actual generation or load

Supporting tools

  • Run theory (climate_indices.runs): runs above or below a threshold with duration,
    magnitude, intensity, and peak, per series or per grid cell
  • Distribution fit diagnostics (fit_diagnostics()): the fitted parameters, probability of
    zero, and Kolmogorov-Smirnov statistic per calendar step and cell
  • Probability-scale output (output_scale): standardized indices as normal scores, fitted
    cumulative probabilities, or a bounded [-1, 1] scale

Highlights

  • Rust backend. An optional compiled extension (climate_indices._native)
    runs Rust ports of the numerical kernels behind SPI, SPEI, the standardized index, EDDI,
    PET, PNP, PCI, the Palmer family, the KBDI and CFFWIS moisture-code recurrences, and the
    flood family. It preserves the public API; a cross-backend parity registry checks every
    ported kernel against the Python reference at rtol = atol = 1e-10 with matching NaN
    positions, not bit-for-bit equality; see the parity contract.
    Speedups vary by kernel: the flood family
    measured 1.2x to 6.7x faster than its Python path and Thornthwaite PET 1.4x, while
    Hargreaves measured at parity and Penman-Monteith slightly slower (0.89x) at the benchmark
    size; see the measurements.
  • Vectorized gridded computation. SPI, SPEI, EDDI, PNP, PET, and PDSI fit or rank a
    whole (time, *cells) block in one call instead of looping over cells. On a 38x87-cell,
    40-year reference grid that is 4.4x faster for SPI, 3.6x for SPEI, 53x for Thornthwaite
    PET, 342x for EDDI, and 111x for gridded PDSI. On fully populated monthly grids, gamma
    SPI/SPEI, EDDI, and PNP are bit-identical to per-cell computation; Thornthwaite PET and
    successful Pearson fits agree within 1e-12. Pearson SPI's block-wide gamma fallback is
    not per-cell equivalent and can depend on chunk layout; daily and missing-data bounds
    are documented separately.
  • xarray, Dask, and Zarr. Supported xarray entry points accept xarray.DataArray input,
    preserve coordinates, attach CF metadata, and stay lazy on Dask-backed arrays for
    chunk-by-chunk Zarr output. Temporal inference and core-dimension chunk requirements
    vary by function; indices.standardized_index() and scPDSI remain NumPy-only.
    See the compatibility matrix,
    writing NetCDF and Zarr outputs, the
    Zarr/Dask notebook, and
    chunking and scheduler guidance.
  • Validation. Documented evidence distinguishes external checks against NOAA, NRCan,
    SPEIbase, and literature reference data from regression-only coverage; see
    Validation.
  • Command-line interface. climate_indices --index {spi,spei,pnp,scaled,pet,palmers,kbdi,pe,edi,flood_index,api,all} computes indices from
    NetCDF inputs.

Project goals

This Python implementation of the above climate index algorithms is being developed
with the following goals in mind:

  • to provide an open source software package to compute a suite of
    climate indices commonly used for climate monitoring, with well
    documented code that is faithful to the relevant literature and
    which produces scientifically verifiable results
  • to provide a central, open location for participation and collaboration
    for researchers, developers, and users of climate indices
  • to facilitate standardization and consensus on best-of-breed
    climate index algorithms and corresponding compliant implementations in Python
  • to provide transparency into the operational code used for climate
    monitoring activities at NCEI/NOAA, and consequent reproducibility
    of published datasets computed from this package
  • to incorporate modern software engineering principles and scientific programming
    best practices

This is a developmental/forked version of code that was originally developed by NIDIS/NCEI/NOAA.
See drought.gov.

Installation

This README describes 3.0.0, which is not yet published on PyPI. The released 2.x
package does not include the fire, flood, or runs modules or the Rust backend.
For 3.0.0 features, install from a development checkout.

Install the released 2.x package from PyPI:

pip install "climate-indices>=2.3"

uv users can run uv pip install "climate-indices>=2.3". The 2.3.0 floor matches the
quickstart,
which uses the xarray API added in 2.3.0; see
Supported Python Versions for interpreter support.

Starting with 3.0.0, wheels for Linux (x86-64 and aarch64, manylinux_2_28, so glibc 2.28 or
newer), macOS (Apple silicon and Intel), and Windows (x86-64) include the optional Rust
acceleration backend; every other platform, including a Linux system with older glibc,
installs the pure-Python wheel. Both carry the same version and the same public
API; results agree within the cross-backend parity tolerance,
not necessarily bit for bit. Calling code need not depend on which one pip selected.
To see which one you have:

python -c "import climate_indices._native"   # succeeds when the extension is installed

A missing extension is not an error: climate_indices imports, and every computation
runs the Python implementation. Installing from source needs no Rust toolchain either —
pip install --no-binary climate_indices climate_indices installs from the sdist, which
builds the pure-Python wheel. Developers who
want the extension from a checkout build it with uv run maturin develop --release; see
the Rust backend section of the architecture notes.

Developer Workflow

This project uses trunk-based development. main is the trunk and should always
be releasable.

  1. Start from current trunk:
    git switch main && git pull --ff-only origin main
  2. Create a short-lived branch:
    git switch -c feature/<short-topic>
  3. Make focused changes with tests.
  4. Run validation:
    uv run ruff check src/ tests/
    uv run ruff format --check src/ tests/
    uv run mypy src/ tests/test_type_checking.py
    uv run pytest
  5. Open a PR into main.
  6. The maintainer merges the PR after review and passing CI; agents never merge.

Use feature/<topic>, fix/<topic>, docs/<topic>, chore/<topic>,
perf/<topic>, refactor/<topic>, test/<topic>, ci/<topic>, or
hotfix/<topic> branch names. Release branches are avoided; use maintenance
branches only for approved older-version support.

The methodology behind this workflow — parallel agent sessions, worktree
isolation, and the evidence each change must carry — is documented in
AI-assisted development.

Release Recipe

Releases are tag-based. The Git tag, package version, GitHub Release, and PyPI
version must match.

  • Git tag: v1.2.3
  • Package version: 1.2.3
  • GitHub Release: v1.2.3
  • PyPI release: 1.2.3
  1. Prepare a release PR that updates pyproject.toml, CHANGELOG.md,
    and release notes/docs; the maintainer merges it after review and passing
    CI.
  2. Confirm main is green.
  3. Create an annotated tag from main.
  4. Push the tag. The release workflow builds, validates, publishes to PyPI, and
    creates the GitHub Release.

Tag creation and publishing require maintainer approval. See
docs/release-process.md for the full checklist.

Maintainer Quick Commands

Read-only preflight:

git status --short
git branch --show-current
git log --oneline --decorate -5
uv run pytest tests/test_release_integrity.py

Safe PR branch setup:

git switch main
git pull --ff-only origin main
git switch -c chore/issue-667-release-docs

Approval-required release tag commands:

git switch main
git pull --ff-only origin main
git tag -a vX.Y.Z -m "Release vX.Y.Z"
git push origin vX.Y.Z

Supported Python Versions

Supports Python 3.10–3.14.

All supported versions are tested on Linux (ubuntu-latest) for every pull request and push
to main. Python 3.14 is additionally tested on macOS on every event, and 3.10 on macOS on
pushes to main, merge groups, the weekly schedule, and manual dispatch. Both latest and
minimum declared dependency versions are tested in CI.

Version Support Policy

This project provides 12 months notice before dropping support for a Python version.
When a version approaches end-of-life, removal will be announced via the CHANGELOG and a
GitHub issue, and implemented no sooner than 12 months after announcement with a version bump.

Python 3.9 support was dropped in v2.2.0 (August 2025) due to scipy>=1.15.3 requiring 3.10+.

API Stability

API Surface Status Guarantee
NumPy array functions (indices.spi, indices.spei, indices.pet, and the flood indices) Stable No breaking changes in minor versions
xarray DataArray entry points (any index function accepting xr.DataArray) Beta No breaking changes in patch versions

Stable API: The NumPy-based computation functions follow strict semantic versioning.

Beta API: The xarray adapter layer provides automatic parameter inference, coordinate
preservation, CF metadata, and Dask support. While beta, computation results follow the
stable NumPy API's documented numerical-equivalence bounds
— only the interface surface (parameter names, metadata attributes,
coordinate handling) may evolve. Beta features are marked in docstrings, with
BetaFeatureWarning as their public warning category. The adapter stays Beta in 3.0.0
and is promoted no earlier than 3.1.0, once the 3.0.0 calendar alignment has a release
of soak time (ADR-0012).

See docs/xarray_compatibility.md for the 3.0.0 compatibility matrix, including
Dask chunking constraints, metadata behavior, and the Palmer xarray adapter.
See docs/performance.md for a runnable parallel SPI/SPEI example and
the measured speedups behind the chunk and scheduler guidance.

Validation

VALIDATION.md classifies the evidence for the indices in its per-index
inventory, separating independent external validation from regression coverage and recording
their known gaps. Fosberg Fire Weather Index and Haines Index are not yet classified there.
uv run pytest -m validation runs the marked reference-fixture and specification checks.
FAO-56 worked-example checks run in the core suite via uv run pytest tests/test_pm_eto.py.
The evidence includes:

  • EDDI: NOAA PSL monthly reference ET/EDDI for 1-, 3-, and 6-month timescales
    (1979–2023); maximum observed error 2.43e-6.
  • SPI: characterized against NOAA NCEI's operational climate-divisional SPI for all 344
    divisions and 7 timescales; zero placement compared with the R SEI and SCI packages.
  • SPEI: reproduces SPEIbase v2.11 from its own CRU TS inputs (correlation
    0.9996–0.99999) and matches the R SPEI package's log-logistic fit within 1e-6.
  • Standard Palmer (PDSI, PHDI, PMDI, Z-Index): qualified external validation against
    NOAA NCEI nClimDiv for all 344 divisions, 1895–2022 (median absolute difference 0.0127).
  • scPDSI: cross-validated against Wells-lineage reference fixtures (atol=5e-5).
  • CFFWIS: all seven components match the NRCan cffdrs reference within 1e-9.
  • KBDI: reproduces the Keetch & Byram (1968) worked example.
  • HDW: reproduces event timing and tracks the daily series in the Srock et al. (2018)
    Cedar Fire case; published magnitudes are characterization only, not numerical validation.
  • PET: selected FAO-56 helper examples and the daily end-to-end Example 18, plus
    Thornthwaite and Hargreaves literature examples; monthly Example 17 is not encoded.
  • Flood family: specification-level and regression coverage only; no external numeric
    oracle has been adopted yet.

The Rust backend has its own gate: the parity registry in tests/parity_registry.py runs
each ported entry point through the extension and through the Python implementation on
property-generated inputs, and fails if a kernel is added without an entry.

Upgrading to 3.0.0

3.0.0 changes some computed values and exception types without a deprecation period, most
notably corrected daily calendar alignment in the xarray adapter, the PCI February fix, and
the gamma probability of zero now taken from the Calibration Period. It also removes the spi
console script in favor of climate_indices --index spi. Each change, how to detect it, and
what to change is in docs/deprecations/api-changes.md;
the full list is in the CHANGELOG. Upgrading from 2.1.x or earlier also
crosses the 2.2.0 switch from None return tuples to exceptions.

Citation

You can cite climate_indices in your projects and research papers via the BibTeX
entry below.

@misc {climate_indices,
    author = "James Adams",
    title  = "climate_indices, an open source Python library providing reference implementations of commonly used climate indices",
    url    = "https://github.com/monocongo/climate_indices",
    month  = "may",
    year   = "2017--"
}

Citation (CITATION.cff)

cff-version: 1.2.0
message: >-
  If you use this software in your research, please cite it using
  the metadata in this file. A Zenodo DOI will be registered and
  added here when available — check the repository for the current
  persistent identifier.
title: climate_indices
version: 3.0.0
abstract: >-
  Reference implementations of climate drought indices commonly used
  in drought monitoring and climate research, including the
  Standardized Precipitation Index (SPI), Standardized
  Precipitation-Evapotranspiration Index (SPEI), Evaporative Demand
  Drought Index (EDDI), the Palmer family of indices (PDSI,
  PHDI, PMDI, Palmer Z-Index, scPDSI), and a wildfire index
  family (Keetch-Byram Drought Index, the Canadian Forest Fire
  Weather Index System, Fosberg Fire Weather Index, Hot-Dry-Windy,
  and the Haines Index). Originally developed and
  deployed at NOAA/NCEI for operational drought monitoring.
  Algorithms are literature-faithful: every major implementation
  choice is traceable to a primary source citation, and known
  validation gaps are disclosed in VALIDATION.md.
authors:
  - family-names: Adams
    given-names: James
    email: monocongo@gmail.com
    alias: monocongo
    orcid: https://orcid.org/0000-0002-3456-8867
repository-code: https://github.com/monocongo/climate_indices
url: https://climate-indices.readthedocs.io/en/latest/
license: BSD-3-Clause
keywords:
  - climate
  - drought
  - meteorology
  - SPI
  - SPEI
  - EDDI
  - Palmer
  - PDSI
  - PET
  - evapotranspiration
  - precipitation
  - xarray
  - drought-monitoring
  - wildfire
  - fire-weather
  - KBDI
  - CFFWIS
  - NOAA
  - climate-indices
references:
  - type: article
    title: "Meteorological Drought"
    authors:
      - family-names: Palmer
        given-names: Wayne C.
    journal: "U.S. Weather Bureau Research Paper"
    volume: 45
    year: 1965
    notes: "Defines the Palmer Drought Severity Index (PDSI) and Z-Index"
  - type: conference-paper
    title: >-
      Standardized Precipitation Index for Characterizing and
      Predicting Drought
    authors:
      - family-names: McKee
        given-names: Thomas B.
      - family-names: Doesken
        given-names: Nolan J.
      - family-names: Kleist
        given-names: John
    collection-title: >-
      Preprints, 8th Conference on Applied Climatology
    year: 1993
    notes: "Defines the Standardized Precipitation Index (SPI)"
  - type: article
    title: >-
      The Evaporative Demand Drought Index. Part I: Linking Drought
      Evolution to Variations in Evaporative Demand
    authors:
      - family-names: Hobbins
        given-names: Mike T.
      - family-names: Wood
        given-names: Andrew
      - family-names: McEvoy
        given-names: Daniel J.
      - family-names: Huntington
        given-names: Justin L.
      - family-names: Morton
        given-names: Charles
      - family-names: Anderson
        given-names: Martha
      - family-names: Hain
        given-names: Christopher
    journal: "Journal of Hydrometeorology"
    volume: 17
    year: 2016
    doi: 10.1175/JHM-D-15-0121.1
    notes: "Defines the Evaporative Demand Drought Index (EDDI)"
  - type: article
    title: >-
      The Self-Calibrating Palmer Drought Severity Index
    authors:
      - family-names: Wells
        given-names: Nicholas
      - family-names: Goddard
        given-names: Simon
      - family-names: Hayes
        given-names: Michael J.
    journal: "Journal of Climate"
    volume: 17
    year: 2004
    doi: 10.1175/1520-0442(2004)017<2335:TSPDSI>2.0.CO;2
    notes: "Defines the self-calibrating Palmer Drought Severity Index (scPDSI)"

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 3,235
Total Committers: 28
Avg Commits per committer: 115.536
Development Distribution Score (DDS): 0.195

Commits in past year: 2,234
Committers in past year: 11
Avg Commits per committer in past year: 203.091
Development Distribution Score (DDS) in past year: 0.125

Name Email Commits
James Adams m****o@g****m 2604
James.Adams J****s@C****l 213
McLain Adams t****y@g****m 158
dependabot[bot] 4****] 102
james.adams j****s@o****m 60
james.a j****a@c****m 25
James Adams j****s@v****m 11
Benjamin Root b****t@g****m 10
Arnab Paul Choudhury a****4@g****m 9
marekl11 m****l@g****m 8
Nathan Nayda n****a@s****m 6
Claude n****y@a****m 4
kikocorreoso k****o@g****m 4
the8thbit t****t@g****m 3
AGericke g****e@i****n 3
coderabbitai[bot] 1****] 2
mihailchkik M****k 2
snyk-bot s****t@s****o 1
kikocorreoso y****u@e****m 1
deepsource-autofix[bot] 6****] 1
Laura Guillory l****y@g****m 1
James Adams j****s@J****l 1
Scott Wales s****s@u****u 1
haysengithub d****e@g****m 1
Gitar n****y@g****i 1
DeepSource Bot b****t@d****o 1
David de Klerk d****k@e****k 1
Ben Lewis b****n 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 504
Total pull requests: 524
Average time to close issues: 2 months
Average time to close pull requests: 10 days
Total issue authors: 113
Total pull request authors: 22
Average comments per issue: 1.94
Average comments per pull request: 2.6
Merged pull request: 461
Bot issues: 0
Bot pull requests: 74

Past year issues: 182
Past year pull requests: 272
Past year average time to close issues: 19 days
Past year average time to close pull requests: 3 days
Past year issue authors: 4
Past year pull request authors: 7
Past year average comments per issue: 0.79
Past year average comments per pull request: 4.14
Past year merged pull request: 237
Past year bot issues: 0
Past year bot pull requests: 71

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/monocongo/climate_indices

Top Issue Authors

  • monocongo (343)
  • crestedcaracaryn (6)
  • WeatherGod (5)
  • bennyistanto (5)
  • kikocorreoso (5)
  • aleccourt (4)
  • SouhailAB (4)
  • wsor330 (3)
  • tommylees112 (3)
  • Lixia0911 (3)
  • itati01 (3)
  • s-m-t-c (3)
  • wewe-sst (2)
  • cshields143 (2)
  • farheen2022 (2)

Top Pull Request Authors

  • monocongo (407)
  • dependabot[bot] (73)
  • WeatherGod (10)
  • Seven-milk (7)
  • marekl11 (5)
  • kikocorreoso (3)
  • mclainv (3)
  • nnayda (2)
  • go1me (1)
  • oshin94 (1)
  • cshields143 (1)
  • dawiedotcom (1)
  • the8thbit (1)
  • ecc-tools[bot] (1)
  • ScottWales (1)

Top Issue Labels

  • enhancement (71)
  • rust (32)
  • ready-for-agent (25)
  • design (21)
  • documentation (21)
  • bug (21)
  • type:infrastructure (21)
  • help wanted (19)
  • rust:test (14)
  • xarray-api (14)
  • ready-for-human (14)
  • energy (13)
  • epic:rustup (13)
  • rust:core (12)
  • reliability (12)
  • epic (12)
  • numpy-api (11)
  • wayfinder:grilling (11)
  • rust:python-shim (11)
  • rust:bindings (10)
  • tdd (10)
  • performance (9)
  • type:testing (9)
  • cli (7)
  • epic:docs (6)
  • rust:docs (6)
  • flood (6)
  • validation (6)
  • rust:infra (6)
  • epic:scpdsi (5)

Top Pull Request Labels

  • dependencies (74)
  • python:uv (50)
  • github_actions (20)
  • enhancement (3)
  • icechunk (2)
  • reliability (1)

Package metadata

proxy.golang.org: github.com/monocongo/climate_indices

crates.io: climate-indices

Pure-Rust numerical kernels for climate indices: SPI, SPEI, EDDI, PET, Palmer, fire weather, and flood

  • Homepage:
  • Documentation: https://docs.rs/climate-indices/
  • Licenses: BSD-3-Clause
  • Latest release: 0.1.0 (published 10 days ago)
  • Last Synced: 2026-11-04T12:11:52.494Z (1 day ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 407 Total
  • Rankings:
    • Forks count: 4.213%
    • Stargazers count: 6.973%
    • Dependent repos count: 11.597%
    • Dependent packages count: 15.318%
    • Average: 25.366%
    • Downloads: 88.731%
  • Maintainers (1)
pypi.org: climate-indices

Reference implementations of various climate indices typically used for drought monitoring

  • Homepage: https://github.com/monocongo/climate_indices
  • Documentation: https://climate-indices.readthedocs.io/en/latest/
  • Licenses: BSD-3-Clause AND BSL-1.0
  • Latest release: 3.2.0 (published 1 day ago)
  • Last Synced: 2026-11-05T03:07:51.401Z (about 10 hours ago)
  • Versions: 21
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2,517 Last month
  • Docker Downloads: 100
  • Rankings:
    • Dependent packages count: 8.74%
    • Average: 28.994%
    • Dependent repos count: 49.249%
  • Maintainers (1)

Dependencies

.github/required-status-checks.txt pypi
  • lint *
  • native-wheel *
  • notebooks *
  • rust *
  • rust-crate *
  • rust-deny *
  • rust-msrv *
  • rust-semver *
  • rust-standalone *
  • security-audit *
  • test *
  • test-minimum-deps *
  • test-native *
Dockerfile docker
  • python 3.11-slim build
.github/workflows/benchmarks.yml actions
  • actions/checkout 34e114876b0b11c390a56381ad16ebd13914f8d5 composite
  • actions/setup-python a26af69be951a213d495a4c3e4e4022e16d87065 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • astral-sh/setup-uv e58605a9b6da7c637471fab8847a5e5a6b8df081 composite
.github/workflows/release.yml actions
  • actions/checkout 34e114876b0b11c390a56381ad16ebd13914f8d5 composite
  • actions/setup-python a26af69be951a213d495a4c3e4e4022e16d87065 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • astral-sh/setup-uv e58605a9b6da7c637471fab8847a5e5a6b8df081 composite
  • pypa/gh-action-pypi-publish ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e composite
.github/workflows/unit-tests-workflow.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
pyproject.toml pypi
  • pytest * develop
  • toml 0.10.2 develop
  • cftime 1.6.2
  • dask 2022.2.0
  • h5netcdf 1.1.0
  • python >=3.8,<3.12
  • scipy 1.9.3
  • xarray 2023.1.0
Cargo.lock cargo
  • autocfg 1.5.1
  • heck 0.5.0
  • libc 0.2.190
  • matrixmultiply 0.3.11
  • ndarray 0.17.2
  • num-complex 0.4.6
  • num-integer 0.1.47
  • num-traits 0.2.19
  • numpy 0.29.0
  • once_cell 1.21.4
  • portable-atomic 1.15.0
  • portable-atomic-util 0.2.8
  • proc-macro2 1.0.107
  • pyo3 0.29.3
  • pyo3-build-config 0.29.3
  • pyo3-ffi 0.29.3
  • pyo3-macros 0.29.3
  • pyo3-macros-backend 0.29.3
  • quote 1.0.47
  • rawpointer 0.2.1
  • rustc-hash 2.1.3
  • syn 2.0.119
  • target-lexicon 0.13.5
  • unicode-ident 1.0.26
Cargo.toml cargo
.github/workflows/bandit.yml actions
  • actions/checkout 3d3c42e5aac5ba805825da76410c181273ba90b1 composite
  • actions/setup-python 5fda3b95a4ea91299a34e894583c3862153e4b97 composite
  • github/codeql-action/upload-sarif 2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 composite
crates/climate-py/Cargo.toml cargo
.github/workflows/crate-release.yml actions
  • actions/checkout 3d3c42e5aac5ba805825da76410c181273ba90b1 composite
  • rust-lang/crates-io-auth-action c6f97d42243bad5fab37ca0427f495c86d5b1a18 composite
  • taiki-e/install-action 8cca0918f8471c33515202b73f56ab27f2bed283 composite
crates/climate-indices/Cargo.toml cargo
  • criterion 0.7 development
  • ndarray 0.17.2
uv.lock pypi
  • 247 dependencies

Score: 17.705374085705024