cmem-cmemc 24.3.3__py3-none-any.whl → 25.1.1__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.
- cmem_cmemc/__init__.py +1 -160
- cmem_cmemc/cli.py +138 -0
- cmem_cmemc/command.py +36 -0
- cmem_cmemc/commands/admin.py +7 -6
- cmem_cmemc/commands/client.py +4 -3
- cmem_cmemc/commands/config.py +3 -2
- cmem_cmemc/commands/dataset.py +18 -17
- cmem_cmemc/commands/graph.py +20 -22
- cmem_cmemc/commands/manual.py +56 -0
- cmem_cmemc/commands/metrics.py +11 -11
- cmem_cmemc/commands/migration.py +4 -3
- cmem_cmemc/commands/project.py +10 -10
- cmem_cmemc/commands/python.py +29 -2
- cmem_cmemc/commands/query.py +31 -14
- cmem_cmemc/commands/resource.py +4 -3
- cmem_cmemc/commands/scheduler.py +4 -4
- cmem_cmemc/commands/store.py +2 -2
- cmem_cmemc/commands/user.py +10 -9
- cmem_cmemc/commands/validation.py +2 -2
- cmem_cmemc/commands/variable.py +1 -1
- cmem_cmemc/commands/vocabulary.py +11 -10
- cmem_cmemc/commands/workflow.py +18 -18
- cmem_cmemc/completion.py +76 -49
- cmem_cmemc/config_parser.py +44 -0
- cmem_cmemc/context.py +168 -99
- cmem_cmemc/exceptions.py +15 -2
- cmem_cmemc/manual_helper/graph.py +2 -0
- cmem_cmemc/manual_helper/multi_page.py +1 -1
- cmem_cmemc/manual_helper/single_page.py +2 -0
- cmem_cmemc/migrations/remove_noop_triple_251.py +50 -0
- cmem_cmemc/migrations/shapes_widget_integrations_243.py +0 -5
- cmem_cmemc/object_list.py +3 -3
- cmem_cmemc/parameter_types/path.py +7 -0
- cmem_cmemc/placeholder.py +69 -0
- cmem_cmemc/utils.py +49 -15
- {cmem_cmemc-24.3.3.dist-info → cmem_cmemc-25.1.1.dist-info}/METADATA +14 -14
- cmem_cmemc-25.1.1.dist-info/RECORD +59 -0
- cmem_cmemc-25.1.1.dist-info/entry_points.txt +3 -0
- cmem_cmemc-24.3.3.dist-info/RECORD +0 -54
- cmem_cmemc-24.3.3.dist-info/entry_points.txt +0 -3
- {cmem_cmemc-24.3.3.dist-info → cmem_cmemc-25.1.1.dist-info}/LICENSE +0 -0
- {cmem_cmemc-24.3.3.dist-info → cmem_cmemc-25.1.1.dist-info}/WHEEL +0 -0
cmem_cmemc/utils.py
CHANGED
|
@@ -12,16 +12,18 @@ from typing import TYPE_CHECKING
|
|
|
12
12
|
from zipfile import BadZipFile, ZipFile
|
|
13
13
|
|
|
14
14
|
import requests
|
|
15
|
+
from click import ClickException
|
|
15
16
|
from cmem.cmempy.dp.proxy.graph import get_graphs_list
|
|
16
17
|
from cmem.cmempy.queries import QueryCatalog
|
|
17
18
|
from cmem.cmempy.workspace.projects.project import get_projects
|
|
18
19
|
from prometheus_client import Metric
|
|
19
20
|
|
|
21
|
+
from cmem_cmemc.config_parser import PureSectionConfigParser
|
|
20
22
|
from cmem_cmemc.constants import NAMESPACES
|
|
23
|
+
from cmem_cmemc.smart_path import SmartPath
|
|
21
24
|
|
|
22
25
|
if TYPE_CHECKING:
|
|
23
26
|
from cmem_cmemc.context import ApplicationContext
|
|
24
|
-
from cmem_cmemc.smart_path import SmartPath
|
|
25
27
|
|
|
26
28
|
|
|
27
29
|
def get_version() -> str:
|
|
@@ -29,11 +31,11 @@ def get_version() -> str:
|
|
|
29
31
|
return cmemc_version("cmem-cmemc")
|
|
30
32
|
|
|
31
33
|
|
|
32
|
-
def check_python_version(ctx: "ApplicationContext") -> None:
|
|
34
|
+
def check_python_version(ctx: type["ApplicationContext"]) -> None:
|
|
33
35
|
"""Check the runtime python version and warn or error."""
|
|
34
36
|
version = sys.version_info
|
|
35
37
|
major_expected = [3]
|
|
36
|
-
minor_expected = [10, 11, 12]
|
|
38
|
+
minor_expected = [10, 11, 12, 13]
|
|
37
39
|
if version.major not in major_expected:
|
|
38
40
|
ctx.echo_error(f"Error: cmemc can not be executed with Python {version.major}.")
|
|
39
41
|
sys.exit(1)
|
|
@@ -44,10 +46,13 @@ def check_python_version(ctx: "ApplicationContext") -> None:
|
|
|
44
46
|
)
|
|
45
47
|
|
|
46
48
|
|
|
47
|
-
def extract_error_message(error: Exception) -> str:
|
|
49
|
+
def extract_error_message(error: Exception, ignore_error_prefix: bool = False) -> str:
|
|
48
50
|
"""Extract a message from an exception."""
|
|
49
51
|
# exceptions with response is HTTPError
|
|
50
52
|
message = type(error).__name__ + ": " + str(error) + "\n"
|
|
53
|
+
if ignore_error_prefix:
|
|
54
|
+
message = str(error) + "\n"
|
|
55
|
+
|
|
51
56
|
try:
|
|
52
57
|
# try to load Problem Details for HTTP API JSON
|
|
53
58
|
details = json.loads(error.response.text) # type: ignore[attr-defined]
|
|
@@ -59,7 +64,7 @@ def extract_error_message(error: Exception) -> str:
|
|
|
59
64
|
except (AttributeError, ValueError):
|
|
60
65
|
# is not json or any other issue, output plain response text
|
|
61
66
|
pass
|
|
62
|
-
return message
|
|
67
|
+
return message.strip()
|
|
63
68
|
|
|
64
69
|
|
|
65
70
|
def iri_to_qname(iri: str) -> str:
|
|
@@ -204,14 +209,14 @@ def split_task_id(task_id: str) -> tuple[str, str]:
|
|
|
204
209
|
|
|
205
210
|
Raises:
|
|
206
211
|
------
|
|
207
|
-
|
|
212
|
+
ClickException: in case the task ID is not splittable
|
|
208
213
|
|
|
209
214
|
"""
|
|
210
215
|
try:
|
|
211
216
|
project_part = task_id.split(":")[0]
|
|
212
217
|
task_part = task_id.split(":")[1]
|
|
213
218
|
except IndexError as error:
|
|
214
|
-
raise
|
|
219
|
+
raise ClickException(f"{task_id} is not a valid task ID.") from error
|
|
215
220
|
return project_part, task_part
|
|
216
221
|
|
|
217
222
|
|
|
@@ -247,8 +252,8 @@ def check_or_select_project(app: "ApplicationContext", project_id: str | None =
|
|
|
247
252
|
|
|
248
253
|
Raises:
|
|
249
254
|
------
|
|
250
|
-
|
|
251
|
-
|
|
255
|
+
ClickException: if no projects available.
|
|
256
|
+
ClickException: if more than one project is.
|
|
252
257
|
|
|
253
258
|
Returns:
|
|
254
259
|
-------
|
|
@@ -268,13 +273,13 @@ def check_or_select_project(app: "ApplicationContext", project_id: str | None =
|
|
|
268
273
|
return project_name
|
|
269
274
|
|
|
270
275
|
if len(projects) == 0:
|
|
271
|
-
raise
|
|
276
|
+
raise ClickException(
|
|
272
277
|
"There are no projects available. "
|
|
273
278
|
"Please create a project with 'cmemc project create'."
|
|
274
279
|
)
|
|
275
280
|
|
|
276
281
|
# more than one project
|
|
277
|
-
raise
|
|
282
|
+
raise ClickException(
|
|
278
283
|
"There is more than one project available so you need to "
|
|
279
284
|
"specify the project with '--project'."
|
|
280
285
|
)
|
|
@@ -349,17 +354,17 @@ def get_query_text(file_or_uri: str, required_projections: set) -> str:
|
|
|
349
354
|
|
|
350
355
|
Raises:
|
|
351
356
|
------
|
|
352
|
-
|
|
357
|
+
ClickException: If the input is not a readable file or a query URI,
|
|
353
358
|
or if the query contains placeholders,
|
|
354
359
|
or if the query does not include the required projections.
|
|
355
360
|
|
|
356
361
|
"""
|
|
357
362
|
sparql_query = QueryCatalog().get_query(file_or_uri)
|
|
358
363
|
if sparql_query is None:
|
|
359
|
-
raise
|
|
364
|
+
raise ClickException(f"{file_or_uri} is neither a readable file nor a query URI.")
|
|
360
365
|
|
|
361
366
|
if sparql_query.get_placeholder_keys():
|
|
362
|
-
raise
|
|
367
|
+
raise ClickException("Placeholder queries are not supported.")
|
|
363
368
|
|
|
364
369
|
result = sparql_query.get_json_results()
|
|
365
370
|
projected_vars = set(result["head"]["vars"])
|
|
@@ -367,7 +372,7 @@ def get_query_text(file_or_uri: str, required_projections: set) -> str:
|
|
|
367
372
|
missing_projections = required_projections - projected_vars
|
|
368
373
|
if missing_projections:
|
|
369
374
|
missing = ", ".join(missing_projections)
|
|
370
|
-
raise
|
|
375
|
+
raise ClickException(f"Select query must include projections for: {missing}")
|
|
371
376
|
txt: str = sparql_query.text
|
|
372
377
|
return txt
|
|
373
378
|
|
|
@@ -380,3 +385,32 @@ def validate_zipfile(zipfile: str | pathlib.Path) -> bool:
|
|
|
380
385
|
except BadZipFile:
|
|
381
386
|
return False
|
|
382
387
|
return True
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
def str_to_bool(value: str | bool) -> bool:
|
|
391
|
+
"""Convert common string representations of boolean values to True/False."""
|
|
392
|
+
if isinstance(value, bool): # If it's already a boolean, return it directly
|
|
393
|
+
return value
|
|
394
|
+
return str(value).strip().lower() in {"true", "yes", "1", "on"}
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
def is_enabled(params: dict[str, str], config: PureSectionConfigParser, key: str) -> bool:
|
|
398
|
+
"""Check if a parameter is enabled."""
|
|
399
|
+
# Check in params dictionary (highest priority)
|
|
400
|
+
if key in params and str_to_bool(params[key]):
|
|
401
|
+
return True
|
|
402
|
+
key = f"CMEMC_{key.upper()}"
|
|
403
|
+
section = params.get("connection")
|
|
404
|
+
defaults = config.defaults()
|
|
405
|
+
if section is None:
|
|
406
|
+
section = defaults.get("CMEMC_CONNECTION")
|
|
407
|
+
|
|
408
|
+
# Check in the specified section
|
|
409
|
+
if section and section in config and key in config[section]:
|
|
410
|
+
return str_to_bool(config[section][key])
|
|
411
|
+
|
|
412
|
+
# Check in the default section
|
|
413
|
+
if key in defaults:
|
|
414
|
+
return str_to_bool(config.defaults()[key])
|
|
415
|
+
|
|
416
|
+
return False
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: cmem-cmemc
|
|
3
|
-
Version:
|
|
3
|
+
Version: 25.1.1
|
|
4
4
|
Summary: Command line client for eccenca Corporate Memory
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Author: eccenca
|
|
@@ -25,28 +25,28 @@ Classifier: Programming Language :: Python :: 3 :: Only
|
|
|
25
25
|
Classifier: Topic :: Database
|
|
26
26
|
Classifier: Topic :: Software Development :: Testing
|
|
27
27
|
Classifier: Topic :: Utilities
|
|
28
|
-
Requires-Dist: beautifulsoup4 (>=4.
|
|
28
|
+
Requires-Dist: beautifulsoup4 (>=4.13.3,<5.0.0)
|
|
29
29
|
Requires-Dist: certifi (>=2024.2.2)
|
|
30
|
-
Requires-Dist: click (>=8.1.
|
|
30
|
+
Requires-Dist: click (>=8.1.8,<9.0.0)
|
|
31
31
|
Requires-Dist: click-didyoumean (>=0.3.1,<0.4.0)
|
|
32
32
|
Requires-Dist: click-help-colors (>=0.9.4,<0.10.0)
|
|
33
|
-
Requires-Dist: cmem-cmempy (==
|
|
34
|
-
Requires-Dist: configparser (>=
|
|
35
|
-
Requires-Dist: jinja2 (>=3.1.
|
|
33
|
+
Requires-Dist: cmem-cmempy (==25.1.0)
|
|
34
|
+
Requires-Dist: configparser (>=7.2.0,<8.0.0)
|
|
35
|
+
Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
|
|
36
36
|
Requires-Dist: junit-xml (>=1.9,<2.0)
|
|
37
37
|
Requires-Dist: natsort (>=8.4.0,<9.0.0)
|
|
38
38
|
Requires-Dist: packaging (>=24.2,<25.0)
|
|
39
|
-
Requires-Dist: prometheus-client (>=0.21.
|
|
40
|
-
Requires-Dist: pygments (>=2.
|
|
41
|
-
Requires-Dist: pyjwt (>=2.
|
|
39
|
+
Requires-Dist: prometheus-client (>=0.21.1,<0.22.0)
|
|
40
|
+
Requires-Dist: pygments (>=2.19.1,<3.0.0)
|
|
41
|
+
Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
|
|
42
42
|
Requires-Dist: python-dateutil (>=2.9.0.post0,<3.0.0)
|
|
43
43
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
|
44
|
-
Requires-Dist: rich (>=
|
|
45
|
-
Requires-Dist: six (>=1.
|
|
46
|
-
Requires-Dist: smart-open (>=7.0
|
|
44
|
+
Requires-Dist: rich (>=14.0.0,<15.0.0)
|
|
45
|
+
Requires-Dist: six (>=1.17.0,<2.0.0)
|
|
46
|
+
Requires-Dist: smart-open (>=7.1.0,<8.0.0)
|
|
47
47
|
Requires-Dist: timeago (>=1.0.16,<2.0.0)
|
|
48
|
-
Requires-Dist: treelib (>=1.7.
|
|
49
|
-
Requires-Dist: urllib3 (>=2.
|
|
48
|
+
Requires-Dist: treelib (>=1.7.1,<2.0.0)
|
|
49
|
+
Requires-Dist: urllib3 (>=2.3.0,<3.0.0)
|
|
50
50
|
Project-URL: Homepage, https://eccenca.com/go/cmemc
|
|
51
51
|
Description-Content-Type: text/markdown
|
|
52
52
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
cmem_cmemc/__init__.py,sha256=-RPEVweA-fcmEAynszDDMKwArJgxZpGW61UBiV7O4Og,24
|
|
2
|
+
cmem_cmemc/_cmemc.zsh,sha256=fmkrBHIQxus8cp2AgO1tzZ5mNZdGL_83cYz3a9uAdsg,1326
|
|
3
|
+
cmem_cmemc/cli.py,sha256=vDdSHFmXUstC3T7OlbPSd0hXxyigJE4VVgRMcsNz5cc,4538
|
|
4
|
+
cmem_cmemc/command.py,sha256=nBtrwPKFJLRpD3IPk5hKyn2LOMl-1ae7SV9iRhgky8k,1958
|
|
5
|
+
cmem_cmemc/command_group.py,sha256=0ltd8xY0yN6_ARR2kkwx7Hibj4glT9M0_bnjKlMhz8g,3371
|
|
6
|
+
cmem_cmemc/commands/__init__.py,sha256=NaGM5jOzf0S_-4UIAwlVDOf2AZ3mliGPoRLXQJfTyZs,22
|
|
7
|
+
cmem_cmemc/commands/acl.py,sha256=zy27D_GeEaYEn3P6EEHtQ55sbWkjgwTgspCeuBWPL14,16006
|
|
8
|
+
cmem_cmemc/commands/admin.py,sha256=VGFEen4aVcKr2Fk3IoVu3JX-r8r99r7iE-3QFrkjJs0,9249
|
|
9
|
+
cmem_cmemc/commands/client.py,sha256=nBs7MoF2wF45AteTCeIQrXcOwKmHHCd8_lG_SM2mQSA,5127
|
|
10
|
+
cmem_cmemc/commands/config.py,sha256=MXiBGMKOj8zVyKOBwly1Hg3ywkylfIBUjEz30WkibkU,5777
|
|
11
|
+
cmem_cmemc/commands/dataset.py,sha256=zylVsfBD92LzHgQ96edNKaQNsf0zKoPro0VQdX--Mu8,30488
|
|
12
|
+
cmem_cmemc/commands/graph.py,sha256=RrrmiMTwKcD8CpWoM5ZUNwOFlOO8AIlauS39G_h41xg,32486
|
|
13
|
+
cmem_cmemc/commands/manual.py,sha256=-sZWeFL92Kj8gL3VYsbpKh2ZaVTyM3LgKaUcpNn9u3A,2179
|
|
14
|
+
cmem_cmemc/commands/metrics.py,sha256=pIBRTq90f7MEI99HLdFLN3D1xQ2Z2u6VKUeTIz0X7DY,12205
|
|
15
|
+
cmem_cmemc/commands/migration.py,sha256=MtavtlvXrmFfgBGL_GWlDat_8Ub6cjHeAiNorKtQo_0,9644
|
|
16
|
+
cmem_cmemc/commands/project.py,sha256=cAJ6Bwl0clzOP4b6CXa8wXsISrLQJTFEL-vJf_btjPc,20585
|
|
17
|
+
cmem_cmemc/commands/python.py,sha256=1It8_6Lh79hHafEtHtl7f3SkJt8Zj_VEIH-muczl5ys,11947
|
|
18
|
+
cmem_cmemc/commands/query.py,sha256=AFOBjeDYtSHpPthY8PTfPoBiNikOqMhk8c8SVzsXEVY,27579
|
|
19
|
+
cmem_cmemc/commands/resource.py,sha256=O0RV-lJNdTI3-pTmnKv5zcAkfTkuFVs0UbmknCbsgUU,7788
|
|
20
|
+
cmem_cmemc/commands/scheduler.py,sha256=Ew-VvhyuoLr4YTPCjEAcQWK1LV8lFoH1cnVjfVwIQnM,8761
|
|
21
|
+
cmem_cmemc/commands/store.py,sha256=zZiOBu2rGqZDkfp2xgO7GLHMRhO3Yxt0myODBNM_K3M,10411
|
|
22
|
+
cmem_cmemc/commands/user.py,sha256=ANZpeOBA46xiqOcNPrueComsCV0gEBbav-vOL9VgyX4,12535
|
|
23
|
+
cmem_cmemc/commands/validation.py,sha256=Fv5yBIXzqy8FyjIzo-wJkv_7H5bhtcQhMxFIlJEVoBw,29495
|
|
24
|
+
cmem_cmemc/commands/variable.py,sha256=VZ60pl98xoOFCkRGdTnJENfgaHWoUoUTgkgfMT4TQgQ,11568
|
|
25
|
+
cmem_cmemc/commands/vocabulary.py,sha256=fdXsG7gspA6HeOasXis1ky9UIZG-qRYP-NiFcvzCTKM,17840
|
|
26
|
+
cmem_cmemc/commands/workflow.py,sha256=RRSWJsJzL5w-E7gb--aQgqU1BB1uZt-XCCLaHcNVhxs,25536
|
|
27
|
+
cmem_cmemc/commands/workspace.py,sha256=IcZgBsvtulLRFofS70qpln6oKQIZunrVLfSAUeiFhCA,4579
|
|
28
|
+
cmem_cmemc/completion.py,sha256=I-unDn_zDO5H0fNsRRIgHodQ3_NtCi_sxALwpRickaE,45723
|
|
29
|
+
cmem_cmemc/config_parser.py,sha256=NduwOT-BB_uAk3pz1Y-ex18RQJW-jjHzkQKCEUUK6Hc,1276
|
|
30
|
+
cmem_cmemc/constants.py,sha256=VKNF5-6fzZXWzPgm1OAGhWvyL4YE8SRq52kkpJjUgB0,475
|
|
31
|
+
cmem_cmemc/context.py,sha256=jIta2wgQ3wHviLpzaHKlt-6_Ur7M04I6fBtIIF7s4Cs,22247
|
|
32
|
+
cmem_cmemc/exceptions.py,sha256=0lsGOfXhciNGJloJGERMbbPuBbs5IwIIJ_5YnY9qQ-8,546
|
|
33
|
+
cmem_cmemc/manual_helper/__init__.py,sha256=G3Lqw2aPxo8x63Tg7L0aa5VD9BMaRzZDmhrog7IuEPg,43
|
|
34
|
+
cmem_cmemc/manual_helper/graph.py,sha256=HU04NYWeJ6LmW4UC7qHr1v1qsm2Md61pJ-pgWUHFmHY,3647
|
|
35
|
+
cmem_cmemc/manual_helper/multi_page.py,sha256=EkP-7TdDKRnZbh1FYDaHv-goxfx1nQwan-EcpV0M3So,12235
|
|
36
|
+
cmem_cmemc/manual_helper/single_page.py,sha256=0mMn_IJwFCe-WPKAmxGEStb8IINLpQRxAx_F1pIxg1E,1526
|
|
37
|
+
cmem_cmemc/migrations/__init__.py,sha256=i6Ri7qN58ou_MwOzm2KibPkXOD7u-1ELky-nUE5LjAA,24
|
|
38
|
+
cmem_cmemc/migrations/abc.py,sha256=UGJzrvMzUFdp2-sosp49ObRI-SrUSzLJqLEhvB4QTzg,3564
|
|
39
|
+
cmem_cmemc/migrations/access_conditions_243.py,sha256=IXcvSuo9pLaTTo4XNBB6_ln-2TzOV5PU5ugti0BWbxA,5083
|
|
40
|
+
cmem_cmemc/migrations/bootstrap_data.py,sha256=RF0vyFTGUQ_RcpTTWZmm3XLAJAJX2gSYcGwcBmRmU8A,963
|
|
41
|
+
cmem_cmemc/migrations/remove_noop_triple_251.py,sha256=392FZV5ipUMeqqc2QJWfupFeNRR4ceKPmyak17I5xVk,1451
|
|
42
|
+
cmem_cmemc/migrations/shapes_widget_integrations_243.py,sha256=8lQTOlEJvlrDvdvKkl5OAjnyx1jMRgQnU6Bk_fEORYQ,8543
|
|
43
|
+
cmem_cmemc/migrations/sparql_query_texts_242.py,sha256=K_GbxaX5-kkQKDZMq8UvT1vHazde53htwdDHGyB0b9s,1568
|
|
44
|
+
cmem_cmemc/migrations/workspace_configurations.py,sha256=tFmCdfEL10ICjqMXQEIf-9fveE41HBQ_jaWNQJENz50,998
|
|
45
|
+
cmem_cmemc/object_list.py,sha256=PKDZ-p61ep2MzygRXAe4uzP9CB9D8esoiC3lwra84P4,14734
|
|
46
|
+
cmem_cmemc/parameter_types/__init__.py,sha256=Jqhwnw5a2oPNMClzUyovWiieK60RCl3rvSNr-t3wP84,36
|
|
47
|
+
cmem_cmemc/parameter_types/path.py,sha256=M56PGdjploN2pEYaNAk6_qomAX54crLW8E9XZsFvRuI,2270
|
|
48
|
+
cmem_cmemc/placeholder.py,sha256=PzZWpVBa7WPP5_5f-HlSoaZaOnto-1Dr9XuCTSpPnNM,2386
|
|
49
|
+
cmem_cmemc/smart_path/__init__.py,sha256=zDgm1kDrzLyCuIcNb8VXSdnb_CcVNjGkjgiIDVlsh74,3023
|
|
50
|
+
cmem_cmemc/smart_path/clients/__init__.py,sha256=YFOm69BfTCRvAcJjN_CoUmCv3kzEciyYOPUG337p_pA,1696
|
|
51
|
+
cmem_cmemc/smart_path/clients/http.py,sha256=3clZu2v4uuOvPY4MY_8SVSy7hIXJDNooahFRBRpy0ok,2347
|
|
52
|
+
cmem_cmemc/string_processor.py,sha256=kSVePdgFmf2ekurKj6TbDJn6ur82VGLwCsTJ9ODfBEU,2879
|
|
53
|
+
cmem_cmemc/title_helper.py,sha256=7frjAR54_Xc1gszOWXfzSmKFTawNJQ7kkXhZcHmQLyw,1250
|
|
54
|
+
cmem_cmemc/utils.py,sha256=TTis2uwB1KB_1Q7oebblsLsNf54Sn-UzIXKBfq874KU,13489
|
|
55
|
+
cmem_cmemc-25.1.1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
56
|
+
cmem_cmemc-25.1.1.dist-info/METADATA,sha256=NrCdgxB6Flgkgvse-71Rnf6VukElbdSjaoDBobi_nHI,5642
|
|
57
|
+
cmem_cmemc-25.1.1.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
|
58
|
+
cmem_cmemc-25.1.1.dist-info/entry_points.txt,sha256=2G0AWAyz501EHpFTjIxccdlCTsHt80NT0pdUGP1QkPA,45
|
|
59
|
+
cmem_cmemc-25.1.1.dist-info/RECORD,,
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
cmem_cmemc/__init__.py,sha256=JI0MMWttUaMATsR_9Sw2Y5I6PX3NCxogVX73Hjo6g7M,5516
|
|
2
|
-
cmem_cmemc/_cmemc.zsh,sha256=fmkrBHIQxus8cp2AgO1tzZ5mNZdGL_83cYz3a9uAdsg,1326
|
|
3
|
-
cmem_cmemc/command.py,sha256=OsrQOqHpMjiucdpyac8xzxBaSWehYIA7xkO651z8iTs,702
|
|
4
|
-
cmem_cmemc/command_group.py,sha256=0ltd8xY0yN6_ARR2kkwx7Hibj4glT9M0_bnjKlMhz8g,3371
|
|
5
|
-
cmem_cmemc/commands/__init__.py,sha256=NaGM5jOzf0S_-4UIAwlVDOf2AZ3mliGPoRLXQJfTyZs,22
|
|
6
|
-
cmem_cmemc/commands/acl.py,sha256=zy27D_GeEaYEn3P6EEHtQ55sbWkjgwTgspCeuBWPL14,16006
|
|
7
|
-
cmem_cmemc/commands/admin.py,sha256=IrhWPNJxdE5GO9UumsI8lv9PqFc_0oUh72FmQIKdl9c,9192
|
|
8
|
-
cmem_cmemc/commands/client.py,sha256=gKh22OvYDi95q2U4czH4UPYyDRw_Ngk2K0frDywl3B4,5074
|
|
9
|
-
cmem_cmemc/commands/config.py,sha256=j0zc9EFWW7Kw9bzSb_r16m-A0LZersKbZ9j5GE0mGcQ,5734
|
|
10
|
-
cmem_cmemc/commands/dataset.py,sha256=xsIUiC2aMDiESjnZvjDY5Mh2fvSooOijQmo5A7RvY40,30397
|
|
11
|
-
cmem_cmemc/commands/graph.py,sha256=OHBMHLU5PNrbnxinvjE5Z7FQv8bU8WW-0RCfdoovXl0,32412
|
|
12
|
-
cmem_cmemc/commands/metrics.py,sha256=zsyHezoYwig6jIdn7g9NZMqt9DxG6dQRoO0vP3Eu0Rc,12176
|
|
13
|
-
cmem_cmemc/commands/migration.py,sha256=SFmEeUP744oJMdbz3RXA-zPtqeV6iWcBKiaKhWsMZe0,9538
|
|
14
|
-
cmem_cmemc/commands/project.py,sha256=1BwAAZvupImqkW3Q3dXdkMir8-wnWRMsewnOyVui3QY,20545
|
|
15
|
-
cmem_cmemc/commands/python.py,sha256=80k-z6AcL1Ibp5CqVHATjvK0t9wv24QsepDB0vrfDFU,10760
|
|
16
|
-
cmem_cmemc/commands/query.py,sha256=KUck4w7PD0e5JYg5Eykf2QAMBfpwmgskEiIA-X_PqZs,26973
|
|
17
|
-
cmem_cmemc/commands/resource.py,sha256=ZC_0PM0YnEB3Xf4i0siaTKxHT0Ixjz2Y3QTXuVPuhRE,7739
|
|
18
|
-
cmem_cmemc/commands/scheduler.py,sha256=yKVGcewhrXFfSKEOlvEFwaIfWCOK1x7VLhm-i-SSw68,8729
|
|
19
|
-
cmem_cmemc/commands/store.py,sha256=hChKTSQ4zAQZ3bFforyYBW9d2CAitInKGW2WSaE8m7c,10411
|
|
20
|
-
cmem_cmemc/commands/user.py,sha256=9ju6Q4SdqQncbnFRmN0O27Md9KDl8SD-4SXsBDNw4oA,12464
|
|
21
|
-
cmem_cmemc/commands/validation.py,sha256=Iji13uzhWlyjKlEuEJCDIb-XPwCTO_wzThI1PB--8D8,29485
|
|
22
|
-
cmem_cmemc/commands/variable.py,sha256=DSNxiS5PlexzNdYz9f0-O0hxqakbsxv847U7I9UhKUI,11568
|
|
23
|
-
cmem_cmemc/commands/vocabulary.py,sha256=pAxRM-Y9lzmZ0dT3NBpBGKa2nlbY0thWBdfN2FESXQ8,17767
|
|
24
|
-
cmem_cmemc/commands/workflow.py,sha256=vQiaH3L1ZXjf5SuorwdjrD6nF_5nxZ9Xkd7eCNGwxk8,25512
|
|
25
|
-
cmem_cmemc/commands/workspace.py,sha256=IcZgBsvtulLRFofS70qpln6oKQIZunrVLfSAUeiFhCA,4579
|
|
26
|
-
cmem_cmemc/completion.py,sha256=zgT0ihoePxl8RdmH-9wn1LBAYbeD3Scj9-nX0FcFBTY,44330
|
|
27
|
-
cmem_cmemc/constants.py,sha256=VKNF5-6fzZXWzPgm1OAGhWvyL4YE8SRq52kkpJjUgB0,475
|
|
28
|
-
cmem_cmemc/context.py,sha256=JJUCfhLT9xKQScSXL1a7US9YE6c1fpFKLLjE7kxCieM,19482
|
|
29
|
-
cmem_cmemc/exceptions.py,sha256=SpUHdmVM8cZpSjBv6ICgr9NLr3OJ5XO42DlvjohprVo,232
|
|
30
|
-
cmem_cmemc/manual_helper/__init__.py,sha256=G3Lqw2aPxo8x63Tg7L0aa5VD9BMaRzZDmhrog7IuEPg,43
|
|
31
|
-
cmem_cmemc/manual_helper/graph.py,sha256=qDchHdjRRDW2oZ66by81NxhoDgNxXaAUxq2keewEiVU,3598
|
|
32
|
-
cmem_cmemc/manual_helper/multi_page.py,sha256=5nvN1P7zTgzrnuoT7yA7abyT7EOVa24Jvp3Q2xZmXro,12236
|
|
33
|
-
cmem_cmemc/manual_helper/single_page.py,sha256=sVSeaZmPa-Cs6dtp27MqyiO6rIrskY9BtDyeAZhBWXM,1477
|
|
34
|
-
cmem_cmemc/migrations/__init__.py,sha256=i6Ri7qN58ou_MwOzm2KibPkXOD7u-1ELky-nUE5LjAA,24
|
|
35
|
-
cmem_cmemc/migrations/abc.py,sha256=UGJzrvMzUFdp2-sosp49ObRI-SrUSzLJqLEhvB4QTzg,3564
|
|
36
|
-
cmem_cmemc/migrations/access_conditions_243.py,sha256=IXcvSuo9pLaTTo4XNBB6_ln-2TzOV5PU5ugti0BWbxA,5083
|
|
37
|
-
cmem_cmemc/migrations/bootstrap_data.py,sha256=RF0vyFTGUQ_RcpTTWZmm3XLAJAJX2gSYcGwcBmRmU8A,963
|
|
38
|
-
cmem_cmemc/migrations/shapes_widget_integrations_243.py,sha256=jRWtTFeMom-xUI7UaoTa3DoLmmdwFmaw9XYxvnelxMo,8746
|
|
39
|
-
cmem_cmemc/migrations/sparql_query_texts_242.py,sha256=K_GbxaX5-kkQKDZMq8UvT1vHazde53htwdDHGyB0b9s,1568
|
|
40
|
-
cmem_cmemc/migrations/workspace_configurations.py,sha256=tFmCdfEL10ICjqMXQEIf-9fveE41HBQ_jaWNQJENz50,998
|
|
41
|
-
cmem_cmemc/object_list.py,sha256=NYArisZxCV4pws_Tgk_xyltLN6TStkxQAgy-WLlzOxc,14712
|
|
42
|
-
cmem_cmemc/parameter_types/__init__.py,sha256=Jqhwnw5a2oPNMClzUyovWiieK60RCl3rvSNr-t3wP84,36
|
|
43
|
-
cmem_cmemc/parameter_types/path.py,sha256=hrisrXA1V8AtlWv-zxMYFGyf3RBCet4CW-Z2yTmhcwg,2002
|
|
44
|
-
cmem_cmemc/smart_path/__init__.py,sha256=zDgm1kDrzLyCuIcNb8VXSdnb_CcVNjGkjgiIDVlsh74,3023
|
|
45
|
-
cmem_cmemc/smart_path/clients/__init__.py,sha256=YFOm69BfTCRvAcJjN_CoUmCv3kzEciyYOPUG337p_pA,1696
|
|
46
|
-
cmem_cmemc/smart_path/clients/http.py,sha256=3clZu2v4uuOvPY4MY_8SVSy7hIXJDNooahFRBRpy0ok,2347
|
|
47
|
-
cmem_cmemc/string_processor.py,sha256=kSVePdgFmf2ekurKj6TbDJn6ur82VGLwCsTJ9ODfBEU,2879
|
|
48
|
-
cmem_cmemc/title_helper.py,sha256=7frjAR54_Xc1gszOWXfzSmKFTawNJQ7kkXhZcHmQLyw,1250
|
|
49
|
-
cmem_cmemc/utils.py,sha256=DXcJo6F2rYP1xeaI3wSvUVlS6GXbGTDJZLci7T5Rgd4,12220
|
|
50
|
-
cmem_cmemc-24.3.3.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
51
|
-
cmem_cmemc-24.3.3.dist-info/METADATA,sha256=SwZmHE0rxwd7XEA1ag86JS0GMyOIP-YLt89jBHa3d9Y,5641
|
|
52
|
-
cmem_cmemc-24.3.3.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
|
53
|
-
cmem_cmemc-24.3.3.dist-info/entry_points.txt,sha256=znWUTG-zgDITu6Frsd-OtNxBxj6Uo8Fa7bz6gaZYMrA,41
|
|
54
|
-
cmem_cmemc-24.3.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|