We welcome contributions to this project!
The project uses pre-commit
to run linters and formatters.
pre-commit run --all-files
The project uses cargo-insta
for snapshot testing.
cargo insta test -p analyzer
The project uses maturin
to build the Python package,
with the compiled Rust bindings.
You can use the tox
tool to run particular tasks,
with integrated python environment management and package building:
To start an IPython session with the development environment:
tox -e dev -- ipython
To run the analysis CLI tool:
tox -e dev -- python -m sphinx_rust.cli crates/py_binding --overwrite
To run the pytest tests:
tox -e test-py39
To build the documentation:
tox -e docs -- -E