cmem-cmemc 24.1.1rc1__py3-none-any.whl → 24.1.3rc1__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 -0
- cmem_cmemc/commands/__init__.py +1 -0
- cmem_cmemc/commands/admin.py +4 -6
- cmem_cmemc/commands/config.py +1 -0
- cmem_cmemc/commands/dataset.py +2 -1
- cmem_cmemc/commands/graph.py +1 -0
- cmem_cmemc/commands/project.py +1 -0
- cmem_cmemc/commands/python.py +5 -0
- cmem_cmemc/commands/query.py +1 -0
- cmem_cmemc/commands/resource.py +1 -0
- cmem_cmemc/commands/scheduler.py +1 -0
- cmem_cmemc/commands/store.py +1 -0
- cmem_cmemc/commands/user.py +1 -0
- cmem_cmemc/commands/validation.py +7 -6
- cmem_cmemc/commands/variable.py +1 -0
- cmem_cmemc/commands/vocabulary.py +11 -10
- cmem_cmemc/commands/workflow.py +6 -5
- cmem_cmemc/commands/workspace.py +1 -0
- cmem_cmemc/completion.py +1 -0
- cmem_cmemc/constants.py +1 -0
- cmem_cmemc/context.py +16 -10
- cmem_cmemc/manual_helper/graph.py +1 -0
- cmem_cmemc/manual_helper/multi_page.py +1 -0
- cmem_cmemc/object_list.py +1 -0
- cmem_cmemc/utils.py +3 -0
- {cmem_cmemc-24.1.1rc1.dist-info → cmem_cmemc-24.1.3rc1.dist-info}/METADATA +2 -2
- cmem_cmemc-24.1.3rc1.dist-info/RECORD +37 -0
- {cmem_cmemc-24.1.1rc1.dist-info → cmem_cmemc-24.1.3rc1.dist-info}/WHEEL +1 -1
- cmem_cmemc-24.1.1rc1.dist-info/RECORD +0 -37
- {cmem_cmemc-24.1.1rc1.dist-info → cmem_cmemc-24.1.3rc1.dist-info}/LICENSE +0 -0
- {cmem_cmemc-24.1.1rc1.dist-info → cmem_cmemc-24.1.3rc1.dist-info}/entry_points.txt +0 -0
cmem_cmemc/__init__.py
CHANGED
cmem_cmemc/commands/__init__.py
CHANGED
cmem_cmemc/commands/admin.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""admin commands for cmem command line interface."""
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
from datetime import datetime, timezone
|
|
3
4
|
|
|
4
5
|
import click
|
|
5
6
|
import jwt
|
|
@@ -41,12 +42,9 @@ def _check_graphdb_license(app: ApplicationContext, data: dict, months: int, exi
|
|
|
41
42
|
# DP < 24.1 has no graph license information here
|
|
42
43
|
return
|
|
43
44
|
expiration_date_str = data["dp"]["info"]["store"]["licenseExpiration"]
|
|
44
|
-
|
|
45
|
-
# DP = 24.1 outputs this for GraphDB free ...¯\_(ツ)_/¯
|
|
46
|
-
return
|
|
47
|
-
expiration_date = datetime.strptime(expiration_date_str, "%Y-%m-%d").astimezone(tz=UTC)
|
|
45
|
+
expiration_date = datetime.strptime(expiration_date_str, "%Y-%m-%d").astimezone(tz=timezone.utc)
|
|
48
46
|
grace_starts = expiration_date - relativedelta(months=months)
|
|
49
|
-
if grace_starts < datetime.now(tz=
|
|
47
|
+
if grace_starts < datetime.now(tz=timezone.utc):
|
|
50
48
|
graphdb_license_end = data["dp"]["info"]["store"]["licenseExpiration"]
|
|
51
49
|
output = f"Your GraphDB license expires on {graphdb_license_end}."
|
|
52
50
|
if exit_1 == "always":
|
cmem_cmemc/commands/config.py
CHANGED
cmem_cmemc/commands/dataset.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"""dataset commands for cmem command line interface."""
|
|
2
|
+
|
|
2
3
|
import json
|
|
3
4
|
import re
|
|
4
5
|
from pathlib import Path
|
|
@@ -284,7 +285,7 @@ def _check_or_set_dataset_type(
|
|
|
284
285
|
|
|
285
286
|
"""
|
|
286
287
|
source = Path(dataset_file).name if dataset_file else ""
|
|
287
|
-
target = parameter_dict
|
|
288
|
+
target = parameter_dict.get("file", "")
|
|
288
289
|
suggestions = (
|
|
289
290
|
(".ttl", "file"),
|
|
290
291
|
(".csv", "csv"),
|
cmem_cmemc/commands/graph.py
CHANGED
cmem_cmemc/commands/project.py
CHANGED
cmem_cmemc/commands/python.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"""DataIntegration python management commands."""
|
|
2
|
+
|
|
2
3
|
import sys
|
|
3
4
|
from dataclasses import asdict
|
|
4
5
|
from re import match
|
|
@@ -49,6 +50,10 @@ def install_command(app: ApplicationContext, package: str) -> None:
|
|
|
49
50
|
.tar.gz file, by uploading a build distribution .whl file, or by
|
|
50
51
|
specifying a package name, i.e., a pip requirement specifier with a
|
|
51
52
|
package name available on pypi.org (e.g. `requests==2.27.1`).
|
|
53
|
+
|
|
54
|
+
Note: The tab-completion of this command lists only public packages from
|
|
55
|
+
pypi.org and not from additional or changed python package repositories you
|
|
56
|
+
may have configured on the server.
|
|
52
57
|
"""
|
|
53
58
|
app.echo_info(f"Install package {package} ... ", nl=False)
|
|
54
59
|
try:
|
cmem_cmemc/commands/query.py
CHANGED
cmem_cmemc/commands/resource.py
CHANGED
cmem_cmemc/commands/scheduler.py
CHANGED
cmem_cmemc/commands/store.py
CHANGED
cmem_cmemc/commands/user.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""graph validation command group"""
|
|
2
|
+
|
|
2
3
|
import time
|
|
3
|
-
from datetime import
|
|
4
|
+
from datetime import datetime, timezone
|
|
4
5
|
|
|
5
6
|
import click
|
|
6
7
|
import requests
|
|
@@ -144,8 +145,8 @@ def _get_batch_validation_option(validation_: dict) -> tuple[str, str]:
|
|
|
144
145
|
id_ = validation_["id"]
|
|
145
146
|
state = validation_["state"]
|
|
146
147
|
graph = validation_["contextGraphIri"]
|
|
147
|
-
stamp = datetime.fromtimestamp(validation_["executionStarted"] / 1000, tz=
|
|
148
|
-
time_ago = timeago.format(stamp, datetime.now(tz=
|
|
148
|
+
stamp = datetime.fromtimestamp(validation_["executionStarted"] / 1000, tz=timezone.utc)
|
|
149
|
+
time_ago = timeago.format(stamp, datetime.now(tz=timezone.utc))
|
|
149
150
|
resources = _get_resource_count(validation_)
|
|
150
151
|
violations = _get_violation_count(validation_)
|
|
151
152
|
return (
|
|
@@ -295,7 +296,7 @@ def _get_resource_count(batch_validation: dict) -> str:
|
|
|
295
296
|
|
|
296
297
|
def _get_violation_count(process_data: dict) -> str:
|
|
297
298
|
"""Get violation count from validation report"""
|
|
298
|
-
if process_data.get("executionStarted"
|
|
299
|
+
if process_data.get("executionStarted") is None:
|
|
299
300
|
return "-"
|
|
300
301
|
resources = str(process_data.get("resourcesWithViolationsCount", "0"))
|
|
301
302
|
violations = str(process_data.get("violationsCount", "0"))
|
|
@@ -408,8 +409,8 @@ def list_command(ctx: Context, filter_: tuple[tuple[str, str]], id_only: bool, r
|
|
|
408
409
|
table = []
|
|
409
410
|
for _ in validations:
|
|
410
411
|
if "executionStarted" in _ and _["executionStarted"] is not None:
|
|
411
|
-
stamp = datetime.fromtimestamp(_["executionStarted"] / 1000, tz=
|
|
412
|
-
time_ago = timeago.format(stamp, datetime.now(tz=
|
|
412
|
+
stamp = datetime.fromtimestamp(_["executionStarted"] / 1000, tz=timezone.utc)
|
|
413
|
+
time_ago = timeago.format(stamp, datetime.now(tz=timezone.utc))
|
|
413
414
|
else:
|
|
414
415
|
time_ago = f"{_['state']}"
|
|
415
416
|
row = [
|
cmem_cmemc/commands/variable.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""vocabularies commands for cmem command line interface."""
|
|
2
|
+
|
|
2
3
|
import io
|
|
3
|
-
from datetime import
|
|
4
|
+
from datetime import datetime, timezone
|
|
4
5
|
from re import match
|
|
5
6
|
from urllib.parse import urlparse
|
|
6
7
|
|
|
@@ -140,7 +141,7 @@ def _insert_catalog_entry(iri: str, prefix: str, namespace: str, label: str, lan
|
|
|
140
141
|
iri=iri,
|
|
141
142
|
prefix=prefix,
|
|
142
143
|
namespace=namespace,
|
|
143
|
-
date=datetime.now(tz=
|
|
144
|
+
date=datetime.now(tz=timezone.utc).date(),
|
|
144
145
|
label=label,
|
|
145
146
|
language=language,
|
|
146
147
|
description="vocabulary imported with cmemc",
|
|
@@ -150,7 +151,7 @@ def _insert_catalog_entry(iri: str, prefix: str, namespace: str, label: str, lan
|
|
|
150
151
|
|
|
151
152
|
|
|
152
153
|
def _get_vocabulary_metadata_from_file(
|
|
153
|
-
file: io.
|
|
154
|
+
file: io.BytesIO, namespace_given: bool = False
|
|
154
155
|
) -> dict[str, str]:
|
|
155
156
|
"""Get potential graph iri and prefix/namespace from a turtle file."""
|
|
156
157
|
metadata = {"iri": "", "prefix": "", "namespace": ""}
|
|
@@ -345,19 +346,19 @@ def import_command(
|
|
|
345
346
|
description which correctly uses the `vann:preferredNamespacePrefix` and
|
|
346
347
|
`vann:preferredNamespaceUri` properties.
|
|
347
348
|
"""
|
|
348
|
-
|
|
349
|
+
_buffer = io.BytesIO()
|
|
349
350
|
with click.open_file(file, "rb") as file_handle:
|
|
350
|
-
|
|
351
|
-
|
|
351
|
+
_buffer.write(file_handle.read())
|
|
352
|
+
_buffer.seek(0)
|
|
352
353
|
|
|
353
354
|
# fetch metadata
|
|
354
355
|
if namespace != (None, None):
|
|
355
356
|
_validate_namespace(app, namespace)
|
|
356
|
-
meta_data = _get_vocabulary_metadata_from_file(
|
|
357
|
+
meta_data = _get_vocabulary_metadata_from_file(_buffer, True)
|
|
357
358
|
meta_data["prefix"] = namespace[0] # type: ignore[assignment]
|
|
358
359
|
meta_data["namespace"] = namespace[1] # type: ignore[assignment]
|
|
359
360
|
else:
|
|
360
|
-
meta_data = _get_vocabulary_metadata_from_file(
|
|
361
|
+
meta_data = _get_vocabulary_metadata_from_file(_buffer, False)
|
|
361
362
|
iri = meta_data["iri"]
|
|
362
363
|
|
|
363
364
|
success_message = "done"
|
|
@@ -368,8 +369,8 @@ def import_command(
|
|
|
368
369
|
raise ValueError(f"Proposed graph {iri} does already exist.")
|
|
369
370
|
app.echo_info(f"Import {file} as vocabulary to {iri} ... ", nl=False)
|
|
370
371
|
# upload graph
|
|
371
|
-
|
|
372
|
-
graph_api.post_streamed(iri,
|
|
372
|
+
_buffer.seek(0)
|
|
373
|
+
graph_api.post_streamed(iri, _buffer, replace=True)
|
|
373
374
|
|
|
374
375
|
# resolve label
|
|
375
376
|
resolved_label_object: dict = resolve([iri], graph=iri)[iri]
|
cmem_cmemc/commands/workflow.py
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"""workflow commands for cmem command line interface."""
|
|
2
|
+
|
|
2
3
|
import re
|
|
3
4
|
import sys
|
|
4
5
|
import time
|
|
5
|
-
from datetime import
|
|
6
|
+
from datetime import datetime, timezone
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
|
|
8
9
|
import click
|
|
@@ -319,8 +320,8 @@ def _workflow_echo_status(app: ApplicationContext, status: dict) -> None:
|
|
|
319
320
|
canceled only exists sometimes
|
|
320
321
|
"""
|
|
321
322
|
# prepare human friendly relative time
|
|
322
|
-
now = datetime.now(tz=
|
|
323
|
-
stamp = datetime.fromtimestamp(status["lastUpdateTime"] / 1000, tz=
|
|
323
|
+
now = datetime.now(tz=timezone.utc)
|
|
324
|
+
stamp = datetime.fromtimestamp(status["lastUpdateTime"] / 1000, tz=timezone.utc)
|
|
324
325
|
time_ago = timeago.format(stamp, now, "en")
|
|
325
326
|
status_name = status["statusName"]
|
|
326
327
|
status_message = status["message"]
|
|
@@ -338,9 +339,9 @@ def _workflow_echo_status(app: ApplicationContext, status: dict) -> None:
|
|
|
338
339
|
f"statusName is {status_name}, expecting one of: " "Running, Canceling or Waiting."
|
|
339
340
|
)
|
|
340
341
|
# not running can be Idle or Finished
|
|
341
|
-
if
|
|
342
|
+
if status.get("failed"):
|
|
342
343
|
app.echo_error(message, nl=True, err=False)
|
|
343
|
-
elif
|
|
344
|
+
elif status.get("cancelled"):
|
|
344
345
|
app.echo_warning(message)
|
|
345
346
|
elif status["statusName"] == "Idle":
|
|
346
347
|
app.echo_info(message)
|
cmem_cmemc/commands/workspace.py
CHANGED
cmem_cmemc/completion.py
CHANGED
cmem_cmemc/constants.py
CHANGED
cmem_cmemc/context.py
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"""The main command line interface."""
|
|
2
|
+
|
|
2
3
|
import ast
|
|
3
4
|
import configparser
|
|
4
5
|
import json
|
|
5
6
|
import os
|
|
6
7
|
import re
|
|
7
8
|
import subprocess # nosec
|
|
8
|
-
from datetime import
|
|
9
|
+
from datetime import datetime, timezone
|
|
9
10
|
from os import environ as env
|
|
10
11
|
from os import getenv
|
|
11
12
|
from pathlib import Path
|
|
@@ -21,6 +22,7 @@ from pygments.lexers import get_lexer_by_name
|
|
|
21
22
|
from rich import box
|
|
22
23
|
from rich.console import Console
|
|
23
24
|
from rich.table import Table
|
|
25
|
+
from urllib3.exceptions import InsecureRequestWarning
|
|
24
26
|
|
|
25
27
|
from cmem_cmemc.exceptions import InvalidConfigurationError
|
|
26
28
|
|
|
@@ -47,6 +49,8 @@ KNOWN_CONFIG_KEYS = {
|
|
|
47
49
|
|
|
48
50
|
KNOWN_SECRET_KEYS = ("OAUTH_PASSWORD", "OAUTH_CLIENT_SECRET", "OAUTH_ACCESS_TOKEN")
|
|
49
51
|
|
|
52
|
+
SSL_VERIFY_WARNING = "SSL verification is disabled (SSL_VERIFY=False)."
|
|
53
|
+
|
|
50
54
|
|
|
51
55
|
class ApplicationContext:
|
|
52
56
|
"""Context of the command line interface."""
|
|
@@ -90,7 +94,7 @@ class ApplicationContext:
|
|
|
90
94
|
def get_template_data(self) -> dict[str, str]:
|
|
91
95
|
"""Get the template data dict with vars from the context."""
|
|
92
96
|
data: dict[str, str] = {}
|
|
93
|
-
today = str(datetime.now(tz=
|
|
97
|
+
today = str(datetime.now(tz=timezone.utc).date())
|
|
94
98
|
data.update(date=today)
|
|
95
99
|
if self.connection is not None:
|
|
96
100
|
data.update(connection=self.connection.name)
|
|
@@ -142,12 +146,6 @@ class ApplicationContext:
|
|
|
142
146
|
self.set_credential_from_process(_, _ + "_PROCESS", config)
|
|
143
147
|
|
|
144
148
|
self.echo_debug(f"CA bundle loaded from {cmempy_config.get_requests_ca_bundle()}")
|
|
145
|
-
# If cert validation is disabled, output a warning
|
|
146
|
-
# Also disable library warnings:
|
|
147
|
-
# https://urllib3.readthedocs.io/en/latest/advanced-usage.html
|
|
148
|
-
if not cmempy_config.get_ssl_verify():
|
|
149
|
-
self.echo_warning("SSL verification is disabled (SSL_VERIFY=False).")
|
|
150
|
-
urllib3.disable_warnings()
|
|
151
149
|
return
|
|
152
150
|
|
|
153
151
|
def set_connection_from_params(self, params: dict) -> None:
|
|
@@ -192,7 +190,7 @@ class ApplicationContext:
|
|
|
192
190
|
self.config = self.get_config()
|
|
193
191
|
self.connection = None
|
|
194
192
|
if section_string is None or section_string == "":
|
|
195
|
-
self.echo_debug("No config given, use API
|
|
193
|
+
self.echo_debug("No config given, use API defaults or environment connection.")
|
|
196
194
|
elif section_string not in self.config:
|
|
197
195
|
raise InvalidConfigurationError(
|
|
198
196
|
f"There is no connection '{section_string}' configured in "
|
|
@@ -202,6 +200,14 @@ class ApplicationContext:
|
|
|
202
200
|
self.echo_debug(f"Use connection config: {section_string}")
|
|
203
201
|
self.connection = self.config[section_string]
|
|
204
202
|
self.configure_cmempy(self.connection)
|
|
203
|
+
|
|
204
|
+
# If cert validation is disabled, output a warning
|
|
205
|
+
# Also disable library warnings:
|
|
206
|
+
# https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
|
|
207
|
+
if not cmempy_config.get_ssl_verify():
|
|
208
|
+
self.echo_warning(SSL_VERIFY_WARNING)
|
|
209
|
+
urllib3.disable_warnings(category=InsecureRequestWarning)
|
|
210
|
+
|
|
205
211
|
return self.connection
|
|
206
212
|
|
|
207
213
|
def get_config_file(self) -> Path:
|
|
@@ -262,7 +268,7 @@ class ApplicationContext:
|
|
|
262
268
|
"""Output a debug message if --debug is enabled."""
|
|
263
269
|
# pylint: disable=invalid-name
|
|
264
270
|
if self.debug:
|
|
265
|
-
now = datetime.now(tz=
|
|
271
|
+
now = datetime.now(tz=timezone.utc)
|
|
266
272
|
click.secho(f"[{now!s}] {message}", err=True, dim=True)
|
|
267
273
|
|
|
268
274
|
def echo_info(self, message: str | list[str] | set[str], nl: bool = True, fg: str = "") -> None:
|
cmem_cmemc/object_list.py
CHANGED
cmem_cmemc/utils.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"""Utility functions for CLI interface."""
|
|
2
|
+
|
|
2
3
|
import json
|
|
3
4
|
import os
|
|
4
5
|
import re
|
|
@@ -295,6 +296,8 @@ def get_published_packages() -> list[PublishedPackage]:
|
|
|
295
296
|
name = _.findChildren(class_="package-snippet__name")[0].getText()
|
|
296
297
|
if name == "cmem-plugin-base":
|
|
297
298
|
continue
|
|
299
|
+
if not name.startswith("cmem-plugin-"):
|
|
300
|
+
continue
|
|
298
301
|
description = _.findChildren(class_="package-snippet__description")[0].getText()
|
|
299
302
|
package_version = _.findChildren(class_="package-snippet__version")[0].getText()
|
|
300
303
|
published = _.findChildren(name="time")[0].attrs["datetime"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cmem-cmemc
|
|
3
|
-
Version: 24.1.
|
|
3
|
+
Version: 24.1.3rc1
|
|
4
4
|
Summary: Command line client for eccenca Corporate Memory
|
|
5
5
|
Home-page: https://eccenca.com/go/cmemc
|
|
6
6
|
License: Apache 2.0
|
|
@@ -26,7 +26,7 @@ Requires-Dist: certifi (>=2023.5.7)
|
|
|
26
26
|
Requires-Dist: click (>=8.1.7,<9.0.0)
|
|
27
27
|
Requires-Dist: click-didyoumean (>=0.3.0,<0.4.0)
|
|
28
28
|
Requires-Dist: click-help-colors (>=0.9.1,<0.10.0)
|
|
29
|
-
Requires-Dist: cmem-cmempy (==24.1.
|
|
29
|
+
Requires-Dist: cmem-cmempy (==24.1.1)
|
|
30
30
|
Requires-Dist: configparser (>=5.3.0,<6.0.0)
|
|
31
31
|
Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
|
|
32
32
|
Requires-Dist: natsort (>=8.3.1,<9.0.0)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
cmem_cmemc/__init__.py,sha256=WOoZ0R_OAd5p6NAtcQGFdvDv5OLBeQOUYWHY-f3CNzc,5789
|
|
2
|
+
cmem_cmemc/_cmemc.zsh,sha256=fmkrBHIQxus8cp2AgO1tzZ5mNZdGL_83cYz3a9uAdsg,1326
|
|
3
|
+
cmem_cmemc/commands/__init__.py,sha256=_PsHWhMFwyfRAYInt0AOs3dA3Cuqhsnf_enFLjxVCGQ,3626
|
|
4
|
+
cmem_cmemc/commands/acl.py,sha256=cA76UvQquhZc9MdS3e94kcfSn9V_RzTQ5XM0Ko6w6hM,13769
|
|
5
|
+
cmem_cmemc/commands/admin.py,sha256=pv9N9laUWV7xevOw0toLBezRz2_B5spcgwU2B-pqaAY,8681
|
|
6
|
+
cmem_cmemc/commands/client.py,sha256=23Sc3h64eAMaB4bJVfiamR470DMpDj1hsPWKsxUSMLg,5039
|
|
7
|
+
cmem_cmemc/commands/config.py,sha256=9-xEtHoJyaqU9J7C8a3Q7SpPvJQHLufMXxZYuXYQ5Pk,5699
|
|
8
|
+
cmem_cmemc/commands/dataset.py,sha256=hn3449Aby_lMgBHumSHqFn6SZS9q3cmh3ZMoUOG85RE,30198
|
|
9
|
+
cmem_cmemc/commands/graph.py,sha256=_VtYwOU3SmNbKAQaSKHrVSTOSP3FCrs-W4jmzTQzx7M,27329
|
|
10
|
+
cmem_cmemc/commands/metrics.py,sha256=BlZvYvp1RWLl9rEknxxcOnOh2_zQgGqMEEXFwtJa58E,7832
|
|
11
|
+
cmem_cmemc/commands/project.py,sha256=XP4vovTTgMzvO-218SpWYnFejayWoNN4DLTp448zVuU,19268
|
|
12
|
+
cmem_cmemc/commands/python.py,sha256=4fYWztPZjLVuz12vuApHE8el9zQvbnwGDiLh1fo7vqA,9666
|
|
13
|
+
cmem_cmemc/commands/query.py,sha256=mx_pZB9ovD8j_svpdDTE82R1pUrwL41OICwcExpXA4s,26792
|
|
14
|
+
cmem_cmemc/commands/resource.py,sha256=n6ri6Tu2sNUNZuNfNGpRnMQxOx9VeTFGL1OWXUKKpjE,7534
|
|
15
|
+
cmem_cmemc/commands/scheduler.py,sha256=L9Cl7u3Nq3UjfgRzayivxxCHq2U6ZtpqtTCsXsndnFg,8512
|
|
16
|
+
cmem_cmemc/commands/store.py,sha256=PybRXCO6R84lEWR8fsTB1jZrc8CMGrWejpruPuM9lIM,6741
|
|
17
|
+
cmem_cmemc/commands/user.py,sha256=0BbPoPhguSeMjLUn29Qh3kRcMbpQ75bAwDHgYWrZMyQ,12288
|
|
18
|
+
cmem_cmemc/commands/validation.py,sha256=Kr5zk_9_LPoRz11LVJ_vkEhP2KrVg8Ns2aiMfiCt-cI,19984
|
|
19
|
+
cmem_cmemc/commands/variable.py,sha256=IvQ-Yzg2z8Hb-ZstEuOCTMBDg0N931z_73K9xZPbdoM,11356
|
|
20
|
+
cmem_cmemc/commands/vocabulary.py,sha256=9bD_Ah6uVd4GwywIRAahSLfcqxE8yrawXIUmSMW-dMA,16693
|
|
21
|
+
cmem_cmemc/commands/workflow.py,sha256=msBdaNClFuSdPD8KIC9sjno8C4gunyAI7n_hev4yq2w,24632
|
|
22
|
+
cmem_cmemc/commands/workspace.py,sha256=4kMstZejLdP8KIrt9p3BMw8mrrNUrdX7E8_fSI78nc4,4097
|
|
23
|
+
cmem_cmemc/completion.py,sha256=amF9lWdxrWvS1CAQkEOQH1S7FpbmMniw6xjKlFOw4kY,42011
|
|
24
|
+
cmem_cmemc/constants.py,sha256=s16jrvmIt42a1SrahwjON5prk8ry6MuAXHeBnuMDZyY,422
|
|
25
|
+
cmem_cmemc/context.py,sha256=tLyVsma3oCLUEwpywUwX-ZLtp1XqEYLnC_bVK4Ro0ps,17730
|
|
26
|
+
cmem_cmemc/exceptions.py,sha256=SpUHdmVM8cZpSjBv6ICgr9NLr3OJ5XO42DlvjohprVo,232
|
|
27
|
+
cmem_cmemc/manual_helper/__init__.py,sha256=G3Lqw2aPxo8x63Tg7L0aa5VD9BMaRzZDmhrog7IuEPg,43
|
|
28
|
+
cmem_cmemc/manual_helper/graph.py,sha256=qDchHdjRRDW2oZ66by81NxhoDgNxXaAUxq2keewEiVU,3598
|
|
29
|
+
cmem_cmemc/manual_helper/multi_page.py,sha256=K-S2_NubrHGynO5I_IMAanO2pZN2KETUV00wpjMqvjI,12171
|
|
30
|
+
cmem_cmemc/manual_helper/single_page.py,sha256=sVSeaZmPa-Cs6dtp27MqyiO6rIrskY9BtDyeAZhBWXM,1477
|
|
31
|
+
cmem_cmemc/object_list.py,sha256=QU-8JE5jvFcrUelEC4l5z7A9SInNnCRzRTS1bMw5FZc,13256
|
|
32
|
+
cmem_cmemc/utils.py,sha256=AiZMholCLF744TaNH-k86WNQavtCQstNfiwKQ2lJ5B4,10720
|
|
33
|
+
cmem_cmemc-24.1.3rc1.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
34
|
+
cmem_cmemc-24.1.3rc1.dist-info/METADATA,sha256=kiQOCi6CRbUsmyBuKRK8QGJBFc6lCoHP5aStmIsUo0g,2622
|
|
35
|
+
cmem_cmemc-24.1.3rc1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
36
|
+
cmem_cmemc-24.1.3rc1.dist-info/entry_points.txt,sha256=znWUTG-zgDITu6Frsd-OtNxBxj6Uo8Fa7bz6gaZYMrA,41
|
|
37
|
+
cmem_cmemc-24.1.3rc1.dist-info/RECORD,,
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
cmem_cmemc/__init__.py,sha256=w73jTA8dNxxVbGqEXjpwavMgGaFxbtYLe7xfdhgA6DE,5788
|
|
2
|
-
cmem_cmemc/_cmemc.zsh,sha256=fmkrBHIQxus8cp2AgO1tzZ5mNZdGL_83cYz3a9uAdsg,1326
|
|
3
|
-
cmem_cmemc/commands/__init__.py,sha256=Bv4Pqp3Zd6hiR8nD9ynGZV5XEyNCm24lulNYunrh6V8,3625
|
|
4
|
-
cmem_cmemc/commands/acl.py,sha256=cA76UvQquhZc9MdS3e94kcfSn9V_RzTQ5XM0Ko6w6hM,13769
|
|
5
|
-
cmem_cmemc/commands/admin.py,sha256=qM1Qeoo1teRupYBY_E1qLVmszNxfez7AImtlblMDTHg,8783
|
|
6
|
-
cmem_cmemc/commands/client.py,sha256=23Sc3h64eAMaB4bJVfiamR470DMpDj1hsPWKsxUSMLg,5039
|
|
7
|
-
cmem_cmemc/commands/config.py,sha256=BazGuXA5Pcs-yal6QAnf-16CEv59bnCVDqhJkLJMiKE,5698
|
|
8
|
-
cmem_cmemc/commands/dataset.py,sha256=o11fMe9oAhgWRkFaBebnCTf5S3MYE3byLOEah_rOJYM,30225
|
|
9
|
-
cmem_cmemc/commands/graph.py,sha256=cylE7IBe-BRMHhYvCl8SSSfDDn1UKzaiqbYg0JzDWz0,27328
|
|
10
|
-
cmem_cmemc/commands/metrics.py,sha256=BlZvYvp1RWLl9rEknxxcOnOh2_zQgGqMEEXFwtJa58E,7832
|
|
11
|
-
cmem_cmemc/commands/project.py,sha256=9yBFWVVNn2owv27VQJbW0SL_LA2K70NJ57NMkQso8y4,19267
|
|
12
|
-
cmem_cmemc/commands/python.py,sha256=9XPLExJ19BqXIYOp34KZtTRheSiChQya5I7gSCBaMso,9468
|
|
13
|
-
cmem_cmemc/commands/query.py,sha256=BV0l_4slhoZPcUD0uZCAJmW-bamj4dVvVhP5BrDDMRY,26791
|
|
14
|
-
cmem_cmemc/commands/resource.py,sha256=baOyuyF5TVHT1goMC8fB5V_mg0NoiM3oVGE7UrDTW0w,7533
|
|
15
|
-
cmem_cmemc/commands/scheduler.py,sha256=DFmb8ISYr94xYeZ07PrLwCU5en7XKtWbAnVsKkKHnSA,8511
|
|
16
|
-
cmem_cmemc/commands/store.py,sha256=hgY4VhsGEVUac2B0MjGIvSr4tUzl4gWu_x8XsBMNPfE,6740
|
|
17
|
-
cmem_cmemc/commands/user.py,sha256=Ma-dEI_Nr0dout4GlAdkWw5ydKATlG8In1O3aPTpS3o,12287
|
|
18
|
-
cmem_cmemc/commands/validation.py,sha256=rKNatJbkAmfc19gGUvs0FusPKuJ0ZUXN1Yl1kHtFvSU,19948
|
|
19
|
-
cmem_cmemc/commands/variable.py,sha256=a2U6r0bCI90WPGi_ZMw2Wpy8_qNbLCHfTIgVuUMOwWQ,11355
|
|
20
|
-
cmem_cmemc/commands/vocabulary.py,sha256=OvIrSrgLuo3FO69zdrFm5e-eEcrc2tX_h71XCm_Bh7I,16738
|
|
21
|
-
cmem_cmemc/commands/workflow.py,sha256=DqxxdvbBQBMF1PCgGi4uBiXyV6EsFOEpES7Bi71lBtU,24649
|
|
22
|
-
cmem_cmemc/commands/workspace.py,sha256=XA0Zo_C9A8yaIi75iumtUnpimYinbQvZLszFbLl4qDs,4096
|
|
23
|
-
cmem_cmemc/completion.py,sha256=r6XOG6nOCnfL8HLqIbXnID_eHoZTK0OUxB-QWxOouT0,42010
|
|
24
|
-
cmem_cmemc/constants.py,sha256=rQ7QXkO99y3TA2isjx209C62Zt2u72lwRrteq9OkKo8,421
|
|
25
|
-
cmem_cmemc/context.py,sha256=SVtbOjgtrL7f80llPa_z5aNExdbrxlYY3uGtv20M2U8,17549
|
|
26
|
-
cmem_cmemc/exceptions.py,sha256=SpUHdmVM8cZpSjBv6ICgr9NLr3OJ5XO42DlvjohprVo,232
|
|
27
|
-
cmem_cmemc/manual_helper/__init__.py,sha256=G3Lqw2aPxo8x63Tg7L0aa5VD9BMaRzZDmhrog7IuEPg,43
|
|
28
|
-
cmem_cmemc/manual_helper/graph.py,sha256=tJsqv5eSIvlpFpQIQ5SZCLPYsaOnwsUUAKHniXpwVlE,3597
|
|
29
|
-
cmem_cmemc/manual_helper/multi_page.py,sha256=JeRHTgfXD_8Ani9wzyBK8aUOfKfYeaat3U90I-CdykE,12170
|
|
30
|
-
cmem_cmemc/manual_helper/single_page.py,sha256=sVSeaZmPa-Cs6dtp27MqyiO6rIrskY9BtDyeAZhBWXM,1477
|
|
31
|
-
cmem_cmemc/object_list.py,sha256=6TeJ2sc8olLhXYvPCr_CUE009RjsgpEYEl2AUm5G6Vg,13255
|
|
32
|
-
cmem_cmemc/utils.py,sha256=2ma2yVIbII9aCHGcZl9k9j1Xcx34d5dPhs_ncVVsk7Y,10650
|
|
33
|
-
cmem_cmemc-24.1.1rc1.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
34
|
-
cmem_cmemc-24.1.1rc1.dist-info/METADATA,sha256=NVOp7Mt0WV5nnnEpn5El37CRLJfO7NhAf-GWkNJ3jE8,2622
|
|
35
|
-
cmem_cmemc-24.1.1rc1.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
36
|
-
cmem_cmemc-24.1.1rc1.dist-info/entry_points.txt,sha256=znWUTG-zgDITu6Frsd-OtNxBxj6Uo8Fa7bz6gaZYMrA,41
|
|
37
|
-
cmem_cmemc-24.1.1rc1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|