lib-shopware6-api-base 6.0.1__tar.gz → 6.0.2__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.
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.github/workflows/cicd_docker.yml +2 -2
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/CHANGELOG.md +6 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/PKG-INFO +4 -4
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/pyproject.toml +4 -4
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/__init__conf__.py +1 -1
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/lib_shopware6_api_base_cli.py +6 -5
- lib_shopware6_api_base-6.0.2/src/lib_shopware6_api_base/typed_click.py +34 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.devcontainer/devcontainer.json +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.devcontainer/settings.json +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.github/actions/extract-metadata/action.yml +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.github/dependabot.yml +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.github/workflows/codeql-analysis.yml +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.github/workflows/default_release_public.yml +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.gitignore +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/CODE_OF_CONDUCT.md +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/CONTRIBUTING.md +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/INSTALL.md +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/ISSUE_TEMPLATE.md +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/LICENSE +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/Makefile +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/PULL_REQUEST_TEMPLATE.md +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/README.md +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/example.env +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/notebooks/Quickstart.ipynb +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/.gitignore +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/__init__.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/__main__.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/_compat.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/_http_common.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/conf_shopware6_api_base_classes.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/config.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/defaultconfig.d/10-logging.toml +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/defaultconfig.d/20-shopware.toml +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/defaultconfig.toml +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/exit_codes.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/lib_shopware6_admin_client.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/lib_shopware6_api_base.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/lib_shopware6_api_base_criteria.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/lib_shopware6_api_base_criteria_aggregation.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/lib_shopware6_api_base_criteria_filter.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/lib_shopware6_api_base_criteria_sorting.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/lib_shopware6_api_base_helpers.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/lib_shopware6_storefront_client.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/logging_setup.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/py.typed +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/conf_test_docker.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/conftest.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_api_base.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_cli.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_conf_classes.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_config.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_criteria.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_criteria_aggregation.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_criteria_filter.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_criteria_sorting.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_doctests.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_helpers.py +0 -0
- {lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_logging_config.py +0 -0
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.github/workflows/cicd_docker.yml
RENAMED
|
@@ -107,7 +107,7 @@ jobs:
|
|
|
107
107
|
&& steps.pytest.outcome == 'success'
|
|
108
108
|
&& matrix.os == 'ubuntu-latest'
|
|
109
109
|
&& matrix.python == '3.13'
|
|
110
|
-
uses: codecov/codecov-action@
|
|
110
|
+
uses: codecov/codecov-action@v7
|
|
111
111
|
with:
|
|
112
112
|
files: ${{ env.COV_REPORT_FILE }}
|
|
113
113
|
fail_ci_if_error: false
|
|
@@ -366,7 +366,7 @@ jobs:
|
|
|
366
366
|
|
|
367
367
|
- name: Upload integration coverage to Codecov
|
|
368
368
|
if: always()
|
|
369
|
-
uses: codecov/codecov-action@
|
|
369
|
+
uses: codecov/codecov-action@v7
|
|
370
370
|
with:
|
|
371
371
|
files: coverage-integration.xml
|
|
372
372
|
flags: integration
|
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [6.0.2] 2026-06-14
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Added a `typed_click.py` facade wrapping rich-click's `option` / `version_option` / `argument` decorators behind explicit, fully-known signatures, keeping the CLI strict-clean under pyright 1.1.410 (`reportUnknownMemberType`) without disabling the rule (ignore isolated to the facade).
|
|
14
|
+
- Bumped internal dependency floors: `lib_cli_exit_tools>=2.3.2`, `lib_log_rich>=6.3.5`, `lib_layered_config>=5.5.2`.
|
|
15
|
+
|
|
10
16
|
## [6.0.1] - 2026-06-08
|
|
11
17
|
|
|
12
18
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lib_shopware6_api_base
|
|
3
|
-
Version: 6.0.
|
|
3
|
+
Version: 6.0.2
|
|
4
4
|
Summary: python3 base API client for shopware6
|
|
5
5
|
Project-URL: Homepage, https://github.com/bitranox/lib_shopware6_api_base
|
|
6
6
|
Project-URL: Documentation, https://github.com/bitranox/lib_shopware6_api_base/blob/master/README.md
|
|
@@ -23,9 +23,9 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
23
23
|
Classifier: Typing :: Typed
|
|
24
24
|
Requires-Python: >=3.10
|
|
25
25
|
Requires-Dist: httpx2>=2.3.0
|
|
26
|
-
Requires-Dist: lib-cli-exit-tools>=2.3.
|
|
27
|
-
Requires-Dist: lib-layered-config>=5.5.
|
|
28
|
-
Requires-Dist: lib-log-rich>=6.3.
|
|
26
|
+
Requires-Dist: lib-cli-exit-tools>=2.3.2
|
|
27
|
+
Requires-Dist: lib-layered-config>=5.5.2
|
|
28
|
+
Requires-Dist: lib-log-rich>=6.3.5
|
|
29
29
|
Requires-Dist: orjson
|
|
30
30
|
Requires-Dist: pydantic>=2.13.4
|
|
31
31
|
Requires-Dist: rich-click
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "lib_shopware6_api_base"
|
|
3
|
-
version = "6.0.
|
|
3
|
+
version = "6.0.2"
|
|
4
4
|
description = "python3 base API client for shopware6"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
7
7
|
dependencies = [
|
|
8
8
|
"pydantic>=2.13.4",
|
|
9
|
-
"lib_layered_config>=5.5.
|
|
10
|
-
"lib_log_rich>=6.3.
|
|
11
|
-
"lib_cli_exit_tools>=2.3.
|
|
9
|
+
"lib_layered_config>=5.5.2",
|
|
10
|
+
"lib_log_rich>=6.3.5",
|
|
11
|
+
"lib_cli_exit_tools>=2.3.2",
|
|
12
12
|
"rich-click",
|
|
13
13
|
"orjson",
|
|
14
14
|
"httpx2>=2.3.0",
|
|
@@ -26,7 +26,7 @@ name = "lib_shopware6_api_base"
|
|
|
26
26
|
#: Human-readable summary shown in CLI help output.
|
|
27
27
|
title = "python3 base API client for shopware6"
|
|
28
28
|
#: Current release version pulled from ``pyproject.toml`` by automation.
|
|
29
|
-
version = "6.0.
|
|
29
|
+
version = "6.0.2"
|
|
30
30
|
#: Repository homepage presented to users.
|
|
31
31
|
homepage = "https://github.com/bitranox/lib_shopware6_api_base"
|
|
32
32
|
#: Author attribution surfaced in CLI output.
|
|
@@ -24,6 +24,7 @@ from .exit_codes import ExitCode
|
|
|
24
24
|
from .lib_shopware6_admin_client import Shopware6AdminAPIClientBase
|
|
25
25
|
from .lib_shopware6_storefront_client import Shopware6StoreFrontClientBase
|
|
26
26
|
from .logging_setup import init_logging, shutdown_logging
|
|
27
|
+
from .typed_click import argument, option, version_option
|
|
27
28
|
|
|
28
29
|
# CONSTANTS
|
|
29
30
|
CLICK_CONTEXT_SETTINGS = {"help_option_names": ["-h", "--help"]}
|
|
@@ -111,12 +112,12 @@ def info() -> None:
|
|
|
111
112
|
|
|
112
113
|
|
|
113
114
|
@click.group(help=__init__conf__.title, context_settings=CLICK_CONTEXT_SETTINGS) # type: ignore
|
|
114
|
-
@
|
|
115
|
+
@version_option(
|
|
115
116
|
version=__init__conf__.version,
|
|
116
117
|
prog_name=__init__conf__.shell_command,
|
|
117
118
|
message=f"{__init__conf__.shell_command} version {__init__conf__.version}",
|
|
118
119
|
)
|
|
119
|
-
@
|
|
120
|
+
@option("--traceback/--no-traceback", is_flag=True, type=bool, default=None, help="return traceback information on cli")
|
|
120
121
|
def cli_main(traceback: bool | None = None) -> None:
|
|
121
122
|
"""Main CLI entry point."""
|
|
122
123
|
if traceback is not None:
|
|
@@ -130,7 +131,7 @@ def cli_info() -> None:
|
|
|
130
131
|
|
|
131
132
|
|
|
132
133
|
@cli_main.command("test-connection", context_settings=CLICK_CONTEXT_SETTINGS) # type: ignore
|
|
133
|
-
@
|
|
134
|
+
@option("--storefront/--no-storefront", default=True, help="also verify the Store API access key")
|
|
134
135
|
def cli_test_connection(storefront: bool) -> None:
|
|
135
136
|
"""Check that the configured credentials can reach Shopware.
|
|
136
137
|
|
|
@@ -154,7 +155,7 @@ def cli_test_connection(storefront: bool) -> None:
|
|
|
154
155
|
|
|
155
156
|
|
|
156
157
|
@cli_main.command("get", context_settings=CLICK_CONTEXT_SETTINGS) # type: ignore
|
|
157
|
-
@
|
|
158
|
+
@argument("endpoint")
|
|
158
159
|
def cli_get(endpoint: str) -> None:
|
|
159
160
|
"""Run a read-only Admin API GET and print the JSON response.
|
|
160
161
|
|
|
@@ -173,7 +174,7 @@ def cli_config() -> None:
|
|
|
173
174
|
|
|
174
175
|
|
|
175
176
|
@cli_config.command("show", context_settings=CLICK_CONTEXT_SETTINGS) # type: ignore
|
|
176
|
-
@
|
|
177
|
+
@option(
|
|
177
178
|
"--section",
|
|
178
179
|
type=click.Choice(["shopware", "lib_log_rich", "all"]),
|
|
179
180
|
default="all",
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"""Strictly-typed wrappers for rich_click decorators with partially-unknown types.
|
|
2
|
+
|
|
3
|
+
rich_click ships ``py.typed`` but re-exports click's decorators, whose
|
|
4
|
+
``ParamType[Unknown]`` parameters make pyright (strict mode) report
|
|
5
|
+
``reportUnknownMemberType`` at every call site. Wrapping the affected decorators
|
|
6
|
+
here behind explicit, fully-known signatures keeps the rest of the code
|
|
7
|
+
strict-clean without disabling the rule. This module is the single boundary that
|
|
8
|
+
touches the untyped surface, so the only ``# pyright: ignore`` for this gap lives here.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
from collections.abc import Callable
|
|
12
|
+
from typing import Any
|
|
13
|
+
|
|
14
|
+
import rich_click as click
|
|
15
|
+
|
|
16
|
+
_CommandDecorator = Callable[[Callable[..., Any]], Callable[..., Any]]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def option(*param_decls: str, **attrs: Any) -> _CommandDecorator:
|
|
20
|
+
"""Typed wrapper over :func:`rich_click.option`. See module docstring."""
|
|
21
|
+
return click.option(*param_decls, **attrs) # pyright: ignore[reportUnknownMemberType]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def version_option(*param_decls: str, **attrs: Any) -> _CommandDecorator:
|
|
25
|
+
"""Typed wrapper over :func:`rich_click.version_option`. See module docstring."""
|
|
26
|
+
return click.version_option(*param_decls, **attrs) # pyright: ignore[reportUnknownMemberType]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def argument(*param_decls: str, **attrs: Any) -> _CommandDecorator:
|
|
30
|
+
"""Typed wrapper over :func:`rich_click.argument`. See module docstring."""
|
|
31
|
+
return click.argument(*param_decls, **attrs) # pyright: ignore[reportUnknownMemberType]
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
__all__ = ["argument", "option", "version_option"]
|
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.devcontainer/devcontainer.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/.github/workflows/codeql-analysis.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/.gitignore
RENAMED
|
File without changes
|
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/__init__.py
RENAMED
|
File without changes
|
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/__main__.py
RENAMED
|
File without changes
|
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/_compat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/src/lib_shopware6_api_base/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_criteria_aggregation.py
RENAMED
|
File without changes
|
|
File without changes
|
{lib_shopware6_api_base-6.0.1 → lib_shopware6_api_base-6.0.2}/tests/test_criteria_sorting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|