Contributor Guide
Creating a development environment¶
If you plan to make code changes to this repository, you will need to install the following dependencies first:
Once you finish installing these dependencies, you can clone this repository:
1 2 |
|
Executing test environment commands¶
By utilizing hatch
, the following commands are available to manage the development environment.
Tests¶
Command | Description |
---|---|
hatch test | Run Python tests using the current environment's Python version |
hatch test --all | Run tests using all compatible Python and Django versions |
hatch test --python 3.9 | Run tests using a specific Python version |
hatch test --include "django=5.1" | Run tests using a specific Django version |
hatch test -k test_get_js_static_file | Run only a specific test |
What other arguments are available to me?
The hatch test
command is a wrapper for pytest
. Hatch "intercepts" a handful of arguments, which can be previewed by typing hatch test --help
.
Any additional arguments in the test
command are directly passed on to pytest. See the pytest documentation for what additional arguments are available.
Linting and Formatting¶
Command | Description |
---|---|
hatch fmt | Run all linters and formatters |
hatch fmt --check | Run all linters and formatters, but do not save fixes to the disk |
hatch fmt --linter | Run only linters |
hatch fmt --formatter | Run only formatters |
hatch run precommit:check | Run all pre-commit checks configured within this repository |
hatch run precommit:update | Update the pre-commit hooks configured within this repository |
hatch run pyproject:format | Format the pyproject.toml file using pyproject-fmt |
Configure your IDE for linting
This repository uses hatch fmt
for linting and formatting, which is a modestly customized version of ruff
.
You can install ruff
as a plugin to your preferred code editor to create a similar environment.
Documentation¶
Command | Description |
---|---|
hatch run docs:serve | Start the mkdocs server to view documentation locally |
hatch run docs:build | Build the documentation |
hatch run docs:linkcheck | Check for broken links in the documentation |
hatch run scripts\validate_changelog.py | Check if the changelog meets the Keep A Changelog specification |
Environment Management¶
Command | Description |
---|---|
hatch build --clean | Build the package from source |
hatch env prune | Delete all virtual environments created by hatch |
hatch python install 3.12 | Install a specific Python version to your system |
Check out Hatch for all available commands!
This documentation only covers commonly used commands for ServeStatic.
You can type hatch --help
to see all available commands.