Skip to main content

xbudget: easy handling of budgets diagnosed from General Circulation Models with xarray

PyPI Conda Version Docs License

Quick Start Guide

For users: minimal installation within an existing environment

conda install -c conda-forge xbudget

For developers: installing from scratch using conda

git clone git@github.com:hdrake/xbudget.git
cd xbudget
conda env create -f docs/environment.yml
conda activate docs_env_xbudget
pip install -e .
python -m ipykernel install --user --name docs_env_xbudget --display-name "docs_env_xbudget"
jupyter-lab

Releasing

The git tag is the version. xbudget has no version string checked into the source tree: hatch-vcs derives it from the tag at build time and writes xbudget/_version.py (gitignored, but shipped inside the sdist and wheel). To cut a release you tag; there is no file to bump and nothing to keep in sync.

  1. Make sure main is green and has everything you want in the release, and move the ## Unreleased entries in CHANGELOG.md under the new version heading.
  2. Publish a GitHub Release whose tag is vX.Y.Z, targeting the commit you want to ship:
    gh release create vX.Y.Z --target "$(git rev-parse origin/main)" \
      --title vX.Y.Z --generate-notes
    
    Publishing it (not merely pushing a tag) is what fires the workflow. Target the commit you actually want: a tag placed before the commit you meant to release builds the previous version, and PyPI rejects it as a duplicate.
  3. The Publish to PyPI workflow builds from that tag and uploads. It checks out with fetch-depth: 0 so the tag is visible to hatch-vcs, and asserts that the built version matches the tag before publishing.
  4. Verify: https://pypi.org/project/xbudget/.
  5. conda-forge builds from the PyPI sdist and lags by design; the autotick bot opens the version-bump PR. The feedstock recipe must list hatch-vcs alongside hatchling in its host requirements, since it builds with --no-build-isolation.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xbudget-0.8.0.tar.gz (103.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xbudget-0.8.0-py3-none-any.whl (81.5 kB view details)

Uploaded Python 3

File details

Details for the file xbudget-0.8.0.tar.gz.

File metadata

  • Download URL: xbudget-0.8.0.tar.gz
  • Upload date:
  • Size: 103.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for xbudget-0.8.0.tar.gz
Algorithm Hash digest
SHA256 d813eda4a9ca00527a2ec4b6186634a5c5b56b4557b8311cce2be488a680708f
MD5 26b636dea5bfc0544d2375f5da5a0352
BLAKE2b-256 e22e38b790153762a3566ff8daaa628369fad4c29f6d29497090a5aa41489b4c

See more details on using hashes here.

File details

Details for the file xbudget-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: xbudget-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 81.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for xbudget-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3223a886a46b66ffcd8e4b39257369eb3cb29ef1282f55cb2fc725d89e8b67ce
MD5 a366155c7ffaac2c5700f9fc2c85aa3f
BLAKE2b-256 5ef0786634bde6e265c690fe2df14103de321bcb4ef984c95eff7085bd1ef067

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page