Skip to content

Commit cf7f6b0

Browse files
author
Ludwig Schneider
committed
do changelog
1 parent 9fd6a58 commit cf7f6b0

File tree

3 files changed

+96
-8
lines changed

3 files changed

+96
-8
lines changed

.trunk/configs/.cspell.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@
123123
"Doctests",
124124
"linenums",
125125
"XLYOFNOQVPJJNP",
126-
"CRIPTUUID"
126+
"CRIPTUUID",
127+
"rootdir",
128+
"startswith",
129+
"pluggy"
127130
]
128131
}

CHANGELOG.md

Lines changed: 91 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,94 @@
11
# CRIPT Python SDK Changelog
22

3+
## Version 2.4.0
4+
5+
### New Features
6+
7+
- `cript.API` searches work as intended.
8+
- SDK initiated searches can be controlled and interrupted for large queries.
9+
10+
### Known Issues and Bugs
11+
12+
- Saving projects is not supported. Temporarily, you can use `get_expanded_json` to store a JSON representation of projects, which can be uploaded into CRIPT at a later time.
13+
- Permission settings in CRIPT do not influence the behavior of the SDK objects.
14+
- Tests that require valid tokens (like saving or searching) are not included in CI/CD tests.
15+
- BigSMILES searches can contain duplicates.
16+
17+
### Bug Fixes
18+
19+
- Search is now matched with the API requirements.
20+
21+
### Breaking Changes
22+
23+
- The Paginator interface changed to reflect the backend requirements.
24+
25+
### Health Report
26+
27+
````shell
28+
=============================================================================================== test session starts ===============================================================================================
29+
platform linux -- Python 3.11.2, pytest-7.4.3, pluggy-1.3.0
30+
rootdir: /home/ludwig/git/Python-SDK
31+
plugins: cov-4.1.0
32+
collected 124 items
33+
34+
tests/test_node_util.py ........... [ 8%]
35+
tests/api/test_api.py ..... [ 12%]
36+
tests/api/test_db_schema.py ..... [ 16%]
37+
tests/api/test_search.py .....F [ 21%]
38+
tests/nodes/test_utils.py .. [ 23%]
39+
tests/nodes/primary_nodes/test_collection.py .....F [ 28%]
40+
tests/nodes/primary_nodes/test_computation.py .....F [ 33%]
41+
tests/nodes/primary_nodes/test_computational_process.py ....F [ 37%]
42+
tests/nodes/primary_nodes/test_data.py ....F [ 41%]
43+
tests/nodes/primary_nodes/test_experiment.py ....F [ 45%]
44+
tests/nodes/primary_nodes/test_inventory.py ..F [ 47%]
45+
tests/nodes/primary_nodes/test_material.py ...F [ 50%]
46+
tests/nodes/primary_nodes/test_process.py .....F [ 55%]
47+
tests/nodes/primary_nodes/test_project.py ...F [ 58%]
48+
tests/nodes/primary_nodes/test_reference.py ......F [ 64%]
49+
tests/nodes/subobjects/test_algorithm.py ..F [ 66%]
50+
tests/nodes/subobjects/test_citation.py ..F [ 69%]
51+
tests/nodes/subobjects/test_computational_forcefield.py ..F [ 71%]
52+
tests/nodes/subobjects/test_condition.py ..F [ 74%]
53+
tests/nodes/subobjects/test_equipment.py ..F [ 76%]
54+
tests/nodes/subobjects/test_ingredient.py ..F [ 79%]
55+
tests/nodes/subobjects/test_parameter.py ..F [ 81%]
56+
tests/nodes/subobjects/test_property.py ..F [ 83%]
57+
tests/nodes/subobjects/test_quantity.py ..F [ 86%]
58+
tests/nodes/subobjects/test_software.py ...F [ 89%]
59+
tests/nodes/subobjects/test_software_configuration.py ..F [ 91%]
60+
tests/nodes/supporting_nodes/test_file.py ..s....F [ 98%]
61+
tests/nodes/supporting_nodes/test_user.py ..
62+
63+
FAILED tests/nodes/primary_nodes/test_collection.py::test_integration_collection - AttributeError: 'list' object has no attribute 'startswith'
64+
FAILED tests/nodes/primary_nodes/test_computation.py::test_integration_computation - AttributeError: 'list' object has no attribute 'startswith'
65+
FAILED tests/nodes/primary_nodes/test_computational_process.py::test_integration_computational_process - AttributeError: 'list' object has no attribute 'startswith'
66+
FAILED tests/nodes/primary_nodes/test_data.py::test_integration_data - AttributeError: 'list' object has no attribute 'startswith'
67+
FAILED tests/nodes/primary_nodes/test_experiment.py::test_integration_experiment - AttributeError: 'list' object has no attribute 'startswith'
68+
FAILED tests/nodes/primary_nodes/test_inventory.py::test_integration_inventory - AttributeError: 'list' object has no attribute 'startswith'
69+
FAILED tests/nodes/primary_nodes/test_material.py::test_integration_material - AttributeError: 'list' object has no attribute 'startswith'
70+
FAILED tests/nodes/primary_nodes/test_process.py::test_integration_complex_process - AttributeError: 'list' object has no attribute 'startswith'
71+
FAILED tests/nodes/primary_nodes/test_project.py::test_integration_project - AttributeError: 'list' object has no attribute 'startswith'
72+
FAILED tests/nodes/primary_nodes/test_reference.py::test_integration_reference - IndexError: list index out of range
73+
FAILED tests/nodes/subobjects/test_algorithm.py::test_integration_algorithm - AttributeError: 'list' object has no attribute 'startswith'
74+
FAILED tests/nodes/subobjects/test_citation.py::test_integration_citation - IndexError: list index out of range
75+
FAILED tests/nodes/subobjects/test_computational_forcefield.py::test_integration_computational_forcefield - AttributeError: 'NoneType' object has no attribute 'description'
76+
FAILED tests/nodes/subobjects/test_condition.py::test_integration_process_condition - AttributeError: 'list' object has no attribute 'startswith'
77+
FAILED tests/nodes/subobjects/test_equipment.py::test_integration_equipment - AttributeError: 'list' object has no attribute 'startswith'
78+
FAILED tests/nodes/subobjects/test_ingredient.py::test_integration_ingredient - AttributeError: 'list' object has no attribute 'startswith'
79+
FAILED tests/nodes/subobjects/test_parameter.py::test_integration_parameter - AttributeError: 'list' object has no attribute 'startswith'
80+
FAILED tests/nodes/subobjects/test_property.py::test_integration_material_property - IndexError: list index out of range
81+
FAILED tests/nodes/subobjects/test_quantity.py::test_integration_quantity - AttributeError: 'list' object has no attribute 'startswith'
82+
FAILED tests/nodes/subobjects/test_software.py::test_integration_software - AttributeError: 'list' object has no attribute 'startswith'
83+
FAILED tests/nodes/subobjects/test_software_configuration.py::test_integration_software_configuration - AttributeError: 'list' object has no attribute 'startswith'
84+
FAILED tests/nodes/supporting_nodes/test_file.py::test_integration_file - AttributeError: 'list' object has no attribute 'startswith'
85+
======================================================================== 22 failed, 101 passed, 1 skipped, 1 warning in 1506.18s (0:25:06) ========================================================================
86+
87+
88+
389
## Version 2.3.0
490

5-
**New Features:**
91+
### New Features
692

793
- `cript.API` objects now have a `DataSchema` attribute called `schema`, representing the JSON schema for node validation.
894
- This includes the ability to enable and disable node validation.
@@ -19,22 +105,22 @@
19105
- Debugging messages show full API requests and responses for debugging.
20106
- Automated UUID caching for nodes can now be explicitly circumvented when using `cript.load_nodes_from_json`. Mostly useful for development.
21107

22-
**Known Issues and Bugs:**
108+
### Known Issues and Bugs
23109

24110
- Saving projects is not supported. Temporarily, you can use `get_expanded_json` to store a JSON representation of projects, which can be uploaded into CRIPT at a later time.
25111
- BigSMILES search patterns are not supported.
26112
- Searching for more than 1000 pages (10000 entries) is not supported.
27113
- Permission settings in CRIPT do not influence the behavior of the SDK objects.
28114
- Tests that require valid tokens (like saving or searching) are not included in CI/CD tests.
29115

30-
**Bugfixes:**
116+
### Bugfixes
31117

32118
- `cript.load_nodes_from_json` can now load JSON files that store different nodes in lists or dictionaries.
33119
- Not all nodes were correctly validated at all times, especially if instantiated from JSON. All nodes are automatically validated now.
34120
- The documentation has been updated to remove certain mistakes.
35121
- Users can have only one Python object with the same UUID to avoid mis-updates. This did not work in all cases, but it works in all cases now.
36122

37-
**Breaking Changes:**
123+
### Breaking Changes
38124

39125
- `cript.API()` objects no longer have functions related to JSON schema validation. Please use the new `DataSchema` class instead. The `DataSchema` class can be accessed via the `schema` property of the API class.
40126
- Indirect logging control via the API is defunct. Please use the direct access to the `logger` attribute of API classes to control logging output.
@@ -102,4 +188,4 @@ FAILED tests/nodes/subobjects/test_software.py::test_integration_software - Attr
102188
FAILED tests/nodes/subobjects/test_software_configuration.py::test_integration_software_configuration - AttributeError: 'list' object has no attribute 'starts with'
103189
FAILED tests/nodes/supporting_nodes/test_file.py::test_integration_file - AttributeError: 'list' object has no attribute 'starts with'
104190
======================================================================== 23 failed, 100 passed, 1 skipped, 1 warning in 905.51s (0:15:05) =========================================================================
105-
```
191+
````

tests/api/test_search.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ def test_api_search_node_type(cript_api: cript.API) -> None:
6262
if mat["uuid"] in uuid_list:
6363
print(mat["uuid"])
6464

65-
# TODO enable duplicate test
66-
# assert mat["uuid"] not in uuid_list
65+
assert mat["uuid"] not in uuid_list
6766
assert i < 21
6867

6968

0 commit comments

Comments
 (0)