Python pyproject.toml

From wikinotes

pyproject.toml allows you to declare a build system,
and contain configuration to be passed to other tools related to your project.
(ex. before you needed to install setuptools, then could use setup.py)

Documentation

official docs https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
PEP-517 (execute build tools) https://peps.python.org/pep-0517/
PEP-518 (specify build tools) https://peps.python.org/pep-0518/

Tutorials

pyproject.toml basics https://godatadriven.com/blog/a-practical-guide-to-setuptools-and-pyproject-toml/
what is pyproject.toml https://snarky.ca/what-the-heck-is-pyproject-toml/

Locations

${PROJECT}/pyproject.toml project config

Syntax

Common Configs

unittest

pytest

# pyproject.toml
[tool.pytest.ini_options]
python_files = *.py
testpaths = ["tests/unit", "tests/integration"]
norecursedirs = tests/integration/resources