You will need python3 and openssh installed at a minimum.
The easiest way to get started is using Nix:
$ git clone git@github.com:numtide/deploykit.git
$ cd deploykit
$ nix developThis will provide all necessary dependencies including pytest, mypy, and ruff.
Clone the project and install in development mode:
$ git clone git@github.com:numtide/deploykit.git
$ cd deploykit
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install -e '.[dev]'This will install deploykit in editable mode along with all development dependencies.
To run tests, you need pytest:
$ pytest ./testsThe project uses modern Python tooling:
Run all formatters and linters at once (if you have nix installed)
$ nix fmtType checking:
$ mypy deploykit testsFormatting:
$ ruff format .Linting:
$ ruff check --fix .We use python3s logging library.
DeployHost-related logging starting with [hostname] is handled by a logger called deploykit.command, other logging is handled by the deploykit.main logger.