pulp-python 3.11.6__tar.gz → 3.11.8__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 (76) hide show
  1. {pulp_python-3.11.6 → pulp_python-3.11.8}/CHANGES.md +12 -0
  2. {pulp_python-3.11.6 → pulp_python-3.11.8}/MANIFEST.in +2 -0
  3. {pulp_python-3.11.6 → pulp_python-3.11.8}/PKG-INFO +2 -3
  4. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/__init__.py +1 -1
  5. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/models.py +2 -2
  6. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/utils.py +2 -3
  7. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/test_consume_content.py +1 -0
  8. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/test_pypi_apis.py +0 -20
  9. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/constants.py +8 -5
  10. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python.egg-info/PKG-INFO +2 -3
  11. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python.egg-info/requires.txt +1 -2
  12. {pulp_python-3.11.6 → pulp_python-3.11.8}/pyproject.toml +3 -1
  13. pulp_python-3.11.8/requirements.txt +4 -0
  14. {pulp_python-3.11.6 → pulp_python-3.11.8}/setup.py +1 -1
  15. pulp_python-3.11.6/requirements.txt +0 -6
  16. {pulp_python-3.11.6 → pulp_python-3.11.8}/COMMITMENT +0 -0
  17. {pulp_python-3.11.6 → pulp_python-3.11.8}/COPYRIGHT +0 -0
  18. {pulp_python-3.11.6 → pulp_python-3.11.8}/LICENSE +0 -0
  19. {pulp_python-3.11.6 → pulp_python-3.11.8}/README.md +0 -0
  20. {pulp_python-3.11.6 → pulp_python-3.11.8}/functest_requirements.txt +0 -0
  21. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/__init__.py +0 -0
  22. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/fields.py +0 -0
  23. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0001_initial.py +0 -0
  24. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0002_pythonpackagecontent_python_version.py +0 -0
  25. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0003_new_sync_filters.py +0 -0
  26. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0004_DATA_swap_distribution_model.py +0 -0
  27. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0005_pythonpackagecontent_sha256.py +0 -0
  28. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0006_pythonrepository_autopublish.py +0 -0
  29. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0007_pythonpackagecontent_mv-2-1.py +0 -0
  30. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0008_pythonpackagecontent_unique_sha256.py +0 -0
  31. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0009_pythondistribution_allow_uploads.py +0 -0
  32. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0010_update_json_field.py +0 -0
  33. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/0011_alter_pythondistribution_distribution_ptr_and_more.py +0 -0
  34. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/migrations/__init__.py +0 -0
  35. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/modelresource.py +0 -0
  36. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/pypi/__init__.py +0 -0
  37. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/pypi/serializers.py +0 -0
  38. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/pypi/views.py +0 -0
  39. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/serializers.py +0 -0
  40. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/settings.py +0 -0
  41. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/tasks/__init__.py +0 -0
  42. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/tasks/publish.py +0 -0
  43. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/tasks/sync.py +0 -0
  44. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/tasks/upload.py +0 -0
  45. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/urls.py +0 -0
  46. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/viewsets.py +0 -0
  47. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/webserver_snippets/__init__.py +0 -0
  48. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/webserver_snippets/apache.conf +0 -0
  49. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/app/webserver_snippets/nginx.conf +0 -0
  50. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/__init__.py +0 -0
  51. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/__init__.py +0 -0
  52. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/__init__.py +0 -0
  53. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/test_auto_publish.py +0 -0
  54. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/test_crud_content_unit.py +0 -0
  55. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/test_crud_publications.py +0 -0
  56. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/test_crud_remotes.py +0 -0
  57. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/test_download_content.py +0 -0
  58. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/test_export_import.py +0 -0
  59. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/test_full_mirror.py +0 -0
  60. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/api/test_sync.py +0 -0
  61. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/conftest.py +0 -0
  62. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/functional/utils.py +0 -0
  63. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/unit/__init__.py +0 -0
  64. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/unit/test_models.py +0 -0
  65. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/upgrade/__init__.py +0 -0
  66. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/upgrade/post/__init__.py +0 -0
  67. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/upgrade/post/test_publish.py +0 -0
  68. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/upgrade/pre/__init__.py +0 -0
  69. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python/tests/upgrade/pre/test_publish.py +0 -0
  70. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python.egg-info/SOURCES.txt +0 -0
  71. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python.egg-info/dependency_links.txt +0 -0
  72. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python.egg-info/entry_points.txt +0 -0
  73. {pulp_python-3.11.6 → pulp_python-3.11.8}/pulp_python.egg-info/top_level.txt +0 -0
  74. {pulp_python-3.11.6 → pulp_python-3.11.8}/setup.cfg +0 -0
  75. {pulp_python-3.11.6 → pulp_python-3.11.8}/test_requirements.txt +0 -0
  76. {pulp_python-3.11.6 → pulp_python-3.11.8}/unittest_requirements.txt +0 -0
@@ -8,6 +8,18 @@
8
8
 
9
9
  [//]: # (towncrier release notes start)
10
10
 
11
+ ## 3.11.8 (2026-04-21) {: #3.11.8 }
12
+
13
+ No significant changes.
14
+
15
+ ---
16
+
17
+ ## 3.11.7 (2025-11-18) {: #3.11.7 }
18
+
19
+ No significant changes.
20
+
21
+ ---
22
+
11
23
  ## 3.11.6 (2025-07-23) {: #3.11.6 }
12
24
 
13
25
  No significant changes.
@@ -9,3 +9,5 @@ include test_requirements.txt
9
9
  include unittest_requirements.txt
10
10
  include pulp_python/app/webserver_snippets/*
11
11
  exclude releasing.md
12
+
13
+ exclude .gitleaks.toml
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulp-python
3
- Version: 3.11.6
3
+ Version: 3.11.8
4
4
  Summary: pulp-python plugin for the Pulp Project
5
5
  Home-page: https://www.pulpproject.org
6
6
  Author: Pulp Project Developers
@@ -17,11 +17,10 @@ Classifier: Programming Language :: Python :: 3.9
17
17
  Requires-Python: >=3.8
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: pulpcore<3.55,>=3.28.0
20
+ Requires-Dist: pulpcore<3.55,>=3.49.0
21
21
  Requires-Dist: pkginfo<1.13.0,>=1.12.0
22
22
  Requires-Dist: bandersnatch<6.2,>=6.1
23
23
  Requires-Dist: pypi-simple<1.0.0,>=0.9.0
24
- Requires-Dist: azure-storage-blob<12.26.0
25
24
  Dynamic: author
26
25
  Dynamic: author-email
27
26
  Dynamic: classifier
@@ -8,5 +8,5 @@ class PulpPythonPluginAppConfig(PulpPluginAppConfig):
8
8
 
9
9
  name = "pulp_python.app"
10
10
  label = "python"
11
- version = "3.11.6"
11
+ version = "3.11.8"
12
12
  python_package_name = "pulp-python"
@@ -4,7 +4,6 @@ from aiohttp.web import json_response
4
4
  from django.contrib.postgres.fields import ArrayField
5
5
  from django.core.exceptions import ObjectDoesNotExist
6
6
  from django.db import models
7
- from django.conf import settings
8
7
  from pulpcore.plugin.models import (
9
8
  Content,
10
9
  Publication,
@@ -13,6 +12,7 @@ from pulpcore.plugin.models import (
13
12
  Repository,
14
13
  )
15
14
  from pulpcore.plugin.responses import ArtifactResponse
15
+ from pulpcore.plugin.util import get_domain
16
16
 
17
17
  from pathlib import PurePath
18
18
  from .utils import (
@@ -77,7 +77,7 @@ class PythonDistribution(Distribution):
77
77
  elif len(path.parts) and path.parts[0] == "simple":
78
78
  # Temporary fix for PublishedMetadata not being properly served from remote storage
79
79
  # https://github.com/pulp/pulp_python/issues/413
80
- if settings.DEFAULT_FILE_STORAGE != "pulpcore.app.models.storage.FileSystem":
80
+ if get_domain().storage_class != "pulpcore.app.models.storage.FileSystem":
81
81
  if self.publication or self.repository:
82
82
  try:
83
83
  publication = self.publication or Publication.objects.filter(
@@ -3,7 +3,6 @@ import shutil
3
3
  import tempfile
4
4
  import json
5
5
  from collections import defaultdict
6
- from django.core.files.storage import default_storage as storage
7
6
  from django.conf import settings
8
7
  from jinja2 import Template
9
8
  from packaging.utils import canonicalize_name
@@ -144,8 +143,8 @@ def get_project_metadata_from_artifact(filename, artifact):
144
143
  # because pkginfo validates that the filename has a valid extension before
145
144
  # reading it
146
145
  with tempfile.NamedTemporaryFile('wb', dir=".", suffix=filename) as temp_file:
147
- artifact_file = storage.open(artifact.file.name)
148
- shutil.copyfileobj(artifact_file, temp_file)
146
+ artifact.file.seek(0)
147
+ shutil.copyfileobj(artifact.file, temp_file)
149
148
  temp_file.flush()
150
149
  metadata = DIST_TYPES[packagetype](temp_file.name)
151
150
  metadata.packagetype = packagetype
@@ -122,6 +122,7 @@ class PipInstallContentTestCase(TestCaseUsingBindings, TestHelpersMixin):
122
122
  "pip",
123
123
  "install",
124
124
  "--no-deps",
125
+ "--no-build-isolation",
125
126
  "--trusted-host",
126
127
  urlsplit(host).hostname,
127
128
  "--trusted-host",
@@ -243,26 +243,6 @@ def test_twine_upload(
243
243
  check=True,
244
244
  )
245
245
 
246
- # Test re-uploading same packages with --skip-existing works
247
- output = subprocess.run(
248
- (
249
- "twine",
250
- "upload",
251
- "--repository-url",
252
- url,
253
- dist_dir / "*",
254
- "-u",
255
- username,
256
- "-p",
257
- password,
258
- "--skip-existing",
259
- ),
260
- capture_output=True,
261
- check=True,
262
- text=True
263
- )
264
- assert output.stdout.count("Skipping") == 2
265
-
266
246
 
267
247
  class PyPISimpleApi(TestCaseUsingBindings, TestHelpersMixin):
268
248
  """Tests that the simple api is correct."""
@@ -144,19 +144,22 @@ PYTHON_LG_PROJECT_SPECIFIER = [
144
144
  "aiohttp", # matches 7
145
145
  "bcrypt", # matches 8
146
146
  "celery", # matches 13
147
+ "crane", # matches 0
147
148
  "Django", # matches 31
149
+ "pulp-2to3-migration", # matches 2
148
150
  "pytz", # matches 6
149
151
  "scipy", # matches 23
150
152
  "setuptools", # matches 2
151
153
  "shelf-reader", # matches 2
154
+ "twine", # matches 14
152
155
  ]
153
- PYTHON_LG_PACKAGE_COUNT = 92
156
+ PYTHON_LG_PACKAGE_COUNT = 108
154
157
  PYTHON_LG_FIXTURE_SUMMARY = {PYTHON_CONTENT_NAME: PYTHON_LG_PACKAGE_COUNT}
155
158
  PYTHON_LG_FIXTURE_COUNTS = {
156
- "latest_3": 51,
157
- "sdist": 28,
158
- "bdist_wheel": 64,
159
- "multi": 34, # keep_latest=1, package_types="bdist_wheel", prereleases=False
159
+ "latest_3": 59,
160
+ "sdist": 36,
161
+ "bdist_wheel": 72,
162
+ "multi": 36, # keep_latest=1, package_types="bdist_wheel", prereleases=False
160
163
  }
161
164
 
162
165
  DJANGO_LATEST_3 = 4 # latest version has 2 dists, each other has 1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulp-python
3
- Version: 3.11.6
3
+ Version: 3.11.8
4
4
  Summary: pulp-python plugin for the Pulp Project
5
5
  Home-page: https://www.pulpproject.org
6
6
  Author: Pulp Project Developers
@@ -17,11 +17,10 @@ Classifier: Programming Language :: Python :: 3.9
17
17
  Requires-Python: >=3.8
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: pulpcore<3.55,>=3.28.0
20
+ Requires-Dist: pulpcore<3.55,>=3.49.0
21
21
  Requires-Dist: pkginfo<1.13.0,>=1.12.0
22
22
  Requires-Dist: bandersnatch<6.2,>=6.1
23
23
  Requires-Dist: pypi-simple<1.0.0,>=0.9.0
24
- Requires-Dist: azure-storage-blob<12.26.0
25
24
  Dynamic: author
26
25
  Dynamic: author-email
27
26
  Dynamic: classifier
@@ -1,5 +1,4 @@
1
- pulpcore<3.55,>=3.28.0
1
+ pulpcore<3.55,>=3.49.0
2
2
  pkginfo<1.13.0,>=1.12.0
3
3
  bandersnatch<6.2,>=6.1
4
4
  pypi-simple<1.0.0,>=0.9.0
5
- azure-storage-blob<12.26.0
@@ -26,12 +26,14 @@ ignore = [
26
26
  ".ci/**",
27
27
  "lint_requirements.txt",
28
28
  ".flake8",
29
+ "AGENTS.md",
30
+ "CLAUDE.md",
29
31
  ]
30
32
 
31
33
  [tool.bumpversion]
32
34
  # This section is managed by the plugin template. Do not edit manually.
33
35
 
34
- current_version = "3.11.6"
36
+ current_version = "3.11.8"
35
37
  commit = false
36
38
  tag = false
37
39
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<alpha>0a)?(?P<patch>\\d+)(\\.(?P<release>[a-z]+))?"
@@ -0,0 +1,4 @@
1
+ pulpcore>=3.49.0,<3.55
2
+ pkginfo>=1.12.0,<1.13.0
3
+ bandersnatch>=6.1,<6.2
4
+ pypi-simple>=0.9.0,<1.0.0
@@ -10,7 +10,7 @@ with open("README.md") as f:
10
10
 
11
11
  setup(
12
12
  name="pulp-python",
13
- version="3.11.6",
13
+ version="3.11.8",
14
14
  description="pulp-python plugin for the Pulp Project",
15
15
  long_description=long_description,
16
16
  long_description_content_type="text/markdown",
@@ -1,6 +0,0 @@
1
- pulpcore>=3.28.0,<3.55
2
- pkginfo>=1.12.0,<1.13.0
3
- bandersnatch>=6.1,<6.2
4
- pypi-simple>=0.9.0,<1.0.0
5
- # pinned until https://github.com/Azure/Azurite/issues/2562 is resolved
6
- azure-storage-blob<12.26.0
File without changes
File without changes
File without changes
File without changes
File without changes