Skip to main content

soxspipe

Required tests

The data-reduction pipeline for the SOXS instrument (a python package with command-line tools).

Documentation for soxspipe is hosted by Read the Docs (development version and main version). The code lives on github. Please report any issues you find here.

Installation

The best way to install or upgrade soxspipe is to use conda to install the package in its own isolated environment, as shown here:

conda create -n soxspipe python=3.12 soxspipe -c conda-forge
conda activate soxspipe

If you have previously installed soxspipe, a warning will be issued stating that a conda environment already exists; select 'y' when asked to remove the existing environment.

To check installation was successful run soxspipe -v. This should return the version number of the install.

Testing

Install the test dependencies and run the required offline suite with Python 3.12:

python -m pip install -e ".[tests]"
python -m pytest tests/unit tests/integration -m "not slow"

The real-data acceptance test is opt-in. The scheduled GitHub Actions workflow downloads the immutable archive named by tests/real_data/manifest.json, verifies it, creates a disposable workspace, and runs the representative NIR-offset reduction. To run the acceptance assertions locally after preparing that workspace, set SOXSPIPE_REAL_DATA_DIR to its absolute path:

SOXSPIPE_REAL_DATA_DIR=/absolute/path/to/workspace python -m pytest tests/real_data

Changed-line gates

Two gates run on every pull request into develop, and both judge only the lines the pull request changed. Neither one asks the whole package to be clean, so existing debt never blocks an unrelated change:

  • Coverage. diff-cover reports/coverage.xml --compare-branch=origin/develop --fail-under=80 requires 80% coverage of changed lines.
  • Lint. python tools/lint_ratchet.py --compare-branch origin/develop fails when a ruff finding lands on a changed line. Ruff has no baseline feature, so the tool intersects ruff check --output-format json with the diff hunks itself. Pre-existing findings in the files you touched are counted and printed as context, never gated; the package carries roughly 1,380 of them in total, and ruff check soxspipe reports that whole-package figure.

A finding is matched on the line ruff anchors it to. A finding that covers many lines, such as PLR0915 for an over-long function, is anchored at the def line: writing a new over-long function fails the gate, while adding a statement to one that is already over-long does not.

Run the lint gate locally against your staged changes before committing:

python tools/lint_ratchet.py --staged

To run it automatically on every commit, install the hook. It is a convenience, not the gate — git commit --no-verify skips it, and the CI step does not:

python -m pip install -e ".[dev]"
pre-commit install

How to cite soxspipe

If you use soxspipe in your work, please cite using the following BibTeX entry:

@software{Young_soxspipe,
    author = {Young, David R. & Landoni, Marco},
    doi = {10.5281/zenodo.8038264},
    license = {GPL-3.0-only},
    title = {{soxspipe. The SOXS data-reduction pipeline}},
    url = {https://zenodo.org/doi/10.5281/zenodo.8038264}
}

Metadata

Release files for soxspipe 0.18.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for soxspipe 0.18.0
File Size Uploaded
soxspipe-0.18.0.tar.gz 10.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for soxspipe 0.18.0
File Interpreter ABI Platform
soxspipe-0.18.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.6 MB

Release files / soxspipe-0.18.0.tar.gz

Download URL soxspipe-0.18.0.tar.gz
Size 10.8 MB
Tags Source
SHA-256 checksum
How to use checksums
ca68c9f714d02a6533d0744dca135aab0c266413398a45b3de4e311ba44d75da
BLAKE2b-256 checksum
How to use checksums
d6854206cd928314e36ed189685523e944394d320b859a3eb660dc13da69eba4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / soxspipe-0.18.0-py3-none-any.whl

Download URL soxspipe-0.18.0-py3-none-any.whl
Size 10.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8a3862cc3a5d1aff551d863386b43c26df77b6183b33c5938283c19688e1ed31
BLAKE2b-256 checksum
How to use checksums
289483ebbf5593e23be32e4731c3bf7a28b25cfe0fe72e7934e96c69a4a2e08c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.18.0 This release

2 release files

0.16.0

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.6

2 release files

0.13.5

1 release file

0.13.4

1 release file

0.13.3

1 release file

0.13.2

1 release file

0.13.1

1 release file

0.13.0

1 release file

0.12.3

1 release file

0.12.2

1 release file

0.12.1

1 release file

0.12.0

1 release file

0.11.10

1 release file

0.11.9

1 release file

0.11.8

1 release file

0.11.7

1 release file

0.11.6

1 release file

0.11.5

1 release file

0.11.4

1 release file

0.11.3

1 release file

0.11.2

1 release file

0.11.1

1 release file

0.11.0

1 release file

0.10.2

1 release file

0.10.1

1 release file

0.10.0

1 release file

0.9.9

1 release file

0.9.8

1 release file

0.9.7

1 release file

0.9.6

1 release file

0.9.5

1 release file

0.9.4

1 release file

0.9.3

1 release file

0.9.2

1 release file

0.9.0

1 release file

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

4 release files

0.3.1

2 release files

0.3

3 release files

0.2.0

4 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page