The aswfdocker command line tool is available to help with package and
image builds.
Install uv (Python 3.9+ required):
curl -LsSf https://astral.sh/uv/install.sh | shThen clone this repository and install the project and its dependencies:
git clone https://github.com/AcademySoftwareFoundation/aswf-docker
cd aswf-dockerFor users, install the dependencies for aswfdocker:
uv syncFor developers, install the aswfdocker dependencies and additional tools:
uv sync --all-extrasRun the aswfdocker command via uv run:
uv run aswfdocker --helpCheck that the command works:
uv run aswfdocker --helpuv creates a venv which you can explicitly activate to avoid having to prefix
every invocation of aswfdocker with uv run:
source .venv/bin/activate
aswfdocker --versionList all known packages:
uv run aswfdocker packagesList all known images:
uv run aswfdocker imagesFirst install the pre-commit hooks by running
uv run pre-commit install.
The pre-commit hooks will run the following commands, which can be run individually as well:
- Run Black on the code to ensure formatting
is okay:
black python - Run the tests to ensure everything is okay:
pytest python/aswfdocker - Run mypy to ensure static types are okay:
mypy python/aswfdocker - Run PyLint on the code to ensure
linting is okay:
pylint python/aswfdocker
To run them all manually use pre-commit run --all-files.
- Add a runtime dependency:
uv add <package> - Add a dev dependency:
uv add --dev <package> - Dependencies are declared in
pyproject.toml; runuv lockafter editing.