Installation

Requirements

Python 3.12 or higher

For Users

Create a virtual environment (recommended):

python3 -m venv .venv
source .venv/bin/activate

Install a plugin first, for example:

pip install spac-kit-europa-clipper

Then install SPaC-Kit:

pip install spac-kit

Verify installation:

spac-ls  # Should list available packet definitions

For Developers

Clone and set up:

git clone https://github.com/CCSDSPy/SPaC-Kit.git
cd SPaC-Kit

# Create environment with Poetry
poetry env use python3.12
poetry install --with dev

# Install pre-commit hooks
pre-commit install && pre-commit install -t pre-push

Use with Poetry:

poetry run spac-parse --help
poetry run pytest

Update lock file before committing:

poetry lock

Contributing

Development should be done on a feature branch. When your changes are ready for review, open a pull request (PR) against the main branch. Automated tests and linting are run on all PRs — make sure both pass before requesting a review.

Building and Publishing

Update version in pyproject.toml, then

# Tag and push
git tag vX.Y.Z
git push origin main --tags

# Build
python3 -m pip install --upgrade build
rm -rf dist/
python3 -m build

# Publish
pip install twine
twine upload dist/*