# HG changeset patch # User paugier # Date 1739789147 -3600 # Node ID 9072873253b73ee6845e64aa44cc98fa95ba04ec # Parent e1267940fa2f3ccbefd58a7a8af711569810cdd1 contributing: explicit list of dev requirements diff -r e1267940fa2f -r 9072873253b7 CONTRIBUTING.md --- a/CONTRIBUTING.md Mon Feb 17 11:45:17 2025 +0100 +++ b/CONTRIBUTING.md Mon Feb 17 11:45:47 2025 +0100 @@ -13,3 +13,33 @@ any files you've modified and run `python contrib/check-commit` on any commits you've made (for example, `python contrib/check-commit 273ce12ad8f1` will report some style violations on a very old commit). + +## Development dependencies + +### Required dependencies + +- Python (see `project.requires-python` in `pyproject.toml`) with `venv` and `pip` + +- `make` with few other standard Unix tools (`diff`, `grep`, `unzip`, `gunzip`, `bunzip2` and `sed`) + + For Windows, see `contrib/install-windows-dependencies.ps1`. + +### Optional dependencies + +- Mercurial contributors should install a quite recent Mercurial with the + extensions `evolve` and `topic` activated. + +- A C compiler and Python headers (typically Debian package `python3-dev` + or Microsoft Build Tools for Visual Studio on Windows) + +- `msgfmt` from the Debian package `gettext` (used to build the translations) + +- [Rust tools](https://www.rust-lang.org/tools/install) (see `rust/README.rst`) + +#### Note on installation + +Mercurial is a Python application that can be installed with +[pipx](https://pipx.pypa.io) and `uv tool`. UV is a Rust application that can also be +installed with pipx or with +[its own installer](https://docs.astral.sh/uv/getting-started/installation/). +