pulp-python 3.13.1__tar.gz → 3.13.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. {pulp_python-3.13.1 → pulp_python-3.13.3}/CHANGES.md +16 -0
  2. {pulp_python-3.13.1 → pulp_python-3.13.3}/PKG-INFO +4 -3
  3. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/__init__.py +1 -1
  4. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/tasks/sync.py +15 -2
  5. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_crud_content_unit.py +13 -0
  6. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python.egg-info/PKG-INFO +4 -3
  7. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python.egg-info/requires.txt +1 -1
  8. {pulp_python-3.13.1 → pulp_python-3.13.3}/pyproject.toml +4 -4
  9. {pulp_python-3.13.1 → pulp_python-3.13.3}/COMMITMENT +0 -0
  10. {pulp_python-3.13.1 → pulp_python-3.13.3}/COPYRIGHT +0 -0
  11. {pulp_python-3.13.1 → pulp_python-3.13.3}/LICENSE +0 -0
  12. {pulp_python-3.13.1 → pulp_python-3.13.3}/MANIFEST.in +0 -0
  13. {pulp_python-3.13.1 → pulp_python-3.13.3}/README.md +0 -0
  14. {pulp_python-3.13.1 → pulp_python-3.13.3}/functest_requirements.txt +0 -0
  15. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/__init__.py +0 -0
  16. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/global_access_conditions.py +0 -0
  17. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/management/__init__.py +0 -0
  18. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/management/commands/__init__.py +0 -0
  19. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/management/commands/repair-python-metadata.py +0 -0
  20. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0001_initial.py +0 -0
  21. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0002_pythonpackagecontent_python_version.py +0 -0
  22. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0003_new_sync_filters.py +0 -0
  23. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0004_DATA_swap_distribution_model.py +0 -0
  24. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0005_pythonpackagecontent_sha256.py +0 -0
  25. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0006_pythonrepository_autopublish.py +0 -0
  26. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0007_pythonpackagecontent_mv-2-1.py +0 -0
  27. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0008_pythonpackagecontent_unique_sha256.py +0 -0
  28. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0009_pythondistribution_allow_uploads.py +0 -0
  29. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0010_update_json_field.py +0 -0
  30. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0011_alter_pythondistribution_distribution_ptr_and_more.py +0 -0
  31. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0012_add_domain.py +0 -0
  32. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/0013_add_rbac_permissions.py +0 -0
  33. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/migrations/__init__.py +0 -0
  34. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/modelresource.py +0 -0
  35. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/models.py +0 -0
  36. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/pypi/__init__.py +0 -0
  37. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/pypi/serializers.py +0 -0
  38. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/pypi/views.py +0 -0
  39. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/replica.py +0 -0
  40. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/serializers.py +0 -0
  41. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/settings.py +0 -0
  42. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/tasks/__init__.py +0 -0
  43. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/tasks/publish.py +0 -0
  44. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/tasks/upload.py +0 -0
  45. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/urls.py +0 -0
  46. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/utils.py +0 -0
  47. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/viewsets.py +0 -0
  48. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/webserver_snippets/__init__.py +0 -0
  49. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/webserver_snippets/apache.conf +0 -0
  50. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/app/webserver_snippets/nginx.conf +0 -0
  51. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/pytest_plugin.py +0 -0
  52. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/__init__.py +0 -0
  53. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/__init__.py +0 -0
  54. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/__init__.py +0 -0
  55. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_auto_publish.py +0 -0
  56. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_consume_content.py +0 -0
  57. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_crud_publications.py +0 -0
  58. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_crud_remotes.py +0 -0
  59. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_domains.py +0 -0
  60. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_download_content.py +0 -0
  61. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_export_import.py +0 -0
  62. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_full_mirror.py +0 -0
  63. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_pypi_apis.py +0 -0
  64. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_rbac.py +0 -0
  65. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_repair.py +0 -0
  66. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/api/test_sync.py +0 -0
  67. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/constants.py +0 -0
  68. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/functional/utils.py +0 -0
  69. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/unit/__init__.py +0 -0
  70. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python/tests/unit/test_models.py +0 -0
  71. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python.egg-info/SOURCES.txt +0 -0
  72. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python.egg-info/dependency_links.txt +0 -0
  73. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python.egg-info/entry_points.txt +0 -0
  74. {pulp_python-3.13.1 → pulp_python-3.13.3}/pulp_python.egg-info/top_level.txt +0 -0
  75. {pulp_python-3.13.1 → pulp_python-3.13.3}/setup.cfg +0 -0
  76. {pulp_python-3.13.1 → pulp_python-3.13.3}/test_requirements.txt +0 -0
  77. {pulp_python-3.13.1 → pulp_python-3.13.3}/unittest_requirements.txt +0 -0
@@ -8,6 +8,22 @@
8
8
 
9
9
  [//]: # (towncrier release notes start)
10
10
 
11
+ ## 3.13.3 (2025-04-07) {: #3.13.3 }
12
+
13
+ #### Bugfixes {: #3.13.3-bugfix }
14
+
15
+ - Fixed a proxy sync regression introduced in 3.13.0.
16
+
17
+ ---
18
+
19
+ ## 3.13.2 (2025-02-20) {: #3.13.2 }
20
+
21
+ #### Misc {: #3.13.2-misc }
22
+
23
+ -
24
+
25
+ ---
26
+
11
27
  ## 3.13.1 (2025-02-11) {: #3.13.1 }
12
28
 
13
29
  No significant changes.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pulp-python
3
- Version: 3.13.1
3
+ Version: 3.13.3
4
4
  Summary: pulp-python plugin for the Pulp Project
5
5
  Author-email: Pulp Team <pulp-list@redhat.com>
6
6
  Project-URL: Homepage, https://pulpproject.org
@@ -22,9 +22,10 @@ Requires-Python: >=3.9
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: pulpcore<3.85,>=3.49.0
25
- Requires-Dist: pkginfo<1.12.0,>=1.10.0
25
+ Requires-Dist: pkginfo<1.13.0,>=1.10.0
26
26
  Requires-Dist: bandersnatch<7.0,>=6.3
27
27
  Requires-Dist: pypi-simple<2.0,>=1.5.0
28
+ Dynamic: license-file
28
29
 
29
30
  # pulp_python
30
31
 
@@ -10,7 +10,7 @@ class PulpPythonPluginAppConfig(PulpPluginAppConfig):
10
10
 
11
11
  name = "pulp_python.app"
12
12
  label = "python"
13
- version = "3.13.1"
13
+ version = "3.13.3"
14
14
  python_package_name = "pulp-python"
15
15
  domain_compatible = True
16
16
 
@@ -3,9 +3,11 @@ import logging
3
3
  from aiohttp import ClientResponseError, ClientError
4
4
  from lxml.etree import LxmlError
5
5
  from gettext import gettext as _
6
+ from functools import partial
6
7
 
7
8
  from rest_framework import serializers
8
9
 
10
+ from pulpcore.plugin.download import HttpDownloader
9
11
  from pulpcore.plugin.models import Artifact, ProgressReport, Remote, Repository
10
12
  from pulpcore.plugin.stages import (
11
13
  DeclarativeArtifact,
@@ -112,11 +114,22 @@ class PythonBanderStage(Stage):
112
114
  """
113
115
  # Bandersnatch includes leading slash when forming API urls
114
116
  url = self.remote.url.rstrip("/")
117
+ downloader = self.remote.get_downloader(url=url)
118
+ if not isinstance(downloader, HttpDownloader):
119
+ raise ValueError("Only HTTP(S) is supported for python syncing")
120
+
115
121
  async with Master(url) as master:
116
122
  # Replace the session with the remote's downloader session
117
123
  old_session = master.session
118
- factory = self.remote.download_factory
119
- master.session = factory._session
124
+ master.session = downloader.session
125
+
126
+ # Set up master.get with remote's auth & proxy settings
127
+ master.get = partial(
128
+ master.get,
129
+ auth=downloader.auth,
130
+ proxy=downloader.proxy,
131
+ proxy_auth=downloader.proxy_auth,
132
+ )
120
133
 
121
134
  deferred_download = self.remote.policy != Remote.IMMEDIATE
122
135
  workers = self.remote.download_concurrency or self.remote.DEFAULT_DOWNLOAD_CONCURRENCY
@@ -134,3 +134,16 @@ def test_upload_requires_python(python_content_factory):
134
134
  content = python_content_factory(filename, url=package.url)
135
135
  assert content.requires_python == ">=3.8"
136
136
  break
137
+
138
+
139
+ @pytest.mark.parallel
140
+ def test_upload_metadata_24_spec(python_content_factory):
141
+ """Test that packages using metadata spec 2.4 can be uploaded to pulp."""
142
+ filename = "urllib3-2.3.0-py3-none-any.whl"
143
+ with PyPISimple() as client:
144
+ page = client.get_project_page("urllib3")
145
+ for package in page.packages:
146
+ if package.filename == filename:
147
+ content = python_content_factory(filename, url=package.url)
148
+ assert content.metadata_version == "2.4"
149
+ break
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pulp-python
3
- Version: 3.13.1
3
+ Version: 3.13.3
4
4
  Summary: pulp-python plugin for the Pulp Project
5
5
  Author-email: Pulp Team <pulp-list@redhat.com>
6
6
  Project-URL: Homepage, https://pulpproject.org
@@ -22,9 +22,10 @@ Requires-Python: >=3.9
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: pulpcore<3.85,>=3.49.0
25
- Requires-Dist: pkginfo<1.12.0,>=1.10.0
25
+ Requires-Dist: pkginfo<1.13.0,>=1.10.0
26
26
  Requires-Dist: bandersnatch<7.0,>=6.3
27
27
  Requires-Dist: pypi-simple<2.0,>=1.5.0
28
+ Dynamic: license-file
28
29
 
29
30
  # pulp_python
30
31
 
@@ -1,4 +1,4 @@
1
1
  pulpcore<3.85,>=3.49.0
2
- pkginfo<1.12.0,>=1.10.0
2
+ pkginfo<1.13.0,>=1.10.0
3
3
  bandersnatch<7.0,>=6.3
4
4
  pypi-simple<2.0,>=1.5.0
@@ -7,7 +7,7 @@ build-backend = 'setuptools.build_meta'
7
7
 
8
8
  [project]
9
9
  name = "pulp-python"
10
- version = "3.13.1"
10
+ version = "3.13.3"
11
11
  description = "pulp-python plugin for the Pulp Project"
12
12
  readme = "README.md"
13
13
  authors = [
@@ -28,7 +28,7 @@ classifiers=[
28
28
  requires-python = ">=3.9"
29
29
  dependencies = [
30
30
  "pulpcore>=3.49.0,<3.85",
31
- "pkginfo>=1.10.0,<1.12.0", # Twine has <1.11 in their requirements
31
+ "pkginfo>=1.10.0,<1.13.0",
32
32
  "bandersnatch>=6.3,<7.0", # Anything >6.3 requires Python 3.10+
33
33
  "pypi-simple>=1.5.0,<2.0",
34
34
  ]
@@ -77,7 +77,7 @@ ignore = [
77
77
  [tool.bumpversion]
78
78
  # This section is managed by the plugin template. Do not edit manually.
79
79
 
80
- current_version = "3.13.1"
80
+ current_version = "3.13.3"
81
81
  commit = false
82
82
  tag = false
83
83
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<alpha>0a)?(?P<patch>\\d+)(\\.(?P<release>[a-z]+))?"
@@ -121,4 +121,4 @@ replace = "version = \"{new_version}\""
121
121
 
122
122
  filename = "./pyproject.toml"
123
123
  search = "version = \"{current_version}\""
124
- replace = "version = \"{new_version}\""
124
+ replace = "version = \"{new_version}\""
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes