changeset 52946:9072873253b7

contributing: explicit list of dev requirements
author paugier <pierre.augier@univ-grenoble-alpes.fr>
date Mon, 17 Feb 2025 11:45:47 +0100
parents e1267940fa2f
children 43c24728ae5e
files CONTRIBUTING.md
diffstat 1 files changed, 30 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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/).
+