pulp-python 3.30.0__tar.gz → 3.30.1__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 (97) hide show
  1. {pulp_python-3.30.0 → pulp_python-3.30.1}/CHANGES.md +9 -0
  2. {pulp_python-3.30.0 → pulp_python-3.30.1}/PKG-INFO +1 -1
  3. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/__init__.py +1 -1
  4. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/pypi/views.py +17 -4
  5. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/utils.py +16 -4
  6. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_pypi_apis.py +43 -0
  7. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_pypi_simple_api.py +3 -4
  8. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/constants.py +4 -0
  9. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python.egg-info/PKG-INFO +1 -1
  10. {pulp_python-3.30.0 → pulp_python-3.30.1}/pyproject.toml +2 -2
  11. {pulp_python-3.30.0 → pulp_python-3.30.1}/COMMITMENT +0 -0
  12. {pulp_python-3.30.0 → pulp_python-3.30.1}/COPYRIGHT +0 -0
  13. {pulp_python-3.30.0 → pulp_python-3.30.1}/LICENSE +0 -0
  14. {pulp_python-3.30.0 → pulp_python-3.30.1}/MANIFEST.in +0 -0
  15. {pulp_python-3.30.0 → pulp_python-3.30.1}/README.md +0 -0
  16. {pulp_python-3.30.0 → pulp_python-3.30.1}/functest_requirements.txt +0 -0
  17. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/__init__.py +0 -0
  18. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/global_access_conditions.py +0 -0
  19. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/management/__init__.py +0 -0
  20. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/management/commands/__init__.py +0 -0
  21. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/management/commands/repair-python-metadata.py +0 -0
  22. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0001_initial.py +0 -0
  23. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0001_squashed_0010_update_json_field.py +0 -0
  24. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0002_pythonpackagecontent_python_version.py +0 -0
  25. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0003_new_sync_filters.py +0 -0
  26. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0004_DATA_swap_distribution_model.py +0 -0
  27. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0005_pythonpackagecontent_sha256.py +0 -0
  28. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0006_pythonrepository_autopublish.py +0 -0
  29. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0007_pythonpackagecontent_mv-2-1.py +0 -0
  30. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0008_pythonpackagecontent_unique_sha256.py +0 -0
  31. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0009_pythondistribution_allow_uploads.py +0 -0
  32. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0010_update_json_field.py +0 -0
  33. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0011_alter_pythondistribution_distribution_ptr_and_more.py +0 -0
  34. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0012_add_domain.py +0 -0
  35. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0013_add_rbac_permissions.py +0 -0
  36. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0014_pythonpackagecontent_dynamic_and_more.py +0 -0
  37. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0015_alter_pythonpackagecontent_options.py +0 -0
  38. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0016_pythonpackagecontent_metadata_sha256.py +0 -0
  39. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0017_pythonpackagecontent_size.py +0 -0
  40. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0018_packageprovenance.py +0 -0
  41. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0019_create_missing_metadata_artifacts.py +0 -0
  42. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0020_pythonpackagecontent_name_normalized.py +0 -0
  43. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0021_pythonrepository_upload_duplicate_filenames.py +0 -0
  44. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/0022_pythonblocklistentry.py +0 -0
  45. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/migrations/__init__.py +0 -0
  46. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/modelresource.py +0 -0
  47. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/models.py +0 -0
  48. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/provenance.py +0 -0
  49. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/pypi/__init__.py +0 -0
  50. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/pypi/serializers.py +0 -0
  51. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/replica.py +0 -0
  52. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/serializers.py +0 -0
  53. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/settings.py +0 -0
  54. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/tasks/__init__.py +0 -0
  55. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/tasks/publish.py +0 -0
  56. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/tasks/repair.py +0 -0
  57. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/tasks/sync.py +0 -0
  58. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/tasks/upload.py +0 -0
  59. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/tasks/vulnerability_report.py +0 -0
  60. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/urls.py +0 -0
  61. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/viewsets.py +0 -0
  62. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/webserver_snippets/__init__.py +0 -0
  63. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/webserver_snippets/apache.conf +0 -0
  64. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/app/webserver_snippets/nginx.conf +0 -0
  65. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/pytest_plugin.py +0 -0
  66. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/__init__.py +0 -0
  67. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/__init__.py +0 -0
  68. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/__init__.py +0 -0
  69. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_attestations.py +0 -0
  70. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_auto_publish.py +0 -0
  71. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_blocklist.py +0 -0
  72. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_consume_content.py +0 -0
  73. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_crud_content_unit.py +0 -0
  74. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_crud_publications.py +0 -0
  75. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_crud_remotes.py +0 -0
  76. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_domains.py +0 -0
  77. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_download_content.py +0 -0
  78. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_export_import.py +0 -0
  79. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_full_mirror.py +0 -0
  80. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_rbac.py +0 -0
  81. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_repair.py +0 -0
  82. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_sync.py +0 -0
  83. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_upload.py +0 -0
  84. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/api/test_vulnerability_report.py +0 -0
  85. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/assets/shelf-reader-0.1.tar.gz.publish.attestation +0 -0
  86. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/assets/shelf_reader-0.1-py2-none-any.whl.publish.attestation +0 -0
  87. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/functional/utils.py +0 -0
  88. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/unit/__init__.py +0 -0
  89. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python/tests/unit/test_models.py +0 -0
  90. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python.egg-info/SOURCES.txt +0 -0
  91. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python.egg-info/dependency_links.txt +0 -0
  92. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python.egg-info/entry_points.txt +0 -0
  93. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python.egg-info/requires.txt +0 -0
  94. {pulp_python-3.30.0 → pulp_python-3.30.1}/pulp_python.egg-info/top_level.txt +0 -0
  95. {pulp_python-3.30.0 → pulp_python-3.30.1}/setup.cfg +0 -0
  96. {pulp_python-3.30.0 → pulp_python-3.30.1}/test_requirements.txt +0 -0
  97. {pulp_python-3.30.0 → pulp_python-3.30.1}/unittest_requirements.txt +0 -0
@@ -8,6 +8,15 @@
8
8
 
9
9
  [//]: # (towncrier release notes start)
10
10
 
11
+ ## 3.30.1 (2026-05-19) {: #3.30.1 }
12
+
13
+ #### Bugfixes {: #3.30.1-bugfix }
14
+
15
+ - Fixed `upload_time` in Simple and JSON APIs to reflect repository addition time instead of content creation time.
16
+ [#1232](https://github.com/pulp/pulp_python/issues/1232)
17
+
18
+ ---
19
+
11
20
  ## 3.30.0 (2026-05-13) {: #3.30.0 }
12
21
 
13
22
  #### Features {: #3.30.0-feature }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulp-python
3
- Version: 3.30.0
3
+ Version: 3.30.1
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
@@ -12,7 +12,7 @@ class PulpPythonPluginAppConfig(PulpPluginAppConfig):
12
12
 
13
13
  name = "pulp_python.app"
14
14
  label = "python"
15
- version = "3.30.0"
15
+ version = "3.30.1"
16
16
  python_package_name = "pulp-python"
17
17
  domain_compatible = True
18
18
 
@@ -7,6 +7,7 @@ from urllib.parse import urljoin, urlparse, urlunsplit
7
7
  from django.contrib.sessions.models import Session
8
8
  from django.core.exceptions import ObjectDoesNotExist
9
9
  from django.db import transaction
10
+ from django.db.models import OuterRef, Subquery
10
11
  from django.db.utils import DatabaseError
11
12
  from django.http.response import (
12
13
  Http404,
@@ -25,6 +26,7 @@ from rest_framework.renderers import BrowsableAPIRenderer, JSONRenderer, Templat
25
26
  from rest_framework.response import Response
26
27
  from rest_framework.viewsets import ViewSet
27
28
 
29
+ from pulpcore.plugin.models import RepositoryContent
28
30
  from pulpcore.plugin.tasking import dispatch
29
31
  from pulpcore.plugin.util import get_domain, get_url
30
32
  from pulpcore.plugin.viewsets import OperationPostponedResponse
@@ -366,13 +368,20 @@ class SimpleView(PackageUploadMixin, ViewSet):
366
368
  return redirect(urljoin(self.base_content_url, f"{path}/simple/{normalized}/"))
367
369
  if content is not None:
368
370
  local_packages = content.filter(name_normalized=normalized)
369
- packages = local_packages.values(
371
+ repo_added_subquery = RepositoryContent.objects.filter(
372
+ content_id=OuterRef("pk"),
373
+ repository=repo_ver.repository,
374
+ version_removed=None,
375
+ ).values("pulp_created")[:1]
376
+ packages = local_packages.annotate(
377
+ repo_added_time=Subquery(repo_added_subquery)
378
+ ).values(
370
379
  "filename",
371
380
  "sha256",
372
381
  "metadata_sha256",
373
382
  "requires_python",
374
383
  "size",
375
- "pulp_created",
384
+ "repo_added_time",
376
385
  "version",
377
386
  )
378
387
  provenances = PackageProvenance.objects.filter(package__in=local_packages).values_list(
@@ -382,7 +391,7 @@ class SimpleView(PackageUploadMixin, ViewSet):
382
391
  p["filename"]: {
383
392
  **p,
384
393
  "url": urljoin(self.base_content_url, f"{path}/{p['filename']}"),
385
- "upload_time": p["pulp_created"],
394
+ "upload_time": p["repo_added_time"],
386
395
  "provenance": (
387
396
  self.get_provenance_url(normalized, p["version"], p["filename"])
388
397
  if p["filename"] in provenances
@@ -464,7 +473,11 @@ class MetadataView(PyPIMixin, ViewSet):
464
473
  if settings.DOMAIN_ENABLED:
465
474
  domain = get_domain()
466
475
  json_body = python_content_to_json(
467
- path, package_content, version=version, domain=domain
476
+ path,
477
+ package_content,
478
+ version=version,
479
+ domain=domain,
480
+ repository_version=repo_ver,
468
481
  )
469
482
  if json_body:
470
483
  return Response(data=json_body, headers=headers)
@@ -11,6 +11,7 @@ from datetime import timezone
11
11
  import pkginfo
12
12
  from aiohttp.client_exceptions import ClientError
13
13
  from django.conf import settings
14
+ from django.db.models import OuterRef, Subquery
14
15
  from django.db.utils import IntegrityError
15
16
  from jinja2 import Template
16
17
  from packaging.requirements import Requirement
@@ -19,7 +20,7 @@ from packaging.version import InvalidVersion, parse
19
20
  from pypi_simple import ACCEPT_JSON_PREFERRED, ProjectPage
20
21
 
21
22
  from pulpcore.plugin.exceptions import TimeoutException
22
- from pulpcore.plugin.models import Artifact, Remote
23
+ from pulpcore.plugin.models import Artifact, Remote, RepositoryContent
23
24
  from pulpcore.plugin.util import get_domain
24
25
 
25
26
  log = logging.getLogger(__name__)
@@ -359,7 +360,9 @@ def fetch_json_release_metadata(name: str, version: str, remotes: set[Remote]) -
359
360
  raise Exception(f"Failed to fetch {url} from any remote.")
360
361
 
361
362
 
362
- def python_content_to_json(base_path, content_query, version=None, domain=None):
363
+ def python_content_to_json(
364
+ base_path, content_query, version=None, domain=None, repository_version=None
365
+ ):
363
366
  """
364
367
  Converts a QuerySet of PythonPackageContent into the PyPi JSON format
365
368
  https://www.python.org/dev/peps/pep-0566/
@@ -371,6 +374,13 @@ def python_content_to_json(base_path, content_query, version=None, domain=None):
371
374
 
372
375
  Returns None if version is specified but not found within content_query
373
376
  """
377
+ if repository_version:
378
+ repo_added_subquery = RepositoryContent.objects.filter(
379
+ content_id=OuterRef("pk"),
380
+ repository=repository_version.repository,
381
+ version_removed=None,
382
+ ).values("pulp_created")[:1]
383
+ content_query = content_query.annotate(repo_added_time=Subquery(repo_added_subquery))
374
384
  full_metadata = {"last_serial": 0} # For now the serial field isn't supported by Pulp
375
385
  latest_content = latest_content_version(content_query, version)
376
386
  if not latest_content:
@@ -515,8 +525,10 @@ def python_content_to_download_info(content, base_path, domain=None):
515
525
  "python_version": content.python_version,
516
526
  "requires_python": content.requires_python or None,
517
527
  "size": content.size,
518
- "upload_time": str(content.pulp_created),
519
- "upload_time_iso_8601": str(content.pulp_created.isoformat()),
528
+ "upload_time": str(getattr(content, "repo_added_time", None) or content.pulp_created),
529
+ "upload_time_iso_8601": str(
530
+ (getattr(content, "repo_added_time", None) or content.pulp_created).isoformat()
531
+ ),
520
532
  "url": url,
521
533
  "yanked": False,
522
534
  "yanked_reason": None,
@@ -1,4 +1,6 @@
1
1
  import subprocess
2
+ import time
3
+ from datetime import datetime
2
4
  from urllib.parse import urljoin
3
5
 
4
6
  import pytest
@@ -6,6 +8,7 @@ import requests
6
8
 
7
9
  from pulp_python.tests.functional.constants import (
8
10
  PYPI_SERIAL_CONSTANT,
11
+ PYPI_SIMPLE_V1_JSON,
9
12
  PYTHON_EGG_FILENAME,
10
13
  PYTHON_EGG_SHA256,
11
14
  PYTHON_MD_PROJECT_SPECIFIER,
@@ -13,6 +16,8 @@ from pulp_python.tests.functional.constants import (
13
16
  PYTHON_WHEEL_FILENAME,
14
17
  PYTHON_WHEEL_SHA256,
15
18
  SHELF_PYTHON_JSON,
19
+ TWINE_WHEEL_FILENAME,
20
+ TWINE_WHEEL_URL,
16
21
  )
17
22
  from pulp_python.tests.functional.utils import ensure_metadata
18
23
 
@@ -328,3 +333,41 @@ def assert_download_info(expected, received, message="Failed to match"):
328
333
  matched = True
329
334
  break
330
335
  assert matched is True, message
336
+
337
+
338
+ @pytest.mark.parallel
339
+ def test_upload_time_reflects_repo_addition(
340
+ monitor_task,
341
+ python_bindings,
342
+ python_content_factory,
343
+ python_distribution_factory,
344
+ python_repo_factory,
345
+ ):
346
+ """
347
+ Test that upload_time reflects repository addition time instead of content creation time.
348
+ Checks both Simple and JSON APIs.
349
+ """
350
+ content = python_content_factory(TWINE_WHEEL_FILENAME, url=TWINE_WHEEL_URL)
351
+ content_created = datetime.fromisoformat(
352
+ str(python_bindings.ContentPackagesApi.read(content.pulp_href).pulp_created)
353
+ )
354
+ time.sleep(2)
355
+
356
+ repo = python_repo_factory()
357
+ body = {"add_content_units": [content.pulp_href]}
358
+ monitor_task(python_bindings.RepositoriesPythonApi.modify(repo.pulp_href, body).task)
359
+ distro = python_distribution_factory(repository=repo)
360
+
361
+ # Simple API
362
+ headers = {"Accept": PYPI_SIMPLE_V1_JSON}
363
+ resp = requests.get(f"{urljoin(distro.base_url, 'simple/')}twine", headers=headers)
364
+ assert resp.status_code == 200
365
+ simple_time = datetime.fromisoformat(resp.json()["files"][0]["upload-time"])
366
+ assert simple_time > content_created
367
+
368
+ # JSON API
369
+ json_resp = requests.get(urljoin(distro.base_url, "pypi/twine/json"))
370
+ assert json_resp.status_code == 200
371
+ json_time = datetime.fromisoformat(json_resp.json()["urls"][0]["upload_time"])
372
+ assert json_time > content_created
373
+ assert json_time == simple_time
@@ -5,6 +5,9 @@ import requests
5
5
 
6
6
  from pulp_python.tests.functional.constants import (
7
7
  PYPI_SERIAL_CONSTANT,
8
+ PYPI_SIMPLE_V1_HTML,
9
+ PYPI_SIMPLE_V1_JSON,
10
+ PYPI_TEXT_HTML,
8
11
  PYTHON_SM_FIXTURE_CHECKSUMS,
9
12
  PYTHON_SM_FIXTURE_RELEASES,
10
13
  PYTHON_SM_PROJECT_SPECIFIER,
@@ -27,10 +30,6 @@ from pulp_python.tests.functional.utils import ensure_simple
27
30
 
28
31
  API_VERSION = "1.1"
29
32
 
30
- PYPI_TEXT_HTML = "text/html"
31
- PYPI_SIMPLE_V1_HTML = "application/vnd.pypi.simple.v1+html"
32
- PYPI_SIMPLE_V1_JSON = "application/vnd.pypi.simple.v1+json"
33
-
34
33
 
35
34
  @pytest.mark.parallel
36
35
  def test_simple_html_index_api(
@@ -382,3 +382,7 @@ VULNERABILITY_REPORT_TEST_PACKAGES = [
382
382
  ]
383
383
 
384
384
  PYPI_SERIAL_CONSTANT = 1000000000
385
+
386
+ PYPI_TEXT_HTML = "text/html"
387
+ PYPI_SIMPLE_V1_HTML = "application/vnd.pypi.simple.v1+html"
388
+ PYPI_SIMPLE_V1_JSON = "application/vnd.pypi.simple.v1+json"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulp-python
3
- Version: 3.30.0
3
+ Version: 3.30.1
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.30.0"
10
+ version = "3.30.1"
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.30.0"
82
+ current_version = "3.30.1"
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