Changelog#

Version 0.9#

  • Use tomllib from the standard library in Python 3.11+, #42

Version 0.8.1#

  • Workaround typecheck inconsistencies between different Python versions

  • Publish PEP 561 type hints, #43

Version 0.8#

  • New pre-commit hook, #40

  • Allow multiple TOML files to be validated at once via CLI (no changes regarding the Python API).

Version 0.7.2#

  • setuptools plugin:
    • Allow dependencies/optional-dependencies to use file directives, #37

Version 0.7.1#

  • CI: Enforced doctests

  • CI: Add more tests for situations when downloading classifiers is disabled

Version 0.7#

  • Deprecated use of validate_pyproject.vendoring. This module is replaced by validate_pyproject.pre_compile.

Version 0.6.1#

  • Fix validation of version to ensure it is given either statically or dynamically, #29

Version 0.6#

  • Allow private classifiers, #26

  • setuptools plugin:
    • Remove license and license-files from tool.setuptools.dynamic, #27

Version 0.5.2#

  • Exported ValidationError from the main file when vendored, PR #23

  • Removed ValidationError traceback to avoid polluting the user logs with generate code, PR #24

Version 0.5.1#

  • Fixed typecheck errors (only found against GitHub Actions, not Cirrus CI), PR #22

Version 0.5#

  • Fixed entry-points format to allow values without the :obj.attr part, PR #8

  • Improved trove-classifier validation, even when the package is not installed, PR #9

  • Improved URL validation when scheme prefix is not present, PR #14

  • Vendor fastjsonschema to facilitate applying patches and latest updates, PR #15

  • Remove fixes for old version of fastjsonschema, PR #16, PR #19

  • Replaced usage of importlib.resources legacy functions with the new API, PR #17

  • Improved error messages, PR #18

  • Added GitHub Actions for automatic test and release of tags, PR #11

Version 0.4#

  • Validation now fails when non-standardised fields to be added to the project table (issue #4, PR #5)

  • Terminology and schema names were also updated to avoid specific PEP numbers and refer instead to living standards (issue #6, PR #7)

Version 0.3.3#

Version 0.3.2#

  • Updated fastjsonschema dependency version.

  • Removed workarounds for fastjsonschema pre 2.15.2

Version 0.3.1#

  • setuptools plugin:
    • Fixed missing required properties for the attr: and file: directives (previously empty objects were allowed).

Version 0.3#

  • setuptools plugin:
    • Added support for readme, license and license-files via dynamic.

      Warning

      license and license-files in dynamic are PROVISIONAL they are likely to change depending on PEP 639

    • Removed support for tool.setuptools.dynamic.{scripts,gui-scripts}. Dynamic values for project.{scripts,gui-scripts} are expected to be dynamically derived from tool.setuptools.dynamic.entry-points.

Version 0.2#

  • setuptools plugin:
    • Added cmdclass support

Version 0.1#

  • setuptools plugin:
    • Added data-files support (although this option is marked as deprecated).

    • Unified tool.setuptools.packages.find and tool.setuptools.packages.find-namespace options by adding a new keyword namespaces

    • tool.setuptools.packages.find.where now accepts a list of directories (previously only one directory was accepted).

Version 0.0.1#

  • Initial release with basic functionality