mat3ra-esse 2024.4.8.post5__py3-none-any.whl → 2024.4.9.post0__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.
Potentially problematic release.
This version of mat3ra-esse might be problematic. Click here for more details.
- mat3ra/esse/data/schemas.py +1 -1
- {mat3ra_esse-2024.4.8.post5.dist-info → mat3ra_esse-2024.4.9.post0.dist-info}/METADATA +9 -7
- {mat3ra_esse-2024.4.8.post5.dist-info → mat3ra_esse-2024.4.9.post0.dist-info}/RECORD +6 -6
- {mat3ra_esse-2024.4.8.post5.dist-info → mat3ra_esse-2024.4.9.post0.dist-info}/LICENSE.md +0 -0
- {mat3ra_esse-2024.4.8.post5.dist-info → mat3ra_esse-2024.4.9.post0.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2024.4.8.post5.dist-info → mat3ra_esse-2024.4.9.post0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mat3ra-esse
|
|
3
|
-
Version: 2024.4.
|
|
3
|
+
Version: 2024.4.9.post0
|
|
4
4
|
Summary: Excellent Source of Schemas and Examples.
|
|
5
5
|
Author-email: "Exabyte Inc." <info@mat3ra.com>
|
|
6
6
|
License: # LICENSE
|
|
@@ -49,7 +49,6 @@ The latest variants of schemas and examples are available at [schemas.mat3ra.com
|
|
|
49
49
|
|
|
50
50
|
ESSE has a dual-nature as both a Python and a Node.js package.
|
|
51
51
|
|
|
52
|
-
|
|
53
52
|
## 1. Installation
|
|
54
53
|
|
|
55
54
|
### 1.1. Python
|
|
@@ -78,7 +77,6 @@ pip install -e PATH_TO_ESSE_REPOSITORY
|
|
|
78
77
|
npm install @mat3ra/esse
|
|
79
78
|
```
|
|
80
79
|
|
|
81
|
-
|
|
82
80
|
## 2. Usage
|
|
83
81
|
|
|
84
82
|
ESSE contains separate but equivalent interfaces for Python and Javascript.
|
|
@@ -102,7 +100,6 @@ const helper = new ESSE();
|
|
|
102
100
|
const schema = helper.getSchemaById("material");
|
|
103
101
|
```
|
|
104
102
|
|
|
105
|
-
|
|
106
103
|
## 3. Directory Structure
|
|
107
104
|
|
|
108
105
|
ESSE contains 3 main directories, [schema](schema), [example](example) and [src](src) outlined below.
|
|
@@ -125,12 +122,11 @@ This directory contains the examples formed according to the schemas and impleme
|
|
|
125
122
|
|
|
126
123
|
This directory contains Python and Javascript interfaces implementing the functionality to access and validate schemas and examples.
|
|
127
124
|
|
|
128
|
-
|
|
129
125
|
## 4. Conventions
|
|
130
126
|
|
|
131
127
|
### 4.1. Generative vs Non-generative keys
|
|
132
|
-
Generative keys are the fields which allow for user input prior to calculation of the final property values. A flag is included in the schema comments on the fields in [property schemas](schema/properties_directory): `isGenerative:true` marks which fields to use as subschemas in the generation of a user input schema. On properties allowing user inputs, additional fields may be tagged, as in [the `file_content` property](schema/properties_directory/non-scalar/file_content.json)
|
|
133
128
|
|
|
129
|
+
Generative keys are the fields which allow for user input prior to calculation of the final property values. A flag is included in the schema comments on the fields in [property schemas](schema/properties_directory): `isGenerative:true` marks which fields to use as subschemas in the generation of a user input schema. On properties allowing user inputs, additional fields may be tagged, as in [the `file_content` property](schema/properties_directory/non-scalar/file_content.json)
|
|
134
130
|
|
|
135
131
|
## 5. Development
|
|
136
132
|
|
|
@@ -155,13 +151,19 @@ NOTE: The PY and JS modules are built from the same JSON sources, but using diff
|
|
|
155
151
|
When developing in python the following should be taken into account:
|
|
156
152
|
|
|
157
153
|
1. The modules containing the schemas and examples are generated using the [build-schemas.py](./build_schemas.py) script. There is a setup for it to be run automatically on every commit, but it is recommended to run it manually before committing to make sure that the changes are reflected in the modules. This can be done with `pre-commit run --all-files`. The pre-commit package can be installed with `pip install pre-commit`. To rebuild schemas manually, run (note `-e` in install):
|
|
154
|
+
|
|
158
155
|
```bash
|
|
159
156
|
virtualenv .venv
|
|
160
157
|
source .venv/bin/activate
|
|
161
158
|
pip install -e ."[tests]"
|
|
159
|
+
pip install pre-commit
|
|
160
|
+
pre-commit --install
|
|
161
|
+
git config --unset-all core.hooksPath
|
|
162
162
|
python build_schemas.py
|
|
163
163
|
```
|
|
164
|
+
|
|
164
165
|
2. Tests can be run using the following commands:
|
|
166
|
+
|
|
165
167
|
```bash
|
|
166
168
|
virtualenv .venv
|
|
167
169
|
source .venv/bin/activate
|
|
@@ -172,6 +174,7 @@ When developing in python the following should be taken into account:
|
|
|
172
174
|
### 5.2. Development in Javascript/Typescript
|
|
173
175
|
|
|
174
176
|
See [package.json](package.json) for the list of available npm commands. The JS modules are generated using the [build_schema.js](./build_schema.js) script. There is a setup for it to be run automatically when the package is installed (see "transpile" directive). To rebuild schemas manually, run:
|
|
177
|
+
|
|
175
178
|
```bash
|
|
176
179
|
npm install
|
|
177
180
|
npm run transpile
|
|
@@ -186,7 +189,6 @@ Other suggestions:
|
|
|
186
189
|
- Use unique IDs for schemas
|
|
187
190
|
- Do not use circular references in the schemas, instead leave the type as object and add explanation to description.
|
|
188
191
|
|
|
189
|
-
|
|
190
192
|
## Links
|
|
191
193
|
|
|
192
194
|
[^1]: [Data-centric online ecosystem for digital materials science](https://arxiv.org/pdf/1902.10838.pdf)
|
|
@@ -4,7 +4,7 @@ mat3ra/esse/utils.py,sha256=-FexdtkOYGEWmwJUwWDuJferibc7M1YzUH738Bffuxo,1727
|
|
|
4
4
|
mat3ra/esse/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
mat3ra/esse/data/examples.py,sha256=foCkPV0bI0Mu3aoNB8ot6W6moANpdD8-3l6DxSg1w1s,45982
|
|
6
6
|
mat3ra/esse/data/properties.py,sha256=geWFIVIJbdn2Q_JG3Mz36oQ_dXeZZwnmlS_NgszvHUY,6099
|
|
7
|
-
mat3ra/esse/data/schemas.py,sha256=
|
|
7
|
+
mat3ra/esse/data/schemas.py,sha256=bNnrHiSmecFxtG_zFr3EvRNx_8cgPzknB4oyViT0PSk,1711404
|
|
8
8
|
mat3ra/esse/models/__init__.py,sha256=A62Az-FUlQtAtprjSTr4WDHA1Xgan5YN8H9u_8yLEq4,78
|
|
9
9
|
mat3ra/esse/models/element.py,sha256=zS58bFByO5oJ4V0jy-JVxFHkNxt0Mw_BJeqYqFIBWyU,1399
|
|
10
10
|
mat3ra/esse/models/project.py,sha256=jIXh7TYx80gi2cBoI4gDbkSbxa6lJopE3OFZEQcdjok,1959
|
|
@@ -446,8 +446,8 @@ mat3ra/esse/models/workflow/unit/runtime/_runtime_item_name_object.py,sha256=P8r
|
|
|
446
446
|
mat3ra/esse/models/workflow/unit/runtime/_runtime_item_string.py,sha256=_sP19oWMA1EGFcQmOlH2bzFNQSPmBXofP-PBmj57AdU,354
|
|
447
447
|
mat3ra/esse/models/workflow/unit/runtime/runtime_item.py,sha256=cbr4N6MhbmePHgPFcFDW7Y7Tp9cC-szLmRDbo46NlTk,471
|
|
448
448
|
mat3ra/esse/models/workflow/unit/runtime/runtime_items.py,sha256=oYNxknQqD4tD9I-_L_wg12UOt4FyFm-q15-fObGk18w,943
|
|
449
|
-
mat3ra_esse-2024.4.
|
|
450
|
-
mat3ra_esse-2024.4.
|
|
451
|
-
mat3ra_esse-2024.4.
|
|
452
|
-
mat3ra_esse-2024.4.
|
|
453
|
-
mat3ra_esse-2024.4.
|
|
449
|
+
mat3ra_esse-2024.4.9.post0.dist-info/LICENSE.md,sha256=CBGo1CDw-8EWCk7x9HOiF-OShdnHY6j__TjFyZPpQME,563
|
|
450
|
+
mat3ra_esse-2024.4.9.post0.dist-info/METADATA,sha256=nOkjsjFrDOcWdKUtQV0XT45CoqTftH5xUdKZJfACVrc,8896
|
|
451
|
+
mat3ra_esse-2024.4.9.post0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
452
|
+
mat3ra_esse-2024.4.9.post0.dist-info/top_level.txt,sha256=GizAtvIqqIcCWShlThl_mgig_bZs_LFyqVah6wrGHIs,7
|
|
453
|
+
mat3ra_esse-2024.4.9.post0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|