Skip to content

Conversation

davr-chor
Copy link
Contributor

Clients generated like this:

uv run openapi-python-client generate --path openapi.json --overwrite --output-path client --meta uv

Generate these warnings during installation with uv:

warning: The requires-python specifier (~=3.9) in client uses the tilde specifier (~=) without a patch version. This will be interpreted as >=3.9, <4. Did you mean ~=3.9.0 to constrain the version as >=3.9.0, <3.10? We recommend only using the tilde specifier with a patch version to avoid ambiguity.

Copy link
Collaborator

@dbanty dbanty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@dbanty dbanty changed the title Fix ambigious tilde specifier in API clients requires-python fix: ambigious tilde specifier requires-python with--meta=uv Sep 15, 2025
@dbanty dbanty enabled auto-merge September 15, 2025 15:04
@dbanty dbanty added this pull request to the merge queue Sep 15, 2025
Merged via the queue into openapi-generators:main with commit a289533 Sep 15, 2025
22 checks passed
@knope-bot knope-bot bot mentioned this pull request Sep 15, 2025
@davr-chor davr-chor deleted the fix-ambigious-tilde-specifier branch September 15, 2025 15:12
@davr-chor
Copy link
Contributor Author

That was fast, thanks @dbanty!

github-merge-queue bot pushed a commit that referenced this pull request Oct 6, 2025
> [!IMPORTANT]
> Merging this pull request will create this release

## Fixes

- ambigious tilde specifier requires-python with`--meta=uv` (#1321)

Co-authored-by: knope-bot[bot] <152252888+knope-bot[bot]@users.noreply.github.com>
description = "A client library for accessing Test 3.1 Features"
authors = []
requires-python = "~=3.9"
requires-python = ">=3.9,<4.0"
Copy link
Collaborator

@johnthagen johnthagen Oct 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When evaluating requires-python ranges for dependencies, uv only considers lower bounds and ignores upper bounds entirely. For example, >=3.8, <4 is treated as >=3.8

I think we should consider dropping the upper bound from the template due to the various issues it's caused and that some tools ignore it anyway.

This might be a holdover from when this package was more Poetry-focused and Poetry used to by default put a <4 upper bound on new projects created with it? They've since stopped doing that, so I think we should consider doing the same.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine by me, seems like there will never be a Python 4 anyway 😋

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

3 participants