pulp-cli-deb 0.4.4__tar.gz → 0.5.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 (21) hide show
  1. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0}/PKG-INFO +4 -4
  2. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0}/pyproject.toml +62 -11
  3. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulp_cli_deb.egg-info/PKG-INFO +4 -4
  4. pulp_cli_deb-0.5.0/src/pulp_cli_deb.egg-info/SOURCES.txt +17 -0
  5. pulp_cli_deb-0.5.0/src/pulp_cli_deb.egg-info/requires.txt +2 -0
  6. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulpcore/cli/deb/__init__.py +1 -1
  7. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulpcore/cli/deb/content.py +17 -16
  8. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulpcore/cli/deb/distribution.py +6 -5
  9. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulpcore/cli/deb/publication.py +8 -7
  10. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulpcore/cli/deb/remote.py +3 -2
  11. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulpcore/cli/deb/repository.py +14 -13
  12. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0}/tests/test_help_pages.py +29 -21
  13. pulp_cli_deb-0.4.4/pulp_cli_deb.egg-info/SOURCES.txt +0 -17
  14. pulp_cli_deb-0.4.4/pulp_cli_deb.egg-info/requires.txt +0 -2
  15. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0}/LICENSE +0 -0
  16. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0}/setup.cfg +0 -0
  17. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulp_cli_deb.egg-info/dependency_links.txt +0 -0
  18. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulp_cli_deb.egg-info/entry_points.txt +0 -0
  19. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulp_cli_deb.egg-info/top_level.txt +0 -0
  20. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulpcore/cli/deb/locale/de/LC_MESSAGES/messages.mo +0 -0
  21. {pulp_cli_deb-0.4.4 → pulp_cli_deb-0.5.0/src}/pulpcore/cli/deb/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulp-cli-deb
3
- Version: 0.4.4
3
+ Version: 0.5.0
4
4
  Summary: Command line interface to talk to pulpcore's REST API. (Deb plugin commands)
5
5
  Author-email: Pulp Team <pulp-list@redhat.com>
6
6
  License: GPLv2+
@@ -14,9 +14,9 @@ Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Topic :: System :: Software Distribution
16
16
  Classifier: Typing :: Typed
17
- Requires-Python: >=3.8
17
+ Requires-Python: >=3.10
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: pulp-cli<0.40,>=0.23.2
21
- Requires-Dist: pulp-glue-deb==0.4.4
20
+ Requires-Dist: pulp-cli<0.41,>=0.23.2
21
+ Requires-Dist: pulp-glue-deb==0.5.0
22
22
  Dynamic: license-file
@@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pulp-cli-deb"
7
- version = "0.4.4"
7
+ version = "0.5.0"
8
8
  description = "Command line interface to talk to pulpcore's REST API. (Deb plugin commands)"
9
9
  readme = "README.md"
10
- requires-python = ">=3.8"
10
+ requires-python = ">=3.10"
11
11
  license = {text = "GPLv2+"}
12
12
  authors = [
13
13
  {name = "Pulp Team", email = "pulp-list@redhat.com"},
@@ -23,8 +23,8 @@ classifiers=[
23
23
  "Typing :: Typed",
24
24
  ]
25
25
  dependencies = [
26
- "pulp-cli<0.40,>=0.23.2",
27
- "pulp-glue-deb==0.4.4",
26
+ "pulp-cli<0.41,>=0.23.2",
27
+ "pulp-glue-deb==0.5.0",
28
28
  ]
29
29
 
30
30
  [project.urls]
@@ -36,7 +36,7 @@ deb = "pulpcore.cli.deb"
36
36
 
37
37
  [tool.setuptools.packages.find]
38
38
  # This section is managed by the cookiecutter templates.
39
- where = ["."]
39
+ where = ["src"]
40
40
  include = ["pulpcore.cli.*"]
41
41
  namespaces = true
42
42
 
@@ -49,6 +49,7 @@ namespaces = true
49
49
  # This section is co-managed by the cookiecutter templates.
50
50
  # Changes to existing keys should be preserved.
51
51
  app_label = "deb"
52
+ src_layout = true
52
53
  repository = "https://github.com/pulp/pulp-cli-deb"
53
54
  glue = true
54
55
  docs = false
@@ -56,6 +57,7 @@ translations = true
56
57
  main_package = "deb"
57
58
  binary_dependencies = ""
58
59
  unittests = false
60
+ paralleltests = false
59
61
 
60
62
  [tool.towncrier]
61
63
  # This section is managed by the cookiecutter templates.
@@ -126,7 +128,8 @@ markers = [
126
128
  strict = true
127
129
  warn_unused_ignores = false
128
130
  show_error_codes = true
129
- files = "pulpcore/**/*.py, tests/*.py"
131
+ files = "src/**/*.py, tests/**/*.py"
132
+ mypy_path = ["src", "pulp-glue-deb/src"]
130
133
  namespace_packages = true
131
134
  explicit_package_bases = true
132
135
 
@@ -142,8 +145,9 @@ ignore_missing_imports = true
142
145
 
143
146
  [tool.bumpversion]
144
147
  # This section is managed by the cookiecutter templates.
145
- current_version = "0.4.4"
148
+ current_version = "0.5.0"
146
149
  commit = false
150
+ pre_commit_hooks = ["uv lock", "git add uv.lock"]
147
151
  tag = false
148
152
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)(\\.(?P<release>[a-z]+))?"
149
153
  serialize = [
@@ -161,13 +165,13 @@ values = [
161
165
 
162
166
  [[tool.bumpversion.files]]
163
167
  # This section is managed by the cookiecutter templates.
164
- filename = "./pulp-glue-deb/pulp_glue/deb/__init__.py"
168
+ filename = "./pulp-glue-deb/src/pulp_glue/deb/__init__.py"
165
169
  search = "__version__ = \"{current_version}\""
166
170
  replace = "__version__ = \"{new_version}\""
167
171
 
168
172
  [[tool.bumpversion.files]]
169
173
  # This section is managed by the cookiecutter templates.
170
- filename = "./pulpcore/cli/deb/__init__.py"
174
+ filename = "./src/pulpcore/cli/deb/__init__.py"
171
175
  search = "__version__ = \"{current_version}\""
172
176
  replace = "__version__ = \"{new_version}\""
173
177
 
@@ -193,9 +197,56 @@ replace = "\"pulp-glue-deb=={new_version}\""
193
197
  [tool.ruff]
194
198
  # This section is managed by the cookiecutter templates.
195
199
  line-length = 100
196
- extend-exclude = ["cookiecutter"]
197
200
 
198
201
  [tool.ruff.lint]
199
202
  # This section is managed by the cookiecutter templates.
200
- extend-select = ["I"]
203
+ extend-select = ["I", "INT"]
204
+
205
+ [tool.ruff.lint.isort]
206
+ # This section is managed by the cookiecutter templates.
207
+ sections = { second-party = ["pulp_glue"] }
208
+ section-order = ["future", "standard-library", "third-party", "second-party", "first-party", "local-folder"]
209
+
210
+
211
+ [tool.uv.sources]
212
+ # This section is managed by the cookiecutter templates.
213
+ pulp-glue-deb = { workspace = true }
214
+
215
+ [tool.uv.workspace]
216
+ # This section is managed by the cookiecutter templates.
217
+ members = ["pulp-glue-deb"]
218
+
219
+ [tool.uv.build-backend]
220
+ # This section is managed by the cookiecutter templates.
221
+ module-name = ["pulpcore.cli"]
222
+ namespace = true
223
+ source-exclude = ["*.pot", "*.po", "**/*\\~"]
224
+
225
+ [dependency-groups]
226
+ # This section is managed by the cookiecutter templates.
227
+ dev = [
228
+ {include-group = "lint"},
229
+ "pylsp-mypy>=0.7.0",
230
+ "pylsp-rope>=0.1.17,<0.1.18",
231
+ ]
232
+ lint = [
233
+ {include-group = "test"},
234
+ "mypy~=1.20.0",
235
+ "ruff~=0.15.1",
236
+ "shellcheck-py~=0.11.0.1",
237
+ "types-pygments",
238
+ "types-pyyaml",
239
+ "types-requests",
240
+ "types-setuptools",
241
+ "types-toml",
242
+ ]
243
+ test = [
244
+ "jinja2>=3.1.4,<3.2",
245
+ "pygments>=2.19.2",
246
+ "pytest>=7.0.0,<9.1",
247
+ "pytest-xdist>=3.8.0,<3.9",
248
+ "python-gnupg>=0.5.0,<0.6",
249
+ "secretstorage>=3.5.0",
250
+ "trustme>=1.1.0,<1.3",
251
+ ]
201
252
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulp-cli-deb
3
- Version: 0.4.4
3
+ Version: 0.5.0
4
4
  Summary: Command line interface to talk to pulpcore's REST API. (Deb plugin commands)
5
5
  Author-email: Pulp Team <pulp-list@redhat.com>
6
6
  License: GPLv2+
@@ -14,9 +14,9 @@ Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Topic :: System :: Software Distribution
16
16
  Classifier: Typing :: Typed
17
- Requires-Python: >=3.8
17
+ Requires-Python: >=3.10
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: pulp-cli<0.40,>=0.23.2
21
- Requires-Dist: pulp-glue-deb==0.4.4
20
+ Requires-Dist: pulp-cli<0.41,>=0.23.2
21
+ Requires-Dist: pulp-glue-deb==0.5.0
22
22
  Dynamic: license-file
@@ -0,0 +1,17 @@
1
+ LICENSE
2
+ pyproject.toml
3
+ src/pulp_cli_deb.egg-info/PKG-INFO
4
+ src/pulp_cli_deb.egg-info/SOURCES.txt
5
+ src/pulp_cli_deb.egg-info/dependency_links.txt
6
+ src/pulp_cli_deb.egg-info/entry_points.txt
7
+ src/pulp_cli_deb.egg-info/requires.txt
8
+ src/pulp_cli_deb.egg-info/top_level.txt
9
+ src/pulpcore/cli/deb/__init__.py
10
+ src/pulpcore/cli/deb/content.py
11
+ src/pulpcore/cli/deb/distribution.py
12
+ src/pulpcore/cli/deb/publication.py
13
+ src/pulpcore/cli/deb/py.typed
14
+ src/pulpcore/cli/deb/remote.py
15
+ src/pulpcore/cli/deb/repository.py
16
+ src/pulpcore/cli/deb/locale/de/LC_MESSAGES/messages.mo
17
+ tests/test_help_pages.py
@@ -0,0 +1,2 @@
1
+ pulp-cli<0.41,>=0.23.2
2
+ pulp-glue-deb==0.5.0
@@ -9,7 +9,7 @@ from pulpcore.cli.deb.publication import publication
9
9
  from pulpcore.cli.deb.remote import remote
10
10
  from pulpcore.cli.deb.repository import repository
11
11
 
12
- __version__ = "0.4.4"
12
+ __version__ = "0.5.0"
13
13
 
14
14
 
15
15
  @pulp_group(name="deb")
@@ -1,22 +1,6 @@
1
1
  from typing import IO, Any, Optional, Union
2
2
 
3
3
  import click
4
- from pulp_glue.common.context import PulpEntityContext
5
- from pulp_glue.common.i18n import get_translation
6
- from pulp_glue.core.context import PulpArtifactContext
7
- from pulp_glue.deb.context import (
8
- PulpAptRepositoryContext,
9
- PulpDebGenericContentContext,
10
- PulpDebInstallerFileIndexContext,
11
- PulpDebInstallerPackageContext,
12
- PulpDebPackageContext,
13
- PulpDebPackageIndexContext,
14
- PulpDebPackageReleaseComponentContext,
15
- PulpDebReleaseArchitectureContext,
16
- PulpDebReleaseComponentContext,
17
- PulpDebReleaseContext,
18
- PulpDebReleaseFileContext,
19
- )
20
4
  from pulpcore.cli.common.generic import (
21
5
  PulpCLIContext,
22
6
  chunk_size_option,
@@ -34,6 +18,23 @@ from pulpcore.cli.common.generic import (
34
18
  type_option,
35
19
  )
36
20
 
21
+ from pulp_glue.common.context import PulpEntityContext
22
+ from pulp_glue.common.i18n import get_translation
23
+ from pulp_glue.core.context import PulpArtifactContext
24
+ from pulp_glue.deb.context import (
25
+ PulpAptRepositoryContext,
26
+ PulpDebGenericContentContext,
27
+ PulpDebInstallerFileIndexContext,
28
+ PulpDebInstallerPackageContext,
29
+ PulpDebPackageContext,
30
+ PulpDebPackageIndexContext,
31
+ PulpDebPackageReleaseComponentContext,
32
+ PulpDebReleaseArchitectureContext,
33
+ PulpDebReleaseComponentContext,
34
+ PulpDebReleaseContext,
35
+ PulpDebReleaseFileContext,
36
+ )
37
+
37
38
  translation = get_translation(__name__)
38
39
  _ = translation.gettext
39
40
 
@@ -1,11 +1,6 @@
1
1
  import gettext
2
2
 
3
3
  import click
4
- from pulp_glue.common.context import PluginRequirement
5
- from pulp_glue.deb.context import (
6
- PulpAptDistributionContext,
7
- PulpAptRepositoryContext,
8
- )
9
4
  from pulpcore.cli.common.generic import (
10
5
  PulpCLIContext,
11
6
  base_path_contains_option,
@@ -24,6 +19,12 @@ from pulpcore.cli.common.generic import (
24
19
  update_command,
25
20
  )
26
21
 
22
+ from pulp_glue.common.context import PluginRequirement
23
+ from pulp_glue.deb.context import (
24
+ PulpAptDistributionContext,
25
+ PulpAptRepositoryContext,
26
+ )
27
+
27
28
  _ = gettext.gettext
28
29
 
29
30
 
@@ -1,13 +1,6 @@
1
1
  import gettext
2
2
 
3
3
  import click
4
- from pulp_glue.common.context import PluginRequirement
5
- from pulp_glue.core.context import PulpSigningServiceContext
6
- from pulp_glue.deb.context import (
7
- PulpAptPublicationContext,
8
- PulpAptRepositoryContext,
9
- PulpVerbatimPublicationContext,
10
- )
11
4
  from pulpcore.cli.common.generic import (
12
5
  PulpCLIContext,
13
6
  create_command,
@@ -21,6 +14,14 @@ from pulpcore.cli.common.generic import (
21
14
  show_command,
22
15
  )
23
16
 
17
+ from pulp_glue.common.context import PluginRequirement
18
+ from pulp_glue.core.context import PulpSigningServiceContext
19
+ from pulp_glue.deb.context import (
20
+ PulpAptPublicationContext,
21
+ PulpAptRepositoryContext,
22
+ PulpVerbatimPublicationContext,
23
+ )
24
+
24
25
  _ = gettext.gettext
25
26
 
26
27
 
@@ -1,6 +1,4 @@
1
1
  import click
2
- from pulp_glue.common.i18n import get_translation
3
- from pulp_glue.deb.context import PulpAptRemoteContext
4
2
  from pulpcore.cli.common.generic import (
5
3
  PulpCLIContext,
6
4
  common_remote_create_options,
@@ -18,6 +16,9 @@ from pulpcore.cli.common.generic import (
18
16
  update_command,
19
17
  )
20
18
 
19
+ from pulp_glue.common.i18n import get_translation
20
+ from pulp_glue.deb.context import PulpAptRemoteContext
21
+
21
22
  translation = get_translation(__name__)
22
23
  _ = translation.gettext
23
24
 
@@ -2,19 +2,6 @@ from typing import Any, Dict, Optional
2
2
 
3
3
  import click
4
4
  import schema as s
5
- from pulp_glue.common.context import (
6
- EntityFieldDefinition,
7
- PluginRequirement,
8
- PulpContext,
9
- PulpEntityContext,
10
- PulpRepositoryContext,
11
- )
12
- from pulp_glue.common.i18n import get_translation
13
- from pulp_glue.deb.context import (
14
- PulpAptRemoteContext,
15
- PulpAptRepositoryContext,
16
- PulpDebPackageContext,
17
- )
18
5
  from pulpcore.cli.common.generic import (
19
6
  PulpCLIContext,
20
7
  create_command,
@@ -39,6 +26,20 @@ from pulpcore.cli.common.generic import (
39
26
  )
40
27
  from pulpcore.cli.core.generic import task_command
41
28
 
29
+ from pulp_glue.common.context import (
30
+ EntityFieldDefinition,
31
+ PluginRequirement,
32
+ PulpContext,
33
+ PulpEntityContext,
34
+ PulpRepositoryContext,
35
+ )
36
+ from pulp_glue.common.i18n import get_translation
37
+ from pulp_glue.deb.context import (
38
+ PulpAptRemoteContext,
39
+ PulpAptRepositoryContext,
40
+ PulpDebPackageContext,
41
+ )
42
+
42
43
  translation = get_translation(__name__)
43
44
  _ = translation.gettext
44
45
 
@@ -6,7 +6,6 @@ from click.testing import CliRunner
6
6
  from packaging.version import parse as parse_version
7
7
  from pulp_cli import __version__ as PULP_CLI_VERSION
8
8
  from pulp_cli import load_plugins, main
9
- from pytest_subtests.plugin import SubTests
10
9
 
11
10
  load_plugins()
12
11
 
@@ -30,6 +29,20 @@ def traverse_commands(command: click.Command, args: t.List[str]) -> t.Iterator[t
30
29
  yield from traverse_commands(sub, args + ["--type", context_type, name])
31
30
 
32
31
 
32
+ def pytest_generate_tests(metafunc: pytest.Metafunc) -> None:
33
+ m = next(metafunc.definition.iter_markers("help_page"), None)
34
+ if m is not None and "base_cmd" in m.kwargs:
35
+ if parse_version(PULP_CLI_VERSION) < parse_version("0.24"):
36
+ pytest.skip("This test is incompatible with older cli versions.")
37
+ rel_main: click.Group = main
38
+ base_cmd = m.kwargs["base_cmd"]
39
+ for step in base_cmd:
40
+ sub = rel_main.commands[step]
41
+ assert isinstance(sub, click.Group)
42
+ rel_main = sub
43
+ metafunc.parametrize("args", traverse_commands(rel_main, base_cmd), ids=" ".join)
44
+
45
+
33
46
  @pytest.fixture
34
47
  def no_api(monkeypatch: pytest.MonkeyPatch) -> None:
35
48
  @property # type: ignore
@@ -39,24 +52,19 @@ def no_api(monkeypatch: pytest.MonkeyPatch) -> None:
39
52
  monkeypatch.setattr("pulp_glue.common.context.PulpContext.api", getter)
40
53
 
41
54
 
42
- @pytest.mark.help_page
43
- def test_access_help(no_api: None, subtests: SubTests) -> None:
44
- """Test, that all help screens are accessible without touching the api property."""
45
- if parse_version(PULP_CLI_VERSION) < parse_version("0.24"):
46
- pytest.skip("This test is incompatible with older cli versions.")
47
-
55
+ @pytest.mark.help_page(base_cmd=["deb"])
56
+ def test_accessing_the_help_page_does_not_invoke_api(
57
+ no_api: None,
58
+ args: list[str],
59
+ ) -> None:
48
60
  runner = CliRunner()
49
- for args in traverse_commands(main.commands["deb"], ["deb"]):
50
- with subtests.test(msg=" ".join(args)):
51
- result = runner.invoke(main, args + ["--help"], catch_exceptions=False)
52
-
53
- if result.exit_code == 2:
54
- assert (
55
- "not available in this context" in result.stdout
56
- or "not available in this context" in result.stderr
57
- )
58
- else:
59
- assert result.exit_code == 0
60
- assert result.stdout.startswith("Usage:") or result.stdout.startswith(
61
- "DeprecationWarning:"
62
- )
61
+ result = runner.invoke(main, args + ["--help"], catch_exceptions=False)
62
+
63
+ if result.exit_code == 2:
64
+ assert (
65
+ "not available in this context" in result.stdout
66
+ or "not available in this context" in result.stderr
67
+ )
68
+ else:
69
+ assert result.exit_code == 0
70
+ assert result.stdout.startswith("Usage:") or result.stdout.startswith("DeprecationWarning:")
@@ -1,17 +0,0 @@
1
- LICENSE
2
- pyproject.toml
3
- pulp_cli_deb.egg-info/PKG-INFO
4
- pulp_cli_deb.egg-info/SOURCES.txt
5
- pulp_cli_deb.egg-info/dependency_links.txt
6
- pulp_cli_deb.egg-info/entry_points.txt
7
- pulp_cli_deb.egg-info/requires.txt
8
- pulp_cli_deb.egg-info/top_level.txt
9
- pulpcore/cli/deb/__init__.py
10
- pulpcore/cli/deb/content.py
11
- pulpcore/cli/deb/distribution.py
12
- pulpcore/cli/deb/publication.py
13
- pulpcore/cli/deb/py.typed
14
- pulpcore/cli/deb/remote.py
15
- pulpcore/cli/deb/repository.py
16
- pulpcore/cli/deb/locale/de/LC_MESSAGES/messages.mo
17
- tests/test_help_pages.py
@@ -1,2 +0,0 @@
1
- pulp-cli<0.40,>=0.23.2
2
- pulp-glue-deb==0.4.4
File without changes
File without changes