openepd 5.0.0__py3-none-any.whl → 5.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. openepd/__version__.py +1 -1
  2. openepd/model/common.py +39 -0
  3. openepd/model/declaration.py +7 -2
  4. openepd/model/geography.py +1 -1
  5. openepd/model/lcia.py +6 -3
  6. openepd/model/org.py +0 -1
  7. openepd/model/pcr.py +2 -2
  8. openepd/model/specs/README.md +34 -8
  9. openepd/model/specs/asphalt.py +2 -2
  10. openepd/model/specs/base.py +13 -0
  11. openepd/model/specs/generated/__init__.py +80 -0
  12. openepd/model/specs/generated/cladding.py +4 -4
  13. openepd/model/specs/generated/concrete.py +8 -7
  14. openepd/model/specs/generated/electrical.py +2 -2
  15. openepd/model/specs/generated/finishes.py +10 -6
  16. openepd/model/specs/generated/masonry.py +6 -2
  17. openepd/model/specs/generated/network_infrastructure.py +7 -2
  18. openepd/model/specs/generated/openings.py +10 -6
  19. openepd/model/specs/generated/sheathing.py +8 -4
  20. openepd/model/specs/generated/steel.py +10 -5
  21. openepd/model/specs/range/__init__.py +101 -0
  22. openepd/model/specs/range/accessories.py +97 -0
  23. openepd/model/specs/range/aggregates.py +57 -0
  24. openepd/model/specs/range/aluminium.py +92 -0
  25. openepd/model/specs/range/asphalt.py +61 -0
  26. openepd/model/specs/range/bulk_materials.py +31 -0
  27. openepd/model/specs/range/cast_decks_and_underlayment.py +34 -0
  28. openepd/model/specs/range/cladding.py +275 -0
  29. openepd/model/specs/range/cmu.py +44 -0
  30. openepd/model/specs/range/concrete.py +179 -0
  31. openepd/model/specs/range/conveying_equipment.py +86 -0
  32. openepd/model/specs/range/electrical.py +422 -0
  33. openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py +96 -0
  34. openepd/model/specs/range/electricity.py +31 -0
  35. openepd/model/specs/range/finishes.py +585 -0
  36. openepd/model/specs/range/fire_and_smoke_protection.py +108 -0
  37. openepd/model/specs/range/furnishings.py +137 -0
  38. openepd/model/specs/range/grouting.py +34 -0
  39. openepd/model/specs/range/manufacturing_inputs.py +190 -0
  40. openepd/model/specs/range/masonry.py +87 -0
  41. openepd/model/specs/range/material_handling.py +50 -0
  42. openepd/model/specs/range/mechanical.py +307 -0
  43. openepd/model/specs/range/mechanical_insulation.py +42 -0
  44. openepd/model/specs/range/network_infrastructure.py +208 -0
  45. openepd/model/specs/range/openings.py +512 -0
  46. openepd/model/specs/range/other_electrical_equipment.py +31 -0
  47. openepd/model/specs/range/other_materials.py +194 -0
  48. openepd/model/specs/range/plumbing.py +200 -0
  49. openepd/model/specs/range/precast_concrete.py +115 -0
  50. openepd/model/specs/range/sheathing.py +86 -0
  51. openepd/model/specs/range/steel.py +332 -0
  52. openepd/model/specs/range/thermal_moisture_protection.py +336 -0
  53. openepd/model/specs/range/utility_piping.py +75 -0
  54. openepd/model/specs/range/wood.py +228 -0
  55. openepd/model/specs/range/wood_joists.py +44 -0
  56. openepd/model/validation/numbers.py +11 -5
  57. openepd/model/validation/quantity.py +440 -52
  58. {openepd-5.0.0.dist-info → openepd-5.1.1.dist-info}/METADATA +6 -1
  59. {openepd-5.0.0.dist-info → openepd-5.1.1.dist-info}/RECORD +61 -26
  60. {openepd-5.0.0.dist-info → openepd-5.1.1.dist-info}/LICENSE +0 -0
  61. {openepd-5.0.0.dist-info → openepd-5.1.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,332 @@
1
+ #
2
+ # Copyright 2024 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__ = (
17
+ "ColdFormedFramingRangeV1",
18
+ "DeckingSteelRangeV1",
19
+ "SteelSuspensionAssemblyRangeV1",
20
+ "HollowSectionsRangeV1",
21
+ "HotRolledSectionsRangeV1",
22
+ "PlateSteelRangeV1",
23
+ "MetalRailingsRangeV1",
24
+ "MetalStairsRangeV1",
25
+ "MiscMetalFabricationRangeV1",
26
+ "OpenWebMembranesRangeV1",
27
+ "MBQSteelRangeV1",
28
+ "CoilSteelRangeV1",
29
+ "ColdFormedSteelRangeV1",
30
+ "StructuralSteelRangeV1",
31
+ "PrefabricatedSteelAssembliesRangeV1",
32
+ "PostTensioningSteelRangeV1",
33
+ "RebarSteelRangeV1",
34
+ "WireMeshSteelRangeV1",
35
+ "SteelRangeV1",
36
+ )
37
+
38
+ # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
39
+
40
+
41
+ from openepd.compat.pydantic import pyd
42
+ from openepd.model.common import RangeFloat, RangeRatioFloat
43
+ from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
44
+ from openepd.model.specs.generated.enums import SteelComposition, SteelRebarGrade
45
+ from openepd.model.specs.generated.steel import SteelMakingRoute
46
+ from openepd.model.standard import Standard
47
+ from openepd.model.validation.quantity import AmountRangeLengthMm, AmountRangePressureMpa
48
+
49
+
50
+ class ColdFormedFramingRangeV1(BaseOpenEpdHierarchicalSpec):
51
+ """
52
+ Cold Formed Framing performance specification.
53
+
54
+ Cold formed steel elements such as studs and framing, typically made from coil or sheet steel and used
55
+ within walls and ceilings.
56
+
57
+ Range version.
58
+ """
59
+
60
+ _EXT_VERSION = "1.0"
61
+
62
+
63
+ class DeckingSteelRangeV1(BaseOpenEpdHierarchicalSpec):
64
+ """
65
+ Corrugated Decking made from cold-formed sheet steel. Often filled with concrete.
66
+
67
+ Range version.
68
+ """
69
+
70
+ _EXT_VERSION = "1.0"
71
+
72
+
73
+ class SteelSuspensionAssemblyRangeV1(BaseOpenEpdHierarchicalSpec):
74
+ """
75
+ Steel suspension assemblies for suspended (e.g. acoustical) ceiling systems.
76
+
77
+ Range version.
78
+ """
79
+
80
+ _EXT_VERSION = "1.0"
81
+
82
+
83
+ class HollowSectionsRangeV1(BaseOpenEpdHierarchicalSpec):
84
+ """
85
+ Hollow cross section steel shape, typically referred to as hollow structural section (HSS).
86
+
87
+ Range version.
88
+ """
89
+
90
+ _EXT_VERSION = "1.0"
91
+
92
+ fabricated: bool | None = None
93
+
94
+
95
+ class HotRolledSectionsRangeV1(BaseOpenEpdHierarchicalSpec):
96
+ """
97
+ Hot rolled sections performance specification.
98
+
99
+ Steel shapes, such as angles, wide flange beams and I-beams, produced using a high temperature
100
+ mill process.
101
+
102
+ Range version.
103
+ """
104
+
105
+ _EXT_VERSION = "1.0"
106
+
107
+ fabricated: bool | None = None
108
+
109
+
110
+ class PlateSteelRangeV1(BaseOpenEpdHierarchicalSpec):
111
+ """
112
+ Plate Steels.
113
+
114
+ Flat hot-rolled steel, typically thicker than 'sheet', made by compressing multiple steel
115
+ layers together into one.
116
+
117
+
118
+ Range version.
119
+ """
120
+
121
+ _EXT_VERSION = "1.0"
122
+
123
+ fabricated: bool | None = None
124
+
125
+
126
+ class MetalRailingsRangeV1(BaseOpenEpdHierarchicalSpec):
127
+ """
128
+ Metal Railings including pipe and tube railings.
129
+
130
+ Range version.
131
+ """
132
+
133
+ _EXT_VERSION = "1.0"
134
+
135
+
136
+ class MetalStairsRangeV1(BaseOpenEpdHierarchicalSpec):
137
+ """
138
+ Metal stairs.
139
+
140
+ Includes: metal pan stairs, metal floor plate stairs, grating stairs, fire escapes,
141
+ ladders, and walkways/catwalks/ramps/platforms.
142
+
143
+ Range version.
144
+ """
145
+
146
+ _EXT_VERSION = "1.0"
147
+
148
+
149
+ class MiscMetalFabricationRangeV1(BaseOpenEpdHierarchicalSpec):
150
+ """
151
+ Prefabricated steel assemblies not included in another category.
152
+
153
+ Range version.
154
+ """
155
+
156
+ _EXT_VERSION = "1.0"
157
+
158
+
159
+ class OpenWebMembranesRangeV1(BaseOpenEpdHierarchicalSpec):
160
+ """
161
+ Open web membranes performance specification.
162
+
163
+ Lightweight steel truss, typically made of parallel chords and a triangulated web system,
164
+ "proportioned to span between bearing points.
165
+
166
+ Range version.
167
+ """
168
+
169
+ _EXT_VERSION = "1.0"
170
+
171
+
172
+ class MBQSteelRangeV1(BaseOpenEpdHierarchicalSpec):
173
+ """
174
+ Merchant Bar Quality (MBQ) steel.
175
+
176
+ Used as feedstock to steel construction products, but also includes rounds, angles, and light structural shapes.
177
+
178
+ Range version.
179
+ """
180
+
181
+ _EXT_VERSION = "1.0"
182
+
183
+
184
+ class CoilSteelRangeV1(BaseOpenEpdHierarchicalSpec):
185
+ """
186
+ Sheet or strip steel, sold in rolls.
187
+
188
+ Typically, coil steel is cold-formed into light gauge products.
189
+
190
+ Range version.
191
+ """
192
+
193
+ _EXT_VERSION = "1.0"
194
+
195
+
196
+ class ColdFormedSteelRangeV1(BaseOpenEpdHierarchicalSpec):
197
+ """
198
+ Cold Formed Steel Products.
199
+
200
+ All types of cold formed steel products. These products are made from hot-rolled steel coils and
201
+ sheets and are cold formed into products such as studs, decking, panels, and other accessories.
202
+
203
+ Range version.
204
+ """
205
+
206
+ _EXT_VERSION = "1.0"
207
+
208
+ ColdFormedFraming: ColdFormedFramingRangeV1 | None = None
209
+ DeckingSteel: DeckingSteelRangeV1 | None = None
210
+ SteelSuspensionAssembly: SteelSuspensionAssemblyRangeV1 | None = None
211
+
212
+
213
+ class StructuralSteelRangeV1(BaseOpenEpdHierarchicalSpec):
214
+ """
215
+ Structural Steel.
216
+
217
+ Hot rolled steel shapes, Hollow Sections, pipes, and similar hot-worked structural steels.
218
+
219
+ Range version.
220
+ """
221
+
222
+ _EXT_VERSION = "1.0"
223
+
224
+ modulus_of_elasticity: AmountRangePressureMpa | None = pyd.Field(
225
+ default=None, description="Modulus of Elasticity, https://en.wikipedia.org/wiki/Elastic_modulus "
226
+ )
227
+ thermal_expansion: str | None = pyd.Field(
228
+ default=None, description="Thermal Expansion, https://en.wikipedia.org/wiki/Thermal_expansion"
229
+ )
230
+ thermal_conductivity: str | None = pyd.Field(
231
+ default=None,
232
+ description="Thermal Conductivity, https://en.wikipedia.org/wiki/Thermal_conductivity_and_resistivity",
233
+ )
234
+ HollowSections: HollowSectionsRangeV1 | None = None
235
+ HotRolledSections: HotRolledSectionsRangeV1 | None = None
236
+ PlateSteel: PlateSteelRangeV1 | None = None
237
+
238
+
239
+ class PrefabricatedSteelAssembliesRangeV1(BaseOpenEpdHierarchicalSpec):
240
+ """
241
+ Prefabricated assemblies made primarily of steel.
242
+
243
+ Range version.
244
+ """
245
+
246
+ _EXT_VERSION = "1.0"
247
+
248
+ MetalRailings: MetalRailingsRangeV1 | None = None
249
+ MetalStairs: MetalStairsRangeV1 | None = None
250
+ MiscMetalFabrication: MiscMetalFabricationRangeV1 | None = None
251
+ OpenWebMembranes: OpenWebMembranesRangeV1 | None = None
252
+
253
+
254
+ class PostTensioningSteelRangeV1(BaseOpenEpdHierarchicalSpec):
255
+ """
256
+ Steel tensioning cables or tendons for compression of prestressed concrete.
257
+
258
+ Range version.
259
+ """
260
+
261
+ _EXT_VERSION = "1.0"
262
+
263
+
264
+ class RebarSteelRangeV1(BaseOpenEpdHierarchicalSpec):
265
+ """
266
+ Reinforcing bar used together with concrete.
267
+
268
+ Range version.
269
+ """
270
+
271
+ _EXT_VERSION = "1.0"
272
+
273
+ fabricated: bool | None = None
274
+ grade: list[SteelRebarGrade] | None = pyd.Field(default=None)
275
+ diameter_min: AmountRangeLengthMm | None = pyd.Field(default=None, description="Minimal diameter")
276
+ bending_pin_max: RangeFloat | None = pyd.Field(default=None)
277
+ ts_ys_ratio_max: RangeFloat | None = pyd.Field(
278
+ default=None, description="Max ratio of ultimate tensile to yield tensile strength"
279
+ )
280
+ epoxy_coated: bool | None = pyd.Field(default=None)
281
+
282
+
283
+ class WireMeshSteelRangeV1(BaseOpenEpdHierarchicalSpec):
284
+ """
285
+ Mild steel wire for reinforcement, connections, and meshes.
286
+
287
+ Range version.
288
+ """
289
+
290
+ _EXT_VERSION = "1.0"
291
+
292
+ fabricated: bool | None = None
293
+
294
+
295
+ class SteelRangeV1(BaseOpenEpdHierarchicalSpec):
296
+ """
297
+ Broad category for construction materials made from steel and its alloys.
298
+
299
+ Range version.
300
+ """
301
+
302
+ _EXT_VERSION = "1.0"
303
+
304
+ yield_tensile_str: AmountRangePressureMpa | None = pyd.Field(
305
+ default=None,
306
+ description="Yield Tensile strength (Mpa) per unit area. Yield strength is the point at which a material begins to permanently deform or change shape due to applied stress.",
307
+ )
308
+ bar_elongation: RangeFloat | None = pyd.Field(
309
+ default=None, description="Increase in length at break, in percent. Typically 10%-20%"
310
+ )
311
+ recycled_content: RangeRatioFloat | None = pyd.Field(default=None, description="")
312
+ post_consumer_recycled_content: RangeRatioFloat | None = pyd.Field(
313
+ default=None, description="Should be a number between zero and the Recycled Content (steel_recycled_content)"
314
+ )
315
+ astm_marking: str | None = pyd.Field(default=None, description="The marking to be expected on the product.")
316
+ euro_marking: str | None = pyd.Field(default=None, description="The marking to be expected on the product.")
317
+ composition: list[SteelComposition] | None = pyd.Field(default=None, description="Basic chemical composition")
318
+ cold_finished: bool | None = pyd.Field(default=None)
319
+ galvanized: bool | None = pyd.Field(default=None)
320
+ stainless: bool | None = pyd.Field(default=None)
321
+ making_route: SteelMakingRoute | None = pyd.Field(default=None)
322
+ astm_standards: list[Standard] | None = pyd.Field(default=None, description="List of ASTM standards")
323
+ sae_standards: list[Standard] | None = pyd.Field(default=None, description="List of SAE standards")
324
+ en_standards: list[Standard] | None = pyd.Field(default=None, description="List of EN standards")
325
+ MBQSteel: MBQSteelRangeV1 | None = None
326
+ CoilSteel: CoilSteelRangeV1 | None = None
327
+ ColdFormedSteel: ColdFormedSteelRangeV1 | None = None
328
+ StructuralSteel: StructuralSteelRangeV1 | None = None
329
+ PrefabricatedSteelAssemblies: PrefabricatedSteelAssembliesRangeV1 | None = None
330
+ PostTensioningSteel: PostTensioningSteelRangeV1 | None = None
331
+ RebarSteel: RebarSteelRangeV1 | None = None
332
+ WireMeshSteel: WireMeshSteelRangeV1 | None = None
@@ -0,0 +1,336 @@
1
+ #
2
+ # Copyright 2024 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__ = (
17
+ "BituminousRoofingRangeV1",
18
+ "SinglePlyEPDMRangeV1",
19
+ "SinglePlyKEERangeV1",
20
+ "SinglePlyOtherRangeV1",
21
+ "SinglePlyPolyurethaneRangeV1",
22
+ "SinglePlyPVCRangeV1",
23
+ "SinglePlyTPORangeV1",
24
+ "BlanketInsulationRangeV1",
25
+ "BlownInsulationRangeV1",
26
+ "BoardInsulationRangeV1",
27
+ "FoamedInPlaceRangeV1",
28
+ "SprayedInsulationRangeV1",
29
+ "AirBarriersRangeV1",
30
+ "MembraneRoofingRangeV1",
31
+ "InsulationRangeV1",
32
+ "DampproofingAndWaterproofingRangeV1",
33
+ "FlashingAndSheetMetalRangeV1",
34
+ "JointProtectionRangeV1",
35
+ "RoofCoverBoardsRangeV1",
36
+ "SteepSlopeRoofingRangeV1",
37
+ "WeatherBarriersRangeV1",
38
+ "ThermalMoistureProtectionRangeV1",
39
+ )
40
+
41
+ # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
42
+
43
+
44
+ from openepd.compat.pydantic import pyd
45
+ from openepd.model.common import RangeFloat, RangeRatioFloat
46
+ from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
47
+ from openepd.model.specs.generated.enums import (
48
+ FoamType,
49
+ InsulatingMaterial,
50
+ InsulationIntendedApplication,
51
+ MembraneRoofingReinforcement,
52
+ RoofCoverBoardsFacing,
53
+ RoofCoverBoardsMaterial,
54
+ )
55
+ from openepd.model.validation.quantity import AmountRangeLengthMm, AmountRangePressureMpa
56
+
57
+
58
+ class BituminousRoofingRangeV1(BaseOpenEpdHierarchicalSpec):
59
+ """
60
+ Bituminous roofing.
61
+
62
+ Premanufactured membrane roofing sheets consisting of asphalt, reinforcing layers, and in some cases a surfacing.
63
+
64
+ Range version.
65
+ """
66
+
67
+ _EXT_VERSION = "1.0"
68
+
69
+
70
+ class SinglePlyEPDMRangeV1(BaseOpenEpdHierarchicalSpec):
71
+ """
72
+ Ethylene propylene diene monomer (EPDM) rubber membrane.
73
+
74
+ Range version.
75
+ """
76
+
77
+ _EXT_VERSION = "1.0"
78
+
79
+
80
+ class SinglePlyKEERangeV1(BaseOpenEpdHierarchicalSpec):
81
+ """
82
+ Ketone Ethylene Ester (KEE) roof membranes.
83
+
84
+ Consist of PVC resin and KEE plasticizer, with KEE exceeding 50% of the polymer content by weight.
85
+
86
+ Range version.
87
+ """
88
+
89
+ _EXT_VERSION = "1.0"
90
+
91
+
92
+ class SinglePlyOtherRangeV1(BaseOpenEpdHierarchicalSpec):
93
+ """
94
+ Single ply other performance specification.
95
+
96
+ Range version.
97
+ """
98
+
99
+ _EXT_VERSION = "1.0"
100
+
101
+
102
+ class SinglePlyPolyurethaneRangeV1(BaseOpenEpdHierarchicalSpec):
103
+ """
104
+ Polyurethane liquid for flat roof waterproofing.
105
+
106
+ Range version.
107
+ """
108
+
109
+ _EXT_VERSION = "1.0"
110
+
111
+
112
+ class SinglePlyPVCRangeV1(BaseOpenEpdHierarchicalSpec):
113
+ """
114
+ Polyvinyl chloride (PVC) thermoplastic membrane.
115
+
116
+ Range version.
117
+ """
118
+
119
+ _EXT_VERSION = "1.0"
120
+
121
+
122
+ class SinglePlyTPORangeV1(BaseOpenEpdHierarchicalSpec):
123
+ """
124
+ Thermoplastic Polyolefin (TPO) membrane.
125
+
126
+ Range version.
127
+ """
128
+
129
+ _EXT_VERSION = "1.0"
130
+
131
+
132
+ class BlanketInsulationRangeV1(BaseOpenEpdHierarchicalSpec):
133
+ """
134
+ Non-rigid insulation batts, blankets, and rolls.
135
+
136
+ Range version.
137
+ """
138
+
139
+ _EXT_VERSION = "1.0"
140
+
141
+
142
+ class BlownInsulationRangeV1(BaseOpenEpdHierarchicalSpec):
143
+ """
144
+ Loose-fill insulation for blow-in or closed cavity applications.
145
+
146
+ Range version.
147
+ """
148
+
149
+ _EXT_VERSION = "1.0"
150
+
151
+
152
+ class BoardInsulationRangeV1(BaseOpenEpdHierarchicalSpec):
153
+ """
154
+ Rigid insulation products including rigid foams, wood fiberboard insulation, and rigid mineral wool boards.
155
+
156
+ Range version.
157
+ """
158
+
159
+ _EXT_VERSION = "1.0"
160
+
161
+ compressive_strength: AmountRangePressureMpa | None = pyd.Field(default=None, description="")
162
+
163
+
164
+ class FoamedInPlaceRangeV1(BaseOpenEpdHierarchicalSpec):
165
+ """
166
+ Open and closed cell spray foam insulation.
167
+
168
+ Range version.
169
+ """
170
+
171
+ _EXT_VERSION = "1.0"
172
+
173
+ foam_type: list[FoamType] | None = pyd.Field(default=None, description="")
174
+
175
+
176
+ class SprayedInsulationRangeV1(BaseOpenEpdHierarchicalSpec):
177
+ """
178
+ Spray-on insulation, such as spray-on cellulose.
179
+
180
+ Foaming sprays are categorized separately under foamed-in-place.
181
+
182
+ Range version.
183
+ """
184
+
185
+ _EXT_VERSION = "1.0"
186
+
187
+
188
+ class AirBarriersRangeV1(BaseOpenEpdHierarchicalSpec):
189
+ """
190
+ Air Infiltration Barrier.
191
+
192
+ Range version.
193
+ """
194
+
195
+ _EXT_VERSION = "1.0"
196
+
197
+
198
+ class MembraneRoofingRangeV1(BaseOpenEpdHierarchicalSpec):
199
+ """
200
+ Membrane roofing.
201
+
202
+ Built-up bituminous, modified bituminous, elastomeric, thermoplastic, fluid-applied, and hot-applied rubberized
203
+ asphalt membrane roofing.
204
+
205
+ Range version.
206
+ """
207
+
208
+ _EXT_VERSION = "1.0"
209
+
210
+ thickness: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
211
+ sri: RangeFloat | None = pyd.Field(default=None, description="")
212
+ total_recycled_content: RangeRatioFloat | None = pyd.Field(default=None, description="")
213
+ post_consumer_recycled_content: RangeRatioFloat | None = pyd.Field(default=None, description="")
214
+ reinforcement: list[MembraneRoofingReinforcement] | None = pyd.Field(default=None, description="")
215
+ felt_backing: bool | None = pyd.Field(default=None, description="")
216
+ nsf347: bool | None = pyd.Field(default=None, description="")
217
+ vantage_vinyl: bool | None = pyd.Field(default=None, description="")
218
+ BituminousRoofing: BituminousRoofingRangeV1 | None = None
219
+ SinglePlyEPDM: SinglePlyEPDMRangeV1 | None = None
220
+ SinglePlyKEE: SinglePlyKEERangeV1 | None = None
221
+ SinglePlyOther: SinglePlyOtherRangeV1 | None = None
222
+ SinglePlyPolyurethane: SinglePlyPolyurethaneRangeV1 | None = None
223
+ SinglePlyPVC: SinglePlyPVCRangeV1 | None = None
224
+ SinglePlyTPO: SinglePlyTPORangeV1 | None = None
225
+
226
+
227
+ class InsulationRangeV1(BaseOpenEpdHierarchicalSpec):
228
+ """
229
+ Thermal insulation materials for use in construction.
230
+
231
+ Range version.
232
+ """
233
+
234
+ _EXT_VERSION = "1.0"
235
+
236
+ r_value: RangeFloat | None = pyd.Field(default=None, description="")
237
+ material: list[InsulatingMaterial] | None = pyd.Field(default=None, description="")
238
+ intended_application: list[InsulationIntendedApplication] | None = pyd.Field(default=None, description="")
239
+ thickness_per_declared_unit: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
240
+ BlanketInsulation: BlanketInsulationRangeV1 | None = None
241
+ BlownInsulation: BlownInsulationRangeV1 | None = None
242
+ BoardInsulation: BoardInsulationRangeV1 | None = None
243
+ FoamedInPlace: FoamedInPlaceRangeV1 | None = None
244
+ SprayedInsulation: SprayedInsulationRangeV1 | None = None
245
+
246
+
247
+ class DampproofingAndWaterproofingRangeV1(BaseOpenEpdHierarchicalSpec):
248
+ """
249
+ Dampproofing and waterproofing.
250
+
251
+ Dampproofing, and built-up bituminous, sheet, fluid-applied, cementitious, reactive, and bentonite waterproofing.
252
+
253
+ Range version.
254
+ """
255
+
256
+ _EXT_VERSION = "1.0"
257
+
258
+
259
+ class FlashingAndSheetMetalRangeV1(BaseOpenEpdHierarchicalSpec):
260
+ """
261
+ Exposed sheet metal items, typically for drainage.
262
+
263
+ Range version.
264
+ """
265
+
266
+ _EXT_VERSION = "1.0"
267
+
268
+
269
+ class JointProtectionRangeV1(BaseOpenEpdHierarchicalSpec):
270
+ """
271
+ Preformed joint seals and sealants, expansion control joint cover assemblies.
272
+
273
+ Range version.
274
+ """
275
+
276
+ _EXT_VERSION = "1.0"
277
+
278
+
279
+ class RoofCoverBoardsRangeV1(BaseOpenEpdHierarchicalSpec):
280
+ """
281
+ Boards installed between the insulation and membrane layers on a roof system.
282
+
283
+ It provides additional durability, fire protection, thermal, and vapor performance to a roof system, especially
284
+ in low-slope, high foot traffic applications.
285
+
286
+ Range version.
287
+ """
288
+
289
+ _EXT_VERSION = "1.0"
290
+
291
+ material: list[RoofCoverBoardsMaterial] | None = pyd.Field(default=None, description="")
292
+ facing: list[RoofCoverBoardsFacing] | None = pyd.Field(default=None, description="")
293
+ thickness: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
294
+
295
+
296
+ class SteepSlopeRoofingRangeV1(BaseOpenEpdHierarchicalSpec):
297
+ """
298
+ Roofing materials typically for slopes of 3:12 and greater.
299
+
300
+ Range version.
301
+ """
302
+
303
+ _EXT_VERSION = "1.0"
304
+
305
+
306
+ class WeatherBarriersRangeV1(BaseOpenEpdHierarchicalSpec):
307
+ """
308
+ Vapor retarders and sheet or membrane air barriers.
309
+
310
+ Range version.
311
+ """
312
+
313
+ _EXT_VERSION = "1.0"
314
+
315
+
316
+ class ThermalMoistureProtectionRangeV1(BaseOpenEpdHierarchicalSpec):
317
+ """
318
+ Thermal moisture protection.
319
+
320
+ Broad category of materials whose function is to provide moisture and thermal protection between spaces (e.g.,
321
+ between the exterior and interior of a building).
322
+
323
+ Range version.
324
+ """
325
+
326
+ _EXT_VERSION = "1.0"
327
+
328
+ AirBarriers: AirBarriersRangeV1 | None = None
329
+ MembraneRoofing: MembraneRoofingRangeV1 | None = None
330
+ Insulation: InsulationRangeV1 | None = None
331
+ DampproofingAndWaterproofing: DampproofingAndWaterproofingRangeV1 | None = None
332
+ FlashingAndSheetMetal: FlashingAndSheetMetalRangeV1 | None = None
333
+ JointProtection: JointProtectionRangeV1 | None = None
334
+ RoofCoverBoards: RoofCoverBoardsRangeV1 | None = None
335
+ SteepSlopeRoofing: SteepSlopeRoofingRangeV1 | None = None
336
+ WeatherBarriers: WeatherBarriersRangeV1 | None = None