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.
- openepd/__version__.py +1 -1
- openepd/model/common.py +39 -0
- openepd/model/declaration.py +7 -2
- openepd/model/geography.py +1 -1
- openepd/model/lcia.py +6 -3
- openepd/model/org.py +0 -1
- 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 +13 -0
- 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 +440 -52
- {openepd-5.0.0.dist-info → openepd-5.1.1.dist-info}/METADATA +6 -1
- {openepd-5.0.0.dist-info → openepd-5.1.1.dist-info}/RECORD +61 -26
- {openepd-5.0.0.dist-info → openepd-5.1.1.dist-info}/LICENSE +0 -0
- {openepd-5.0.0.dist-info → openepd-5.1.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,194 @@
|
|
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
|
+
"AuxiliariesRangeV1",
|
18
|
+
"CleaningProductsRangeV1",
|
19
|
+
"ClothingRangeV1",
|
20
|
+
"FoodBeverageRangeV1",
|
21
|
+
"TransportationInfrastructureRangeV1",
|
22
|
+
"UnsupportedRangeV1",
|
23
|
+
"CopperRangeV1",
|
24
|
+
"EarthworkRangeV1",
|
25
|
+
"ExteriorSunControlDevicesRangeV1",
|
26
|
+
"GypsumFinishingCompoundsRangeV1",
|
27
|
+
"ProfilesRangeV1",
|
28
|
+
"UnknownRangeV1",
|
29
|
+
"ZincRangeV1",
|
30
|
+
"OtherMaterialsRangeV1",
|
31
|
+
)
|
32
|
+
|
33
|
+
# NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
|
34
|
+
|
35
|
+
|
36
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
37
|
+
|
38
|
+
|
39
|
+
class AuxiliariesRangeV1(BaseOpenEpdHierarchicalSpec):
|
40
|
+
"""
|
41
|
+
Auxiliaries performance specification.
|
42
|
+
|
43
|
+
Range version.
|
44
|
+
"""
|
45
|
+
|
46
|
+
_EXT_VERSION = "1.0"
|
47
|
+
|
48
|
+
|
49
|
+
class CleaningProductsRangeV1(BaseOpenEpdHierarchicalSpec):
|
50
|
+
"""
|
51
|
+
Cleaning and disinfecting solutions.
|
52
|
+
|
53
|
+
Range version.
|
54
|
+
"""
|
55
|
+
|
56
|
+
_EXT_VERSION = "1.0"
|
57
|
+
|
58
|
+
|
59
|
+
class ClothingRangeV1(BaseOpenEpdHierarchicalSpec):
|
60
|
+
"""
|
61
|
+
Clothing.
|
62
|
+
|
63
|
+
Range version.
|
64
|
+
"""
|
65
|
+
|
66
|
+
_EXT_VERSION = "1.0"
|
67
|
+
|
68
|
+
|
69
|
+
class FoodBeverageRangeV1(BaseOpenEpdHierarchicalSpec):
|
70
|
+
"""
|
71
|
+
Food Beverage and Tobacco Products.
|
72
|
+
|
73
|
+
Range version.
|
74
|
+
"""
|
75
|
+
|
76
|
+
_EXT_VERSION = "1.0"
|
77
|
+
|
78
|
+
|
79
|
+
class TransportationInfrastructureRangeV1(BaseOpenEpdHierarchicalSpec):
|
80
|
+
"""
|
81
|
+
A broad category for unclassified materials focused on transportation infrastructure.
|
82
|
+
|
83
|
+
Range version.
|
84
|
+
"""
|
85
|
+
|
86
|
+
_EXT_VERSION = "1.0"
|
87
|
+
|
88
|
+
Auxiliaries: AuxiliariesRangeV1 | None = None
|
89
|
+
|
90
|
+
|
91
|
+
class UnsupportedRangeV1(BaseOpenEpdHierarchicalSpec):
|
92
|
+
"""
|
93
|
+
A generic category for EPDs/Materials and categories that are explicitly not yet supported by EC3.
|
94
|
+
|
95
|
+
Assume that any data in this subcategory is unreliable.
|
96
|
+
|
97
|
+
Range version.
|
98
|
+
"""
|
99
|
+
|
100
|
+
_EXT_VERSION = "1.0"
|
101
|
+
|
102
|
+
CleaningProducts: CleaningProductsRangeV1 | None = None
|
103
|
+
Clothing: ClothingRangeV1 | None = None
|
104
|
+
FoodBeverage: FoodBeverageRangeV1 | None = None
|
105
|
+
|
106
|
+
|
107
|
+
class CopperRangeV1(BaseOpenEpdHierarchicalSpec):
|
108
|
+
"""
|
109
|
+
Products made of copper.
|
110
|
+
|
111
|
+
Range version.
|
112
|
+
"""
|
113
|
+
|
114
|
+
_EXT_VERSION = "1.0"
|
115
|
+
|
116
|
+
|
117
|
+
class EarthworkRangeV1(BaseOpenEpdHierarchicalSpec):
|
118
|
+
"""
|
119
|
+
Earthwork, including excavation, shoring, piles, etc.
|
120
|
+
|
121
|
+
Range version.
|
122
|
+
"""
|
123
|
+
|
124
|
+
_EXT_VERSION = "1.0"
|
125
|
+
|
126
|
+
|
127
|
+
class ExteriorSunControlDevicesRangeV1(BaseOpenEpdHierarchicalSpec):
|
128
|
+
"""
|
129
|
+
Sun control devices help to manage solar heat gain by redirecting sunlight.
|
130
|
+
|
131
|
+
Range version.
|
132
|
+
"""
|
133
|
+
|
134
|
+
_EXT_VERSION = "1.0"
|
135
|
+
|
136
|
+
|
137
|
+
class GypsumFinishingCompoundsRangeV1(BaseOpenEpdHierarchicalSpec):
|
138
|
+
"""
|
139
|
+
Plasters and the like for finishing Gypsum Sheet and Board.
|
140
|
+
|
141
|
+
Range version.
|
142
|
+
"""
|
143
|
+
|
144
|
+
_EXT_VERSION = "1.0"
|
145
|
+
|
146
|
+
|
147
|
+
class ProfilesRangeV1(BaseOpenEpdHierarchicalSpec):
|
148
|
+
"""
|
149
|
+
Metal or polymer profiles used for producing or installing of Windows, Doors, Frames and Cladding.
|
150
|
+
|
151
|
+
Range version.
|
152
|
+
"""
|
153
|
+
|
154
|
+
_EXT_VERSION = "1.0"
|
155
|
+
|
156
|
+
|
157
|
+
class UnknownRangeV1(BaseOpenEpdHierarchicalSpec):
|
158
|
+
"""
|
159
|
+
Materials with unknown category. Assume that any data in this subcategory is unreliable.
|
160
|
+
|
161
|
+
Range version.
|
162
|
+
"""
|
163
|
+
|
164
|
+
_EXT_VERSION = "1.0"
|
165
|
+
|
166
|
+
|
167
|
+
class ZincRangeV1(BaseOpenEpdHierarchicalSpec):
|
168
|
+
"""
|
169
|
+
Products made of zinc.
|
170
|
+
|
171
|
+
Range version.
|
172
|
+
"""
|
173
|
+
|
174
|
+
_EXT_VERSION = "1.0"
|
175
|
+
|
176
|
+
|
177
|
+
class OtherMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
|
178
|
+
"""
|
179
|
+
Broad category of materials not yet classified.
|
180
|
+
|
181
|
+
Range version.
|
182
|
+
"""
|
183
|
+
|
184
|
+
_EXT_VERSION = "1.0"
|
185
|
+
|
186
|
+
TransportationInfrastructure: TransportationInfrastructureRangeV1 | None = None
|
187
|
+
Unsupported: UnsupportedRangeV1 | None = None
|
188
|
+
Copper: CopperRangeV1 | None = None
|
189
|
+
Earthwork: EarthworkRangeV1 | None = None
|
190
|
+
ExteriorSunControlDevices: ExteriorSunControlDevicesRangeV1 | None = None
|
191
|
+
GypsumFinishingCompounds: GypsumFinishingCompoundsRangeV1 | None = None
|
192
|
+
Profiles: ProfilesRangeV1 | None = None
|
193
|
+
Unknown: UnknownRangeV1 | None = None
|
194
|
+
Zinc: ZincRangeV1 | None = None
|
@@ -0,0 +1,200 @@
|
|
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
|
+
"BathtubsRangeV1",
|
18
|
+
"FaucetsRangeV1",
|
19
|
+
"OtherPlumbingFixturesRangeV1",
|
20
|
+
"WaterClosetsRangeV1",
|
21
|
+
"FireProtectionPipingRangeV1",
|
22
|
+
"FireSprinklersRangeV1",
|
23
|
+
"StorageTanksRangeV1",
|
24
|
+
"WaterHeatersRangeV1",
|
25
|
+
"PlumbingFixturesRangeV1",
|
26
|
+
"FireSuppressionRangeV1",
|
27
|
+
"PipingRangeV1",
|
28
|
+
"PlumbingEquipmentRangeV1",
|
29
|
+
"PlumbingRangeV1",
|
30
|
+
)
|
31
|
+
|
32
|
+
# NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
|
33
|
+
|
34
|
+
|
35
|
+
from openepd.compat.pydantic import pyd
|
36
|
+
from openepd.model.common import RangeAmount
|
37
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
38
|
+
from openepd.model.specs.generated.enums import FireProtectionPipingMaterial, PipingAnsiSchedule, PlumbingPipingMaterial
|
39
|
+
from openepd.model.validation.quantity import AmountRangeLengthMm
|
40
|
+
|
41
|
+
|
42
|
+
class BathtubsRangeV1(BaseOpenEpdHierarchicalSpec):
|
43
|
+
"""
|
44
|
+
Bathtubs.
|
45
|
+
|
46
|
+
Range version.
|
47
|
+
"""
|
48
|
+
|
49
|
+
_EXT_VERSION = "1.0"
|
50
|
+
|
51
|
+
|
52
|
+
class FaucetsRangeV1(BaseOpenEpdHierarchicalSpec):
|
53
|
+
"""
|
54
|
+
Faucets.
|
55
|
+
|
56
|
+
Range version.
|
57
|
+
"""
|
58
|
+
|
59
|
+
_EXT_VERSION = "1.0"
|
60
|
+
|
61
|
+
|
62
|
+
class OtherPlumbingFixturesRangeV1(BaseOpenEpdHierarchicalSpec):
|
63
|
+
"""
|
64
|
+
Other plumbing fixtures.
|
65
|
+
|
66
|
+
Range version.
|
67
|
+
"""
|
68
|
+
|
69
|
+
_EXT_VERSION = "1.0"
|
70
|
+
|
71
|
+
|
72
|
+
class WaterClosetsRangeV1(BaseOpenEpdHierarchicalSpec):
|
73
|
+
"""
|
74
|
+
Water Closets.
|
75
|
+
|
76
|
+
Range version.
|
77
|
+
"""
|
78
|
+
|
79
|
+
_EXT_VERSION = "1.0"
|
80
|
+
|
81
|
+
|
82
|
+
class FireProtectionPipingRangeV1(BaseOpenEpdHierarchicalSpec):
|
83
|
+
"""
|
84
|
+
System of pipes used to supply fire-suppression fluids to homes and/or businesses.
|
85
|
+
|
86
|
+
Range version.
|
87
|
+
"""
|
88
|
+
|
89
|
+
_EXT_VERSION = "1.0"
|
90
|
+
|
91
|
+
thickness: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
|
92
|
+
piping_diameter: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
|
93
|
+
mass_per_unit_length: RangeAmount | None = pyd.Field(default=None, description="")
|
94
|
+
piping_ansi_schedule: list[PipingAnsiSchedule] | None = pyd.Field(default=None, description="")
|
95
|
+
fire_protection_piping_material: list[FireProtectionPipingMaterial] | None = pyd.Field(default=None, description="")
|
96
|
+
|
97
|
+
|
98
|
+
class FireSprinklersRangeV1(BaseOpenEpdHierarchicalSpec):
|
99
|
+
"""
|
100
|
+
Fire sprinklers.
|
101
|
+
|
102
|
+
Range version.
|
103
|
+
"""
|
104
|
+
|
105
|
+
_EXT_VERSION = "1.0"
|
106
|
+
|
107
|
+
|
108
|
+
class StorageTanksRangeV1(BaseOpenEpdHierarchicalSpec):
|
109
|
+
"""
|
110
|
+
Storage tanks.
|
111
|
+
|
112
|
+
Range version.
|
113
|
+
"""
|
114
|
+
|
115
|
+
_EXT_VERSION = "1.0"
|
116
|
+
|
117
|
+
|
118
|
+
class WaterHeatersRangeV1(BaseOpenEpdHierarchicalSpec):
|
119
|
+
"""
|
120
|
+
Water heaters.
|
121
|
+
|
122
|
+
Range version.
|
123
|
+
"""
|
124
|
+
|
125
|
+
_EXT_VERSION = "1.0"
|
126
|
+
|
127
|
+
|
128
|
+
class PlumbingFixturesRangeV1(BaseOpenEpdHierarchicalSpec):
|
129
|
+
"""
|
130
|
+
Residential and commercial water closets, urinals, lavatories, sinks, bathtubs, showers, faucets, etc.
|
131
|
+
|
132
|
+
Range version.
|
133
|
+
"""
|
134
|
+
|
135
|
+
_EXT_VERSION = "1.0"
|
136
|
+
|
137
|
+
Bathtubs: BathtubsRangeV1 | None = None
|
138
|
+
Faucets: FaucetsRangeV1 | None = None
|
139
|
+
OtherPlumbingFixtures: OtherPlumbingFixturesRangeV1 | None = None
|
140
|
+
WaterClosets: WaterClosetsRangeV1 | None = None
|
141
|
+
|
142
|
+
|
143
|
+
class FireSuppressionRangeV1(BaseOpenEpdHierarchicalSpec):
|
144
|
+
"""
|
145
|
+
Systems used to extinguish, control, or prevent fires.
|
146
|
+
|
147
|
+
Range version.
|
148
|
+
"""
|
149
|
+
|
150
|
+
_EXT_VERSION = "1.0"
|
151
|
+
|
152
|
+
FireProtectionPiping: FireProtectionPipingRangeV1 | None = None
|
153
|
+
FireSprinklers: FireSprinklersRangeV1 | None = None
|
154
|
+
|
155
|
+
|
156
|
+
class PipingRangeV1(BaseOpenEpdHierarchicalSpec):
|
157
|
+
"""
|
158
|
+
Piping.
|
159
|
+
|
160
|
+
System of pipes used to provide water and fuel, remove wastewater, allow venting of gases, or supply
|
161
|
+
fire-suppression fluids to homes, businesses, or other facilities.
|
162
|
+
|
163
|
+
Range version.
|
164
|
+
"""
|
165
|
+
|
166
|
+
_EXT_VERSION = "1.0"
|
167
|
+
|
168
|
+
thickness: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
|
169
|
+
piping_diameter: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
|
170
|
+
mass_per_unit_length: RangeAmount | None = pyd.Field(default=None, description="")
|
171
|
+
piping_ansi_schedule: list[PipingAnsiSchedule] | None = pyd.Field(default=None, description="")
|
172
|
+
plumbing_piping_material: list[PlumbingPipingMaterial] | None = pyd.Field(default=None, description="")
|
173
|
+
|
174
|
+
|
175
|
+
class PlumbingEquipmentRangeV1(BaseOpenEpdHierarchicalSpec):
|
176
|
+
"""
|
177
|
+
Water softeners, filtration equipment, water heaters, and other plumbing equipment.
|
178
|
+
|
179
|
+
Range version.
|
180
|
+
"""
|
181
|
+
|
182
|
+
_EXT_VERSION = "1.0"
|
183
|
+
|
184
|
+
StorageTanks: StorageTanksRangeV1 | None = None
|
185
|
+
WaterHeaters: WaterHeatersRangeV1 | None = None
|
186
|
+
|
187
|
+
|
188
|
+
class PlumbingRangeV1(BaseOpenEpdHierarchicalSpec):
|
189
|
+
"""
|
190
|
+
Residential and commercial plumbing equipment and fixtures.
|
191
|
+
|
192
|
+
Range version.
|
193
|
+
"""
|
194
|
+
|
195
|
+
_EXT_VERSION = "1.0"
|
196
|
+
|
197
|
+
PlumbingFixtures: PlumbingFixturesRangeV1 | None = None
|
198
|
+
FireSuppression: FireSuppressionRangeV1 | None = None
|
199
|
+
Piping: PipingRangeV1 | None = None
|
200
|
+
PlumbingEquipment: PlumbingEquipmentRangeV1 | None = None
|
@@ -0,0 +1,115 @@
|
|
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
|
+
"ArchitecturalPrecastRangeV1",
|
18
|
+
"StructuralPrecastRangeV1",
|
19
|
+
"UtilityUndergroundPrecastRangeV1",
|
20
|
+
"CivilPrecastRangeV1",
|
21
|
+
"PrecastConcreteRangeV1",
|
22
|
+
)
|
23
|
+
|
24
|
+
# NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
|
25
|
+
|
26
|
+
|
27
|
+
from openepd.compat.pydantic import pyd
|
28
|
+
from openepd.model.common import RangeRatioFloat
|
29
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
30
|
+
from openepd.model.specs.generated.precast_concrete import (
|
31
|
+
ArchitecturalPrecastElementType,
|
32
|
+
CivilPrecastElementType,
|
33
|
+
StructuralPrecastElementType,
|
34
|
+
UtilityPrecastElementType,
|
35
|
+
)
|
36
|
+
from openepd.model.validation.quantity import AmountRangePressureMpa
|
37
|
+
|
38
|
+
|
39
|
+
class ArchitecturalPrecastRangeV1(BaseOpenEpdHierarchicalSpec):
|
40
|
+
"""
|
41
|
+
Precast concrete cladding used for architectural purposes.
|
42
|
+
|
43
|
+
Range version.
|
44
|
+
"""
|
45
|
+
|
46
|
+
_EXT_VERSION = "1.1"
|
47
|
+
|
48
|
+
element_type: ArchitecturalPrecastElementType | None = pyd.Field(
|
49
|
+
default=None, description="Precast element type used for architectural applications."
|
50
|
+
)
|
51
|
+
|
52
|
+
|
53
|
+
class StructuralPrecastRangeV1(BaseOpenEpdHierarchicalSpec):
|
54
|
+
"""
|
55
|
+
Precast concrete used for structural purposes.
|
56
|
+
|
57
|
+
Range version.
|
58
|
+
"""
|
59
|
+
|
60
|
+
_EXT_VERSION = "1.1"
|
61
|
+
|
62
|
+
element_type: StructuralPrecastElementType | None = pyd.Field(
|
63
|
+
default=None, description="Precast element type used for structural applications."
|
64
|
+
)
|
65
|
+
|
66
|
+
|
67
|
+
class UtilityUndergroundPrecastRangeV1(BaseOpenEpdHierarchicalSpec):
|
68
|
+
"""
|
69
|
+
Precast concrete for utility vaults, manhole, drain inlets. Excludes piping.
|
70
|
+
|
71
|
+
Range version.
|
72
|
+
"""
|
73
|
+
|
74
|
+
_EXT_VERSION = "1.1"
|
75
|
+
|
76
|
+
element_type: UtilityPrecastElementType | None = pyd.Field(
|
77
|
+
default=None, description="Precast element type used for utility underground applications."
|
78
|
+
)
|
79
|
+
|
80
|
+
|
81
|
+
class CivilPrecastRangeV1(BaseOpenEpdHierarchicalSpec):
|
82
|
+
"""
|
83
|
+
Precast concrete used for civil engineering applications including bridges, highways, and railroads.
|
84
|
+
|
85
|
+
Range version.
|
86
|
+
"""
|
87
|
+
|
88
|
+
_EXT_VERSION = "1.0"
|
89
|
+
|
90
|
+
element_type: CivilPrecastElementType | None = pyd.Field(
|
91
|
+
default=None, description="Precast element type used as civil engineering components."
|
92
|
+
)
|
93
|
+
|
94
|
+
|
95
|
+
class PrecastConcreteRangeV1(BaseOpenEpdHierarchicalSpec):
|
96
|
+
"""
|
97
|
+
General category for precast concrete components.
|
98
|
+
|
99
|
+
Range version.
|
100
|
+
"""
|
101
|
+
|
102
|
+
_EXT_VERSION = "1.1"
|
103
|
+
|
104
|
+
lightweight: bool | None = pyd.Field(default=None, description="")
|
105
|
+
concrete_compressive_strength_28d: AmountRangePressureMpa | None = pyd.Field(default=None, description="")
|
106
|
+
insulated: bool | None = pyd.Field(default=None, description="")
|
107
|
+
gfrc: bool | None = pyd.Field(
|
108
|
+
default=None,
|
109
|
+
description="Glass Fiber Reinforced Concrete is fiber-reinforced concrete sometimes used in architectural panels",
|
110
|
+
)
|
111
|
+
steel_mass_percentage: RangeRatioFloat | None = pyd.Field(default=None, description="")
|
112
|
+
ArchitecturalPrecast: ArchitecturalPrecastRangeV1 | None = None
|
113
|
+
StructuralPrecast: StructuralPrecastRangeV1 | None = None
|
114
|
+
UtilityUndergroundPrecast: UtilityUndergroundPrecastRangeV1 | None = None
|
115
|
+
CivilPrecast: CivilPrecastRangeV1 | None = None
|
@@ -0,0 +1,86 @@
|
|
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
|
+
"CementitiousSheathingBoardRangeV1",
|
18
|
+
"GypsumSheathingBoardRangeV1",
|
19
|
+
"SheathingRangeV1",
|
20
|
+
)
|
21
|
+
|
22
|
+
# NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
|
23
|
+
|
24
|
+
|
25
|
+
from openepd.compat.pydantic import pyd
|
26
|
+
from openepd.model.common import RangeInt
|
27
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
28
|
+
from openepd.model.specs.generated.enums import GypsumFacing, GypsumFireRating, GypsumThickness
|
29
|
+
from openepd.model.validation.quantity import AmountRangeLengthMm
|
30
|
+
|
31
|
+
|
32
|
+
class CementitiousSheathingBoardRangeV1(BaseOpenEpdHierarchicalSpec):
|
33
|
+
"""
|
34
|
+
Cementitious sheathing board.
|
35
|
+
|
36
|
+
Cementitious non-gypsum board used for sheathing exteriors, shaft walls, and interior walls/ceilings requiring
|
37
|
+
moisture resistance.
|
38
|
+
|
39
|
+
Range version.
|
40
|
+
"""
|
41
|
+
|
42
|
+
_EXT_VERSION = "1.0"
|
43
|
+
|
44
|
+
cement_board_thickness: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
|
45
|
+
|
46
|
+
|
47
|
+
class GypsumSheathingBoardRangeV1(BaseOpenEpdHierarchicalSpec):
|
48
|
+
"""
|
49
|
+
Cementitious sheathing board.
|
50
|
+
|
51
|
+
Gypsum board used for sheathing exteriors, shaft walls, and interior walls/ceilings requiring moisture resistance.
|
52
|
+
|
53
|
+
Range version.
|
54
|
+
"""
|
55
|
+
|
56
|
+
_EXT_VERSION = "1.1"
|
57
|
+
|
58
|
+
fire_rating: list[GypsumFireRating] | None = pyd.Field(default=None, description="")
|
59
|
+
thickness: list[GypsumThickness] | None = pyd.Field(default=None, description="")
|
60
|
+
facing: list[GypsumFacing] | None = pyd.Field(default=None, description="")
|
61
|
+
r_factor: str | None = pyd.Field(default=None, description="")
|
62
|
+
flame_spread_astm_e84: RangeInt | None = pyd.Field(default=None, description="")
|
63
|
+
smoke_production_astm_e84: RangeInt | None = pyd.Field(default=None, description="")
|
64
|
+
surface_abrasion_d4977: RangeInt | None = pyd.Field(default=None, description="")
|
65
|
+
indentation_d5420: RangeInt | None = pyd.Field(default=None, description="")
|
66
|
+
soft_body_impact_e695: RangeInt | None = pyd.Field(default=None, description="")
|
67
|
+
hard_body_impact_c1929: RangeInt | None = pyd.Field(default=None, description="")
|
68
|
+
mold_resistant: bool | None = pyd.Field(default=None, description="")
|
69
|
+
foil_backing: bool | None = pyd.Field(default=None, description="")
|
70
|
+
moisture_resistant: bool | None = pyd.Field(default=None, description="")
|
71
|
+
abuse_resistant: bool | None = pyd.Field(default=None, description="")
|
72
|
+
|
73
|
+
|
74
|
+
class SheathingRangeV1(BaseOpenEpdHierarchicalSpec):
|
75
|
+
"""
|
76
|
+
Sheathing.
|
77
|
+
|
78
|
+
Boards or panels used in floor, wall and roof assemblies as a surface onto which other materials can be applied.
|
79
|
+
|
80
|
+
Range version.
|
81
|
+
"""
|
82
|
+
|
83
|
+
_EXT_VERSION = "1.0"
|
84
|
+
|
85
|
+
CementitiousSheathingBoard: CementitiousSheathingBoardRangeV1 | None = None
|
86
|
+
GypsumSheathingBoard: GypsumSheathingBoardRangeV1 | None = None
|