Knowning the Tools Config Files#
This project uses several configuration files to manage its settings. While it
is possible to consolidate many tool settings into the pyproject.toml
file, this project intentionally keeps most configurations in separate,
dedicated files. This approach promotes clarity and modularity, making it
easier to understand and manage the settings for each specific tool.
.gitignore
This file tells Git which files and directories to ignore.pyproject.toml
This is the central configuration file for the project, based on PEP 621. It primarily defines project metadata (like name, version, and dependencies) and build system requirements for thesetuptools
build backend..pytest.ini
This file contains configuration for the Pytest testing framework. It specifies options such as test paths, Python path for imports, and default command-line arguments for running tests, including coverage analysis and doctest settings..ruff.toml
This file configures the Ruff linter and formatter. It defines the target Python version, line length, which linting rules to enable or disable, and any per-file rule overrides.towncrier.toml
This file configures Towncrier, the tool used to generate the project’s Changelog. It specifies the location of news fragments, the changelog file itself, and the different types of changes.uv.toml
This file provides project-specific configuration for the uv package manager..vscode/
This directory contains workspace-specific settings for Visual Studio Code. It can include recommended extensions (extensions.json
), debug configurations (launch.json
), and shared workspace settings (settings.json
) to ensure a consistent development experience for all contributors using this editor.