Skip to content

ofek/pyproject-validate

Repository files navigation

pyproject-validate

CI/CD CI - Test CD - Build
Package PyPI - Version PyPI - Downloads PyPI - Python Version
Meta code style - black types - Mypy imports - isort License - MIT GitHub Sponsors

Validate and format pyproject.toml files.

Table of Contents

Installation

pip install pyproject-validate

Usage

usage: pyproject-validate [-h] [--fix] [--config CONFIG] [--version]

optional arguments:
  -h, --help       show this help message and exit
  --fix            whether to apply fixes for any encountered errors
  --config CONFIG  explicit path to the project config file
  --version        show program's version number and exit

Validators

Specs

Adhere to the data model defined by PEP 517 and PEP 621.

Naming

Ensure normalized project names.

Before:

[project]
name = "Foo.bAr"

After:

name = "foo-bar"

Dependencies

Ensure normalized and sorted PEP 508 dependency definitions.

Before:

[project]
dependencies = [
    "python-dateutil",
    "bAr.Baz[TLS]   >=1.2RC5",
    'Foo;python_version<"3.8"',
]

After:

dependencies = [
    "bar-baz[tls]>=1.2rc5",
    "foo; python_version < '3.8'",
    "python-dateutil",
]

License

pyproject-validate is distributed under the terms of the MIT license.