openepd 7.11.0__tar.gz → 7.12.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 (162) hide show
  1. {openepd-7.11.0 → openepd-7.12.0}/PKG-INFO +1 -1
  2. {openepd-7.11.0 → openepd-7.12.0}/pyproject.toml +1 -1
  3. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/__version__.py +1 -1
  4. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/common.py +1 -1
  5. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/__init__.py +18 -2
  6. openepd-7.12.0/src/openepd/model/specs/range/non_construction.py +52 -0
  7. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/other_materials.py +44 -2
  8. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/__init__.py +18 -2
  9. openepd-7.12.0/src/openepd/model/specs/singular/non_construction.py +52 -0
  10. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/other_materials.py +45 -2
  11. {openepd-7.11.0 → openepd-7.12.0}/LICENSE +0 -0
  12. {openepd-7.11.0 → openepd-7.12.0}/README.md +0 -0
  13. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/__init__.py +0 -0
  14. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/__init__.py +0 -0
  15. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/average_dataset/__init__.py +0 -0
  16. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/average_dataset/generic_estimate_sync_api.py +0 -0
  17. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/average_dataset/industry_epd_sync_api.py +0 -0
  18. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/base_sync_client.py +0 -0
  19. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/category/__init__.py +0 -0
  20. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/category/dto.py +0 -0
  21. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/category/sync_api.py +0 -0
  22. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/common.py +0 -0
  23. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/dto/__init__.py +0 -0
  24. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/dto/base.py +0 -0
  25. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/dto/common.py +0 -0
  26. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/dto/meta.py +0 -0
  27. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/dto/mf.py +0 -0
  28. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/dto/params.py +0 -0
  29. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/epd/__init__.py +0 -0
  30. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/epd/dto.py +0 -0
  31. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/epd/sync_api.py +0 -0
  32. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/errors.py +0 -0
  33. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/org/__init__.py +0 -0
  34. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/org/sync_api.py +0 -0
  35. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/pcr/__init__.py +0 -0
  36. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/pcr/sync_api.py +0 -0
  37. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/plant/__init__.py +0 -0
  38. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/plant/sync_api.py +0 -0
  39. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/standard/__init__.py +0 -0
  40. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/standard/sync_api.py +0 -0
  41. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/sync_client.py +0 -0
  42. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/test/__init__.py +0 -0
  43. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/api/utils.py +0 -0
  44. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/bundle/__init__.py +0 -0
  45. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/bundle/base.py +0 -0
  46. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/bundle/model.py +0 -0
  47. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/bundle/reader.py +0 -0
  48. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/bundle/writer.py +0 -0
  49. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/constants/__init__.py +0 -0
  50. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/constants/scope_phases.py +0 -0
  51. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/m49/__init__.py +0 -0
  52. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/m49/const.py +0 -0
  53. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/m49/utils.py +0 -0
  54. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/__init__.py +0 -0
  55. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/base.py +0 -0
  56. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/category.py +0 -0
  57. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/declaration.py +0 -0
  58. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/epd.py +0 -0
  59. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/factory.py +0 -0
  60. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/generic_estimate.py +0 -0
  61. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/geography.py +0 -0
  62. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/industry_epd.py +0 -0
  63. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/lcia.py +0 -0
  64. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/org.py +0 -0
  65. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/pcr.py +0 -0
  66. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/README.md +0 -0
  67. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/__init__.py +0 -0
  68. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/asphalt.py +0 -0
  69. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/base.py +0 -0
  70. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/concrete.py +0 -0
  71. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/enums.py +0 -0
  72. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/accessories.py +0 -0
  73. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/aggregates.py +0 -0
  74. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/aluminium.py +0 -0
  75. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/asphalt.py +0 -0
  76. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/bulk_materials.py +0 -0
  77. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/cast_decks_and_underlayment.py +0 -0
  78. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/cladding.py +0 -0
  79. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/cmu.py +0 -0
  80. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/concrete.py +0 -0
  81. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/conveying_equipment.py +0 -0
  82. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/electrical.py +0 -0
  83. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py +0 -0
  84. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/electricity.py +0 -0
  85. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/exterior_improvements.py +0 -0
  86. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/finishes.py +0 -0
  87. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/fire_and_smoke_protection.py +0 -0
  88. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/furnishings.py +0 -0
  89. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/grouting.py +0 -0
  90. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/manufacturing_inputs.py +0 -0
  91. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/masonry.py +0 -0
  92. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/material_handling.py +0 -0
  93. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/mechanical.py +0 -0
  94. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/mechanical_insulation.py +0 -0
  95. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/mixins/__init__.py +0 -0
  96. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/mixins/access_flooring_mixin.py +0 -0
  97. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/network_infrastructure.py +0 -0
  98. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/openings.py +0 -0
  99. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/other_electrical_equipment.py +0 -0
  100. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/plumbing.py +0 -0
  101. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/precast_concrete.py +0 -0
  102. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/sheathing.py +0 -0
  103. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/steel.py +0 -0
  104. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/thermal_moisture_protection.py +0 -0
  105. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/utility_piping.py +0 -0
  106. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/wood.py +0 -0
  107. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/range/wood_joists.py +0 -0
  108. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/accessories.py +0 -0
  109. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/aggregates.py +0 -0
  110. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/aluminium.py +0 -0
  111. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/asphalt.py +0 -0
  112. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/bulk_materials.py +0 -0
  113. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/cast_decks_and_underlayment.py +0 -0
  114. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/cladding.py +0 -0
  115. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/cmu.py +0 -0
  116. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/common.py +0 -0
  117. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/concrete.py +0 -0
  118. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/conveying_equipment.py +0 -0
  119. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/deprecated/__init__.py +0 -0
  120. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/deprecated/concrete.py +0 -0
  121. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/deprecated/steel.py +0 -0
  122. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/electrical.py +0 -0
  123. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/electrical_transmission_and_distribution_equipment.py +0 -0
  124. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/electricity.py +0 -0
  125. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/exterior_improvements.py +0 -0
  126. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/finishes.py +0 -0
  127. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/fire_and_smoke_protection.py +0 -0
  128. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/furnishings.py +0 -0
  129. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/grouting.py +0 -0
  130. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/manufacturing_inputs.py +0 -0
  131. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/masonry.py +0 -0
  132. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/material_handling.py +0 -0
  133. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/mechanical.py +0 -0
  134. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/mechanical_insulation.py +0 -0
  135. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/mixins/__init__.py +0 -0
  136. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/mixins/access_flooring_mixin.py +0 -0
  137. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/mixins/conduit_mixin.py +0 -0
  138. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/network_infrastructure.py +0 -0
  139. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/openings.py +0 -0
  140. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/other_electrical_equipment.py +0 -0
  141. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/plumbing.py +0 -0
  142. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/precast_concrete.py +0 -0
  143. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/sheathing.py +0 -0
  144. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/steel.py +0 -0
  145. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/thermal_moisture_protection.py +0 -0
  146. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/utility_piping.py +0 -0
  147. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/wood.py +0 -0
  148. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/specs/singular/wood_joists.py +0 -0
  149. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/standard.py +0 -0
  150. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/validation/__init__.py +0 -0
  151. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/validation/common.py +0 -0
  152. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/validation/enum.py +0 -0
  153. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/validation/numbers.py +0 -0
  154. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/validation/quantity.py +0 -0
  155. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/model/versioning.py +0 -0
  156. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/py.typed +0 -0
  157. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/utils/__init__.py +0 -0
  158. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/utils/functional.py +0 -0
  159. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/utils/mapping/__init__.py +0 -0
  160. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/utils/mapping/common.py +0 -0
  161. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/utils/mapping/geography.py +0 -0
  162. {openepd-7.11.0 → openepd-7.12.0}/src/openepd/utils/markdown.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: openepd
3
- Version: 7.11.0
3
+ Version: 7.12.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 = "7.11.0"
3
+ version = "7.12.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 = "7.11.0"
16
+ VERSION = "7.12.0"
@@ -87,7 +87,7 @@ class Measurement(BaseOpenEpdSchema):
87
87
  """A scientific value with units and uncertainty."""
88
88
 
89
89
  mean: float = pydantic.Field(description="Mean (expected) value of the measurement")
90
- unit: str | None = pydantic.Field(description="Measurement unit")
90
+ unit: str | None = pydantic.Field(description="Measurement unit", default=None)
91
91
  rsd: pydantic.PositiveFloat | None = pydantic.Field(
92
92
  description="Relative standard deviation, i.e. standard_deviation/mean",
93
93
  default=None,
@@ -44,9 +44,17 @@ from .material_handling import MaterialHandlingRangeV1
44
44
  from .mechanical import MechanicalRangeV1
45
45
  from .mechanical_insulation import MechanicalInsulationRangeV1
46
46
  from .network_infrastructure import NetworkInfrastructureRangeV1
47
+ from .non_construction import (
48
+ ChemicalsRangeV1,
49
+ ConsumerGoodsRangeV1,
50
+ ElectricityAndFuelRangeV1,
51
+ MachineryAndEquipmentRangeV1,
52
+ ServicesRangeV1,
53
+ VehiclesRangeV1,
54
+ )
47
55
  from .openings import OpeningsRangeV1
48
56
  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
@@ -101,3 +109,11 @@ class SpecsRange(BaseOpenEpdHierarchicalSpec):
101
109
  OtherElectricalEquipment: OtherElectricalEquipmentRangeV1 | None = None
102
110
  WoodJoists: WoodJoistsRangeV1 | None = None
103
111
  ExteriorImprovements: ExteriorImprovementsRangeV1 | None = None
112
+ TextileProducts: TextileProductsRangeV1 | None = None
113
+ Chemicals: ChemicalsRangeV1 | None = None
114
+ ElectricityAndFuel: ElectricityAndFuelRangeV1 | None = None
115
+ Vehicles: VehiclesRangeV1 | None = None
116
+ MachineryAndEquipment: MachineryAndEquipmentRangeV1 | None = None
117
+ Services: ServicesRangeV1 | None = None
118
+ ConsumerGoods: ConsumerGoodsRangeV1 | None = None
119
+ FoodBeverage: FoodBeverageRangeV1 | 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"
@@ -33,6 +33,8 @@ __all__ = (
33
33
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
34
34
 
35
35
 
36
+ import pydantic
37
+
36
38
  from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
37
39
 
38
40
 
@@ -100,8 +102,34 @@ class UnsupportedRangeV1(BaseOpenEpdHierarchicalSpec):
100
102
  _EXT_VERSION = "1.0"
101
103
 
102
104
  CleaningProducts: CleaningProductsRangeV1 | None = None
105
+ Clothing: ClothingRangeV1 | None = pydantic.Field(
106
+ default=None,
107
+ json_schema_extra={
108
+ "deprecated": True,
109
+ },
110
+ description="UnsupportedRangeV1.Clothing is deprecated. Use TextileProductsRangeV1.Clothing instead.",
111
+ )
112
+ """
113
+ UnsupportedRangeV1.Clothing is deprecated. Use TextileProductsRangeV1.Clothing instead.
114
+ """
115
+ FoodBeverage: FoodBeverageRangeV1 | None = pydantic.Field(
116
+ default=None,
117
+ json_schema_extra={
118
+ "deprecated": True,
119
+ },
120
+ description="UnsupportedRangeV1.FoodBeverage is deprecated. Use SpecsRange.FoodBeverage instead.",
121
+ )
122
+ """
123
+ UnsupportedRangeV1.FoodBeverage is deprecated. Use SpecsRange.FoodBeverage instead.
124
+ """
125
+
126
+
127
+ class TextileProductsRangeV1(BaseOpenEpdHierarchicalSpec):
128
+ """Products to be worn by humans, and materials intended to manufacture them. Includes most of WS HS Sections XI, XII."""
129
+
130
+ _EXT_VERSION = "1.0"
131
+
103
132
  Clothing: ClothingRangeV1 | None = None
104
- FoodBeverage: FoodBeverageRangeV1 | None = None
105
133
 
106
134
 
107
135
  class CopperRangeV1(BaseOpenEpdHierarchicalSpec):
@@ -174,6 +202,18 @@ class ZincRangeV1(BaseOpenEpdHierarchicalSpec):
174
202
  _EXT_VERSION = "1.0"
175
203
 
176
204
 
205
+ class OtherPaperPlasticRangeV1(BaseOpenEpdHierarchicalSpec):
206
+ """Other products primarily made of plastic or paper. Includes WCO HS sections VII and X."""
207
+
208
+ _EXT_VERSION = "1.0"
209
+
210
+
211
+ class OtherMineralMetalRangeV1(BaseOpenEpdHierarchicalSpec):
212
+ """Base minerals, metals, materials, and products made primarily of them not otherwise classified. Includes most of WCO HS Section XV."""
213
+
214
+ _EXT_VERSION = "1.0"
215
+
216
+
177
217
  class OtherMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
178
218
  """
179
219
  Broad category of materials not yet classified.
@@ -181,7 +221,7 @@ class OtherMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
181
221
  Range version.
182
222
  """
183
223
 
184
- _EXT_VERSION = "1.0"
224
+ _EXT_VERSION = "1.1"
185
225
 
186
226
  TransportationInfrastructure: TransportationInfrastructureRangeV1 | None = None
187
227
  Unsupported: UnsupportedRangeV1 | None = None
@@ -192,3 +232,5 @@ class OtherMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
192
232
  Profiles: ProfilesRangeV1 | None = None
193
233
  Unknown: UnknownRangeV1 | None = None
194
234
  Zinc: ZincRangeV1 | None = None
235
+ OtherPaperPlastic: OtherPaperPlasticRangeV1 | None = None
236
+ OtherMineralMetal: OtherMineralMetalRangeV1 | None = None
@@ -56,9 +56,17 @@ from openepd.model.specs.singular.material_handling import MaterialHandlingV1
56
56
  from openepd.model.specs.singular.mechanical import MechanicalV1
57
57
  from openepd.model.specs.singular.mechanical_insulation import MechanicalInsulationV1
58
58
  from openepd.model.specs.singular.network_infrastructure import NetworkInfrastructureV1
59
+ from openepd.model.specs.singular.non_construction import (
60
+ ChemicalsV1,
61
+ ConsumerGoodsV1,
62
+ ElectricityAndFuelV1,
63
+ MachineryAndEquipmentV1,
64
+ ServicesV1,
65
+ VehiclesV1,
66
+ )
59
67
  from openepd.model.specs.singular.openings import OpeningsV1
60
68
  from openepd.model.specs.singular.other_electrical_equipment import OtherElectricalEquipmentV1
61
- from openepd.model.specs.singular.other_materials import OtherMaterialsV1
69
+ from openepd.model.specs.singular.other_materials import FoodBeverageV1, OtherMaterialsV1, TextileProductsV1
62
70
  from openepd.model.specs.singular.plumbing import PlumbingV1
63
71
  from openepd.model.specs.singular.precast_concrete import PrecastConcreteV1
64
72
  from openepd.model.specs.singular.sheathing import SheathingV1
@@ -79,7 +87,7 @@ class Specs(BaseOpenEpdHierarchicalSpec):
79
87
  SteelOldSpec,
80
88
  ]
81
89
 
82
- _EXT_VERSION = "1.0"
90
+ _EXT_VERSION = "1.1"
83
91
 
84
92
  # Nested specs:
85
93
  CMU: CMUV1 | None = None
@@ -117,6 +125,14 @@ class Specs(BaseOpenEpdHierarchicalSpec):
117
125
  OtherElectricalEquipment: OtherElectricalEquipmentV1 | None = None
118
126
  WoodJoists: WoodJoistsV1 | None = None
119
127
  ExteriorImprovements: ExteriorImprovementsV1 | None = None
128
+ TextileProducts: TextileProductsV1 | None = None
129
+ Chemicals: ChemicalsV1 | None = None
130
+ ElectricityAndFuel: ElectricityAndFuelV1 | None = None
131
+ Vehicles: VehiclesV1 | None = None
132
+ MachineryAndEquipment: MachineryAndEquipmentV1 | None = None
133
+ Services: ServicesV1 | None = None
134
+ ConsumerGoods: ConsumerGoodsV1 | None = None
135
+ FoodBeverage: FoodBeverageV1 | None = None
120
136
 
121
137
  # historical backward-compatible specs
122
138
  concrete: ConcreteOldSpec | 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,8 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
+ import pydantic
17
+
16
18
  from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
17
19
 
18
20
 
@@ -60,8 +62,35 @@ class UnsupportedV1(BaseOpenEpdHierarchicalSpec):
60
62
 
61
63
  # Nested specs:
62
64
  CleaningProducts: CleaningProductsV1 | None = None
65
+
66
+ Clothing: ClothingV1 | None = pydantic.Field(
67
+ default=None,
68
+ json_schema_extra={
69
+ "deprecated": True,
70
+ },
71
+ description="UnsupportedV1.Clothing is deprecated. Use TextileProductsV1.Clothing instead.",
72
+ )
73
+ """
74
+ UnsupportedV1.Clothing is deprecated. Use TextileProductsV1.Clothing instead.
75
+ """
76
+ FoodBeverage: FoodBeverageV1 | None = pydantic.Field(
77
+ default=None,
78
+ json_schema_extra={
79
+ "deprecated": True,
80
+ },
81
+ description="UnsupportedV1.FoodBeverage is deprecated. Use Specs.FoodBeverage instead.",
82
+ )
83
+ """
84
+ UnsupportedV1.FoodBeverage is deprecated. Use TextileProductsV1.FoodBeverage instead.
85
+ """
86
+
87
+
88
+ class TextileProductsV1(BaseOpenEpdHierarchicalSpec):
89
+ """Products to be worn by humans, and materials intended to manufacture them. Includes most of WS HS Sections XI, XII."""
90
+
91
+ _EXT_VERSION = "1.0"
92
+
63
93
  Clothing: ClothingV1 | None = None
64
- FoodBeverage: FoodBeverageV1 | None = None
65
94
 
66
95
 
67
96
  class CopperV1(BaseOpenEpdHierarchicalSpec):
@@ -106,10 +135,22 @@ class ZincV1(BaseOpenEpdHierarchicalSpec):
106
135
  _EXT_VERSION = "1.0"
107
136
 
108
137
 
138
+ class OtherPaperPlasticV1(BaseOpenEpdHierarchicalSpec):
139
+ """Other products primarily made of plastic or paper. Includes WCO HS sections VII and X."""
140
+
141
+ _EXT_VERSION = "1.0"
142
+
143
+
144
+ class OtherMineralMetalV1(BaseOpenEpdHierarchicalSpec):
145
+ """Base minerals, metals, materials, and products made primarily of them not otherwise classified. Includes most of WCO HS Section XV."""
146
+
147
+ _EXT_VERSION = "1.0"
148
+
149
+
109
150
  class OtherMaterialsV1(BaseOpenEpdHierarchicalSpec):
110
151
  """Broad category of materials not yet classified."""
111
152
 
112
- _EXT_VERSION = "1.0"
153
+ _EXT_VERSION = "1.1"
113
154
 
114
155
  # Nested specs:
115
156
  TransportationInfrastructure: TransportationInfrastructureV1 | None = None
@@ -121,3 +162,5 @@ class OtherMaterialsV1(BaseOpenEpdHierarchicalSpec):
121
162
  Profiles: ProfilesV1 | None = None
122
163
  Unknown: UnknownV1 | None = None
123
164
  Zinc: ZincV1 | None = None
165
+ OtherPaperPlastic: OtherPaperPlasticV1 | None = None
166
+ OtherMineralMetal: OtherMineralMetalV1 | None = None
File without changes
File without changes
File without changes