pulp-python 3.26.1__tar.gz → 3.27.0__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 (93) hide show
  1. {pulp_python-3.26.1 → pulp_python-3.27.0}/CHANGES.md +13 -0
  2. {pulp_python-3.26.1 → pulp_python-3.27.0}/PKG-INFO +1 -1
  3. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/__init__.py +1 -1
  4. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/replica.py +1 -2
  5. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/serializers.py +13 -2
  6. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/viewsets.py +22 -4
  7. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_domains.py +0 -4
  8. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python.egg-info/PKG-INFO +1 -1
  9. {pulp_python-3.26.1 → pulp_python-3.27.0}/pyproject.toml +2 -2
  10. {pulp_python-3.26.1 → pulp_python-3.27.0}/COMMITMENT +0 -0
  11. {pulp_python-3.26.1 → pulp_python-3.27.0}/COPYRIGHT +0 -0
  12. {pulp_python-3.26.1 → pulp_python-3.27.0}/LICENSE +0 -0
  13. {pulp_python-3.26.1 → pulp_python-3.27.0}/MANIFEST.in +0 -0
  14. {pulp_python-3.26.1 → pulp_python-3.27.0}/README.md +0 -0
  15. {pulp_python-3.26.1 → pulp_python-3.27.0}/functest_requirements.txt +0 -0
  16. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/__init__.py +0 -0
  17. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/global_access_conditions.py +0 -0
  18. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/management/__init__.py +0 -0
  19. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/management/commands/__init__.py +0 -0
  20. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/management/commands/repair-python-metadata.py +0 -0
  21. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0001_initial.py +0 -0
  22. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0001_squashed_0010_update_json_field.py +0 -0
  23. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0002_pythonpackagecontent_python_version.py +0 -0
  24. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0003_new_sync_filters.py +0 -0
  25. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0004_DATA_swap_distribution_model.py +0 -0
  26. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0005_pythonpackagecontent_sha256.py +0 -0
  27. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0006_pythonrepository_autopublish.py +0 -0
  28. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0007_pythonpackagecontent_mv-2-1.py +0 -0
  29. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0008_pythonpackagecontent_unique_sha256.py +0 -0
  30. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0009_pythondistribution_allow_uploads.py +0 -0
  31. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0010_update_json_field.py +0 -0
  32. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0011_alter_pythondistribution_distribution_ptr_and_more.py +0 -0
  33. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0012_add_domain.py +0 -0
  34. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0013_add_rbac_permissions.py +0 -0
  35. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0014_pythonpackagecontent_dynamic_and_more.py +0 -0
  36. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0015_alter_pythonpackagecontent_options.py +0 -0
  37. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0016_pythonpackagecontent_metadata_sha256.py +0 -0
  38. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0017_pythonpackagecontent_size.py +0 -0
  39. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0018_packageprovenance.py +0 -0
  40. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/0019_create_missing_metadata_artifacts.py +0 -0
  41. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/migrations/__init__.py +0 -0
  42. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/modelresource.py +0 -0
  43. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/models.py +0 -0
  44. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/provenance.py +0 -0
  45. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/pypi/__init__.py +0 -0
  46. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/pypi/serializers.py +0 -0
  47. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/pypi/views.py +0 -0
  48. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/settings.py +0 -0
  49. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/tasks/__init__.py +0 -0
  50. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/tasks/publish.py +0 -0
  51. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/tasks/repair.py +0 -0
  52. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/tasks/sync.py +0 -0
  53. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/tasks/upload.py +0 -0
  54. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/tasks/vulnerability_report.py +0 -0
  55. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/urls.py +0 -0
  56. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/utils.py +0 -0
  57. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/webserver_snippets/__init__.py +0 -0
  58. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/webserver_snippets/apache.conf +0 -0
  59. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/app/webserver_snippets/nginx.conf +0 -0
  60. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/pytest_plugin.py +0 -0
  61. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/__init__.py +0 -0
  62. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/__init__.py +0 -0
  63. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/__init__.py +0 -0
  64. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_attestations.py +0 -0
  65. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_auto_publish.py +0 -0
  66. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_consume_content.py +0 -0
  67. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_crud_content_unit.py +0 -0
  68. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_crud_publications.py +0 -0
  69. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_crud_remotes.py +0 -0
  70. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_download_content.py +0 -0
  71. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_export_import.py +0 -0
  72. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_full_mirror.py +0 -0
  73. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_pypi_apis.py +0 -0
  74. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_pypi_simple_api.py +0 -0
  75. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_rbac.py +0 -0
  76. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_repair.py +0 -0
  77. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_sync.py +0 -0
  78. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_upload.py +0 -0
  79. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/api/test_vulnerability_report.py +0 -0
  80. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/assets/shelf-reader-0.1.tar.gz.publish.attestation +0 -0
  81. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/assets/shelf_reader-0.1-py2-none-any.whl.publish.attestation +0 -0
  82. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/constants.py +0 -0
  83. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/functional/utils.py +0 -0
  84. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/unit/__init__.py +0 -0
  85. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python/tests/unit/test_models.py +0 -0
  86. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python.egg-info/SOURCES.txt +0 -0
  87. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python.egg-info/dependency_links.txt +0 -0
  88. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python.egg-info/entry_points.txt +0 -0
  89. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python.egg-info/requires.txt +0 -0
  90. {pulp_python-3.26.1 → pulp_python-3.27.0}/pulp_python.egg-info/top_level.txt +0 -0
  91. {pulp_python-3.26.1 → pulp_python-3.27.0}/setup.cfg +0 -0
  92. {pulp_python-3.26.1 → pulp_python-3.27.0}/test_requirements.txt +0 -0
  93. {pulp_python-3.26.1 → pulp_python-3.27.0}/unittest_requirements.txt +0 -0
@@ -8,6 +8,19 @@
8
8
 
9
9
  [//]: # (towncrier release notes start)
10
10
 
11
+ ## 3.27.0 (2026-03-17) {: #3.27.0 }
12
+
13
+ #### Bugfixes {: #3.27.0-bugfix }
14
+
15
+ - Fixed sync issue where non https URLs were not allowed.
16
+
17
+ #### Deprecations and Removals {: #3.27.0-removal }
18
+
19
+ - Deprecated publications and added documentation for migrating off of them.
20
+ [#1000](https://github.com/pulp/pulp_python/issues/1000)
21
+
22
+ ---
23
+
11
24
  ## 3.26.1 (2026-03-10) {: #3.26.1 }
12
25
 
13
26
  #### Bugfixes {: #3.26.1-bugfix }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulp-python
3
- Version: 3.26.1
3
+ Version: 3.27.0
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
@@ -10,7 +10,7 @@ class PulpPythonPluginAppConfig(PulpPluginAppConfig):
10
10
 
11
11
  name = "pulp_python.app"
12
12
  label = "python"
13
- version = "3.26.1"
13
+ version = "3.27.0"
14
14
  python_package_name = "pulp-python"
15
15
  domain_compatible = True
16
16
 
@@ -37,8 +37,7 @@ class PythonReplicator(Replicator):
37
37
  return None
38
38
 
39
39
  def repository_extra_fields(self, remote):
40
- # Use autopublish since publications result in faster serving times
41
- return {"autopublish": True}
40
+ return {"autopublish": False}
42
41
 
43
42
  def sync_params(self, repository, remote):
44
43
  return {"remote_pk": str(remote.pk), "repository_pk": str(repository.pk), "mirror": True}
@@ -4,6 +4,7 @@ import tempfile
4
4
  from gettext import gettext as _
5
5
  from django.conf import settings
6
6
  from django.db.utils import IntegrityError
7
+ from drf_spectacular.utils import extend_schema_serializer
7
8
  from packaging.requirements import Requirement
8
9
  from rest_framework import serializers
9
10
  from pypi_attestations import AttestationError
@@ -33,6 +34,11 @@ from pulp_python.app.utils import (
33
34
  log = logging.getLogger(__name__)
34
35
 
35
36
 
37
+ @extend_schema_serializer(
38
+ deprecate_fields=[
39
+ "autopublish",
40
+ ]
41
+ )
36
42
  class PythonRepositorySerializer(core_serializers.RepositorySerializer):
37
43
  """
38
44
  Serializer for Python Repositories.
@@ -41,7 +47,7 @@ class PythonRepositorySerializer(core_serializers.RepositorySerializer):
41
47
  autopublish = serializers.BooleanField(
42
48
  help_text=_(
43
49
  "Whether to automatically create publications for new repository versions, "
44
- "and update any distributions pointing to this repository."
50
+ "and update any distributions pointing to this repository. [Deprecated]"
45
51
  ),
46
52
  default=False,
47
53
  required=False,
@@ -52,6 +58,11 @@ class PythonRepositorySerializer(core_serializers.RepositorySerializer):
52
58
  model = python_models.PythonRepository
53
59
 
54
60
 
61
+ @extend_schema_serializer(
62
+ deprecate_fields=[
63
+ "publication",
64
+ ]
65
+ )
55
66
  class PythonDistributionSerializer(core_serializers.DistributionSerializer):
56
67
  """
57
68
  Serializer for Pulp distributions for the Python type.
@@ -59,7 +70,7 @@ class PythonDistributionSerializer(core_serializers.DistributionSerializer):
59
70
 
60
71
  publication = core_serializers.DetailRelatedField(
61
72
  required=False,
62
- help_text=_("Publication to be served"),
73
+ help_text=_("Publication to be served. [Deprecated]"),
63
74
  view_name_pattern=r"publications(-.*/.*)?-detail",
64
75
  queryset=core_models.Publication.objects.exclude(complete=False),
65
76
  allow_null=True,
@@ -1,6 +1,6 @@
1
1
  from bandersnatch.configuration import BandersnatchConfig
2
2
  from django.db import transaction
3
- from drf_spectacular.utils import extend_schema
3
+ from drf_spectacular.utils import extend_schema, extend_schema_view
4
4
  from pathlib import Path
5
5
  from rest_framework import status
6
6
  from rest_framework.decorators import action
@@ -605,11 +605,21 @@ class PythonRemoteViewSet(core_viewsets.RemoteViewSet, core_viewsets.RolesMixin)
605
605
  return Response(remote.data, status=status.HTTP_201_CREATED, headers=headers)
606
606
 
607
607
 
608
+ @extend_schema_view(
609
+ list=extend_schema(deprecated=True),
610
+ add_role=extend_schema(deprecated=True),
611
+ remove_role=extend_schema(deprecated=True),
612
+ list_roles=extend_schema(deprecated=True),
613
+ my_permissions=extend_schema(deprecated=True),
614
+ )
608
615
  class PythonPublicationViewSet(core_viewsets.PublicationViewSet, core_viewsets.RolesMixin):
609
616
  """
610
- <!-- User-facing documentation, rendered as html-->
611
617
  Python Publications refer to the Python Package content in a repository version, and include
612
- metadata about that content.
618
+ metadata about that content. [Deprecated] See
619
+ https://pulpproject.org/pulp_python/docs/user/guides/host/#migrating-off-publications for more
620
+ information.
621
+
622
+ Use a repository or repository-version to serve content instead.
613
623
 
614
624
  """
615
625
 
@@ -677,7 +687,7 @@ class PythonPublicationViewSet(core_viewsets.PublicationViewSet, core_viewsets.R
677
687
  "python.pythonpublication_viewer": ["python.view_pythonpublication"],
678
688
  }
679
689
 
680
- @extend_schema(responses={202: AsyncOperationResponseSerializer})
690
+ @extend_schema(responses={202: AsyncOperationResponseSerializer}, deprecated=True)
681
691
  def create(self, request):
682
692
  """
683
693
  <!-- User-facing documentation, rendered as html-->
@@ -698,3 +708,11 @@ class PythonPublicationViewSet(core_viewsets.PublicationViewSet, core_viewsets.R
698
708
  kwargs={"repository_version_pk": str(repository_version.pk)},
699
709
  )
700
710
  return core_viewsets.OperationPostponedResponse(result, request)
711
+
712
+ @extend_schema(deprecated=True)
713
+ def retrieve(self, request, *args, **kwargs):
714
+ return super().retrieve(request, *args, **kwargs)
715
+
716
+ @extend_schema(deprecated=True)
717
+ def destroy(self, request, *args, **kwargs):
718
+ return super().destroy(request, *args, **kwargs)
@@ -182,7 +182,6 @@ def test_domain_content_replication(
182
182
  python_bindings.ContentPackagesApi,
183
183
  python_bindings.RepositoriesPythonApi,
184
184
  python_bindings.RemotesPythonApi,
185
- python_bindings.PublicationsPypiApi,
186
185
  python_bindings.DistributionsPypiApi,
187
186
  ):
188
187
  result = api_client.list(pulp_domain=replica_domain.name)
@@ -204,9 +203,6 @@ def test_domain_content_replication(
204
203
 
205
204
  response = python_bindings.ContentPackagesApi.list(pulp_domain=replica_domain.name)
206
205
  assert PYTHON_SM_PACKAGE_COUNT + 1 == response.count
207
- response = python_bindings.PublicationsPypiApi.list(pulp_domain=replica_domain.name)
208
- assert 2 == response.count
209
- add_to_cleanup(python_bindings.PublicationsPypiApi, response.results[0])
210
206
  assert 1 == python_bindings.RepositoriesPythonApi.list(pulp_domain=replica_domain.name).count
211
207
  assert 1 == python_bindings.DistributionsPypiApi.list(pulp_domain=replica_domain.name).count
212
208
  assert 1 == python_bindings.RemotesPythonApi.list(pulp_domain=replica_domain.name).count
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulp-python
3
- Version: 3.26.1
3
+ Version: 3.27.0
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
@@ -7,7 +7,7 @@ build-backend = 'setuptools.build_meta'
7
7
 
8
8
  [project]
9
9
  name = "pulp-python"
10
- version = "3.26.1"
10
+ version = "3.27.0"
11
11
  description = "pulp-python plugin for the Pulp Project"
12
12
  readme = "README.md"
13
13
  authors = [
@@ -79,7 +79,7 @@ ignore = [
79
79
  [tool.bumpversion]
80
80
  # This section is managed by the plugin template. Do not edit manually.
81
81
 
82
- current_version = "3.26.1"
82
+ current_version = "3.27.0"
83
83
  commit = false
84
84
  tag = false
85
85
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<alpha>0a)?(?P<patch>\\d+)(\\.(?P<release>[a-z]+))?"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes