|
1 | 1 | # CRIPT Python SDK Changelog
|
2 | 2 |
|
| 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 | + |
3 | 89 | ## Version 2.3.0
|
4 | 90 |
|
5 |
| -**New Features:** |
| 91 | +### New Features |
6 | 92 |
|
7 | 93 | - `cript.API` objects now have a `DataSchema` attribute called `schema`, representing the JSON schema for node validation.
|
8 | 94 | - This includes the ability to enable and disable node validation.
|
|
19 | 105 | - Debugging messages show full API requests and responses for debugging.
|
20 | 106 | - Automated UUID caching for nodes can now be explicitly circumvented when using `cript.load_nodes_from_json`. Mostly useful for development.
|
21 | 107 |
|
22 |
| -**Known Issues and Bugs:** |
| 108 | +### Known Issues and Bugs |
23 | 109 |
|
24 | 110 | - 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.
|
25 | 111 | - BigSMILES search patterns are not supported.
|
26 | 112 | - Searching for more than 1000 pages (10000 entries) is not supported.
|
27 | 113 | - Permission settings in CRIPT do not influence the behavior of the SDK objects.
|
28 | 114 | - Tests that require valid tokens (like saving or searching) are not included in CI/CD tests.
|
29 | 115 |
|
30 |
| -**Bugfixes:** |
| 116 | +### Bugfixes |
31 | 117 |
|
32 | 118 | - `cript.load_nodes_from_json` can now load JSON files that store different nodes in lists or dictionaries.
|
33 | 119 | - Not all nodes were correctly validated at all times, especially if instantiated from JSON. All nodes are automatically validated now.
|
34 | 120 | - The documentation has been updated to remove certain mistakes.
|
35 | 121 | - 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.
|
36 | 122 |
|
37 |
| -**Breaking Changes:** |
| 123 | +### Breaking Changes |
38 | 124 |
|
39 | 125 | - `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.
|
40 | 126 | - 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
|
102 | 188 | FAILED tests/nodes/subobjects/test_software_configuration.py::test_integration_software_configuration - AttributeError: 'list' object has no attribute 'starts with'
|
103 | 189 | FAILED tests/nodes/supporting_nodes/test_file.py::test_integration_file - AttributeError: 'list' object has no attribute 'starts with'
|
104 | 190 | ======================================================================== 23 failed, 100 passed, 1 skipped, 1 warning in 905.51s (0:15:05) =========================================================================
|
105 |
| -``` |
| 191 | +```` |
0 commit comments