# sample-pyproject.toml: packaging metadata for a fictional Python project. # Free sample from 99helpers.com/file-types/toml # pip, uv and other build front ends read this file. The [project] table follows # the standard core metadata names; [tool.*] tables belong to individual tools. # 1. Which build backend turns the source into a wheel [build-system] requires = ["hatchling"] build-backend = "hatchling.build" # 2. The project's own metadata [project] name = "example-weather" version = "0.3.0" description = "A fictional package used as a TOML sample." readme = "README.md" requires-python = ">=3.11" license = "MIT" authors = [{ name = "Ada Example", email = "ada@example.com" }] keywords = ["sample", "weather"] classifiers = [ "Programming Language :: Python :: 3", "Operating System :: OS Independent", ] dependencies = [ "httpx>=0.27", "rich>=13", ] # 3. Optional dependency groups, installed with: pip install "example-weather[dev]" [project.optional-dependencies] dev = ["pytest>=8", "ruff>=0.6"] # 4. A command-line entry point: running "weather" calls example_weather.cli:main [project.scripts] weather = "example_weather.cli:main" [project.urls] Homepage = "https://example.com/weather" # 5. Tool settings live under [tool.] [tool.ruff] line-length = 100 [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-q"