Summary
We are currently using Nexus Repository OSS 3.75.1-01 to manage private PyPI packages. However, we noticed that Nexus only supports setuptools
up to version 51.3.3. Many modern PyPI packages require setuptools >= 65
or even higher (e.g., setuptools 75.8.0
).
Since we must use newer PyPI packages, we are looking for ways to integrate them into Nexus without forcefully downgrading their metadata or setuptools version.
Env
- Nexus Version: OSS 3.75.1-01
- Python Version: 3.9.21
- Twine Version: 6.1.0
- OS Version: RHEL 9.4
Observations
-
Setuptools Restriction
- According to Nexus documentation, only
setuptools <= 51.3.3
is officially supported. - Some packages requiring
setuptools >= 65
still work, while others fail with metadata-related errors.
- According to Nexus documentation, only
-
Error When Uploading Certain Packages
ERROR: Invalid distribution metadata: license-expression introduced in metadata version 2.4, not 2.3```
This suggests that newer `setuptools` metadata versions (>=2.4) might not be supported.
3. Need for a Solution Without Modifying Files
- We do not want to force downgrade `setuptools` metadata or modify `.whl` files manually.
- Instead, we are looking for a proper configuration or alternative method to allow Nexus to support these packages in their original form.

Questions
1. Does Nexus have a way to support PyPI packages that require `setuptools > 51.3.3`?
2. Can Nexus be configured to accept metadata version 2.4 and later?
3. Are there any recommended workarounds that maintain package integrity?*
Any insights or recommendations would be greatly appreciated. Thanks!
Best regards,
Gyu won