Skip to content

reiterate version inference #1202

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 28 commits into
base: main
Choose a base branch
from

Conversation

RonnyPfannschmidt
Copy link
Contributor

@RonnyPfannschmidt RonnyPfannschmidt commented Aug 12, 2025

aftermath of #1150

turns out legacy projects have many variables to enable inference easy

now we depend on the section again

im also moving towards better unit-testing of the conditions as i eventually want to bring it back as a extra

closes #1198
closes #1201

…ic version verification

- Introduced should_infer method in PyProjectData to determine if version inference should proceed based on configuration.
- Updated version_inference.py to utilize should_infer for handling version inference conditions.
- Modified tests to reflect changes in dynamic version verification and ensure proper error handling when dynamic=['version'] is missing.
- enable dependency injecting supposed pyporject data
- migrate tests to ue the api directly instead of writing
…bility

- Updated the path representation in the pytest report header to replace 'site-packages' with 'site:.' and the current working directory with 'CWD:.' for improved clarity.
…missing sections

- Introduced a class method `empty` in PyProjectData for creating empty instances.
- Simplified the `read_pyproject` function to utilize the new `empty` method when the configuration file is missing.
- Enhanced logging for missing tool sections in the TOML configuration.
- Introduced `InvalidTomlError` to handle parsing errors in TOML files.
- Simplified the `read_pyproject` function by removing unnecessary exception handling for file not found.
- Updated exception handling in version inference to use `InvalidTomlError` for better clarity in error logging.
- Introduced `_given_result` parameter in `read_pyproject`
- expand the setuptools integration points with it
- Improved error handling by allowing direct injection of `PyProjectData`, `InvalidTomlError`, or `FileNotFoundError` for better testability.
- drop magic boolean parameters
- drop unused exception creator
- simplify calls
the decission tree is massively simplified
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

dont show warnigns/errors in cases where they add no value setuptools 9.1.1 change - setuptools-scm dynamic versioning runs even when not requested
1 participant