cmem-plugin-validation 1.1.2__tar.gz → 1.2.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.
@@ -1,22 +1,24 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: cmem-plugin-validation
3
- Version: 1.1.2
3
+ Version: 1.2.0
4
4
  Summary: Validate graph and data structures.
5
- Home-page: https://github.com/eccenca/cmem-plugin-validation
6
5
  License: Apache-2.0
6
+ License-File: LICENSE
7
7
  Keywords: eccenca Corporate Memory,plugin
8
8
  Author: eccenca GmbH
9
9
  Author-email: cmempy-developer@eccenca.com
10
- Requires-Python: >=3.11,<4.0
10
+ Requires-Python: >=3.13,<4.0
11
11
  Classifier: Development Status :: 4 - Beta
12
12
  Classifier: Environment :: Plugins
13
13
  Classifier: License :: OSI Approved :: Apache Software License
14
14
  Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.11
16
- Classifier: Programming Language :: Python :: 3.12
17
15
  Classifier: Programming Language :: Python :: 3.13
18
- Requires-Dist: cmem-plugin-base (>=4.7.0,<5.0.0)
19
- Requires-Dist: jsonschema (>=4.23.0,<5.0.0)
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Requires-Dist: cmem-cmempy (>=25.3.0)
18
+ Requires-Dist: cmem-plugin-base (>=4.15.0,<5.0.0)
19
+ Requires-Dist: jsonschema (>=4.25.1,<5.0.0)
20
+ Requires-Dist: requests (>=2.0.1)
21
+ Project-URL: Homepage, https://github.com/eccenca/cmem-plugin-validation
20
22
  Description-Content-Type: text/markdown
21
23
 
22
24
  # cmem-plugin-validation
@@ -25,7 +27,7 @@ Validate graph and data structures.
25
27
 
26
28
  [![eccenca Corporate Memory][cmem-shield]][cmem-link]
27
29
 
28
- This is a plugin for [eccenca](https://eccenca.com) [Corporate Memory](https://documentation.eccenca.com). You can install it with the [cmemc](https://eccenca.com/go/cmemc) command line clients like this:
30
+ This is a plugin for [eccenca](https://eccenca.com) [Corporate Memory](https://documentation.eccenca.com). You can install it with the [cmemc](https://eccenca.com/go/cmemc) command line client like this:
29
31
 
30
32
  ```
31
33
  cmemc admin workspace python install cmem-plugin-validation
@@ -4,7 +4,7 @@ Validate graph and data structures.
4
4
 
5
5
  [![eccenca Corporate Memory][cmem-shield]][cmem-link]
6
6
 
7
- This is a plugin for [eccenca](https://eccenca.com) [Corporate Memory](https://documentation.eccenca.com). You can install it with the [cmemc](https://eccenca.com/go/cmemc) command line clients like this:
7
+ This is a plugin for [eccenca](https://eccenca.com) [Corporate Memory](https://documentation.eccenca.com). You can install it with the [cmemc](https://eccenca.com/go/cmemc) command line client like this:
8
8
 
9
9
  ```
10
10
  cmemc admin workspace python install cmem-plugin-validation
@@ -45,9 +45,11 @@ JSON Schema specification.
45
45
  The used JSON Schema needs to be provided as a JSON Dataset in the project.
46
46
 
47
47
  ### Input Modes
48
+
48
49
  The plugin supports two input modes for validation:
50
+
49
51
  1. **Validate Entities**: Validates entities received from the input port in the workflow.
50
- 2. **Validate JSON Dataset**: Validates a JSON dataset stored in the project.
52
+ 2. **Validate JSON Dataset**: Validates a JSON dataset stored in the project.
51
53
  - If the JSON dataset is a JSON array, the schema will validate each object inside the array.
52
54
  - If the JSON dataset is a JSON object, it will be validated against the schema directly.
53
55
 
@@ -55,16 +57,21 @@ Validated data objects can be sent to an output port for further processing in t
55
57
  or saved in a JSON dataset in the project.
56
58
 
57
59
  ### Output Modes
58
- 1. **Valid JSON objects sent to Output Port**: Valid JSON objects can be sent as entities to the output port.
59
- 2. **Saved in JSON Dataset**: Valid JSON objects can be stored in a specified JSON dataset in the project.
60
+
61
+ 1. **Valid JSON objects sent to Output Port**: Valid JSON objects can be sent as entities
62
+ to the output port.
63
+ 2. **Saved in JSON Dataset**: Valid JSON objects can be stored in a specified JSON dataset
64
+ in the project.
60
65
 
61
66
  ### Error Handling
67
+
62
68
  The task can either:
69
+
63
70
  - Fail instantly if there is a data violation, halting the workflow.
64
- - Provide warnings in the workflow report, allowing follow-up tasks to run based on the validated data.
71
+ - Provide warnings in the workflow report, allowing follow-up tasks to run based on the
72
+ validated data.
65
73
 
66
74
  The error handling behavior is configurable through the `Fail on violations` parameter.
67
-
68
75
  """
69
76
 
70
77
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cmem-plugin-validation"
3
- version = "1.1.2"
3
+ version = "1.2.0"
4
4
  license = "Apache-2.0"
5
5
  description = "Validate graph and data structures."
6
6
  authors = ["eccenca GmbH <cmempy-developer@eccenca.com>"]
@@ -14,26 +14,29 @@ keywords = [
14
14
  homepage = "https://github.com/eccenca/cmem-plugin-validation"
15
15
 
16
16
  [tool.poetry.dependencies]# if you need to change python version here, change it also in .python-version
17
- python = "^3.11"
18
- jsonschema = "^4.23.0"
17
+ python = "^3.13"
18
+ jsonschema = "^4.25.1"
19
+ cmem-cmempy = ">=25.3.0"
20
+ requests = ">=2.0.1"
19
21
 
20
22
  [tool.poetry.dependencies.cmem-plugin-base]
21
- version = "^4.7.0"
23
+ version = "^4.15.0"
22
24
  allow-prereleases = false
23
25
 
24
26
  [tool.poetry.group.dev.dependencies.cmem-cmemc]
25
- version = "^24.2.0"
27
+ version = ">=24.2.0"
26
28
 
27
29
  [tool.poetry.group.dev.dependencies]
28
- genbadge = {extras = ["coverage"], version = "^1.1.1"}
29
- mypy = "^1.11.1"
30
- pip = "^24"
31
- pytest = "^8.3.2"
32
- pytest-cov = "^5.0.0"
30
+ deptry = "^0.23.1"
31
+ genbadge = {extras = ["coverage"], version = "^1.1.2"}
32
+ mypy = "^1.18.2"
33
+ pip = "^25.2"
34
+ pytest = "^8.4.2"
35
+ pytest-cov = "^7.0.0"
33
36
  pytest-dotenv = "^0.5.2"
34
37
  pytest-html = "^4.1.1"
35
- pytest-memray = { version = "^1.7.0", markers = "platform_system != 'Windows'" }
36
- ruff = "^0.6.1"
38
+ pytest-memray = { version = "^1.8.0", markers = "platform_system != 'Windows'" }
39
+ ruff = "^0.13.3"
37
40
  safety = "^1.10.3"
38
41
  types-requests = "^2.31.0.20240406"
39
42
 
@@ -76,7 +79,6 @@ line-ending = "lf" # Use `\n` line endings for all files
76
79
  [tool.ruff.lint]
77
80
  select = ["ALL"]
78
81
  ignore = [
79
- "ANN101", # Missing type annotation for self in method
80
82
  "ANN204", # Missing return type annotation for special method `__init__`
81
83
  "COM812", # missing-trailing-comma
82
84
  "D107", # Missing docstring in __init__
@@ -94,4 +96,3 @@ ignore = [
94
96
  "S101", # use of assert detected
95
97
  "TRY003", # Avoid specifying long messages outside the exception class
96
98
  ]
97
-