@mat3ra/esse 2025.4.17-0 → 2025.4.26-0

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.
Files changed (143) hide show
  1. package/.pre-commit-config.yaml +3 -6
  2. package/dist/js/example/core/abstract/vector_boolean_3d.json +5 -0
  3. package/dist/js/example/material.json +11 -11
  4. package/dist/js/example/properties_directory/structural/basis/atomic_coordinates.json +18 -21
  5. package/dist/js/example/properties_directory/structural/basis/atomic_elements.json +10 -0
  6. package/dist/js/example/properties_directory/structural/basis/atomic_label.json +4 -0
  7. package/dist/js/example/properties_directory/structural/basis/atomic_labels.json +10 -0
  8. package/dist/js/example/properties_directory/structural/lattice.json +11 -11
  9. package/dist/js/schema/{3pse → apse}/db/nist_jarvis/2024.3.13/atoms.json +1 -1
  10. package/dist/js/schema/{3pse → apse}/db/nist_jarvis/2024.3.13/db_entry.json +1 -1
  11. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/atomic_positions.json +1 -1
  12. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/atomic_species.json +1 -1
  13. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/cell.json +1 -1
  14. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/cell_parameters.json +1 -1
  15. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/control.json +1 -1
  16. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/electrons.json +1 -1
  17. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/hubbard.json +1 -1
  18. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/ions.json +1 -1
  19. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/k_points.json +1 -1
  20. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/system.json +1 -1
  21. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x.json +1 -1
  22. package/dist/js/schema/core/abstract/coordinate_3d.json +11 -0
  23. package/dist/js/schema/core/abstract/kpoint.json +12 -0
  24. package/dist/js/schema/core/abstract/{3d_tensor.json → matrix_3x3.json} +2 -2
  25. package/dist/js/schema/core/abstract/{point.json → vector_3d.json} +2 -2
  26. package/dist/js/schema/core/abstract/{vector.json → vector_boolean_3d.json} +2 -12
  27. package/dist/js/schema/core/primitive/array_of_ids.json +7 -1
  28. package/dist/js/schema/core/primitive/object_with_id.json +16 -0
  29. package/dist/js/schema/core/primitive/object_with_id_and_value.json +20 -0
  30. package/dist/js/schema/core/reusable/atomic_scalars.json +6 -0
  31. package/dist/js/schema/core/reusable/atomic_string.json +21 -0
  32. package/dist/js/schema/core/reusable/atomic_vector.json +28 -0
  33. package/dist/js/schema/core/reusable/atomic_vectors.json +15 -24
  34. package/dist/js/schema/core/reusable/band_gap.json +4 -2
  35. package/dist/js/schema/material.json +113 -96
  36. package/dist/js/schema/properties_directory/non_scalar/band_gaps.json +6 -3
  37. package/dist/js/schema/properties_directory/non_scalar/stress_tensor.json +1 -1
  38. package/dist/js/schema/properties_directory/structural/atomic_forces.json +15 -24
  39. package/dist/js/schema/properties_directory/structural/basis/atomic_constraint.json +34 -0
  40. package/dist/js/schema/properties_directory/structural/basis/atomic_constraints.json +30 -45
  41. package/dist/js/schema/properties_directory/structural/basis/atomic_constraints_property.json +53 -0
  42. package/dist/js/schema/properties_directory/structural/basis/atomic_coordinate.json +18 -28
  43. package/dist/js/schema/properties_directory/structural/basis/atomic_coordinates.json +26 -59
  44. package/dist/js/schema/properties_directory/structural/basis/atomic_element.json +7 -12
  45. package/dist/js/schema/properties_directory/structural/basis/atomic_elements.json +27 -0
  46. package/dist/js/schema/properties_directory/structural/basis/atomic_label.json +27 -10
  47. package/dist/js/schema/properties_directory/structural/basis/atomic_labels.json +42 -0
  48. package/dist/js/schema/properties_directory/structural/basis/bonds.json +7 -1
  49. package/dist/js/schema/properties_directory/structural/basis/units_enum.json +10 -0
  50. package/dist/js/schema/properties_directory/structural/basis.json +63 -52
  51. package/dist/js/schema/properties_directory/structural/lattice/lattice_vectors.json +15 -40
  52. package/dist/js/schema/properties_directory/structural/lattice/units/angle_enum.json +10 -0
  53. package/dist/js/schema/properties_directory/structural/lattice/units/length_enum.json +10 -0
  54. package/dist/js/schema/properties_directory/structural/lattice/vectors/units_enum.json +10 -0
  55. package/dist/js/schema/{core/abstract/3d_vector_basis.json → properties_directory/structural/lattice/vectors.json} +19 -5
  56. package/dist/js/schema/properties_directory/structural/lattice.json +50 -44
  57. package/dist/js/schema/properties_directory/structural/magnetic_moments.json +15 -24
  58. package/dist/js/schema/properties_directory/structural/molecular_pattern.json +21 -3
  59. package/dist/js/schema/properties_directory/structural/patterns/functional_group.json +7 -1
  60. package/dist/js/schema/properties_directory/structural/patterns/ring.json +7 -1
  61. package/dist/js/schema/properties_directory/structural/patterns/special_bond.json +7 -1
  62. package/dist/js/schemas.json +1 -1
  63. package/dist/js/types.d.ts +445 -322
  64. package/dist/js/types.js +1 -1
  65. package/example/core/abstract/vector_boolean_3d.json +5 -0
  66. package/example/properties_directory/structural/basis/atomic_coordinates.json +18 -21
  67. package/example/properties_directory/structural/basis/atomic_elements.json +10 -0
  68. package/example/properties_directory/structural/basis/atomic_label.json +4 -0
  69. package/example/properties_directory/structural/basis/atomic_labels.json +10 -0
  70. package/example/properties_directory/structural/lattice.json +12 -2
  71. package/package.json +3 -3
  72. package/schema/{3pse → apse}/db/nist_jarvis/2024.3.13/atoms.json +1 -1
  73. package/schema/{3pse → apse}/db/nist_jarvis/2024.3.13/db_entry.json +1 -1
  74. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/atomic_positions.json +1 -1
  75. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/atomic_species.json +1 -1
  76. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/cell.json +1 -1
  77. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/cell_parameters.json +1 -1
  78. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/control.json +1 -1
  79. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/electrons.json +1 -1
  80. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/hubbard.json +1 -1
  81. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/ions.json +1 -1
  82. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/k_points.json +1 -1
  83. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/system.json +1 -1
  84. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x.json +1 -1
  85. package/schema/core/abstract/coordinate_3d.json +10 -0
  86. package/schema/core/abstract/{3d_tensor.json → matrix_3x3.json} +2 -2
  87. package/schema/core/abstract/{point.json → vector_3d.json} +2 -2
  88. package/schema/core/abstract/{vector.json → vector_boolean_3d.json} +2 -5
  89. package/schema/core/primitive/array_of_ids.json +2 -8
  90. package/schema/core/primitive/object_with_id.json +17 -0
  91. package/schema/core/primitive/object_with_id_and_value.json +22 -0
  92. package/schema/core/reusable/atomic_string.json +15 -0
  93. package/schema/core/reusable/atomic_vector.json +15 -0
  94. package/schema/core/reusable/atomic_vectors.json +1 -11
  95. package/schema/core/reusable/band_gap.json +2 -2
  96. package/schema/core/reusable/kpoint.json +11 -0
  97. package/schema/properties_directory/non-scalar/band_gaps.json +1 -1
  98. package/schema/properties_directory/non-scalar/stress_tensor.json +1 -1
  99. package/schema/properties_directory/structural/basis/atomic_constraint.json +17 -0
  100. package/schema/properties_directory/structural/basis/atomic_constraints.json +4 -11
  101. package/schema/properties_directory/structural/basis/atomic_constraints_property.json +17 -0
  102. package/schema/properties_directory/structural/basis/atomic_coordinate.json +8 -6
  103. package/schema/properties_directory/structural/basis/atomic_coordinates.json +6 -18
  104. package/schema/properties_directory/structural/basis/atomic_element.json +5 -20
  105. package/schema/properties_directory/structural/basis/atomic_elements.json +10 -0
  106. package/schema/properties_directory/structural/basis/atomic_label.json +20 -6
  107. package/schema/properties_directory/structural/basis/atomic_labels.json +10 -0
  108. package/schema/properties_directory/structural/basis/units_enum.json +10 -0
  109. package/schema/properties_directory/structural/basis.json +4 -19
  110. package/schema/properties_directory/structural/lattice/units/angle_enum.json +10 -0
  111. package/schema/properties_directory/structural/lattice/units/length_enum.json +10 -0
  112. package/schema/properties_directory/structural/lattice/units.json +18 -0
  113. package/schema/properties_directory/structural/lattice/vectors/units_enum.json +10 -0
  114. package/schema/properties_directory/structural/lattice/vectors.json +33 -0
  115. package/schema/properties_directory/structural/lattice.json +41 -10
  116. package/dist/js/example/core/abstract/3d_vector_basis.json +0 -17
  117. package/dist/js/example/core/primitive/3d_lattice.json +0 -8
  118. package/dist/js/example/properties_directory/structural/lattice/lattice_bravais.json +0 -13
  119. package/dist/js/schema/core/primitive/3d_lattice.json +0 -40
  120. package/dist/js/schema/core/reusable/atomic_strings.json +0 -19
  121. package/dist/js/schema/properties_directory/structural/lattice/lattice_bravais.json +0 -87
  122. package/example/core/abstract/3d_vector_basis.json +0 -17
  123. package/example/core/primitive/3d_lattice.json +0 -8
  124. package/example/properties_directory/structural/lattice/lattice_bravais.json +0 -13
  125. package/schema/core/abstract/3d_vector_basis.json +0 -25
  126. package/schema/core/primitive/3d_lattice.json +0 -40
  127. package/schema/core/reusable/atomic_strings.json +0 -17
  128. package/schema/properties_directory/structural/lattice/lattice_bravais.json +0 -36
  129. package/schema/properties_directory/structural/lattice/lattice_vectors.json +0 -21
  130. /package/dist/js/example/{3pse → apse}/db/nist_jarvis/2024.3.13/db_entry.json +0 -0
  131. /package/dist/js/example/{3pse → apse}/file/applications/espresso/7.2/pw.x.json +0 -0
  132. /package/dist/js/example/core/abstract/{point.json → coordinate_3d.json} +0 -0
  133. /package/dist/js/example/core/abstract/{3d_tensor.json → matrix_3x3.json} +0 -0
  134. /package/dist/js/example/core/abstract/{vector.json → vector_3d.json} +0 -0
  135. /package/dist/js/example/properties_directory/structural/basis/{atomic_constraints.json → atomic_constraints_property.json} +0 -0
  136. /package/dist/js/example/properties_directory/structural/lattice/{lattice_vectors.json → vectors.json} +0 -0
  137. /package/example/{3pse → apse}/db/nist_jarvis/2024.3.13/db_entry.json +0 -0
  138. /package/example/{3pse → apse}/file/applications/espresso/7.2/pw.x.json +0 -0
  139. /package/example/core/abstract/{point.json → coordinate_3d.json} +0 -0
  140. /package/example/core/abstract/{3d_tensor.json → matrix_3x3.json} +0 -0
  141. /package/example/core/abstract/{vector.json → vector_3d.json} +0 -0
  142. /package/example/properties_directory/structural/basis/{atomic_constraints.json → atomic_constraints_property.json} +0 -0
  143. /package/example/properties_directory/structural/lattice/{lattice_vectors.json → vectors.json} +0 -0
@@ -3,9 +3,9 @@ repos:
3
3
  rev: 2023.6.13
4
4
  hooks:
5
5
  - id: ruff
6
- exclude: ^src/py/mat3ra/esse/data|^src/py/mat3ra/esse/models
6
+ exclude: ^src/py/mat3ra/esse/data|^src/py/mat3ra/esse/models|^dist*
7
7
  - id: black
8
- exclude: ^src/py/mat3ra/esse/data|^src/py/mat3ra/esse/models
8
+ exclude: ^src/py/mat3ra/esse/data|^src/py/mat3ra/esse/models|^dist*
9
9
  - repo: local
10
10
  hooks:
11
11
  # Note: only python 3.8.12 is tested for the model generation
@@ -25,10 +25,7 @@ repos:
25
25
  --use-title-as-name \
26
26
  --class-name ESSE \
27
27
  --disable-timestamp \
28
- --use-default && \
29
- # Move 3rd party modules to a separate directory with a PEP8 compliant name
30
- rm -rf ./dist/py/third_party && \
31
- mv ./dist/py/3pse ./dist/py/third_party'
28
+ --use-default'
32
29
  language: system
33
30
  pass_filenames: false
34
31
  verbose: true
@@ -0,0 +1,5 @@
1
+ [
2
+ true,
3
+ false,
4
+ false
5
+ ]
@@ -83,6 +83,17 @@
83
83
  "isNonPeriodic": false,
84
84
  "lattice": {
85
85
  "name": "lattice",
86
+ "a": 5.14,
87
+ "alpha": 90,
88
+ "b": 5.14,
89
+ "beta": 90,
90
+ "c": 5.14,
91
+ "gamma": 90,
92
+ "type": "CUB",
93
+ "units": {
94
+ "angle": "degree",
95
+ "length": "angstrom"
96
+ },
86
97
  "vectors": {
87
98
  "a": [
88
99
  5,
@@ -101,17 +112,6 @@
101
112
  5
102
113
  ],
103
114
  "units": "angstrom"
104
- },
105
- "a": 5.14,
106
- "alpha": 90,
107
- "b": 5.14,
108
- "beta": 90,
109
- "c": 5.14,
110
- "gamma": 90,
111
- "type": "CUB",
112
- "units": {
113
- "angle": "degree",
114
- "length": "angstrom"
115
115
  }
116
116
  },
117
117
  "name": "Silicon FCC",
@@ -1,21 +1,18 @@
1
- {
2
- "name": "atomic_coordinates",
3
- "values": [
4
- {
5
- "id": 1,
6
- "value": [
7
- 0,
8
- 0,
9
- 0
10
- ]
11
- },
12
- {
13
- "id": 2,
14
- "value": [
15
- 0.25,
16
- 0.25,
17
- 0.25
18
- ]
19
- }
20
- ]
21
- }
1
+ [
2
+ {
3
+ "id": 1,
4
+ "value": [
5
+ 0,
6
+ 0,
7
+ 0
8
+ ]
9
+ },
10
+ {
11
+ "id": 2,
12
+ "value": [
13
+ 0.25,
14
+ 0.25,
15
+ 0.25
16
+ ]
17
+ }
18
+ ]
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "id": 0,
4
+ "value": "Si"
5
+ },
6
+ {
7
+ "id": 1,
8
+ "value": "Si"
9
+ }
10
+ ]
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "id": 0,
4
+ "value": "1"
5
+ },
6
+ {
7
+ "id": 1,
8
+ "value": 2
9
+ }
10
+ ]
@@ -1,5 +1,16 @@
1
1
  {
2
2
  "name": "lattice",
3
+ "a": 5.14,
4
+ "alpha": 90,
5
+ "b": 5.14,
6
+ "beta": 90,
7
+ "c": 5.14,
8
+ "gamma": 90,
9
+ "type": "CUB",
10
+ "units": {
11
+ "angle": "degree",
12
+ "length": "angstrom"
13
+ },
3
14
  "vectors": {
4
15
  "a": [
5
16
  5,
@@ -18,16 +29,5 @@
18
29
  5
19
30
  ],
20
31
  "units": "angstrom"
21
- },
22
- "a": 5.14,
23
- "alpha": 90,
24
- "b": 5.14,
25
- "beta": 90,
26
- "c": 5.14,
27
- "gamma": 90,
28
- "type": "CUB",
29
- "units": {
30
- "angle": "degree",
31
- "length": "angstrom"
32
32
  }
33
33
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/db/nist-jarvis/2024.3.13/atoms",
2
+ "$id": "apse/db/nist-jarvis/2024.3.13/atoms",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "NIST JARVIS Atoms schema",
5
5
  "description": "NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/db/nist-jarvis/2024.3.13/db-entry",
2
+ "$id": "apse/db/nist-jarvis/2024.3.13/db-entry",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "NIST JARVIS db entry schema",
5
5
  "description": "NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/atomic-positions",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/atomic-positions",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "atomic positions schema",
5
5
  "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/atomic-species",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/atomic-species",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "atomic species schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/cell",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/cell",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "cell schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/cell-parameters",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/cell-parameters",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "cell parameters schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/control",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/control",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "control schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/electrons",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/electrons",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "electrons schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/hubbard",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/hubbard",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "hubbard schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/ions",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/ions",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "ions schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/k-points",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/k-points",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "k points schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/system",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/system",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "system schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "pwx main schema",
5
5
  "type": "object",
@@ -0,0 +1,11 @@
1
+ {
2
+ "$id": "core/abstract/coordinate-3d",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "coordinate 3d schema",
5
+ "type": "array",
6
+ "minItems": 3,
7
+ "maxItems": 3,
8
+ "items": {
9
+ "type": "number"
10
+ }
11
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$id": "core/abstract/kpoint",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "kpoint schema",
5
+ "description": "A k-point is a point in reciprocal space of a crystal.",
6
+ "type": "array",
7
+ "minItems": 3,
8
+ "maxItems": 3,
9
+ "items": {
10
+ "type": "number"
11
+ }
12
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
- "$id": "core/abstract/3d-tensor",
2
+ "$id": "core/abstract/matrix-3x3",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "3 dimensional tensor schema",
4
+ "title": "matrix 3x3 schema",
5
5
  "type": "array",
6
6
  "minItems": 3,
7
7
  "maxItems": 3,
@@ -1,7 +1,7 @@
1
1
  {
2
- "$id": "core/abstract/point",
2
+ "$id": "core/abstract/vector-3d",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "point schema",
4
+ "title": "vector 3d schema",
5
5
  "type": "array",
6
6
  "minItems": 3,
7
7
  "maxItems": 3,
@@ -1,18 +1,8 @@
1
1
  {
2
- "$id": "core/abstract/vector",
2
+ "$id": "core/abstract/vector-boolean-3d",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "vector schema",
4
+ "title": "vector boolean 3d schema",
5
5
  "oneOf": [
6
- {
7
- "$schema": "http://json-schema.org/draft-07/schema#",
8
- "title": "array of 3 number elements schema",
9
- "type": "array",
10
- "items": {
11
- "type": "number"
12
- },
13
- "minItems": 3,
14
- "maxItems": 3
15
- },
16
6
  {
17
7
  "$schema": "http://json-schema.org/draft-07/schema#",
18
8
  "title": "array of 3 boolean elements schema",
@@ -1,11 +1,17 @@
1
1
  {
2
2
  "$id": "core/primitive/array-of-ids",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "atomic ids",
4
+ "title": "array of ids",
5
5
  "description": "array of objects containing integer id each",
6
6
  "type": "array",
7
7
  "items": {
8
+ "$schema": "http://json-schema.org/draft-07/schema#",
9
+ "title": "object with id",
10
+ "description": "object containing integer id",
8
11
  "type": "object",
12
+ "required": [
13
+ "id"
14
+ ],
9
15
  "properties": {
10
16
  "id": {
11
17
  "description": "integer id of this entry",
@@ -0,0 +1,16 @@
1
+ {
2
+ "$id": "core/primitive/object-with-id",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "object with id",
5
+ "description": "object containing integer id",
6
+ "type": "object",
7
+ "required": [
8
+ "id"
9
+ ],
10
+ "properties": {
11
+ "id": {
12
+ "description": "integer id of this entry",
13
+ "type": "integer"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$id": "core/primitive/object-with-id-and-value",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "object with id and value schema",
5
+ "description": "object containing integer id and value each",
6
+ "type": "object",
7
+ "required": [
8
+ "id",
9
+ "value"
10
+ ],
11
+ "properties": {
12
+ "value": {
13
+ "description": "value of this entry"
14
+ },
15
+ "id": {
16
+ "description": "integer id of this entry",
17
+ "type": "integer"
18
+ }
19
+ }
20
+ }
@@ -5,7 +5,13 @@
5
5
  "type": "array",
6
6
  "description": "array of objects containing integer id each",
7
7
  "items": {
8
+ "$schema": "http://json-schema.org/draft-07/schema#",
9
+ "title": "object with id",
10
+ "description": "object containing integer id",
8
11
  "type": "object",
12
+ "required": [
13
+ "id"
14
+ ],
9
15
  "properties": {
10
16
  "value": {
11
17
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -0,0 +1,21 @@
1
+ {
2
+ "$id": "core/reusable/atomic-string",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "atomic string schema",
5
+ "description": "object containing integer id and value each",
6
+ "type": "object",
7
+ "required": [
8
+ "id",
9
+ "value"
10
+ ],
11
+ "properties": {
12
+ "value": {
13
+ "type": "string",
14
+ "description": "value of this entry"
15
+ },
16
+ "id": {
17
+ "description": "integer id of this entry",
18
+ "type": "integer"
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$id": "core/reusable/atomic-vector",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "atomic vector schema",
5
+ "description": "object containing integer id and value each",
6
+ "type": "object",
7
+ "required": [
8
+ "id",
9
+ "value"
10
+ ],
11
+ "properties": {
12
+ "value": {
13
+ "$schema": "http://json-schema.org/draft-07/schema#",
14
+ "title": "vector 3d schema",
15
+ "type": "array",
16
+ "minItems": 3,
17
+ "maxItems": 3,
18
+ "description": "value of this entry",
19
+ "items": {
20
+ "type": "number"
21
+ }
22
+ },
23
+ "id": {
24
+ "description": "integer id of this entry",
25
+ "type": "integer"
26
+ }
27
+ }
28
+ }
@@ -3,35 +3,26 @@
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "atomic vectors schema",
5
5
  "type": "array",
6
- "description": "array of objects containing integer id each",
7
6
  "items": {
7
+ "$schema": "http://json-schema.org/draft-07/schema#",
8
+ "title": "atomic vector schema",
9
+ "description": "object containing integer id and value each",
8
10
  "type": "object",
11
+ "required": [
12
+ "id",
13
+ "value"
14
+ ],
9
15
  "properties": {
10
16
  "value": {
11
17
  "$schema": "http://json-schema.org/draft-07/schema#",
12
- "title": "vector schema",
13
- "oneOf": [
14
- {
15
- "$schema": "http://json-schema.org/draft-07/schema#",
16
- "title": "array of 3 number elements schema",
17
- "type": "array",
18
- "items": {
19
- "type": "number"
20
- },
21
- "minItems": 3,
22
- "maxItems": 3
23
- },
24
- {
25
- "$schema": "http://json-schema.org/draft-07/schema#",
26
- "title": "array of 3 boolean elements schema",
27
- "type": "array",
28
- "items": {
29
- "type": "boolean"
30
- },
31
- "minItems": 3,
32
- "maxItems": 3
33
- }
34
- ]
18
+ "title": "vector 3d schema",
19
+ "type": "array",
20
+ "minItems": 3,
21
+ "maxItems": 3,
22
+ "description": "value of this entry",
23
+ "items": {
24
+ "type": "number"
25
+ }
35
26
  },
36
27
  "id": {
37
28
  "description": "integer id of this entry",
@@ -10,7 +10,8 @@
10
10
  "properties": {
11
11
  "kpointConduction": {
12
12
  "$schema": "http://json-schema.org/draft-07/schema#",
13
- "title": "point schema",
13
+ "title": "kpoint schema",
14
+ "description": "A k-point is a point in reciprocal space of a crystal.",
14
15
  "type": "array",
15
16
  "minItems": 3,
16
17
  "maxItems": 3,
@@ -20,7 +21,8 @@
20
21
  },
21
22
  "kpointValence": {
22
23
  "$schema": "http://json-schema.org/draft-07/schema#",
23
- "title": "point schema",
24
+ "title": "kpoint schema",
25
+ "description": "A k-point is a point in reciprocal space of a crystal.",
24
26
  "type": "array",
25
27
  "minItems": 3,
26
28
  "maxItems": 3,