Contributing¶
We welcome contributions to this project!
Linting and formatting¶
The project uses pre-commit to run linters and formatters.
pre-commit run --all-files
Rust¶
The project uses cargo-insta for snapshot testing.
cargo insta test -p analyzer
Python¶
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