From 102854c7f8e8b8cea545cb769fe5069361b6a9e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20Gy=C3=B6rffy?= <9091+attilagyorffy@users.noreply.github.com> Date: Wed, 3 Dec 2025 20:31:58 +0100 Subject: [PATCH] Add pyproject.toml with testing dependencies for convenience (#3771) All the Python packages mentioned in CONTRIBUTIONS.md are declared in the `[project.optional-dependencies]` section under a `test` group. To install the test dependencies, you can now run: ```sh pip install -e ".[test]" ``` The advantage of using `pyproject.toml` with optional dependencies is that: - It keeps your testing dependencies separate from any future runtime dependencies - It's the modern Python standard ([PEP 621](https://peps.python.org/pep-0621/)) - It makes dependency management cleaner and more maintainable - Other developers can easily install all testing dependencies with a single command NOTE: Since this repository isn't actually a Python package to be installed (it's just a repository that needs dependencies), we tell setuptools not to discover any package in `[tool.setuptools]`. --- pyproject.toml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000..351b1a1f6b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,23 @@ +[project] +name = "truenas-apps" +version = "0.1.0" +description = "TrueNAS Apps Catalog" +readme = "README.md" +requires-python = ">=3.9" + +[project.optional-dependencies] +test = [ + "pyyaml", + "psutil", + "pytest", + "pytest-cov", + "bcrypt", + "pydantic", +] + +[tool.setuptools] +packages = [] + +[build-system] +requires = ["setuptools>=61.0"] +build-backend = "setuptools.build_meta"