openepd 7.3.0__tar.gz → 7.5.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 (152) hide show
  1. {openepd-7.3.0 → openepd-7.5.0}/PKG-INFO +1 -1
  2. {openepd-7.3.0 → openepd-7.5.0}/pyproject.toml +1 -1
  3. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/__version__.py +1 -1
  4. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/lcia.py +2 -0
  5. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/org.py +26 -0
  6. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/manufacturing_inputs.py +13 -4
  7. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/openings.py +9 -3
  8. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/manufacturing_inputs.py +9 -2
  9. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/openings.py +9 -1
  10. {openepd-7.3.0 → openepd-7.5.0}/LICENSE +0 -0
  11. {openepd-7.3.0 → openepd-7.5.0}/README.md +0 -0
  12. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/__init__.py +0 -0
  13. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/__init__.py +0 -0
  14. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/average_dataset/__init__.py +0 -0
  15. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/average_dataset/generic_estimate_sync_api.py +0 -0
  16. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/average_dataset/industry_epd_sync_api.py +0 -0
  17. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/base_sync_client.py +0 -0
  18. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/category/__init__.py +0 -0
  19. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/category/dto.py +0 -0
  20. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/category/sync_api.py +0 -0
  21. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/common.py +0 -0
  22. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/dto/__init__.py +0 -0
  23. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/dto/base.py +0 -0
  24. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/dto/common.py +0 -0
  25. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/dto/meta.py +0 -0
  26. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/dto/mf.py +0 -0
  27. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/dto/params.py +0 -0
  28. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/epd/__init__.py +0 -0
  29. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/epd/dto.py +0 -0
  30. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/epd/sync_api.py +0 -0
  31. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/errors.py +0 -0
  32. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/org/__init__.py +0 -0
  33. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/org/sync_api.py +0 -0
  34. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/pcr/__init__.py +0 -0
  35. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/pcr/sync_api.py +0 -0
  36. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/plant/__init__.py +0 -0
  37. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/plant/sync_api.py +0 -0
  38. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/standard/__init__.py +0 -0
  39. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/standard/sync_api.py +0 -0
  40. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/sync_client.py +0 -0
  41. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/test/__init__.py +0 -0
  42. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/api/utils.py +0 -0
  43. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/bundle/__init__.py +0 -0
  44. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/bundle/base.py +0 -0
  45. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/bundle/model.py +0 -0
  46. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/bundle/reader.py +0 -0
  47. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/bundle/writer.py +0 -0
  48. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/m49/__init__.py +0 -0
  49. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/m49/const.py +0 -0
  50. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/m49/utils.py +0 -0
  51. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/__init__.py +0 -0
  52. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/base.py +0 -0
  53. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/category.py +0 -0
  54. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/common.py +0 -0
  55. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/declaration.py +0 -0
  56. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/epd.py +0 -0
  57. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/factory.py +0 -0
  58. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/generic_estimate.py +0 -0
  59. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/geography.py +0 -0
  60. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/industry_epd.py +0 -0
  61. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/pcr.py +0 -0
  62. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/README.md +0 -0
  63. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/__init__.py +0 -0
  64. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/asphalt.py +0 -0
  65. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/base.py +0 -0
  66. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/concrete.py +0 -0
  67. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/enums.py +0 -0
  68. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/__init__.py +0 -0
  69. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/accessories.py +0 -0
  70. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/aggregates.py +0 -0
  71. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/aluminium.py +0 -0
  72. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/asphalt.py +0 -0
  73. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/bulk_materials.py +0 -0
  74. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/cast_decks_and_underlayment.py +0 -0
  75. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/cladding.py +0 -0
  76. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/cmu.py +0 -0
  77. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/concrete.py +0 -0
  78. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/conveying_equipment.py +0 -0
  79. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/electrical.py +0 -0
  80. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py +0 -0
  81. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/electricity.py +0 -0
  82. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/exterior_improvements.py +0 -0
  83. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/finishes.py +0 -0
  84. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/fire_and_smoke_protection.py +0 -0
  85. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/furnishings.py +0 -0
  86. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/grouting.py +0 -0
  87. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/masonry.py +0 -0
  88. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/material_handling.py +0 -0
  89. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/mechanical.py +0 -0
  90. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/mechanical_insulation.py +0 -0
  91. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/mixins/__init__.py +0 -0
  92. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/mixins/access_flooring_mixin.py +0 -0
  93. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/network_infrastructure.py +0 -0
  94. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/other_electrical_equipment.py +0 -0
  95. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/other_materials.py +0 -0
  96. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/plumbing.py +0 -0
  97. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/precast_concrete.py +0 -0
  98. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/sheathing.py +0 -0
  99. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/steel.py +0 -0
  100. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/thermal_moisture_protection.py +0 -0
  101. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/utility_piping.py +0 -0
  102. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/wood.py +0 -0
  103. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/range/wood_joists.py +0 -0
  104. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/__init__.py +0 -0
  105. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/accessories.py +0 -0
  106. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/aggregates.py +0 -0
  107. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/aluminium.py +0 -0
  108. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/asphalt.py +0 -0
  109. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/bulk_materials.py +0 -0
  110. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/cast_decks_and_underlayment.py +0 -0
  111. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/cladding.py +0 -0
  112. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/cmu.py +0 -0
  113. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/common.py +0 -0
  114. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/concrete.py +0 -0
  115. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/conveying_equipment.py +0 -0
  116. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/deprecated/__init__.py +0 -0
  117. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/deprecated/concrete.py +0 -0
  118. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/deprecated/steel.py +0 -0
  119. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/electrical.py +0 -0
  120. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/electrical_transmission_and_distribution_equipment.py +0 -0
  121. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/electricity.py +0 -0
  122. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/exterior_improvements.py +0 -0
  123. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/finishes.py +0 -0
  124. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/fire_and_smoke_protection.py +0 -0
  125. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/furnishings.py +0 -0
  126. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/grouting.py +0 -0
  127. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/masonry.py +0 -0
  128. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/material_handling.py +0 -0
  129. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/mechanical.py +0 -0
  130. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/mechanical_insulation.py +0 -0
  131. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/mixins/__init__.py +0 -0
  132. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/mixins/access_flooring_mixin.py +0 -0
  133. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/mixins/conduit_mixin.py +0 -0
  134. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/network_infrastructure.py +0 -0
  135. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/other_electrical_equipment.py +0 -0
  136. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/other_materials.py +0 -0
  137. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/plumbing.py +0 -0
  138. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/precast_concrete.py +0 -0
  139. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/sheathing.py +0 -0
  140. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/steel.py +0 -0
  141. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/thermal_moisture_protection.py +0 -0
  142. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/utility_piping.py +0 -0
  143. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/wood.py +0 -0
  144. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/specs/singular/wood_joists.py +0 -0
  145. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/standard.py +0 -0
  146. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/validation/__init__.py +0 -0
  147. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/validation/common.py +0 -0
  148. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/validation/enum.py +0 -0
  149. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/validation/numbers.py +0 -0
  150. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/validation/quantity.py +0 -0
  151. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/model/versioning.py +0 -0
  152. {openepd-7.3.0 → openepd-7.5.0}/src/openepd/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: openepd
3
- Version: 7.3.0
3
+ Version: 7.5.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.3.0"
3
+ version = "7.5.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.3.0"
16
+ VERSION = "7.5.0"
@@ -512,10 +512,12 @@ class LCIAMethod(StrEnum):
512
512
  """A list of available LCA methods."""
513
513
 
514
514
  UNKNOWN = "Unknown LCIA"
515
+ TRACI_2_2 = "TRACI 2.2"
515
516
  TRACI_2_1 = "TRACI 2.1"
516
517
  TRACI_2_0 = "TRACI 2.0"
517
518
  TRACI_1_0 = "TRACI 1.0"
518
519
  IPCC_AR5 = "IPCC AR5"
520
+ IPCC_AR6 = "IPCC AR6"
519
521
  EF_3_0 = "EF 3.0"
520
522
  EF_3_1 = "EF 3.1"
521
523
  EF_2_0 = "EF 2.0"
@@ -91,6 +91,32 @@ class Org(WithAttachmentsMixin, WithAltIdsMixin, OrgRef):
91
91
 
92
92
  return value
93
93
 
94
+ description: str | None = pydantic.Field(
95
+ default=None,
96
+ max_length=2000,
97
+ description=(
98
+ "Text that describes the company, its products, or its sustainability commitments, "
99
+ 'similar to "about us" or "sustainability commitment" text on a corporate website. '
100
+ "Typically used for publication in EPDs and for viewing by users. "
101
+ "Supports plain text or github flavored markdown."
102
+ ),
103
+ examples=[
104
+ (
105
+ "# Our Mission\n"
106
+ "Driven by the mission to design and make the world's best products in the most sustainable way, "
107
+ "MillerKnoll's sustainability strategy focuses on three key areas:\n"
108
+ "* Carbon : Design the lowest carbon footprint products "
109
+ "and commit to achieving net-zero carbon emissions by 20501.\n"
110
+ "* Materials : Use sustainable, 100% bio-based or recycled materials by 2050.\n"
111
+ "* Circularity : Design timeless, durable products with zero waste by 2050.\n"
112
+ "# Supplier Support\n"
113
+ "At MillerKnoll, we are committed to working closely with our suppliers "
114
+ "to reduce our collective impact on the environment. "
115
+ "We encourage our suppliers to minimize their operations' environmental impacts "
116
+ "and require they assist us in decreasing our facilities' environmental effects."
117
+ )
118
+ ],
119
+ )
94
120
  hq_location: Location | None = pydantic.Field(
95
121
  default=None,
96
122
  description="Location of a place of business, preferably the corporate headquarters.",
@@ -44,8 +44,6 @@ from openepd.model.specs.enums import (
44
44
  )
45
45
  from openepd.model.specs.range.mixins.access_flooring_mixin import AccessFlooringRangeMixin
46
46
 
47
- # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
48
-
49
47
 
50
48
  class CementRangeV1(BaseOpenEpdHierarchicalSpec):
51
49
  """
@@ -181,17 +179,27 @@ class AccessFlooringPanelsRangeV1(BaseOpenEpdHierarchicalSpec, AccessFlooringRan
181
179
  _EXT_VERSION = "1.0"
182
180
 
183
181
 
182
+ class AsphaltInputsRangeV1(BaseOpenEpdHierarchicalSpec):
183
+ """
184
+ Binders, additives, and other non-aggregate-like ingredients for asphalt.
185
+
186
+ Range version.
187
+ """
188
+
189
+ _EXT_VERSION = "1.0"
190
+
191
+
184
192
  class ManufacturingInputsRangeV1(BaseOpenEpdHierarchicalSpec):
185
193
  """
186
194
  Manufacturing inputs.
187
195
 
188
196
  Broad category for collecting materials primarily used as manufacturing inputs, rather than directly used in
189
- a construction.
197
+ construction.
190
198
 
191
199
  Range version.
192
200
  """
193
201
 
194
- _EXT_VERSION = "1.1"
202
+ _EXT_VERSION = "1.2"
195
203
 
196
204
  AccessFlooringPedestals: AccessFlooringPedestalsRangeV1 | None = None
197
205
  CarpetBacking: CarpetBackingRangeV1 | None = None
@@ -200,3 +208,4 @@ class ManufacturingInputsRangeV1(BaseOpenEpdHierarchicalSpec):
200
208
  ConcreteAdmixtures: ConcreteAdmixturesRangeV1 | None = None
201
209
  Textiles: TextilesRangeV1 | None = None
202
210
  AccessFlooringPanels: AccessFlooringPanelsRangeV1 | None = None
211
+ AsphaltInputs: AsphaltInputsRangeV1 | None = None
@@ -64,8 +64,6 @@ from openepd.model.validation.quantity import (
64
64
  AmountRangeUFactor,
65
65
  )
66
66
 
67
- # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
68
-
69
67
 
70
68
  class PanelDoorsRangeV1(BaseOpenEpdHierarchicalSpec):
71
69
  """
@@ -218,7 +216,15 @@ class UnitSkylightsRangeV1(BaseOpenEpdHierarchicalSpec):
218
216
  Range version.
219
217
  """
220
218
 
221
- _EXT_VERSION = "1.0"
219
+ _EXT_VERSION = "1.1"
220
+
221
+ roof_window: bool | None = pydantic.Field(
222
+ default=None,
223
+ description=(
224
+ "Similar to a skylight but has an outward opening that extends from a roof, and is therefore not fixed"
225
+ ),
226
+ examples=[True],
227
+ )
222
228
 
223
229
 
224
230
  class WindowsRangeV1(BaseOpenEpdHierarchicalSpec):
@@ -152,15 +152,21 @@ class AccessFlooringPanelsV1(BaseOpenEpdHierarchicalSpec, AccessFlooringMixin):
152
152
  _EXT_VERSION = "1.0"
153
153
 
154
154
 
155
+ class AsphaltInputsV1(BaseOpenEpdHierarchicalSpec):
156
+ """Binders, additives, and other non-aggregate-like ingredients for asphalt."""
157
+
158
+ _EXT_VERSION = "1.0"
159
+
160
+
155
161
  class ManufacturingInputsV1(BaseOpenEpdHierarchicalSpec):
156
162
  """
157
163
  Manufacturing inputs.
158
164
 
159
165
  Broad category for collecting materials primarily used as manufacturing inputs, rather than directly used in
160
- a construction.
166
+ construction.
161
167
  """
162
168
 
163
- _EXT_VERSION = "1.1"
169
+ _EXT_VERSION = "1.2"
164
170
 
165
171
  # Nested specs:
166
172
  AccessFlooringPedestals: AccessFlooringPedestalsV1 | None = None
@@ -170,3 +176,4 @@ class ManufacturingInputsV1(BaseOpenEpdHierarchicalSpec):
170
176
  ConcreteAdmixtures: ConcreteAdmixturesV1 | None = None
171
177
  Textiles: TextilesV1 | None = None
172
178
  AccessFlooringPanels: AccessFlooringPanelsV1 | None = None
179
+ AsphaltInputs: AsphaltInputsV1 | None = None
@@ -259,7 +259,15 @@ class UnitSkylightsV1(BaseOpenEpdHierarchicalSpec):
259
259
  by hand (cf. roof window). Includes frame(s) and possibly operating hardware.
260
260
  """
261
261
 
262
- _EXT_VERSION = "1.0"
262
+ _EXT_VERSION = "1.1"
263
+
264
+ roof_window: bool | None = pydantic.Field(
265
+ default=None,
266
+ description=(
267
+ "Similar to a skylight but has an outward opening that extends from a roof, and is therefore not fixed"
268
+ ),
269
+ examples=[True],
270
+ )
263
271
 
264
272
 
265
273
  class WindowsV1(BaseOpenEpdHierarchicalSpec):
File without changes
File without changes
File without changes
File without changes