wexample-wex-addon-dev-python 11.0.0__tar.gz → 11.1.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.
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/PKG-INFO +2 -2
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/README.md +1 -1
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/pyproject.toml +1 -1
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/file/python_pyproject_toml_file.py +19 -6
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/workdir/python_workdir.py +14 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/check/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/check/mypy.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/check/pylint.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/check/pyright.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/check.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/format/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/format/black.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/format/isort.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/format.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/code/rename.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/examples/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/examples/utils/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/examples/utils/some_example_type.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/examples/validate.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/commands/release/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/common/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/common/pypi_registry_gateway.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/config_value/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/config_value/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/config_value/python_package_readme_config_value.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/const/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/const/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/const/package.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/const/python.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/const/tags.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/file/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/file/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/file/python_app_iml_file.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/helpers/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/helpers/pdm.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/middleware/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/middleware/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/middleware/each_python_file_middleware.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/py.typed +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/python_addon_manager.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/refactor/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/refactor/python_package_rename_handler.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/refactor/symbol_kind.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/resources/.wex.yml +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/resources/docker/Dockerfile.python-profiling +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/resources/package_publish_gitlab.yml +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/resources/readme_templates/tests.md.j2 +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/selection/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/selection/abstract_python_code_selection.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/selection/python_code_performance_selection.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/app_service.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/commands/service/install.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/commands/service/setup.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/samples/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/samples/docker/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/samples/docker/entrypoint.sh +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/samples/docker/images/Dockerfile.base +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/samples/docker/images/Dockerfile.develop +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/samples/docker/images/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/services/python/service.yml +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/workdir/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/workdir/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/workdir/mixin/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/workdir/mixin/with_profiling_python_workdir_mixin.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/workdir/python_package_workdir.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/src/wexample_wex_addon_dev_python/workdir/python_packages_suite_workdir.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/tests/helpers/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/tests/helpers/test_pdm.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/tests/unit/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/tests/unit/helpers/__init__.py +0 -0
- {wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/tests/unit/helpers/test_pdm.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: wexample-wex-addon-dev-python
|
|
3
|
-
Version: 11.
|
|
3
|
+
Version: 11.1.0
|
|
4
4
|
Summary: Python dev addon for wex
|
|
5
5
|
Author-Email: weeger <contact@wexample.com>
|
|
6
6
|
License: MIT
|
|
@@ -26,7 +26,7 @@ Description-Content-Type: text/markdown
|
|
|
26
26
|
|
|
27
27
|
# wex_addon_dev_python
|
|
28
28
|
|
|
29
|
-
Version: 11.
|
|
29
|
+
Version: 11.1.0
|
|
30
30
|
|
|
31
31
|
Python dev addon for wex
|
|
32
32
|
|
|
@@ -79,16 +79,23 @@ class PythonPyprojectTomlFile(AppDependenciesConfigFileMixin, TomlFile):
|
|
|
79
79
|
content = content or self.read_parsed()
|
|
80
80
|
|
|
81
81
|
workdir = self.get_parent_item()
|
|
82
|
-
|
|
82
|
+
# `src_import_name` is None for non-distributable projects (e.g. a
|
|
83
|
+
# CLI app whose `src/` contains arbitrary subdirs rather than a
|
|
84
|
+
# single `{vendor}_{name}/` module). The packaging-distribution
|
|
85
|
+
# enforces below consult it and become no-ops when None — they
|
|
86
|
+
# would otherwise inject `packages=[{include: '<name>', from: 'src'}]`
|
|
87
|
+
# and `coverage.source = ['<name>']` referencing a non-existent
|
|
88
|
+
# module. Source of truth lives on the workdir, not here.
|
|
89
|
+
src_import_name = workdir.get_src_import_name()
|
|
83
90
|
project_name = workdir.get_package_name()
|
|
84
91
|
project_version = workdir.get_setup_version()
|
|
85
92
|
|
|
86
93
|
self._enforce_build_system(content)
|
|
87
|
-
self._enforce_pdm_build(content,
|
|
94
|
+
self._enforce_pdm_build(content, src_import_name)
|
|
88
95
|
self._enforce_project_metadata(content, project_name, project_version)
|
|
89
96
|
self._normalize_dependencies(content)
|
|
90
97
|
self._ensure_dev_dependencies(content)
|
|
91
|
-
self._enforce_pytest_coverage_config(content,
|
|
98
|
+
self._enforce_pytest_coverage_config(content, src_import_name)
|
|
92
99
|
self._reorder_toml_sections(content)
|
|
93
100
|
|
|
94
101
|
result = dumps(content)
|
|
@@ -176,6 +183,13 @@ class PythonPyprojectTomlFile(AppDependenciesConfigFileMixin, TomlFile):
|
|
|
176
183
|
build_tbl["build-backend"] = "pdm.backend"
|
|
177
184
|
|
|
178
185
|
def _enforce_pdm_build(self, content: dict, import_name: str | None) -> None:
|
|
186
|
+
# Pure packaging-distribution config — when the workdir reports no
|
|
187
|
+
# `src/` module (None), this whole section has nothing meaningful
|
|
188
|
+
# to write: there is no package to declare, no setuptools find
|
|
189
|
+
# scope to define. Skip wholesale.
|
|
190
|
+
if not import_name:
|
|
191
|
+
return
|
|
192
|
+
|
|
179
193
|
from wexample_filestate_python.helpers.toml import toml_ensure_table
|
|
180
194
|
|
|
181
195
|
tool_tbl, _ = toml_ensure_table(content, ["tool"])
|
|
@@ -184,9 +198,8 @@ class PythonPyprojectTomlFile(AppDependenciesConfigFileMixin, TomlFile):
|
|
|
184
198
|
|
|
185
199
|
pdm_tbl["distribution"] = True
|
|
186
200
|
build_pdm_tbl["package-dir"] = "src"
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
build_pdm_tbl.pop("includes", None)
|
|
201
|
+
build_pdm_tbl["packages"] = [{"include": import_name, "from": "src"}]
|
|
202
|
+
build_pdm_tbl.pop("includes", None)
|
|
190
203
|
|
|
191
204
|
# Add setuptools exclusion of testing package
|
|
192
205
|
setuptools_tbl, _ = toml_ensure_table(tool_tbl, ["setuptools"])
|
|
@@ -137,6 +137,20 @@ class PythonWorkdir(
|
|
|
137
137
|
def get_python_path(self) -> Path:
|
|
138
138
|
return self.get_venv_bin_path() / "python"
|
|
139
139
|
|
|
140
|
+
def get_src_import_name(self) -> str | None:
|
|
141
|
+
"""Name of the Python module under `src/` for distribution-time
|
|
142
|
+
wiring (pyproject `tool.pdm.build.packages`, `tool.coverage.run.source`,
|
|
143
|
+
`tool.setuptools.packages.find.exclude`).
|
|
144
|
+
|
|
145
|
+
Defaults to the package import name (standard `src/{vendor}_{name}/`
|
|
146
|
+
layout). Returns None for projects that don't ship a single
|
|
147
|
+
importable module — typically CLI apps whose code lives directly
|
|
148
|
+
under `src/` in arbitrary subdirectories. Pyproject enforces that
|
|
149
|
+
target packaging concerns then skip themselves rather than
|
|
150
|
+
injecting a non-existent module name.
|
|
151
|
+
"""
|
|
152
|
+
return self.get_package_import_name()
|
|
153
|
+
|
|
140
154
|
def get_venv_bin_path(self) -> Path:
|
|
141
155
|
return self.get_venv_path() / "bin"
|
|
142
156
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wexample_wex_addon_dev_python-11.0.0 → wexample_wex_addon_dev_python-11.1.0}/tests/unit/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|