openepd 6.29.0__tar.gz → 6.31.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.
Files changed (164) hide show
  1. {openepd-6.29.0 → openepd-6.31.0}/PKG-INFO +1 -1
  2. {openepd-6.29.0 → openepd-6.31.0}/pyproject.toml +1 -1
  3. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/__version__.py +1 -1
  4. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/__init__.py +1 -2
  5. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/__init__.py +28 -5
  6. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/electrical.py +12 -1
  7. openepd-6.31.0/src/openepd/model/specs/range/non_construction.py +52 -0
  8. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/other_materials.py +37 -2
  9. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/__init__.py +27 -5
  10. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/electrical.py +8 -1
  11. openepd-6.31.0/src/openepd/model/specs/singular/non_construction.py +52 -0
  12. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/other_materials.py +36 -2
  13. openepd-6.29.0/src/openepd/model/specs/range/other_electrical_equipment.py +0 -31
  14. openepd-6.29.0/src/openepd/model/specs/singular/other_electrical_equipment.py +0 -22
  15. {openepd-6.29.0 → openepd-6.31.0}/LICENSE +0 -0
  16. {openepd-6.29.0 → openepd-6.31.0}/README.md +0 -0
  17. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/__init__.py +0 -0
  18. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/__init__.py +0 -0
  19. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/average_dataset/__init__.py +0 -0
  20. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/average_dataset/generic_estimate_sync_api.py +0 -0
  21. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/average_dataset/industry_epd_sync_api.py +0 -0
  22. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/base_sync_client.py +0 -0
  23. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/category/__init__.py +0 -0
  24. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/category/dto.py +0 -0
  25. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/category/sync_api.py +0 -0
  26. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/common.py +0 -0
  27. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/dto/__init__.py +0 -0
  28. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/dto/base.py +0 -0
  29. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/dto/common.py +0 -0
  30. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/dto/meta.py +0 -0
  31. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/dto/mf.py +0 -0
  32. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/dto/params.py +0 -0
  33. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/epd/__init__.py +0 -0
  34. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/epd/dto.py +0 -0
  35. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/epd/sync_api.py +0 -0
  36. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/errors.py +0 -0
  37. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/org/__init__.py +0 -0
  38. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/org/sync_api.py +0 -0
  39. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/pcr/__init__.py +0 -0
  40. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/pcr/sync_api.py +0 -0
  41. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/plant/__init__.py +0 -0
  42. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/plant/sync_api.py +0 -0
  43. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/standard/__init__.py +0 -0
  44. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/standard/sync_api.py +0 -0
  45. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/sync_client.py +0 -0
  46. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/test/__init__.py +0 -0
  47. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/api/utils.py +0 -0
  48. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/bundle/__init__.py +0 -0
  49. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/bundle/base.py +0 -0
  50. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/bundle/model.py +0 -0
  51. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/bundle/reader.py +0 -0
  52. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/bundle/writer.py +0 -0
  53. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/compat/__init__.py +0 -0
  54. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/compat/compat_functional_validators.py +0 -0
  55. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/compat/pydantic.py +0 -0
  56. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/constants/__init__.py +0 -0
  57. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/constants/scope_phases.py +0 -0
  58. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/m49/__init__.py +0 -0
  59. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/m49/const.py +0 -0
  60. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/m49/utils.py +0 -0
  61. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/__init__.py +0 -0
  62. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/base.py +0 -0
  63. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/category.py +0 -0
  64. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/common.py +0 -0
  65. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/declaration.py +0 -0
  66. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/epd.py +0 -0
  67. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/factory.py +0 -0
  68. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/generic_estimate.py +0 -0
  69. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/geography.py +0 -0
  70. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/industry_epd.py +0 -0
  71. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/lcia.py +0 -0
  72. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/org.py +0 -0
  73. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/pcr.py +0 -0
  74. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/README.md +0 -0
  75. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/asphalt.py +0 -0
  76. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/base.py +0 -0
  77. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/concrete.py +0 -0
  78. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/enums.py +0 -0
  79. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/accessories.py +0 -0
  80. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/aggregates.py +0 -0
  81. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/aluminium.py +0 -0
  82. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/asphalt.py +0 -0
  83. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/bulk_materials.py +0 -0
  84. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/cast_decks_and_underlayment.py +0 -0
  85. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/cladding.py +0 -0
  86. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/cmu.py +0 -0
  87. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/concrete.py +0 -0
  88. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/conveying_equipment.py +0 -0
  89. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py +0 -0
  90. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/electricity.py +0 -0
  91. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/exterior_improvements.py +0 -0
  92. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/finishes.py +0 -0
  93. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/fire_and_smoke_protection.py +0 -0
  94. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/furnishings.py +0 -0
  95. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/grouting.py +0 -0
  96. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/manufacturing_inputs.py +0 -0
  97. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/masonry.py +0 -0
  98. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/material_handling.py +0 -0
  99. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/mechanical.py +0 -0
  100. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/mechanical_insulation.py +0 -0
  101. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/mixins/__init__.py +0 -0
  102. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/mixins/access_flooring_mixin.py +0 -0
  103. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/network_infrastructure.py +0 -0
  104. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/openings.py +0 -0
  105. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/plumbing.py +0 -0
  106. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/precast_concrete.py +0 -0
  107. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/sheathing.py +0 -0
  108. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/steel.py +0 -0
  109. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/thermal_moisture_protection.py +0 -0
  110. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/utility_piping.py +0 -0
  111. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/wood.py +0 -0
  112. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/range/wood_joists.py +0 -0
  113. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/accessories.py +0 -0
  114. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/aggregates.py +0 -0
  115. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/aluminium.py +0 -0
  116. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/asphalt.py +0 -0
  117. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/bulk_materials.py +0 -0
  118. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/cast_decks_and_underlayment.py +0 -0
  119. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/cladding.py +0 -0
  120. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/cmu.py +0 -0
  121. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/common.py +0 -0
  122. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/concrete.py +0 -0
  123. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/conveying_equipment.py +0 -0
  124. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/deprecated/__init__.py +0 -0
  125. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/deprecated/concrete.py +0 -0
  126. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/deprecated/steel.py +0 -0
  127. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/electrical_transmission_and_distribution_equipment.py +0 -0
  128. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/electricity.py +0 -0
  129. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/exterior_improvements.py +0 -0
  130. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/finishes.py +0 -0
  131. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/fire_and_smoke_protection.py +0 -0
  132. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/furnishings.py +0 -0
  133. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/grouting.py +0 -0
  134. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/manufacturing_inputs.py +0 -0
  135. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/masonry.py +0 -0
  136. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/material_handling.py +0 -0
  137. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/mechanical.py +0 -0
  138. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/mechanical_insulation.py +0 -0
  139. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/mixins/__init__.py +0 -0
  140. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/mixins/access_flooring_mixin.py +0 -0
  141. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/mixins/conduit_mixin.py +0 -0
  142. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/network_infrastructure.py +0 -0
  143. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/openings.py +0 -0
  144. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/plumbing.py +0 -0
  145. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/precast_concrete.py +0 -0
  146. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/sheathing.py +0 -0
  147. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/steel.py +0 -0
  148. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/thermal_moisture_protection.py +0 -0
  149. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/utility_piping.py +0 -0
  150. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/wood.py +0 -0
  151. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/specs/singular/wood_joists.py +0 -0
  152. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/standard.py +0 -0
  153. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/validation/__init__.py +0 -0
  154. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/validation/common.py +0 -0
  155. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/validation/enum.py +0 -0
  156. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/validation/numbers.py +0 -0
  157. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/validation/quantity.py +0 -0
  158. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/model/versioning.py +0 -0
  159. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/patch_pydantic.py +0 -0
  160. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/py.typed +0 -0
  161. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/utils/__init__.py +0 -0
  162. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/utils/functional.py +0 -0
  163. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/utils/mapping/__init__.py +0 -0
  164. {openepd-6.29.0 → openepd-6.31.0}/src/openepd/utils/mapping/common.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: openepd
3
- Version: 6.29.0
3
+ Version: 6.31.0
4
4
  Summary: Python library to work with OpenEPD format
5
5
  License: Apache-2.0
6
6
  Author: C-Change Labs
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "openepd"
3
- version = "6.29.0"
3
+ version = "6.31.0"
4
4
  license = "Apache-2.0"
5
5
  description = "Python library to work with OpenEPD format"
6
6
  authors = ["C-Change Labs <support@c-change-labs.com>"]
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- VERSION = "6.29.0"
16
+ VERSION = "6.31.0"
@@ -60,7 +60,7 @@ from openepd.model.specs.singular.cladding import CladdingV1
60
60
  from openepd.model.specs.singular.cmu import CMUV1
61
61
  from openepd.model.specs.singular.concrete import ConcreteV1
62
62
  from openepd.model.specs.singular.conveying_equipment import ConveyingEquipmentV1
63
- from openepd.model.specs.singular.electrical import ElectricalV1
63
+ from openepd.model.specs.singular.electrical import ElectricalV1, OtherElectricalEquipmentV1
64
64
  from openepd.model.specs.singular.electrical_transmission_and_distribution_equipment import (
65
65
  ElectricalTransmissionAndDistributionEquipmentV1,
66
66
  )
@@ -76,7 +76,6 @@ from openepd.model.specs.singular.mechanical import MechanicalV1
76
76
  from openepd.model.specs.singular.mechanical_insulation import MechanicalInsulationV1
77
77
  from openepd.model.specs.singular.network_infrastructure import NetworkInfrastructureV1
78
78
  from openepd.model.specs.singular.openings import OpeningsV1
79
- from openepd.model.specs.singular.other_electrical_equipment import OtherElectricalEquipmentV1
80
79
  from openepd.model.specs.singular.other_materials import OtherMaterialsV1
81
80
  from openepd.model.specs.singular.plumbing import PlumbingV1
82
81
  from openepd.model.specs.singular.precast_concrete import PrecastConcreteV1
@@ -18,6 +18,7 @@ __all__ = [
18
18
  ]
19
19
 
20
20
 
21
+ from openepd.compat.pydantic import pyd
21
22
  from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
22
23
 
23
24
  from .accessories import AccessoriesRangeV1
@@ -30,7 +31,7 @@ from .cladding import CladdingRangeV1
30
31
  from .cmu import CMURangeV1
31
32
  from .concrete import ConcreteRangeV1
32
33
  from .conveying_equipment import ConveyingEquipmentRangeV1
33
- from .electrical import ElectricalRangeV1
34
+ from .electrical import ElectricalRangeV1, OtherElectricalEquipmentRangeV1
34
35
  from .electrical_transmission_and_distribution_equipment import ElectricalTransmissionAndDistributionEquipmentRangeV1
35
36
  from .electricity import ElectricityRangeV1
36
37
  from .exterior_improvements import ExteriorImprovementsRangeV1
@@ -44,9 +45,16 @@ from .material_handling import MaterialHandlingRangeV1
44
45
  from .mechanical import MechanicalRangeV1
45
46
  from .mechanical_insulation import MechanicalInsulationRangeV1
46
47
  from .network_infrastructure import NetworkInfrastructureRangeV1
48
+ from .non_construction import (
49
+ ChemicalsRangeV1,
50
+ ConsumerGoodsRangeV1,
51
+ ElectricityAndFuelRangeV1,
52
+ MachineryAndEquipmentRangeV1,
53
+ ServicesRangeV1,
54
+ VehiclesRangeV1,
55
+ )
47
56
  from .openings import OpeningsRangeV1
48
- from .other_electrical_equipment import OtherElectricalEquipmentRangeV1
49
- from .other_materials import OtherMaterialsRangeV1
57
+ from .other_materials import FoodBeverageRangeV1, OtherMaterialsRangeV1, TextileProductsRangeV1
50
58
  from .plumbing import PlumbingRangeV1
51
59
  from .precast_concrete import PrecastConcreteRangeV1
52
60
  from .sheathing import SheathingRangeV1
@@ -64,7 +72,7 @@ class SpecsRange(BaseOpenEpdHierarchicalSpec):
64
72
  Range version.
65
73
  """
66
74
 
67
- _EXT_VERSION = "1.0"
75
+ _EXT_VERSION = "1.1"
68
76
 
69
77
  CMU: CMURangeV1 | None = None
70
78
  Masonry: MasonryRangeV1 | None = None
@@ -98,6 +106,21 @@ class SpecsRange(BaseOpenEpdHierarchicalSpec):
98
106
  Electricity: ElectricityRangeV1 | None = None
99
107
  Grouting: GroutingRangeV1 | None = None
100
108
  MechanicalInsulation: MechanicalInsulationRangeV1 | None = None
101
- OtherElectricalEquipment: OtherElectricalEquipmentRangeV1 | None = None
102
109
  WoodJoists: WoodJoistsRangeV1 | None = None
103
110
  ExteriorImprovements: ExteriorImprovementsRangeV1 | None = None
111
+ TextileProducts: TextileProductsRangeV1 | None = None
112
+ Chemicals: ChemicalsRangeV1 | None = None
113
+ ElectricityAndFuel: ElectricityAndFuelRangeV1 | None = None
114
+ Vehicles: VehiclesRangeV1 | None = None
115
+ MachineryAndEquipment: MachineryAndEquipmentRangeV1 | None = None
116
+ Services: ServicesRangeV1 | None = None
117
+ ConsumerGoods: ConsumerGoodsRangeV1 | None = None
118
+ FoodBeverage: FoodBeverageRangeV1 | None = None
119
+
120
+ OtherElectricalEquipment: OtherElectricalEquipmentRangeV1 | None = pyd.Field(
121
+ default=None,
122
+ deprecated="SpecsRange.OtherElectricalEquipment is deprecated. Use ElectricalRangeV1.OtherElectricalEquipment instead.",
123
+ )
124
+ """
125
+ SpecsRange.OtherElectricalEquipment is deprecated. Use ElectricalRangeV1.OtherElectricalEquipment instead.
126
+ """
@@ -406,6 +406,16 @@ class ElectricalConduitRangeV1(BaseOpenEpdHierarchicalSpec):
406
406
  material: list[ConduitMaterial] | None = None
407
407
 
408
408
 
409
+ class OtherElectricalEquipmentRangeV1(BaseOpenEpdHierarchicalSpec):
410
+ """
411
+ Other Electrical Equipment.
412
+
413
+ Range version.
414
+ """
415
+
416
+ _EXT_VERSION = "1.0"
417
+
418
+
409
419
  class ElectricalRangeV1(BaseOpenEpdHierarchicalSpec):
410
420
  """
411
421
  Electric power and equipment.
@@ -413,7 +423,7 @@ class ElectricalRangeV1(BaseOpenEpdHierarchicalSpec):
413
423
  Range version.
414
424
  """
415
425
 
416
- _EXT_VERSION = "1.1"
426
+ _EXT_VERSION = "1.2"
417
427
 
418
428
  ElectricalPowerStorage: ElectricalPowerStorageRangeV1 | None = None
419
429
  LowVoltageElectricalDistribution: LowVoltageElectricalDistributionRangeV1 | None = None
@@ -421,3 +431,4 @@ class ElectricalRangeV1(BaseOpenEpdHierarchicalSpec):
421
431
  ElectricPower: ElectricPowerRangeV1 | None = None
422
432
  Lighting: LightingRangeV1 | None = None
423
433
  ElectricalConduit: ElectricalConduitRangeV1 | None = None
434
+ OtherElectricalEquipment: OtherElectricalEquipmentRangeV1 | None = None
@@ -0,0 +1,52 @@
1
+ #
2
+ # Copyright 2025 by C Change Labs Inc. www.c-change-labs.com
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
17
+
18
+
19
+ class ChemicalsRangeV1(BaseOpenEpdHierarchicalSpec):
20
+ """Products of the Chemical or Allied Industries. Includes most products in WCO HS Section VI."""
21
+
22
+ _EXT_VERSION = "1.0"
23
+
24
+
25
+ class ElectricityAndFuelRangeV1(BaseOpenEpdHierarchicalSpec):
26
+ """Energy carriers including fuels, electricity, and steam."""
27
+
28
+ _EXT_VERSION = "1.0"
29
+
30
+
31
+ class VehiclesRangeV1(BaseOpenEpdHierarchicalSpec):
32
+ """Machinery for moving people and goods. Includes most products in WCO HS Section XVII."""
33
+
34
+ _EXT_VERSION = "1.0"
35
+
36
+
37
+ class MachineryAndEquipmentRangeV1(BaseOpenEpdHierarchicalSpec):
38
+ """Machinery other than for installation in a building."""
39
+
40
+ _EXT_VERSION = "1.0"
41
+
42
+
43
+ class ServicesRangeV1(BaseOpenEpdHierarchicalSpec):
44
+ """Services, including digital and professional services."""
45
+
46
+ _EXT_VERSION = "1.0"
47
+
48
+
49
+ class ConsumerGoodsRangeV1(BaseOpenEpdHierarchicalSpec):
50
+ """Nonperishable products intended for use by individual consumers."""
51
+
52
+ _EXT_VERSION = "1.0"
@@ -13,6 +13,8 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
+ from openepd.compat.pydantic import pyd
17
+
16
18
  __all__ = (
17
19
  "AuxiliariesRangeV1",
18
20
  "CleaningProductsRangeV1",
@@ -100,8 +102,27 @@ class UnsupportedRangeV1(BaseOpenEpdHierarchicalSpec):
100
102
  _EXT_VERSION = "1.0"
101
103
 
102
104
  CleaningProducts: CleaningProductsRangeV1 | None = None
105
+ Clothing: ClothingRangeV1 | None = pyd.Field(
106
+ default=None,
107
+ deprecated="UnsupportedRangeV1.Clothing is deprecated. Use TextileProductsRangeV1.Clothing instead.",
108
+ )
109
+ """
110
+ UnsupportedRangeV1.Clothing is deprecated. Use TextileProductsRangeV1.Clothing instead.
111
+ """
112
+ FoodBeverage: FoodBeverageRangeV1 | None = pyd.Field(
113
+ default=None, deprecated="UnsupportedRangeV1.FoodBeverage is deprecated. Use SpecsRange.FoodBeverage instead."
114
+ )
115
+ """
116
+ UnsupportedRangeV1.FoodBeverage is deprecated. Use SpecsRange.FoodBeverage instead.
117
+ """
118
+
119
+
120
+ class TextileProductsRangeV1(BaseOpenEpdHierarchicalSpec):
121
+ """Products to be worn by humans, and materials intended to manufacture them. Includes most of WS HS Sections XI, XII."""
122
+
123
+ _EXT_VERSION = "1.0"
124
+
103
125
  Clothing: ClothingRangeV1 | None = None
104
- FoodBeverage: FoodBeverageRangeV1 | None = None
105
126
 
106
127
 
107
128
  class CopperRangeV1(BaseOpenEpdHierarchicalSpec):
@@ -174,6 +195,18 @@ class ZincRangeV1(BaseOpenEpdHierarchicalSpec):
174
195
  _EXT_VERSION = "1.0"
175
196
 
176
197
 
198
+ class OtherPaperPlasticRangeV1(BaseOpenEpdHierarchicalSpec):
199
+ """Other products primarily made of plastic or paper. Includes WCO HS sections VII and X."""
200
+
201
+ _EXT_VERSION = "1.0"
202
+
203
+
204
+ class OtherMineralMetalRangeV1(BaseOpenEpdHierarchicalSpec):
205
+ """Base minerals, metals, materials, and products made primarily of them not otherwise classified. Includes most of WCO HS Section XV."""
206
+
207
+ _EXT_VERSION = "1.0"
208
+
209
+
177
210
  class OtherMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
178
211
  """
179
212
  Broad category of materials not yet classified.
@@ -181,7 +214,7 @@ class OtherMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
181
214
  Range version.
182
215
  """
183
216
 
184
- _EXT_VERSION = "1.0"
217
+ _EXT_VERSION = "1.1"
185
218
 
186
219
  TransportationInfrastructure: TransportationInfrastructureRangeV1 | None = None
187
220
  Unsupported: UnsupportedRangeV1 | None = None
@@ -192,3 +225,5 @@ class OtherMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
192
225
  Profiles: ProfilesRangeV1 | None = None
193
226
  Unknown: UnknownRangeV1 | None = None
194
227
  Zinc: ZincRangeV1 | None = None
228
+ OtherPaperPlastic: OtherPaperPlasticRangeV1 | None = None
229
+ OtherMineralMetal: OtherMineralMetalRangeV1 | None = None
@@ -37,7 +37,7 @@ from openepd.model.specs.singular.conveying_equipment import ConveyingEquipmentV
37
37
  from openepd.model.specs.singular.deprecated import BaseCompatibilitySpec, get_safely, set_safely
38
38
  from openepd.model.specs.singular.deprecated.concrete import ConcreteOldSpec
39
39
  from openepd.model.specs.singular.deprecated.steel import SteelOldSpec
40
- from openepd.model.specs.singular.electrical import ElectricalV1
40
+ from openepd.model.specs.singular.electrical import ElectricalV1, OtherElectricalEquipmentV1
41
41
  from openepd.model.specs.singular.electrical_transmission_and_distribution_equipment import (
42
42
  ElectricalTransmissionAndDistributionEquipmentV1,
43
43
  )
@@ -53,9 +53,16 @@ from openepd.model.specs.singular.material_handling import MaterialHandlingV1
53
53
  from openepd.model.specs.singular.mechanical import MechanicalV1
54
54
  from openepd.model.specs.singular.mechanical_insulation import MechanicalInsulationV1
55
55
  from openepd.model.specs.singular.network_infrastructure import NetworkInfrastructureV1
56
+ from openepd.model.specs.singular.non_construction import (
57
+ ChemicalsV1,
58
+ ConsumerGoodsV1,
59
+ ElectricityAndFuelV1,
60
+ MachineryAndEquipmentV1,
61
+ ServicesV1,
62
+ VehiclesV1,
63
+ )
56
64
  from openepd.model.specs.singular.openings import OpeningsV1
57
- from openepd.model.specs.singular.other_electrical_equipment import OtherElectricalEquipmentV1
58
- from openepd.model.specs.singular.other_materials import OtherMaterialsV1
65
+ from openepd.model.specs.singular.other_materials import FoodBeverageV1, OtherMaterialsV1, TextileProductsV1
59
66
  from openepd.model.specs.singular.plumbing import PlumbingV1
60
67
  from openepd.model.specs.singular.precast_concrete import PrecastConcreteV1
61
68
  from openepd.model.specs.singular.sheathing import SheathingV1
@@ -73,7 +80,7 @@ class Specs(BaseOpenEpdHierarchicalSpec):
73
80
 
74
81
  COMPATIBILITY_SPECS: ClassVar[list[type[BaseCompatibilitySpec]]] = [ConcreteOldSpec, SteelOldSpec]
75
82
 
76
- _EXT_VERSION = "1.0"
83
+ _EXT_VERSION = "1.1"
77
84
 
78
85
  # Nested specs:
79
86
  CMU: CMUV1 | None = None
@@ -108,9 +115,24 @@ class Specs(BaseOpenEpdHierarchicalSpec):
108
115
  Electricity: ElectricityV1 | None = None
109
116
  Grouting: GroutingV1 | None = None
110
117
  MechanicalInsulation: MechanicalInsulationV1 | None = None
111
- OtherElectricalEquipment: OtherElectricalEquipmentV1 | None = None
112
118
  WoodJoists: WoodJoistsV1 | None = None
113
119
  ExteriorImprovements: ExteriorImprovementsV1 | None = None
120
+ TextileProducts: TextileProductsV1 | None = None
121
+ Chemicals: ChemicalsV1 | None = None
122
+ ElectricityAndFuel: ElectricityAndFuelV1 | None = None
123
+ Vehicles: VehiclesV1 | None = None
124
+ MachineryAndEquipment: MachineryAndEquipmentV1 | None = None
125
+ Services: ServicesV1 | None = None
126
+ ConsumerGoods: ConsumerGoodsV1 | None = None
127
+ FoodBeverage: FoodBeverageV1 | None = None
128
+
129
+ OtherElectricalEquipment: OtherElectricalEquipmentV1 | None = pyd.Field(
130
+ default=None,
131
+ deprecated="Specs.OtherElectricalEquipment is deprecated. Use ElectricalV1.OtherElectricalEquipment instead.",
132
+ )
133
+ """
134
+ Specs.OtherElectricalEquipment is deprecated. Use ElectricalV1.OtherElectricalEquipment instead.
135
+ """
114
136
 
115
137
  # historical backward-compatible specs
116
138
  concrete: ConcreteOldSpec | None = None
@@ -298,10 +298,16 @@ class ElectricalConduitV1(BaseOpenEpdHierarchicalSpec, ConduitMixin):
298
298
  _EXT_VERSION = "1.1"
299
299
 
300
300
 
301
+ class OtherElectricalEquipmentV1(BaseOpenEpdHierarchicalSpec):
302
+ """Other Electrical Equipment."""
303
+
304
+ _EXT_VERSION = "1.0"
305
+
306
+
301
307
  class ElectricalV1(BaseOpenEpdHierarchicalSpec):
302
308
  """Electric power and equipment."""
303
309
 
304
- _EXT_VERSION = "1.1"
310
+ _EXT_VERSION = "1.2"
305
311
 
306
312
  # Nested specs:
307
313
  ElectricalPowerStorage: ElectricalPowerStorageV1 | None = None
@@ -310,3 +316,4 @@ class ElectricalV1(BaseOpenEpdHierarchicalSpec):
310
316
  ElectricPower: ElectricPowerV1 | None = None
311
317
  Lighting: LightingV1 | None = None
312
318
  ElectricalConduit: ElectricalConduitV1 | None = None
319
+ OtherElectricalEquipment: OtherElectricalEquipmentV1 | None = None
@@ -0,0 +1,52 @@
1
+ #
2
+ # Copyright 2025 by C Change Labs Inc. www.c-change-labs.com
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
17
+
18
+
19
+ class ChemicalsV1(BaseOpenEpdHierarchicalSpec):
20
+ """Products of the Chemical or Allied Industries. Includes most products in WCO HS Section VI."""
21
+
22
+ _EXT_VERSION = "1.0"
23
+
24
+
25
+ class ElectricityAndFuelV1(BaseOpenEpdHierarchicalSpec):
26
+ """Energy carriers including fuels, electricity, and steam."""
27
+
28
+ _EXT_VERSION = "1.0"
29
+
30
+
31
+ class VehiclesV1(BaseOpenEpdHierarchicalSpec):
32
+ """Machinery for moving people and goods. Includes most products in WCO HS Section XVII."""
33
+
34
+ _EXT_VERSION = "1.0"
35
+
36
+
37
+ class MachineryAndEquipmentV1(BaseOpenEpdHierarchicalSpec):
38
+ """Machinery other than for installation in a building."""
39
+
40
+ _EXT_VERSION = "1.0"
41
+
42
+
43
+ class ServicesV1(BaseOpenEpdHierarchicalSpec):
44
+ """Services, including digital and professional services."""
45
+
46
+ _EXT_VERSION = "1.0"
47
+
48
+
49
+ class ConsumerGoodsV1(BaseOpenEpdHierarchicalSpec):
50
+ """Nonperishable products intended for use by individual consumers."""
51
+
52
+ _EXT_VERSION = "1.0"
@@ -13,6 +13,7 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
+ from openepd.compat.pydantic import pyd
16
17
  from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
17
18
 
18
19
 
@@ -60,8 +61,27 @@ class UnsupportedV1(BaseOpenEpdHierarchicalSpec):
60
61
 
61
62
  # Nested specs:
62
63
  CleaningProducts: CleaningProductsV1 | None = None
64
+
65
+ Clothing: ClothingV1 | None = pyd.Field(
66
+ default=None, deprecated="UnsupportedV1.Clothing is deprecated. Use TextileProductsV1.Clothing instead."
67
+ )
68
+ """
69
+ UnsupportedV1.Clothing is deprecated. Use TextileProductsV1.Clothing instead.
70
+ """
71
+ FoodBeverage: FoodBeverageV1 | None = pyd.Field(
72
+ default=None, deprecated="UnsupportedV1.FoodBeverage is deprecated. Use Specs.FoodBeverage instead."
73
+ )
74
+ """
75
+ UnsupportedV1.FoodBeverage is deprecated. Use TextileProductsV1.FoodBeverage instead.
76
+ """
77
+
78
+
79
+ class TextileProductsV1(BaseOpenEpdHierarchicalSpec):
80
+ """Products to be worn by humans, and materials intended to manufacture them. Includes most of WS HS Sections XI, XII."""
81
+
82
+ _EXT_VERSION = "1.0"
83
+
63
84
  Clothing: ClothingV1 | None = None
64
- FoodBeverage: FoodBeverageV1 | None = None
65
85
 
66
86
 
67
87
  class CopperV1(BaseOpenEpdHierarchicalSpec):
@@ -106,10 +126,22 @@ class ZincV1(BaseOpenEpdHierarchicalSpec):
106
126
  _EXT_VERSION = "1.0"
107
127
 
108
128
 
129
+ class OtherPaperPlasticV1(BaseOpenEpdHierarchicalSpec):
130
+ """Other products primarily made of plastic or paper. Includes WCO HS sections VII and X."""
131
+
132
+ _EXT_VERSION = "1.0"
133
+
134
+
135
+ class OtherMineralMetalV1(BaseOpenEpdHierarchicalSpec):
136
+ """Base minerals, metals, materials, and products made primarily of them not otherwise classified. Includes most of WCO HS Section XV."""
137
+
138
+ _EXT_VERSION = "1.0"
139
+
140
+
109
141
  class OtherMaterialsV1(BaseOpenEpdHierarchicalSpec):
110
142
  """Broad category of materials not yet classified."""
111
143
 
112
- _EXT_VERSION = "1.0"
144
+ _EXT_VERSION = "1.1"
113
145
 
114
146
  # Nested specs:
115
147
  TransportationInfrastructure: TransportationInfrastructureV1 | None = None
@@ -121,3 +153,5 @@ class OtherMaterialsV1(BaseOpenEpdHierarchicalSpec):
121
153
  Profiles: ProfilesV1 | None = None
122
154
  Unknown: UnknownV1 | None = None
123
155
  Zinc: ZincV1 | None = None
156
+ OtherPaperPlastic: OtherPaperPlasticV1 | None = None
157
+ OtherMineralMetal: OtherMineralMetalV1 | None = None
@@ -1,31 +0,0 @@
1
- #
2
- # Copyright 2025 by C Change Labs Inc. www.c-change-labs.com
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
- #
16
- __all__ = ("OtherElectricalEquipmentRangeV1",)
17
-
18
- # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
19
-
20
-
21
- from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
22
-
23
-
24
- class OtherElectricalEquipmentRangeV1(BaseOpenEpdHierarchicalSpec):
25
- """
26
- Other Electrical Equipment.
27
-
28
- Range version.
29
- """
30
-
31
- _EXT_VERSION = "1.0"
@@ -1,22 +0,0 @@
1
- #
2
- # Copyright 2025 by C Change Labs Inc. www.c-change-labs.com
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
- #
16
- from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
17
-
18
-
19
- class OtherElectricalEquipmentV1(BaseOpenEpdHierarchicalSpec):
20
- """Other Electrical Equipment."""
21
-
22
- _EXT_VERSION = "1.0"
File without changes
File without changes
File without changes