openepd 4.13.1__py3-none-any.whl → 5.1.0__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.
- openepd/__version__.py +1 -1
- openepd/model/common.py +40 -1
- openepd/model/declaration.py +7 -2
- openepd/model/geography.py +1 -1
- openepd/model/lcia.py +191 -19
- openepd/model/pcr.py +2 -2
- openepd/model/specs/README.md +34 -8
- openepd/model/specs/asphalt.py +2 -2
- openepd/model/specs/base.py +15 -5
- openepd/model/specs/generated/__init__.py +80 -0
- openepd/model/specs/generated/cladding.py +4 -4
- openepd/model/specs/generated/concrete.py +8 -7
- openepd/model/specs/generated/electrical.py +2 -2
- openepd/model/specs/generated/finishes.py +10 -6
- openepd/model/specs/generated/masonry.py +6 -2
- openepd/model/specs/generated/network_infrastructure.py +7 -2
- openepd/model/specs/generated/openings.py +10 -6
- openepd/model/specs/generated/sheathing.py +8 -4
- openepd/model/specs/generated/steel.py +10 -5
- openepd/model/specs/range/__init__.py +101 -0
- openepd/model/specs/range/accessories.py +97 -0
- openepd/model/specs/range/aggregates.py +57 -0
- openepd/model/specs/range/aluminium.py +92 -0
- openepd/model/specs/range/asphalt.py +61 -0
- openepd/model/specs/range/bulk_materials.py +31 -0
- openepd/model/specs/range/cast_decks_and_underlayment.py +34 -0
- openepd/model/specs/range/cladding.py +275 -0
- openepd/model/specs/range/cmu.py +44 -0
- openepd/model/specs/range/concrete.py +179 -0
- openepd/model/specs/range/conveying_equipment.py +86 -0
- openepd/model/specs/range/electrical.py +422 -0
- openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py +96 -0
- openepd/model/specs/range/electricity.py +31 -0
- openepd/model/specs/range/finishes.py +585 -0
- openepd/model/specs/range/fire_and_smoke_protection.py +108 -0
- openepd/model/specs/range/furnishings.py +137 -0
- openepd/model/specs/range/grouting.py +34 -0
- openepd/model/specs/range/manufacturing_inputs.py +190 -0
- openepd/model/specs/range/masonry.py +87 -0
- openepd/model/specs/range/material_handling.py +50 -0
- openepd/model/specs/range/mechanical.py +307 -0
- openepd/model/specs/range/mechanical_insulation.py +42 -0
- openepd/model/specs/range/network_infrastructure.py +208 -0
- openepd/model/specs/range/openings.py +512 -0
- openepd/model/specs/range/other_electrical_equipment.py +31 -0
- openepd/model/specs/range/other_materials.py +194 -0
- openepd/model/specs/range/plumbing.py +200 -0
- openepd/model/specs/range/precast_concrete.py +115 -0
- openepd/model/specs/range/sheathing.py +86 -0
- openepd/model/specs/range/steel.py +332 -0
- openepd/model/specs/range/thermal_moisture_protection.py +336 -0
- openepd/model/specs/range/utility_piping.py +75 -0
- openepd/model/specs/range/wood.py +228 -0
- openepd/model/specs/range/wood_joists.py +44 -0
- openepd/model/validation/numbers.py +11 -5
- openepd/model/validation/quantity.py +469 -58
- {openepd-4.13.1.dist-info → openepd-5.1.0.dist-info}/METADATA +6 -1
- {openepd-4.13.1.dist-info → openepd-5.1.0.dist-info}/RECORD +60 -25
- {openepd-4.13.1.dist-info → openepd-5.1.0.dist-info}/LICENSE +0 -0
- {openepd-4.13.1.dist-info → openepd-5.1.0.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
|