-
Notifications
You must be signed in to change notification settings - Fork 5
Description
I have devpi-contrained index that allows everything that is it does not have any constraints
When I try to list available versions with pip index versions pytz I am getting the the error below.
Other packes seams fine. When I look at the root/pypi index I am able to list the versions.
The error message says that the version 2004d is invalid and pytz has this version. Is this a bug? If so can it be fixed?
2025-02-05 16:07:22,524 INFO [req251] GET /root/pypi/+f/d21/53eafca1244ca/pytz-2004d.tar.gz
2025-02-05 16:07:22,653 INFO [req251] [Rtx398] reading remote: URL('https://files.pythonhosted.org/packages/3a/e5/368c20bbf58a616682027db3ffa21f90a43d82c5517fdbd4e819e621cbec/pytz-2004d.tar.gz'), target root/pypi/+f/d21/53eafca1244ca/pytz-2004d.tar.gz
2025-02-05 16:07:22,662 INFO [Wtx398] fswriter399: committed at 399
2025-02-05 16:07:24,259 INFO [req252] GET /scb/pypi/pytz
2025-02-05 16:07:24,267 ERROR Exception while serving /scb/pypi/pytz
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/pyramid/tweens.py", line 13, in _error_handler
response = request.invoke_exception_view(exc_info)
File "/usr/local/lib/python3.13/site-packages/pyramid/view.py", line 786, in invoke_exception_view
raise HTTPNotFound
pyramid.httpexceptions.HTTPNotFound: The resource could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/waitress/channel.py", line 430, in service
task.service()
~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/waitress/task.py", line 167, in service
self.execute()
~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/waitress/task.py", line 435, in execute
app_iter = self.channel.server.application(environ, start_response)
File "/usr/local/lib/python3.13/site-packages/waitress/proxy_headers.py", line 64, in translate_proxy_headers
return app(environ, start_response)
File "/usr/local/lib/python3.13/site-packages/devpi_server/middleware.py", line 21, in call
return self.app(environ, start_response)
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pyramid/router.py", line 270, in call
response = self.execution_policy(environ, self)
File "/usr/local/lib/python3.13/site-packages/pyramid/router.py", line 276, in default_execution_policy
return router.invoke_request(request)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pyramid/router.py", line 245, in invoke_request
response = handle_request(request)
File "/usr/local/lib/python3.13/site-packages/devpi_server/views.py", line 200, in request_log_handler
response = handler(request)
File "/usr/local/lib/python3.13/site-packages/devpi_server/views.py", line 249, in request_tx_handler
response = handler(request)
File "/usr/local/lib/python3.13/site-packages/devpi_web/views.py", line 117, in request_trailing_slash_redirect_handler
return handler(request)
File "/usr/local/lib/python3.13/site-packages/pyramid/tweens.py", line 43, in excview_tween
response = _error_handler(request, exc)
File "/usr/local/lib/python3.13/site-packages/pyramid/tweens.py", line 17, in _error_handler
reraise(*exc_info)
~~~~~~~^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pyramid/util.py", line 733, in reraise
raise value
File "/usr/local/lib/python3.13/site-packages/pyramid/tweens.py", line 41, in excview_tween
response = handler(request)
File "/usr/local/lib/python3.13/site-packages/pyramid/router.py", line 143, in handle_request
response = _call_view(
registry, request, context, context_iface, view_name
)
File "/usr/local/lib/python3.13/site-packages/pyramid/view.py", line 674, in _call_view
response = view_callable(context, request)
File "/usr/local/lib/python3.13/site-packages/pyramid/viewderivers.py", line 392, in viewresult_to_response
result = view(context, request)
File "/usr/local/lib/python3.13/site-packages/pyramid/viewderivers.py", line 113, in _class_requestonly_view
response = getattr(inst, attr)()
File "/usr/local/lib/python3.13/site-packages/devpi_server/views.py", line 1365, in installer_simple_project
return self.simple_list_project()
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/devpi_server/views.py", line 660, in simple_list_project
stage.get_simplelinks(
~~~~~~~~~~~~~~~~~~~~~^
project, sorted_links=not requested_by_installer))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/devpi_server/model.py", line 945, in get_simplelinks
for link_info in res:
^^^
File "/usr/local/lib/python3.13/site-packages/devpi_server/model.py", line 54, in apply_filter_iter
if next(filter_iter, True):
~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/devpi_constrained/main.py", line 105, in get_simple_links_filter_iter
if link_info.version in version_filter:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/devpi_common/metadata.py", line 219, in contains
return self.specifier.contains(version)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/packaging/specifiers.py", line 917, in contains
item = Version(item)
File "/usr/local/lib/python3.13/site-packages/packaging/version.py", line 202, in init
raise InvalidVersion(f"Invalid version: {version!r}")
packaging.version.InvalidVersion: Invalid version: '2004d'