cmem-cmemc 24.1.3rc1__py3-none-any.whl → 24.1.4__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 CHANGED
@@ -27,7 +27,7 @@ from cmem_cmemc.exceptions import InvalidConfigurationError
27
27
  from cmem_cmemc.manual_helper.graph import print_manual_graph
28
28
  from cmem_cmemc.manual_helper.multi_page import create_multi_page_documentation
29
29
  from cmem_cmemc.manual_helper.single_page import print_manual
30
- from cmem_cmemc.utils import extract_error_message, get_version
30
+ from cmem_cmemc.utils import check_python_version, extract_error_message, get_version
31
31
 
32
32
  CMEMC_VERSION = get_version()
33
33
 
@@ -39,16 +39,10 @@ if os.environ.get("_CMEMC_COMPLETE", "") == "zsh_source":
39
39
 
40
40
  version = sys.version_info
41
41
  PYTHON_VERSION = f"{version.major}.{version.minor}.{version.micro}"
42
- PYTHON_EXPECTED = "3.11"
43
- PYTHON_GOT = f"{version.major}.{version.minor}"
44
- if PYTHON_EXPECTED != PYTHON_GOT and not CONTEXT.is_completing():
45
- CONTEXT.echo_warning(
46
- "Warning: You are running cmemc under a non-tested python "
47
- f"environment (expected {PYTHON_EXPECTED}, got {PYTHON_GOT})"
48
- )
42
+ check_python_version(ctx=CONTEXT)
49
43
 
50
44
  # set the user-agent environment for the http request headers
51
- os.environ["CMEM_USER_AGENT"] = f"cmemc/{CMEMC_VERSION} " f"(Python {PYTHON_VERSION})"
45
+ os.environ["CMEM_USER_AGENT"] = f"cmemc/{CMEMC_VERSION} (Python {PYTHON_VERSION})"
52
46
 
53
47
  # https://github.com/pallets/click/blob/master/examples/complex/complex/cli.py
54
48
  CONTEXT_SETTINGS = {"auto_envvar_prefix": "CMEMC", "help_option_names": ["-h", "--help"]}
cmem_cmemc/utils.py CHANGED
@@ -3,9 +3,10 @@
3
3
  import json
4
4
  import os
5
5
  import re
6
+ import sys
6
7
  import unicodedata
7
8
  from dataclasses import dataclass
8
- from importlib.metadata import version
9
+ from importlib.metadata import version as cmemc_version
9
10
  from pathlib import Path
10
11
 
11
12
  import requests
@@ -22,7 +23,22 @@ from cmem_cmemc.context import ApplicationContext
22
23
 
23
24
  def get_version() -> str:
24
25
  """Get the current version or SNAPSHOT."""
25
- return version("cmem-cmemc")
26
+ return cmemc_version("cmem-cmemc")
27
+
28
+
29
+ def check_python_version(ctx: ApplicationContext) -> None:
30
+ """Check the runtime python version and warn or error."""
31
+ version = sys.version_info
32
+ major_expected = [3]
33
+ minor_expected = [10, 11, 12]
34
+ if version.major not in major_expected:
35
+ ctx.echo_error(f"Error: cmemc can not be executed with Python {version.major}.")
36
+ sys.exit(1)
37
+ if version.minor not in minor_expected and not ctx.is_completing():
38
+ ctx.echo_warning(
39
+ "Warning: You are running cmemc under a non-tested python "
40
+ f"environment ({version.major}.{version.minor})."
41
+ )
26
42
 
27
43
 
28
44
  def extract_error_message(error: Exception) -> str:
@@ -0,0 +1,86 @@
1
+ Metadata-Version: 2.1
2
+ Name: cmem-cmemc
3
+ Version: 24.1.4
4
+ Summary: Command line client for eccenca Corporate Memory
5
+ Home-page: https://eccenca.com/go/cmemc
6
+ License: Apache 2.0
7
+ Author: eccenca
8
+ Author-email: cmempy-developer@eccenca.com
9
+ Requires-Python: >=3.10,<4.0
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Customer Service
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Information Technology
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: Intended Audience :: System Administrators
17
+ Classifier: License :: OSI Approved :: Apache Software License
18
+ Classifier: License :: Other/Proprietary License
19
+ Classifier: Natural Language :: English
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3 :: Only
26
+ Classifier: Topic :: Database
27
+ Classifier: Topic :: Software Development :: Testing
28
+ Classifier: Topic :: Utilities
29
+ Requires-Dist: beautifulsoup4 (>=4.12.2,<5.0.0)
30
+ Requires-Dist: certifi (>=2023.5.7)
31
+ Requires-Dist: click (>=8.1.7,<9.0.0)
32
+ Requires-Dist: click-didyoumean (>=0.3.0,<0.4.0)
33
+ Requires-Dist: click-help-colors (>=0.9.1,<0.10.0)
34
+ Requires-Dist: cmem-cmempy (==24.1.1)
35
+ Requires-Dist: configparser (>=5.3.0,<6.0.0)
36
+ Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
37
+ Requires-Dist: natsort (>=8.3.1,<9.0.0)
38
+ Requires-Dist: prometheus-client (>=0.16.0,<0.17.0)
39
+ Requires-Dist: pygments (>=2.15.1,<3.0.0)
40
+ Requires-Dist: pyjwt (>=2.7.0,<3.0.0)
41
+ Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
42
+ Requires-Dist: requests (>=2.31.0,<3.0.0)
43
+ Requires-Dist: rich (>=13.7.0,<14.0.0)
44
+ Requires-Dist: six (>=1.16.0,<2.0.0)
45
+ Requires-Dist: timeago (>=1.0.16,<2.0.0)
46
+ Requires-Dist: treelib (>=1.6.4,<2.0.0)
47
+ Requires-Dist: urllib3 (>=2,<3)
48
+ Description-Content-Type: text/markdown
49
+
50
+ # cmemc
51
+
52
+ cmemc is the official command line client for [eccenca Corporate Memory](https://documentation.eccenca.com/).
53
+
54
+ [![version][version-shield]][changelog] [![Python Versions][python-shield]][pypi] [![eccenca Corporate Memory][cmem-shield]][cmem]
55
+
56
+ [![teaser][teaser-image]][cmemc-docu]
57
+
58
+ ## Installation
59
+
60
+ In order to install the cmemc, run:
61
+
62
+ pipx install cmem-cmemc
63
+
64
+ Of course you can install cmemc also with pip, but we recommend [pipx](https://pypa.github.io/pipx/) for normal desktop usage.
65
+
66
+ ## Configuration and Usage
67
+
68
+ cmemc is intended for System Administrators and Linked Data Expert, who wants to automate and remote control activities on eccenca Corporate Memory.
69
+
70
+ The cmemc manual including basic usage pattern, configuration as well as a command reference is available at:
71
+
72
+ [https://eccenca.com/go/cmemc](https://eccenca.com/go/cmemc)
73
+
74
+ cmemc only works with Python 3 and refuses to work with Python 2.x.
75
+ In addition to that, cmemc will warn you in case an untested Python environment is used.
76
+
77
+
78
+ [version-shield]: https://badge.fury.io/py/cmem-cmemc.svg
79
+ [changelog]: https://pypi.org/project/cmem-cmemc/#history
80
+ [python-shield]: https://img.shields.io/pypi/pyversions/cmem-cmemc.svg
81
+ [pypi]: https://pypi.org/project/cmem-cmemc/
82
+ [cmem]: https://documentation.eccenca.com
83
+ [cmem-shield]: https://img.shields.io/badge/made%20for-eccenca%20Corporate%20Memory-blue?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaWQ9IkxheWVyXzEiCiAgIGRhdGEtbmFtZT0iTGF5ZXIgMSIKICAgdmlld0JveD0iMCAwIDgxLjI5MDAwMSA4Mi4yODk4NiIKICAgdmVyc2lvbj0iMS4xIgogICB3aWR0aD0iODEuMjkwMDAxIgogICBoZWlnaHQ9IjgyLjI4OTg2NCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzODI2Ij4KICAgIDxzdHlsZQogICAgICAgaWQ9InN0eWxlODI0Ij4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZjM5MjAwOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlOiAjZjM5MjAwOwogICAgICAgIHN0cm9rZS13aWR0aDogMS41cHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnCiAgICAgaWQ9Imc4NDAiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjc2LC0zMS4xNDAxMzkpIj4KICAgIDxwYXRoCiAgICAgICBjbGFzcz0iY2xzLTEiCiAgICAgICBkPSJNIDU1LjksODUuMTkgQSAyMC4xNCwyMC4xNCAwIDEgMCAzNS43Niw2NS4wNSAyMC4xNCwyMC4xNCAwIDAgMCA1NS45LDg1LjE5IFoiCiAgICAgICBpZD0icGF0aDgyOCIgLz4KICAgIDxwYXRoCiAgICAgICBjbGFzcz0iY2xzLTEiCiAgICAgICBkPSJtIDk4LDU0LjE0IGEgOSw5IDAgMSAwIC04Ljk1LC05IDguOTUsOC45NSAwIDAgMCA4Ljk1LDkgeiIKICAgICAgIGlkPSJwYXRoODMwIiAvPgogICAgPHBhdGgKICAgICAgIGNsYXNzPSJjbHMtMSIKICAgICAgIGQ9Ik0gODguMzUsMTA4LjQzIEEgMTIuMzEsMTIuMzEgMCAxIDAgNzYsOTYuMTIgMTIuMzEsMTIuMzEgMCAwIDAgODguMzEsMTA4LjQzIFoiCiAgICAgICBpZD0icGF0aDgzMiIgLz4KICAgIDxsaW5lCiAgICAgICBjbGFzcz0iY2xzLTIiCiAgICAgICB4MT0iODYuOTcwMDAxIgogICAgICAgeTE9IjkyLjA1OTk5OCIKICAgICAgIHgyPSI1OC43Nzk5OTkiCiAgICAgICB5Mj0iNjcuMzYwMDAxIgogICAgICAgaWQ9ImxpbmU4MzQiIC8+CiAgICA8bGluZQogICAgICAgY2xhc3M9ImNscy0yIgogICAgICAgeDE9Ijk5LjE4IgogICAgICAgeTE9IjQ1Ljg0IgogICAgICAgeDI9IjU1LjQ4IgogICAgICAgeTI9IjY2LjEyMDAwMyIKICAgICAgIGlkPSJsaW5lODM2IiAvPgogICAgPGxpbmUKICAgICAgIGNsYXNzPSJjbHMtMiIKICAgICAgIHgxPSI5Ny45ODk5OTgiCiAgICAgICB5MT0iNDQuNjUwMDAyIgogICAgICAgeDI9Ijg4LjM0OTk5OCIKICAgICAgIHkyPSI5Mi44Mzk5OTYiCiAgICAgICBpZD0ibGluZTgzOCIgLz4KICA8L2c+Cjwvc3ZnPgo=
84
+ [teaser-image]: https://documentation.eccenca.com/24.1/automate/cmemc-command-line-interface/configuration/completion-setup/22.1-cmemc-create-dataset.gif
85
+ [cmemc-docu]: https://eccenca.com/go/cmemc
86
+
@@ -1,4 +1,4 @@
1
- cmem_cmemc/__init__.py,sha256=WOoZ0R_OAd5p6NAtcQGFdvDv5OLBeQOUYWHY-f3CNzc,5789
1
+ cmem_cmemc/__init__.py,sha256=z7zjBQWM1c2nW9ylGUelIPiKBtXhIO38qILBJXzuEWs,5532
2
2
  cmem_cmemc/_cmemc.zsh,sha256=fmkrBHIQxus8cp2AgO1tzZ5mNZdGL_83cYz3a9uAdsg,1326
3
3
  cmem_cmemc/commands/__init__.py,sha256=_PsHWhMFwyfRAYInt0AOs3dA3Cuqhsnf_enFLjxVCGQ,3626
4
4
  cmem_cmemc/commands/acl.py,sha256=cA76UvQquhZc9MdS3e94kcfSn9V_RzTQ5XM0Ko6w6hM,13769
@@ -29,9 +29,9 @@ cmem_cmemc/manual_helper/graph.py,sha256=qDchHdjRRDW2oZ66by81NxhoDgNxXaAUxq2keew
29
29
  cmem_cmemc/manual_helper/multi_page.py,sha256=K-S2_NubrHGynO5I_IMAanO2pZN2KETUV00wpjMqvjI,12171
30
30
  cmem_cmemc/manual_helper/single_page.py,sha256=sVSeaZmPa-Cs6dtp27MqyiO6rIrskY9BtDyeAZhBWXM,1477
31
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,,
32
+ cmem_cmemc/utils.py,sha256=LPotUSjAMSP2GFg5a5zqCQcpgFeR3Txht8nTTKneO2U,11362
33
+ cmem_cmemc-24.1.4.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
34
+ cmem_cmemc-24.1.4.dist-info/METADATA,sha256=hotbXDTJj2LeY9nrMH6RtyLXZwcdmpjukX7SjU_k8zk,5492
35
+ cmem_cmemc-24.1.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
36
+ cmem_cmemc-24.1.4.dist-info/entry_points.txt,sha256=znWUTG-zgDITu6Frsd-OtNxBxj6Uo8Fa7bz6gaZYMrA,41
37
+ cmem_cmemc-24.1.4.dist-info/RECORD,,
@@ -1,68 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: cmem-cmemc
3
- Version: 24.1.3rc1
4
- Summary: Command line client for eccenca Corporate Memory
5
- Home-page: https://eccenca.com/go/cmemc
6
- License: Apache 2.0
7
- Author: eccenca
8
- Author-email: cmempy-developer@eccenca.com
9
- Requires-Python: >=3.9,<4.0
10
- Classifier: Development Status :: 5 - Production/Stable
11
- Classifier: Intended Audience :: Developers
12
- Classifier: Intended Audience :: Science/Research
13
- Classifier: Intended Audience :: System Administrators
14
- Classifier: License :: OSI Approved :: Apache Software License
15
- Classifier: License :: Other/Proprietary License
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.9
18
- Classifier: Programming Language :: Python :: 3.10
19
- Classifier: Programming Language :: Python :: 3.11
20
- Classifier: Programming Language :: Python :: 3.12
21
- Classifier: Topic :: Database
22
- Classifier: Topic :: Software Development :: Testing
23
- Classifier: Topic :: Utilities
24
- Requires-Dist: beautifulsoup4 (>=4.12.2,<5.0.0)
25
- Requires-Dist: certifi (>=2023.5.7)
26
- Requires-Dist: click (>=8.1.7,<9.0.0)
27
- Requires-Dist: click-didyoumean (>=0.3.0,<0.4.0)
28
- Requires-Dist: click-help-colors (>=0.9.1,<0.10.0)
29
- Requires-Dist: cmem-cmempy (==24.1.1)
30
- Requires-Dist: configparser (>=5.3.0,<6.0.0)
31
- Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
32
- Requires-Dist: natsort (>=8.3.1,<9.0.0)
33
- Requires-Dist: prometheus-client (>=0.16.0,<0.17.0)
34
- Requires-Dist: pygments (>=2.15.1,<3.0.0)
35
- Requires-Dist: pyjwt (>=2.7.0,<3.0.0)
36
- Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
37
- Requires-Dist: requests (>=2.31.0,<3.0.0)
38
- Requires-Dist: rich (>=13.7.0,<14.0.0)
39
- Requires-Dist: six (>=1.16.0,<2.0.0)
40
- Requires-Dist: timeago (>=1.0.16,<2.0.0)
41
- Requires-Dist: treelib (>=1.6.4,<2.0.0)
42
- Requires-Dist: urllib3 (>=2,<3)
43
- Description-Content-Type: text/markdown
44
-
45
- # cmemc
46
-
47
- cmemc is the official command line client for [eccenca Corporate Memory](https://documentation.eccenca.com/).
48
-
49
- ## Installation
50
-
51
- In order to install the cmemc, run:
52
-
53
- pipx install cmem-cmemc
54
-
55
- Of course you can install cmemc also with pip, but we recommend [pipx](https://pypa.github.io/pipx/) for normal desktop usage.
56
-
57
- ## Configuration and Usage
58
-
59
- cmemc is intended for System Administrators and Linked Data Expert, who wants to automate and remote control activities on eccenca Corporate Memory.
60
-
61
- The cmemc manual including basic usage pattern, configuration as well as a command reference is available at:
62
-
63
- [https://eccenca.com/go/cmemc](https://eccenca.com/go/cmemc)
64
-
65
- cmemc only works with Python 3 and refuses to work with Python 2.x.
66
- In addition to that, cmemc will warn you in case an untested Python environment is used.
67
-
68
-