Python Tool Configuration
The goal of this project is to manage configuration for python tools, such as rope and add support for a pyproject.toml configuration file.
- Configuration file autodetection. (Searches for the .git and .hg directories (and others as configured)).
- :doc:`Optional global configuration <global_configuration>`
- :doc:`Optional command line overwrites <command_line>`
- :doc:`Optional Pydantic data validation and output. <pydantic>`
- :doc:`Universal Configuration keys <universal_config>`
- :doc:`Documentation Generation <documentation>`
- :doc:`Pyproject.toml <generated/pytoolconfig.sources.PyProject>` - default, mandatory
- :doc:`Ini files <generated/pytoolconfig.sources.IniConfig>`
- :doc:`setup.cfg <generated/pytoolconfig.sources.SetupConfig>`
- :doc:`Command line arguments <command_line>`
- :doc:`Custom sources <generated/pytoolconfig.sources.Source>`
- Define a pydantic model
- Initialize pytoolconfig
- (Optional) Add custom configuration sources
- Parse configuration
- (Optional) Generate schema.json and Configuration.md
- Command Line - overwrites selected configuration properties individually
- pyproject.toml (mandatory, automatic) if tool.rope (or your tool) is present
- additional sources configured in order they were added.
- global configuration from pytool.toml global file
- configured global configurations
.. toctree:: :maxdepth: 2 command_line universal_config documentation global_configuration pydantic api