pubtools-pyxis 1.3.6__tar.gz → 1.3.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 (41) hide show
  1. {pubtools_pyxis-1.3.6/src/pubtools_pyxis.egg-info → pubtools_pyxis-1.3.8}/PKG-INFO +12 -2
  2. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/CHANGELOG.rst +11 -0
  3. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/requirements-test.txt +1 -1
  4. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/requirements.txt +0 -1
  5. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/setup.py +1 -1
  6. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools/_pyxis/pyxis_authentication.py +6 -1
  7. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools/_pyxis/pyxis_client.py +10 -10
  8. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools/_pyxis/pyxis_ops.py +27 -18
  9. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8/src/pubtools_pyxis.egg-info}/PKG-INFO +12 -2
  10. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools_pyxis.egg-info/requires.txt +0 -1
  11. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/LICENSE +0 -0
  12. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/MANIFEST.in +0 -0
  13. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/README.rst +0 -0
  14. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/Makefile +0 -0
  15. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/README.rst +0 -0
  16. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/conf.py +0 -0
  17. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/delete_signatures.rst +0 -0
  18. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/entrypoints_reference.rst +0 -0
  19. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/get_indices.rst +0 -0
  20. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/get_repo_metadata.rst +0 -0
  21. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/get_signatures.rst +0 -0
  22. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/index.rst +0 -0
  23. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/modules_reference.rst +0 -0
  24. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/ops_helpers.rst +0 -0
  25. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/pyxis_authentication.rst +0 -0
  26. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/pyxis_client.rst +0 -0
  27. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/pyxis_session.rst +0 -0
  28. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/docs/source/upload_signatures.rst +0 -0
  29. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/setup.cfg +0 -0
  30. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools/_pyxis/__init__.py +0 -0
  31. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools/_pyxis/constants.py +0 -0
  32. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools/_pyxis/pyxis_session.py +0 -0
  33. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools/_pyxis/utils.py +0 -0
  34. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools_pyxis.egg-info/SOURCES.txt +0 -0
  35. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools_pyxis.egg-info/dependency_links.txt +0 -0
  36. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools_pyxis.egg-info/entry_points.txt +0 -0
  37. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/src/pubtools_pyxis.egg-info/top_level.txt +0 -0
  38. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/tests/test_pyxis_authentication.py +0 -0
  39. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/tests/test_pyxis_client.py +0 -0
  40. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/tests/test_pyxis_ops.py +0 -0
  41. {pubtools_pyxis-1.3.6 → pubtools_pyxis-1.3.8}/tests/test_pyxis_session.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pubtools-pyxis
3
- Version: 1.3.6
3
+ Version: 1.3.8
4
4
  Summary: Pubtools-pyxis
5
5
  Home-page: https://github.com/release-engineering/pubtools-pyxis
6
6
  Author: Lubomir Gallovic
@@ -20,7 +20,6 @@ Requires-Dist: setuptools
20
20
  Requires-Dist: more-executors>=2.3.0
21
21
  Requires-Dist: requests
22
22
  Requires-Dist: requests-kerberos
23
- Requires-Dist: urllib3<2
24
23
  Provides-Extra: rest
25
24
  Requires-Dist: Sphinx; extra == "rest"
26
25
  Dynamic: author
@@ -145,6 +144,17 @@ Get signatures:
145
144
  ChangeLog
146
145
  =========
147
146
 
147
+ 1.3.8 (2026-02-05)
148
+ ------------------
149
+
150
+ * Unpin unsafe urllib3 version
151
+ * Add Python 3.11 and 3.14 to CI
152
+
153
+ 1.3.7 (2025-05-06)
154
+ ------------------
155
+
156
+ * python3.9 compatibility fixes
157
+
148
158
  1.3.6 (2025-03-06)
149
159
  ------------------
150
160
 
@@ -1,6 +1,17 @@
1
1
  ChangeLog
2
2
  =========
3
3
 
4
+ 1.3.8 (2026-02-05)
5
+ ------------------
6
+
7
+ * Unpin unsafe urllib3 version
8
+ * Add Python 3.11 and 3.14 to CI
9
+
10
+ 1.3.7 (2025-05-06)
11
+ ------------------
12
+
13
+ * python3.9 compatibility fixes
14
+
4
15
  1.3.6 (2025-03-06)
5
16
  ------------------
6
17
 
@@ -3,6 +3,6 @@ requests-mock
3
3
  pytest
4
4
  pytest-pylint
5
5
  pytest-cov
6
- bandit==1.7.5
6
+ bandit
7
7
  mypy
8
8
  types-requests
@@ -2,4 +2,3 @@ setuptools
2
2
  more-executors>=2.3.0
3
3
  requests
4
4
  requests-kerberos
5
- urllib3<2
@@ -71,7 +71,7 @@ if os.environ.get("READTHEDOCS", None):
71
71
 
72
72
  setup(
73
73
  name="pubtools-pyxis",
74
- version="1.3.6",
74
+ version="1.3.8",
75
75
  description="Pubtools-pyxis",
76
76
  long_description=long_description,
77
77
  long_description_content_type='text/x-rst',
@@ -1,5 +1,6 @@
1
1
  import os
2
2
  import subprocess
3
+ from typing import Optional
3
4
 
4
5
  from requests_kerberos import HTTPKerberosAuth, OPTIONAL
5
6
 
@@ -50,7 +51,11 @@ class PyxisKrbAuth(PyxisAuth):
50
51
  """Kerberos authentication support for PyxisClient."""
51
52
 
52
53
  def __init__(
53
- self, krb_princ: str, service: str, ccache_file: str, ktfile: str | None = None
54
+ self,
55
+ krb_princ: str,
56
+ service: str,
57
+ ccache_file: str,
58
+ ktfile: Optional[str] = None,
54
59
  ) -> None:
55
60
  """
56
61
  Initialize.
@@ -3,7 +3,7 @@ from concurrent.futures import as_completed
3
3
  from functools import partial
4
4
  import math
5
5
  import threading
6
- from typing import Callable, Any
6
+ from typing import Callable, Any, Optional, Union
7
7
 
8
8
  from more_executors import Executors
9
9
  from requests.exceptions import HTTPError
@@ -21,7 +21,7 @@ class PyxisClient:
21
21
  self,
22
22
  hostname: str,
23
23
  retries: int = 5,
24
- auth: PyxisAuth | None = None,
24
+ auth: Optional[PyxisAuth] = None,
25
25
  backoff_factor: int = 5,
26
26
  verify: bool = True,
27
27
  threads: int = DEFAULT_REQUEST_THREADS_LIMIT,
@@ -55,7 +55,7 @@ class PyxisClient:
55
55
  self.threads_limit = threads
56
56
 
57
57
  @property
58
- def pyxis_session(self) -> PyxisSession | Any:
58
+ def pyxis_session(self) -> Union[PyxisSession, Any]:
59
59
  """
60
60
  Return a thread-local session for Pyxis requests.
61
61
 
@@ -73,8 +73,8 @@ class PyxisClient:
73
73
  return session
74
74
 
75
75
  def get_operator_indices(
76
- self, ocp_versions_range: str, organization: str | None = None
77
- ) -> list[str] | Any:
76
+ self, ocp_versions_range: str, organization: Optional[str] = None
77
+ ) -> Union[list[str], Any]:
78
78
  """Get a list of index images satisfying versioning and organization conditions.
79
79
 
80
80
  Args:
@@ -97,10 +97,10 @@ class PyxisClient:
97
97
  def get_repository_metadata(
98
98
  self,
99
99
  repo_name: str,
100
- custom_registry: str | None = None,
100
+ custom_registry: Optional[str] = None,
101
101
  only_internal: bool = False,
102
102
  only_partner: bool = False,
103
- ) -> dict[Any, Any] | Any:
103
+ ) -> Union[dict[Any, Any], Any]:
104
104
  """Get metadata of a Comet repository.
105
105
 
106
106
  If checking only one registry hasn't been specified, check both with precedence on
@@ -170,7 +170,7 @@ class PyxisClient:
170
170
 
171
171
  def _do_parallel_requests(
172
172
  self, make_request: Callable[[Any], Any], data_items: list[Any]
173
- ) -> list[Any] | Any:
173
+ ) -> Union[list[Any], Any]:
174
174
  """
175
175
  Call given function with given data items in parallel, collect responses.
176
176
 
@@ -199,7 +199,7 @@ class PyxisClient:
199
199
 
200
200
  return [f.result() for f in as_completed(futures)]
201
201
 
202
- def _handle_json_response(self, response: Response) -> dict[Any, Any] | Any:
202
+ def _handle_json_response(self, response: Response) -> Union[dict[Any, Any], Any]:
203
203
  """
204
204
  Get JSON from given response or raise an informative exception.
205
205
 
@@ -237,7 +237,7 @@ class PyxisClient:
237
237
  return data
238
238
 
239
239
  def get_container_signatures(
240
- self, manifest_digests: str | None = None, references: str | None = None
240
+ self, manifest_digests: Optional[str] = None, references: Optional[str] = None
241
241
  ) -> list[str]:
242
242
  """Get a list of signature metadata matching given fields.
243
243
 
@@ -2,14 +2,13 @@ import json
2
2
  import sys
3
3
  import tempfile
4
4
  from argparse import ArgumentParser, Namespace
5
- from typing import Any
5
+ from typing import Any, Optional, Union
6
6
 
7
7
  from .constants import DEFAULT_REQUEST_THREADS_LIMIT
8
8
  from .pyxis_authentication import PyxisKrbAuth, PyxisSSLAuth, PyxisAuth
9
9
  from .pyxis_client import PyxisClient
10
10
  from .utils import setup_arg_parser
11
11
 
12
-
13
12
  CMD_ARGS = {
14
13
  ("--pyxis-server",): {
15
14
  "help": "Pyxis service hostname",
@@ -163,7 +162,7 @@ def set_get_operator_indices_args() -> ArgumentParser:
163
162
  return setup_arg_parser(GET_OPERATORS_INDICES_ARGS)
164
163
 
165
164
 
166
- def _get_operator_indices(sysargs: list[str] | None = None) -> list[str] | Any:
165
+ def _get_operator_indices(sysargs: Optional[list[str]] = None) -> Union[list[str], Any]:
167
166
  """
168
167
  Entrypoint for getting operator indices.
169
168
 
@@ -184,7 +183,7 @@ def _get_operator_indices(sysargs: list[str] | None = None) -> list[str] | Any:
184
183
  return resp
185
184
 
186
185
 
187
- def get_operator_indices_main(sysargs: list[str] | None = None) -> int:
186
+ def get_operator_indices_main(sysargs: Optional[list[str]] = None) -> int:
188
187
  """
189
188
  Entrypoint for getting operator indices.
190
189
 
@@ -200,7 +199,9 @@ def get_operator_indices_main(sysargs: list[str] | None = None) -> int:
200
199
  return 1
201
200
 
202
201
 
203
- def get_operator_indices_mod(sysargs: list[str] | None = None) -> list[str] | Any:
202
+ def get_operator_indices_mod(
203
+ sysargs: Optional[list[str]] = None,
204
+ ) -> Union[list[str], Any]:
204
205
  """
205
206
  Entrypoint for getting operator indices in module mode.
206
207
 
@@ -215,7 +216,9 @@ def set_get_repo_metadata_args() -> ArgumentParser:
215
216
  return setup_arg_parser(GET_REPO_METADATA_ARGS)
216
217
 
217
218
 
218
- def _get_repo_metadata(sysargs: list[str] | None = None) -> dict[Any, Any] | Any:
219
+ def _get_repo_metadata(
220
+ sysargs: Optional[list[str]] = None,
221
+ ) -> Union[dict[Any, Any], Any]:
219
222
  """
220
223
  Entrypoint for getting repository metadata.
221
224
 
@@ -245,7 +248,9 @@ def _get_repo_metadata(sysargs: list[str] | None = None) -> dict[Any, Any] | Any
245
248
  return res
246
249
 
247
250
 
248
- def get_repo_metadata_main(sysargs: list[str] | None = None) -> dict[Any, Any] | Any:
251
+ def get_repo_metadata_main(
252
+ sysargs: Optional[list[str]] = None,
253
+ ) -> Union[dict[Any, Any], Any]:
249
254
  """
250
255
  Entrypoint for getting repository metadata.
251
256
 
@@ -261,7 +266,9 @@ def get_repo_metadata_main(sysargs: list[str] | None = None) -> dict[Any, Any] |
261
266
  return 1
262
267
 
263
268
 
264
- def get_repo_metadata_mod(sysargs: list[str] | None = None) -> dict[Any, Any] | Any:
269
+ def get_repo_metadata_mod(
270
+ sysargs: Optional[list[str]] = None,
271
+ ) -> Union[dict[Any, Any], Any]:
265
272
  """
266
273
  Entrypoint for getting repository metadata in module mode.
267
274
 
@@ -277,7 +284,7 @@ def set_upload_signatures_args() -> ArgumentParser:
277
284
  return setup_arg_parser(UPLOAD_SIGNATURES_ARGS)
278
285
 
279
286
 
280
- def _upload_signatures(sysargs: list[str] | None = None) -> list[Any]:
287
+ def _upload_signatures(sysargs: Optional[list[str]] = None) -> list[Any]:
281
288
  """
282
289
  Entrypoint for uploading signatures from JSON or a file.
283
290
 
@@ -298,7 +305,7 @@ def _upload_signatures(sysargs: list[str] | None = None) -> list[Any]:
298
305
  return resp
299
306
 
300
307
 
301
- def upload_signatures_main(sysargs: list[str] | None = None) -> int:
308
+ def upload_signatures_main(sysargs: Optional[list[str]] = None) -> int:
302
309
  """
303
310
  Entrypoint for uploading signatures from JSON or a file.
304
311
 
@@ -314,7 +321,7 @@ def upload_signatures_main(sysargs: list[str] | None = None) -> int:
314
321
  return 1
315
322
 
316
323
 
317
- def upload_signatures_mod(sysargs: list[str] | None = None) -> list[Any]:
324
+ def upload_signatures_mod(sysargs: Optional[list[str]] = None) -> list[Any]:
318
325
  """
319
326
  Entrypoint for uploading signatures from JSON or a file in module mode.
320
327
 
@@ -325,7 +332,9 @@ def upload_signatures_mod(sysargs: list[str] | None = None) -> list[Any]:
325
332
  # No return value, output is printed directly
326
333
 
327
334
 
328
- def deserialize_list_from_arg(value: str, csv_input: bool = False) -> list[Any] | Any:
335
+ def deserialize_list_from_arg(
336
+ value: str, csv_input: bool = False
337
+ ) -> Union[list[Any], Any]:
329
338
  """
330
339
  Conditionally load contents of a file if specified in argument value.
331
340
 
@@ -360,7 +369,7 @@ def set_get_signatures_args() -> ArgumentParser:
360
369
  return setup_arg_parser(GET_SIGNATURES_ARGS)
361
370
 
362
371
 
363
- def _get_signatures(sysargs: list[str] | None = None) -> list[str]:
372
+ def _get_signatures(sysargs: Optional[list[str]] = None) -> list[str]:
364
373
  """
365
374
  Entrypoint for getting container signature metadata.
366
375
 
@@ -393,7 +402,7 @@ def _get_signatures(sysargs: list[str] | None = None) -> list[str]:
393
402
  return res
394
403
 
395
404
 
396
- def get_signatures_main(sysargs: list[str] | None = None) -> int:
405
+ def get_signatures_main(sysargs: Optional[list[str]] = None) -> int:
397
406
  """
398
407
  Entrypoint for getting container signature metadata.
399
408
 
@@ -409,7 +418,7 @@ def get_signatures_main(sysargs: list[str] | None = None) -> int:
409
418
  return 1
410
419
 
411
420
 
412
- def get_signatures_mod(sysargs: list[str] | None = None) -> list[str]:
421
+ def get_signatures_mod(sysargs: Optional[list[str]] = None) -> list[str]:
413
422
  """
414
423
  Entrypoint for getting container signature metadata in module mode.
415
424
 
@@ -425,7 +434,7 @@ def set_delete_signatures_args() -> ArgumentParser:
425
434
  return setup_arg_parser(DELETE_SIGNATURES_ARGS)
426
435
 
427
436
 
428
- def _delete_signatures(sysargs: list[str] | None = None) -> None:
437
+ def _delete_signatures(sysargs: Optional[list[str]] = None) -> None:
429
438
  """
430
439
  Entrypoint for removing existing signatures.
431
440
 
@@ -446,7 +455,7 @@ def _delete_signatures(sysargs: list[str] | None = None) -> None:
446
455
  pyxis_client.delete_container_signatures(signature_ids)
447
456
 
448
457
 
449
- def delete_signatures_main(sysargs: list[str] | None = None) -> int:
458
+ def delete_signatures_main(sysargs: Optional[list[str]] = None) -> int:
450
459
  """
451
460
  Entrypoint for removing existing signatures.
452
461
 
@@ -461,7 +470,7 @@ def delete_signatures_main(sysargs: list[str] | None = None) -> int:
461
470
  return 1
462
471
 
463
472
 
464
- def delete_signatures_mod(sysargs: list[str] | None = None) -> None:
473
+ def delete_signatures_mod(sysargs: Optional[list[str]] = None) -> None:
465
474
  """
466
475
  Entrypoint for removing existing signatures in module mode.
467
476
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pubtools-pyxis
3
- Version: 1.3.6
3
+ Version: 1.3.8
4
4
  Summary: Pubtools-pyxis
5
5
  Home-page: https://github.com/release-engineering/pubtools-pyxis
6
6
  Author: Lubomir Gallovic
@@ -20,7 +20,6 @@ Requires-Dist: setuptools
20
20
  Requires-Dist: more-executors>=2.3.0
21
21
  Requires-Dist: requests
22
22
  Requires-Dist: requests-kerberos
23
- Requires-Dist: urllib3<2
24
23
  Provides-Extra: rest
25
24
  Requires-Dist: Sphinx; extra == "rest"
26
25
  Dynamic: author
@@ -145,6 +144,17 @@ Get signatures:
145
144
  ChangeLog
146
145
  =========
147
146
 
147
+ 1.3.8 (2026-02-05)
148
+ ------------------
149
+
150
+ * Unpin unsafe urllib3 version
151
+ * Add Python 3.11 and 3.14 to CI
152
+
153
+ 1.3.7 (2025-05-06)
154
+ ------------------
155
+
156
+ * python3.9 compatibility fixes
157
+
148
158
  1.3.6 (2025-03-06)
149
159
  ------------------
150
160
 
@@ -2,7 +2,6 @@ setuptools
2
2
  more-executors>=2.3.0
3
3
  requests
4
4
  requests-kerberos
5
- urllib3<2
6
5
 
7
6
  [reST]
8
7
  Sphinx
File without changes
File without changes