= pyproject.toml = Replaces requirements.txt To install pip install -e . {{{ my_project/ ├── pyproject.toml └── my_package/ ├── __init__.py └── main.py }}} {{{ #!highlight python # my_package/main.py def say_hello(): print("Hello from the world of TOML-configured Python!") if __name__ == "__main__": say_hello() }}} {{{ [build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "my_hello_app" version = "0.1.0" dependencies = [] [project.scripts] # This creates a command 'hello-world' that runs say_hello() hello-world = "my_package.main:say_hello" [tool.setuptools] packages = ["my_package"] }}} == Other example == {{{ hello_project/ ├── pyproject.toml ├── Makefile ├── .gitignore ├── src/ │ └── main.py └── tests/ └── test_main.py }}} {{{ [project] name = "hello_world_example" version = "0.1.0" dependencies = [] [project.optional-dependencies] dev = [ "coverage", "ruff", ] [tool.ruff] target-version = "py310" lint.select = ["E", "F", "I"] line-length = 88 [tool.coverage.run] source = ["src"] branch = true [tool.coverage.report] show_missing = true }}}