sonatype / nexus-public

Sonatype Nexus Repository Open-source codebase mirror
https://www.sonatype.com/products/repository-oss-download
Eclipse Public License 1.0
1.9k stars 564 forks source link

[Feature] Add PEP 658 support to Pypi repo simple API #296

Open ju2wheels opened 9 months ago

ju2wheels commented 9 months ago

Theres new API data used by tools like poetry that stemmed from PEP 658 that is not yet supported by Nexus.

mrprescott commented 9 months ago

Thanks for filing this, we've taken note of your interest. I'm leaving this open to see if there's other demand for this endpoint among other users.

dolfinus commented 6 months ago

https://github.com/pypi/warehouse/issues/8254 lead to filling up metadata for all .whl files in PyPI, so new API can be used for most of packages. It is not yet clear what the total impact is (because backfill process took some time), some results can be found here https://github.com/pypi/warehouse/issues/8254#issuecomment-1977493947

tscheburaschka commented 6 months ago

In our company this feature would offer a major speedup of the renovate workflow that aims to periodically upgrade all dependencies of a project. Since the feature is now offered by PyPi, the cost of using nexus compared to the baseline solution is growing and that makes it harder to defend it against other options.

JoostvDoorn commented 1 week ago

There is a lot of focus on speed and performance especially when it comes to lockfile generation going on now in the pypi & pip repo. It would be good for nexus to be compatible with PEP 658 & related improvements, see here: https://github.com/pypa/pip/issues/12921

I have found that nexus was 6x slower than pypi when generating lockfiles using uv (with caching disabled using --no-cache). Command for reference: uv pip compile requirements.txt -o locked-requirements.txt --extra-index-url https://private_nexus_repo_url/repository/python-all/simple/