compwa_policy#

Bundled developer configurations and tools for ComPWA repositories.

This package provides the check-dev-files pre-commit hook (and the policy CLI) that standardize and synchronize the developer setup across the ComPWA repositories.

The command-line interface lives in compwa_policy.cli. This module only defines the shared Arguments data model and a few string helpers; the Arguments object is what the CLI builds and hands to the check dispatch in compwa_policy.cli._checks.

TomlFormatter#

TOML formatters supported by the policy framework.

alias of Literal[‘taplo’, ‘tombi’]

class Arguments(allow_deprecated_workflows: bool, allow_labels: bool, allow_vscode_coverage_gutters: bool, allowed_cell_metadata: str, branch_coverage: bool, ci_skipped_tests: str, dev_python_version: PythonVersion, doc_apt_packages: str, environment_variables: str, excluded_dependencies, excluded_python_versions: set[PythonVersion], github_pages: bool, gitpod: bool, imports_on_top: bool, keep_contributing_md: bool, keep_issue_templates: bool, keep_pr_linting: bool, keep_workflow, macos_python_version: PythonVersion | None, no_binder: bool, no_cd: bool, no_cspell_update: bool, no_github_actions: bool, no_milestones: bool, no_pypi: bool, no_ruff: bool, no_version_branches: bool, package_manager: PackageManagerChoice, pytest_single_threaded: bool, python: bool | None, repo_name: str, repo_organization: str, repo_title: str, tombi_errors_on_warnings: bool, toml_formatter: TomlFormatter, toml_formatter_configured: bool, type_checker: set[TypeChecker], upgrade_frequency: UpgradeFrequency)[source]#

Bases: object

Resolved configuration shared by every check.

The policy CLI constructs this from its options (see compwa_policy.cli._options.build_arguments).

allow_deprecated_workflows: bool[source]#
allow_labels: bool[source]#
allow_vscode_coverage_gutters: bool[source]#
allowed_cell_metadata: str[source]#
branch_coverage: bool[source]#
ci_skipped_tests: str[source]#
dev_python_version: PythonVersion[source]#
doc_apt_packages: str[source]#
environment_variables: str[source]#
excluded_dependencies: set[str][source]#
excluded_python_versions: set[PythonVersion][source]#
github_pages: bool[source]#
gitpod: bool[source]#
imports_on_top: bool[source]#
keep_contributing_md: bool[source]#
keep_issue_templates: bool[source]#
keep_pr_linting: bool[source]#
keep_workflow: set[str][source]#
macos_python_version: PythonVersion | None[source]#
no_binder: bool[source]#
no_cd: bool[source]#
no_cspell_update: bool[source]#
no_github_actions: bool[source]#
no_milestones: bool[source]#
no_pypi: bool[source]#
no_ruff: bool[source]#
no_version_branches: bool[source]#
package_manager: PackageManagerChoice[source]#
pytest_single_threaded: bool[source]#
python: bool | None[source]#
repo_name: str[source]#
repo_organization: str[source]#
repo_title: str[source]#
tombi_errors_on_warnings: bool[source]#
toml_formatter: TomlFormatter[source]#
toml_formatter_configured: bool[source]#
type_checker: set[TypeChecker][source]#
upgrade_frequency: UpgradeFrequency[source]#

Submodules and Subpackages