Installation¶
Requirements¶
Python 3.11 or newer (and older than 3.14)
astropy 7.x, numpy 2.x, dask and xarray — installed for you by pip
From PyPI¶
$ pip install fitstoolz
From GitHub¶
To install the latest development version:
$ pip install git+https://github.com/shinobi-dosho/fitstoolz
Either way, this installs:
the
fitstoolzcommand-line tool, andthe importable
fitstoolzpackage.
For development¶
The project uses uv:
$ git clone https://github.com/shinobi-dosho/fitstoolz
$ cd fitstoolz
$ uv sync --group dev
$ .venv/bin/pytest
$ .venv/bin/ruff check src tests docs
$ git config core.hooksPath .githooks # enable the repo's pre-commit hook
uv.lock is committed, so uv sync gives you the same dependency versions
CI tests against (it runs every job with --locked). Change
pyproject.toml and you must re-run uv lock and commit both; the repo’s
pre-commit hook and CI each reject the mismatch.
That the pinned astropy is the one under test matters more than usual here —
see Security for why. CONTRIBUTING.md has the full workflow.
To build the documentation locally:
$ uv sync --group docs
$ uv run sphinx-build -b html docs docs/_build/html
$ open docs/_build/html/index.html