Skip to content

repo-helper/pyproject-examples

Repository files navigation

pyproject-examples

Example pyproject.toml configs for testing.

These are designed to be used in the testsuite for pyproject-parser and whey, but may be useful for other tools based on those.

Tests Linux Test Status Windows Test Status macOS Test Status
PyPI PyPI - Package Version PyPI - Supported Python Versions PyPI - Supported Implementations PyPI - Wheel
Activity GitHub last commit GitHub commits since tagged version Maintenance PyPI - Downloads
QA CodeFactor Grade Flake8 Status mypy status
Other License GitHub top language Requirements Status

Installation

pyproject-examples can be installed from PyPI.

To install with pip:

$ python -m pip install pyproject-examples

Usage

pyproject-examples provides the following API:

pyproject_examples module

valid_pep621_config

A list of pytest params for valid pyproject.toml files per PEP 621. The params contain the pyproject.toml content as a string. Each param has its own unique ID, which can be seen in the source here.

bad_pep621_config

A list of pytest params for invalid pyproject.toml files per PEP 621. Each param contains the pyproject.toml content (as a string), the expected Python exception (for catching with pytest.raises), and the expected exception text (for passing as the match argument to pytest.raises. Each param also has its own unique ID, which can be seen in the source here.

valid_buildsystem_config

A list of pytest params for valid [build-system] tables from pyproject.toml files per PEP 517 and PEP 517. The params contain the pyproject.toml content as a string. Each param has its own unique ID, which can be seen in the source here.

bad_buildsystem_config

A list of pytest params for invalid [build-system] tables from pyproject.toml files per PEP 517 and PEP 517. Each param contains the pyproject.toml content (as a string), the expected Python exception (for catching with pytest.raises), and the expected exception text (for passing as the match argument to pytest.raises. Each param also has its own unique ID, which can be seen in the source here.

pyproject_examples.example_configs submodule

This module contains the example configuration files themselves. Each file is stored as a string.

The configuration files are:

  • MINIMAL_CONFIG
  • KEYWORDS
  • AUTHORS
  • UNICODE
  • MAINTAINERS
  • CLASSIFIERS
  • DEPENDENCIES
  • OPTIONAL_DEPENDENCIES
  • OPTIONAL_DEPENDENCIES_EMPTY_GROUP
  • URLS
  • ENTRY_POINTS
  • COMPLETE_PROJECT_A
  • COMPLETE_A
  • COMPLETE_B
  • COMPLETE_A_WITH_FILES
  • DYNAMIC_REQUIREMENTS
  • LONG_REQUIREMENTS

pyproject_examples.utils submodule

This module contains utility functions.

file_not_found_regex(filename: str) -> str

This function create a regular expression for testing FileNotFoundErrors.

This is useful for testing error messages between Windows and POSIX, as well as between CPython and PyPy.

filename The filename which can't be found.