nmk-python 1.8.0__py3-none-any.whl → 1.8.2__py3-none-any.whl
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.
- nmk_python/backends/build_backend.py +1 -1
- nmk_python/build.py +25 -8
- {nmk_python-1.8.0.dist-info → nmk_python-1.8.2.dist-info}/METADATA +1 -1
- {nmk_python-1.8.0.dist-info → nmk_python-1.8.2.dist-info}/RECORD +7 -7
- {nmk_python-1.8.0.dist-info → nmk_python-1.8.2.dist-info}/WHEEL +1 -1
- {nmk_python-1.8.0.dist-info → nmk_python-1.8.2.dist-info}/licenses/LICENSE +0 -0
- {nmk_python-1.8.0.dist-info → nmk_python-1.8.2.dist-info}/top_level.txt +0 -0
nmk_python/build.py
CHANGED
|
@@ -10,7 +10,7 @@ from itertools import product
|
|
|
10
10
|
from pathlib import Path
|
|
11
11
|
from typing import cast
|
|
12
12
|
|
|
13
|
-
from nmk.
|
|
13
|
+
from nmk.envbackend import EnvBackend
|
|
14
14
|
from nmk.logs import NmkLogWrapper
|
|
15
15
|
from nmk.model.builder import NmkTaskBuilder
|
|
16
16
|
from nmk.model.model import NmkModel
|
|
@@ -243,6 +243,11 @@ class PythonArchiveDepsResolver(NmkDictConfigResolver):
|
|
|
243
243
|
return out
|
|
244
244
|
|
|
245
245
|
|
|
246
|
+
# Internal/external dependencies keys
|
|
247
|
+
_INTERNAL_DEPS_KEY = "internal"
|
|
248
|
+
_EXTERNAL_DEPS_KEY = "external"
|
|
249
|
+
|
|
250
|
+
|
|
246
251
|
class DepsMetadataBuilder(NmkTaskBuilder):
|
|
247
252
|
"""
|
|
248
253
|
Generate python dependencies metadata file
|
|
@@ -263,18 +268,22 @@ class DepsMetadataBuilder(NmkTaskBuilder):
|
|
|
263
268
|
# Prepare distributions map
|
|
264
269
|
distributions = {normalize(d.name): d for d in importlib.metadata.distributions()}
|
|
265
270
|
assert root_name in distributions, f"Root package '{root_name}' not found in installed distributions"
|
|
266
|
-
output_data: dict[str, str] = {}
|
|
271
|
+
output_data: dict[str, dict[str, str]] = {_INTERNAL_DEPS_KEY: {}, _EXTERNAL_DEPS_KEY: {}}
|
|
267
272
|
|
|
268
273
|
# Visitor implementation
|
|
269
274
|
def visit(name: str):
|
|
270
275
|
# Already visited or unknown?
|
|
271
|
-
if (name in output_data) or (name not in distributions):
|
|
276
|
+
if (name in output_data[_INTERNAL_DEPS_KEY]) or (name in output_data[_EXTERNAL_DEPS_KEY]) or (name not in distributions):
|
|
272
277
|
return
|
|
273
278
|
|
|
274
|
-
#
|
|
275
|
-
if
|
|
276
|
-
|
|
277
|
-
|
|
279
|
+
# Check for internal/external dependency
|
|
280
|
+
if name != root_name:
|
|
281
|
+
if any(fnmatch(name, pattern) for pattern in local_deps):
|
|
282
|
+
# Internal dependency
|
|
283
|
+
output_data[_INTERNAL_DEPS_KEY][name] = distributions[name].version
|
|
284
|
+
else:
|
|
285
|
+
# External dependency
|
|
286
|
+
output_data[_EXTERNAL_DEPS_KEY][name] = distributions[name].version
|
|
278
287
|
|
|
279
288
|
# Visit dependencies
|
|
280
289
|
for dep in distributions[name].requires or []:
|
|
@@ -292,4 +301,12 @@ class DepsMetadataBuilder(NmkTaskBuilder):
|
|
|
292
301
|
visit(root_name)
|
|
293
302
|
|
|
294
303
|
# Write output metadata file
|
|
295
|
-
self.main_output.write_text(
|
|
304
|
+
self.main_output.write_text(
|
|
305
|
+
json.dumps(
|
|
306
|
+
{
|
|
307
|
+
_EXTERNAL_DEPS_KEY: {k: output_data[_EXTERNAL_DEPS_KEY][k] for k in sorted(output_data[_EXTERNAL_DEPS_KEY])},
|
|
308
|
+
_INTERNAL_DEPS_KEY: {k: output_data[_INTERNAL_DEPS_KEY][k] for k in sorted(output_data[_INTERNAL_DEPS_KEY])},
|
|
309
|
+
},
|
|
310
|
+
indent=4,
|
|
311
|
+
)
|
|
312
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
nmk_python/__init__.py,sha256=EouCWXbAeObby1vOCx0Vx_WaGC2fEEFDMCen3JZt4TU,446
|
|
2
2
|
nmk_python/badges.yml,sha256=LzElZecCXKxdF-oPkvIwfnbQlOcAM_zUj6MelClmAug,749
|
|
3
|
-
nmk_python/build.py,sha256=
|
|
3
|
+
nmk_python/build.py,sha256=xtgcD1_9mPnqVCR9jubM0S_trWV1GsPL4DQrDIKdIvI,12045
|
|
4
4
|
nmk_python/build.yml,sha256=8CWVacVv3r3pbvuRkaLQbH1aTO-oK4U0hAO9SgDTfFA,5726
|
|
5
5
|
nmk_python/doc.yml,sha256=12amAlYylH7JAHaqBIOoEZ_LrXY_bPNKuHrrwUkIj8w,932
|
|
6
6
|
nmk_python/files.py,sha256=K6Y-XKXuf8jh4x333Qgj6G1MyB-BgZ5Kd2-XCZhsfR4,2000
|
|
@@ -14,7 +14,7 @@ nmk_python/tests.yml,sha256=Sg6ZezkBVuvOzh-4QbJmZQymCOzXfenc0EpMdMZsEBc,1687
|
|
|
14
14
|
nmk_python/version.py,sha256=fLpOWdujYwlJB7XhWaOGCTeg3gQaClk2YHoRkkW64dE,3109
|
|
15
15
|
nmk_python/version.yml,sha256=WpZyQ2mChmvA_6eVb_Yp6ZaFIkX6oINxWBhKgb8h4GE,833
|
|
16
16
|
nmk_python/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
nmk_python/backends/build_backend.py,sha256=
|
|
17
|
+
nmk_python/backends/build_backend.py,sha256=WO0wZaxGdPna4K2yK7pNLtZX3cKf6atLLa00931N43Y,1400
|
|
18
18
|
nmk_python/backends/factory.py,sha256=NMYByORffwSSIjeNMLkOnwh6x1xhJQVhoV-0rSooq6Q,953
|
|
19
19
|
nmk_python/backends/pip_build_backend.py,sha256=4MGYghBeMjZhUlKTwE0svSHArYwOAaK1I6_gmeNnwaI,1698
|
|
20
20
|
nmk_python/backends/uv_build_backend.py,sha256=QpN5nMm_QhnKzoHQcX4769OOQG6NqOD2ctYXyH2MI7A,1880
|
|
@@ -24,8 +24,8 @@ nmk_python/templates/pytest.toml.jinja,sha256=zQ3SRWnF23Omxm7zInE54j0l3OyjXSOn5p
|
|
|
24
24
|
nmk_python/templates/python-settings.json.jinja,sha256=jYXSy96cX9X9GIHoF7XiZDzd4P2GOlMisAVWW626WF4,749
|
|
25
25
|
nmk_python/templates/python-test-debug-launch.json.jinja,sha256=J_xju2EpHNXvgvqBxlf99p7g-ZMh3xE-_2r7o_57gpU,364
|
|
26
26
|
nmk_python/templates/ruff.toml.jinja,sha256=DTHe1ixK1SBY8d2xBCfkGz89HzjAoMO7Ogs12AY1i4Y,346
|
|
27
|
-
nmk_python-1.8.
|
|
28
|
-
nmk_python-1.8.
|
|
29
|
-
nmk_python-1.8.
|
|
30
|
-
nmk_python-1.8.
|
|
31
|
-
nmk_python-1.8.
|
|
27
|
+
nmk_python-1.8.2.dist-info/licenses/LICENSE,sha256=PROo9EW7wP6jmSr_90OluItAsIB411b_CAqEBioMKpI,1074
|
|
28
|
+
nmk_python-1.8.2.dist-info/METADATA,sha256=jOPufl401DVU08YM7Mp9QUeqKF-3NESvd5OFpQ2ciOo,3148
|
|
29
|
+
nmk_python-1.8.2.dist-info/WHEEL,sha256=YLJXdYXQ2FQ0Uqn2J-6iEIC-3iOey8lH3xCtvFLkd8Q,91
|
|
30
|
+
nmk_python-1.8.2.dist-info/top_level.txt,sha256=MCb5w_hoOZ0kk3Dajxrd9Pz6lZ3pyuS6TQCRA3vddTo,11
|
|
31
|
+
nmk_python-1.8.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|