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,275 @@
|
|
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
|
+
"AluminiumSidingRangeV1",
|
18
|
+
"SteelSidingRangeV1",
|
19
|
+
"ZincSidingRangeV1",
|
20
|
+
"ShingleAndShakeSidingRangeV1",
|
21
|
+
"MetalSidingRangeV1",
|
22
|
+
"CompositionSidingRangeV1",
|
23
|
+
"FiberCementSidingRangeV1",
|
24
|
+
"InsulatedVinylSidingRangeV1",
|
25
|
+
"PlywoodSidingRangeV1",
|
26
|
+
"PolypropyleneSidingRangeV1",
|
27
|
+
"SolidWoodSidingRangeV1",
|
28
|
+
"VinylSidingRangeV1",
|
29
|
+
"SidingRangeV1",
|
30
|
+
"InsulatedRoofPanelsRangeV1",
|
31
|
+
"InsulatedWallPanelsRangeV1",
|
32
|
+
"RoofPanelsRangeV1",
|
33
|
+
"StoneCladdingRangeV1",
|
34
|
+
"WallPanelsRangeV1",
|
35
|
+
"CladdingRangeV1",
|
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.specs.base import BaseOpenEpdHierarchicalSpec
|
43
|
+
from openepd.model.specs.generated.enums import CladdingFacingMaterial, CladdingInsulatingMaterial, SidingFormFactor
|
44
|
+
from openepd.model.validation.quantity import AmountRangeLengthMm, AmountRangeRValue
|
45
|
+
|
46
|
+
|
47
|
+
class AluminiumSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
48
|
+
"""
|
49
|
+
Exterior siding product made primarily from aluminium.
|
50
|
+
|
51
|
+
Range version.
|
52
|
+
"""
|
53
|
+
|
54
|
+
_EXT_VERSION = "1.0"
|
55
|
+
|
56
|
+
|
57
|
+
class SteelSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
58
|
+
"""
|
59
|
+
Exterior siding product made primarily from steel.
|
60
|
+
|
61
|
+
Range version.
|
62
|
+
"""
|
63
|
+
|
64
|
+
_EXT_VERSION = "1.0"
|
65
|
+
|
66
|
+
|
67
|
+
class ZincSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
68
|
+
"""
|
69
|
+
Exterior siding product made primarily from zinc.
|
70
|
+
|
71
|
+
Range version.
|
72
|
+
"""
|
73
|
+
|
74
|
+
_EXT_VERSION = "1.0"
|
75
|
+
|
76
|
+
|
77
|
+
class ShingleAndShakeSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
78
|
+
"""
|
79
|
+
Shingle & shake siding.
|
80
|
+
|
81
|
+
Range version.
|
82
|
+
"""
|
83
|
+
|
84
|
+
_EXT_VERSION = "1.0"
|
85
|
+
|
86
|
+
|
87
|
+
class MetalSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
88
|
+
"""
|
89
|
+
Exterior siding product made of metal such as steel, aluminum, etc.
|
90
|
+
|
91
|
+
Range version.
|
92
|
+
"""
|
93
|
+
|
94
|
+
_EXT_VERSION = "1.0"
|
95
|
+
|
96
|
+
AluminiumSiding: AluminiumSidingRangeV1 | None = None
|
97
|
+
SteelSiding: SteelSidingRangeV1 | None = None
|
98
|
+
ZincSiding: ZincSidingRangeV1 | None = None
|
99
|
+
|
100
|
+
|
101
|
+
class CompositionSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
102
|
+
"""
|
103
|
+
Composite wood siding composed of wood wafers and resin.
|
104
|
+
|
105
|
+
Range version.
|
106
|
+
"""
|
107
|
+
|
108
|
+
_EXT_VERSION = "1.0"
|
109
|
+
|
110
|
+
|
111
|
+
class FiberCementSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
112
|
+
"""
|
113
|
+
Composite siding product made of cement and cellulose fibers.
|
114
|
+
|
115
|
+
Range version.
|
116
|
+
"""
|
117
|
+
|
118
|
+
_EXT_VERSION = "1.0"
|
119
|
+
|
120
|
+
|
121
|
+
class InsulatedVinylSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
122
|
+
"""
|
123
|
+
Vinyl cladding product integrated with manufacturer-installed insulation.
|
124
|
+
|
125
|
+
Range version.
|
126
|
+
"""
|
127
|
+
|
128
|
+
_EXT_VERSION = "1.0"
|
129
|
+
|
130
|
+
thickness: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
|
131
|
+
|
132
|
+
|
133
|
+
class PlywoodSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
134
|
+
"""
|
135
|
+
Siding made of plywood boards.
|
136
|
+
|
137
|
+
Range version.
|
138
|
+
"""
|
139
|
+
|
140
|
+
_EXT_VERSION = "1.0"
|
141
|
+
|
142
|
+
|
143
|
+
class PolypropyleneSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
144
|
+
"""
|
145
|
+
Exterior wall cladding made from polypropylene, which may contain fillers or reinforcements.
|
146
|
+
|
147
|
+
Range version.
|
148
|
+
"""
|
149
|
+
|
150
|
+
_EXT_VERSION = "1.0"
|
151
|
+
|
152
|
+
|
153
|
+
class SolidWoodSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
154
|
+
"""
|
155
|
+
Siding products made of wood including shingle & shake siding.
|
156
|
+
|
157
|
+
Range version.
|
158
|
+
"""
|
159
|
+
|
160
|
+
_EXT_VERSION = "1.0"
|
161
|
+
|
162
|
+
ShingleAndShakeSiding: ShingleAndShakeSidingRangeV1 | None = None
|
163
|
+
|
164
|
+
|
165
|
+
class VinylSidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
166
|
+
"""
|
167
|
+
Exterior wall cladding made principally from rigid polyvinyl chloride (PVC).
|
168
|
+
|
169
|
+
Range version.
|
170
|
+
"""
|
171
|
+
|
172
|
+
_EXT_VERSION = "1.0"
|
173
|
+
|
174
|
+
thickness: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
|
175
|
+
|
176
|
+
|
177
|
+
class SidingRangeV1(BaseOpenEpdHierarchicalSpec):
|
178
|
+
"""
|
179
|
+
Long narrow products for exterior wall face of building.
|
180
|
+
|
181
|
+
Typically made of, e.g., metal, solid wood, plywood, plastic, composition, fiber cement, etc.
|
182
|
+
|
183
|
+
Range version.
|
184
|
+
"""
|
185
|
+
|
186
|
+
_EXT_VERSION = "1.0"
|
187
|
+
|
188
|
+
insulated: bool | None = pyd.Field(default=None, description="")
|
189
|
+
ventilated: bool | None = pyd.Field(default=None, description="")
|
190
|
+
paint_or_stain_required: bool | None = pyd.Field(default=None, description="")
|
191
|
+
r_value: AmountRangeRValue | None = pyd.Field(default=None, description="")
|
192
|
+
form_factor: list[SidingFormFactor] | None = pyd.Field(default=None, description="")
|
193
|
+
MetalSiding: MetalSidingRangeV1 | None = None
|
194
|
+
CompositionSiding: CompositionSidingRangeV1 | None = None
|
195
|
+
FiberCementSiding: FiberCementSidingRangeV1 | None = None
|
196
|
+
InsulatedVinylSiding: InsulatedVinylSidingRangeV1 | None = None
|
197
|
+
PlywoodSiding: PlywoodSidingRangeV1 | None = None
|
198
|
+
PolypropyleneSiding: PolypropyleneSidingRangeV1 | None = None
|
199
|
+
SolidWoodSiding: SolidWoodSidingRangeV1 | None = None
|
200
|
+
VinylSiding: VinylSidingRangeV1 | None = None
|
201
|
+
|
202
|
+
|
203
|
+
class InsulatedRoofPanelsRangeV1(BaseOpenEpdHierarchicalSpec):
|
204
|
+
"""
|
205
|
+
Insulated roof panels performance specification.
|
206
|
+
|
207
|
+
Range version.
|
208
|
+
"""
|
209
|
+
|
210
|
+
_EXT_VERSION = "1.0"
|
211
|
+
|
212
|
+
r_value: AmountRangeRValue | None = pyd.Field(default=None, description="")
|
213
|
+
insulating_material: list[CladdingInsulatingMaterial] | None = pyd.Field(default=None, description="")
|
214
|
+
|
215
|
+
|
216
|
+
class InsulatedWallPanelsRangeV1(BaseOpenEpdHierarchicalSpec):
|
217
|
+
"""
|
218
|
+
Insulated wall panels performance specification.
|
219
|
+
|
220
|
+
Range version.
|
221
|
+
"""
|
222
|
+
|
223
|
+
_EXT_VERSION = "1.0"
|
224
|
+
|
225
|
+
r_value: AmountRangeRValue | None = pyd.Field(default=None, description="")
|
226
|
+
insulating_material: list[CladdingInsulatingMaterial] | None = pyd.Field(default=None, description="")
|
227
|
+
|
228
|
+
|
229
|
+
class RoofPanelsRangeV1(BaseOpenEpdHierarchicalSpec):
|
230
|
+
"""
|
231
|
+
Roof panels performance specification.
|
232
|
+
|
233
|
+
Range version.
|
234
|
+
"""
|
235
|
+
|
236
|
+
_EXT_VERSION = "1.0"
|
237
|
+
|
238
|
+
|
239
|
+
class StoneCladdingRangeV1(BaseOpenEpdHierarchicalSpec):
|
240
|
+
"""
|
241
|
+
Stone cladding performance specification.
|
242
|
+
|
243
|
+
Range version.
|
244
|
+
"""
|
245
|
+
|
246
|
+
_EXT_VERSION = "1.0"
|
247
|
+
|
248
|
+
|
249
|
+
class WallPanelsRangeV1(BaseOpenEpdHierarchicalSpec):
|
250
|
+
"""
|
251
|
+
Wall panels performance specification.
|
252
|
+
|
253
|
+
Range version.
|
254
|
+
"""
|
255
|
+
|
256
|
+
_EXT_VERSION = "1.0"
|
257
|
+
|
258
|
+
|
259
|
+
class CladdingRangeV1(BaseOpenEpdHierarchicalSpec):
|
260
|
+
"""
|
261
|
+
Cladding performance specification.
|
262
|
+
|
263
|
+
Range version.
|
264
|
+
"""
|
265
|
+
|
266
|
+
_EXT_VERSION = "1.0"
|
267
|
+
|
268
|
+
thickness: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
|
269
|
+
facing_material: list[CladdingFacingMaterial] | None = pyd.Field(default=None, description="")
|
270
|
+
Siding: SidingRangeV1 | None = None
|
271
|
+
InsulatedRoofPanels: InsulatedRoofPanelsRangeV1 | None = None
|
272
|
+
InsulatedWallPanels: InsulatedWallPanelsRangeV1 | None = None
|
273
|
+
RoofPanels: RoofPanelsRangeV1 | None = None
|
274
|
+
StoneCladding: StoneCladdingRangeV1 | None = None
|
275
|
+
WallPanels: WallPanelsRangeV1 | None = None
|
@@ -0,0 +1,44 @@
|
|
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__ = ("CMURangeV1",)
|
17
|
+
|
18
|
+
# NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
|
19
|
+
|
20
|
+
|
21
|
+
from openepd.compat.pydantic import pyd
|
22
|
+
from openepd.model.common import RangeFloat
|
23
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
24
|
+
from openepd.model.specs.generated.enums import CmuBlockType, CmuWeightClassification
|
25
|
+
from openepd.model.validation.quantity import AmountRangeGWP, AmountRangePressureMpa
|
26
|
+
|
27
|
+
|
28
|
+
class CMURangeV1(BaseOpenEpdHierarchicalSpec):
|
29
|
+
"""
|
30
|
+
Pre-manufactured concrete masonry blocks.
|
31
|
+
|
32
|
+
Range version.
|
33
|
+
"""
|
34
|
+
|
35
|
+
_EXT_VERSION = "1.0"
|
36
|
+
|
37
|
+
white_cement: bool | None = pyd.Field(default=None, description="")
|
38
|
+
strength_28d: AmountRangePressureMpa | None = pyd.Field(default=None, description="")
|
39
|
+
weight_classification: list[CmuWeightClassification] | None = pyd.Field(default=None, description="")
|
40
|
+
block_type: list[CmuBlockType] | None = pyd.Field(default=None, description="")
|
41
|
+
insulated: bool | None = pyd.Field(default=None, description="")
|
42
|
+
sound_performance: bool | None = pyd.Field(default=None, description="")
|
43
|
+
b1_recarbonation: AmountRangeGWP | None = pyd.Field(default=None, description="")
|
44
|
+
b1_recarbonation_z: RangeFloat | None = pyd.Field(default=None, description="")
|
@@ -0,0 +1,179 @@
|
|
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
|
+
"CementGroutRangeV1",
|
18
|
+
"ConcretePavingRangeV1",
|
19
|
+
"FlowableFillRangeV1",
|
20
|
+
"OilPatchRangeV1",
|
21
|
+
"ReadyMixRangeV1",
|
22
|
+
"ShotcreteRangeV1",
|
23
|
+
"ConcreteRangeV1",
|
24
|
+
)
|
25
|
+
|
26
|
+
# NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
|
27
|
+
|
28
|
+
|
29
|
+
from typing import Literal
|
30
|
+
|
31
|
+
from openepd.compat.pydantic import pyd
|
32
|
+
from openepd.model.common import RangeRatioFloat
|
33
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
34
|
+
from openepd.model.specs.concrete import Cementitious, ConcreteTypicalApplication
|
35
|
+
from openepd.model.specs.generated.enums import AciExposureClass, CsaExposureClass, EnExposureClass
|
36
|
+
from openepd.model.validation.quantity import (
|
37
|
+
AmountRangeLengthInch,
|
38
|
+
AmountRangeLengthMm,
|
39
|
+
AmountRangeMass,
|
40
|
+
AmountRangePressureMpa,
|
41
|
+
)
|
42
|
+
|
43
|
+
|
44
|
+
class CementGroutRangeV1(BaseOpenEpdHierarchicalSpec):
|
45
|
+
"""
|
46
|
+
Cement grout performance specification.
|
47
|
+
|
48
|
+
Cement grouting is a slurry that is placed as a flowable liquid. It is an effective material
|
49
|
+
for filling and strengthening granular soils, voids in rocks, foundation underpinnings, and
|
50
|
+
other underground voids. Also called structural grout, these materials typically impart
|
51
|
+
significant compressive strength to the system.
|
52
|
+
|
53
|
+
Range version.
|
54
|
+
"""
|
55
|
+
|
56
|
+
_EXT_VERSION = "1.0"
|
57
|
+
|
58
|
+
|
59
|
+
class ConcretePavingRangeV1(BaseOpenEpdHierarchicalSpec):
|
60
|
+
"""
|
61
|
+
Concrete paving.
|
62
|
+
|
63
|
+
Range version.
|
64
|
+
"""
|
65
|
+
|
66
|
+
_EXT_VERSION = "1.0"
|
67
|
+
|
68
|
+
flexion_strength: AmountRangePressureMpa | None = pyd.Field(default=None, description="Concrete flexural strength.")
|
69
|
+
|
70
|
+
|
71
|
+
class FlowableFillRangeV1(BaseOpenEpdHierarchicalSpec):
|
72
|
+
"""
|
73
|
+
Flowable fill performance specification.
|
74
|
+
|
75
|
+
Flowable fill is a slurry that is placed as a flowable liquid (high slump) and sets with no
|
76
|
+
compaction. It is often used in tight or restricted access areas where placing and compacting
|
77
|
+
fill is difficult. Applications include filling large voids such as abandoned underground storage
|
78
|
+
tanks, basements, tunnels, mines, and sewers. It can also be used as paving sub-base, bridge
|
79
|
+
abutment, and retaining wall backfill.
|
80
|
+
|
81
|
+
Also called Controlled Density Fill (CDF) or Controlled Low Strength Materials (CLSMs). These materials typically
|
82
|
+
have compressive strengths under 1200 psi.
|
83
|
+
|
84
|
+
Range version.
|
85
|
+
"""
|
86
|
+
|
87
|
+
_EXT_VERSION = "1.0"
|
88
|
+
|
89
|
+
|
90
|
+
class OilPatchRangeV1(BaseOpenEpdHierarchicalSpec):
|
91
|
+
"""
|
92
|
+
Petroleum Industry Cement Slurry.
|
93
|
+
|
94
|
+
Concretes for use in creation, maintenance, and decommissioning of petroleum extraction wells and similar
|
95
|
+
applications. Includes foamed cement; often called cement in the drilling industry. Differs from
|
96
|
+
flowable fill and grout in that it contains no sand or other aggregates.
|
97
|
+
|
98
|
+
Range version.
|
99
|
+
"""
|
100
|
+
|
101
|
+
_EXT_VERSION = "1.0"
|
102
|
+
|
103
|
+
|
104
|
+
class ReadyMixRangeV1(BaseOpenEpdHierarchicalSpec):
|
105
|
+
"""
|
106
|
+
Concretes to be mixed and then poured on-site.
|
107
|
+
|
108
|
+
Range version.
|
109
|
+
"""
|
110
|
+
|
111
|
+
_EXT_VERSION = "1.0"
|
112
|
+
|
113
|
+
|
114
|
+
class ShotcreteRangeV1(BaseOpenEpdHierarchicalSpec):
|
115
|
+
"""
|
116
|
+
Concretes sprayed on a target.
|
117
|
+
|
118
|
+
Range version.
|
119
|
+
"""
|
120
|
+
|
121
|
+
_EXT_VERSION = "1.0"
|
122
|
+
|
123
|
+
|
124
|
+
class ConcreteRangeV1(BaseOpenEpdHierarchicalSpec):
|
125
|
+
"""
|
126
|
+
Concrete.
|
127
|
+
|
128
|
+
A composite material composed of fine and coarse aggregate bonded together with a fluid cement (cement paste) that
|
129
|
+
hardens over time.
|
130
|
+
|
131
|
+
Range version.
|
132
|
+
"""
|
133
|
+
|
134
|
+
_EXT_VERSION = "1.0"
|
135
|
+
|
136
|
+
lightweight: bool | None = pyd.Field(default=None, description="Product is lightweight")
|
137
|
+
strength_28d: AmountRangePressureMpa | None = pyd.Field(default=None, description="Concrete strength after 28 days")
|
138
|
+
strength_other: AmountRangePressureMpa | None = pyd.Field(
|
139
|
+
default=None, description="A strength spec which is to be reached later other 28 days (e.g. 42d)"
|
140
|
+
)
|
141
|
+
strength_other_d: Literal[3, 7, 14, 42, 56, 72, 96, 120] | None = pyd.Field(
|
142
|
+
default=None, description="Test Day for strength_other"
|
143
|
+
)
|
144
|
+
slump: AmountRangeLengthInch | None = pyd.Field(default=None, description="")
|
145
|
+
min_slump: AmountRangeLengthInch | None = pyd.Field(default=None, description="Minimum test slump")
|
146
|
+
max_slump: AmountRangeLengthInch | None = pyd.Field(default=None, description="")
|
147
|
+
min_pipeline_size: AmountRangeLengthMm | None = pyd.Field(default=None, description="Minimum pipeline size")
|
148
|
+
w_c_ratio: RangeRatioFloat | None = pyd.Field(default=None, description="Ratio of water to cement")
|
149
|
+
air_entrain: bool | None = pyd.Field(default=None, description="Air Entrainment")
|
150
|
+
co2_entrain: bool | None = pyd.Field(default=None, description="CO2 Curing")
|
151
|
+
self_consolidating: bool | None = pyd.Field(default=None, description="Self Compacting")
|
152
|
+
white_cement: bool | None = pyd.Field(default=None, description="White Cement")
|
153
|
+
plc: bool | None = pyd.Field(default=None, description="Portland Limestone Cement")
|
154
|
+
finishable: bool | None = pyd.Field(default=None, description="Finishable")
|
155
|
+
fiber_reinforced: bool | None = pyd.Field(default=None, description="fiber_reinforced")
|
156
|
+
cementitious: Cementitious | None = pyd.Field(
|
157
|
+
default=None, description="List of cementitious materials, and proportion by mass"
|
158
|
+
)
|
159
|
+
aggregate_size_max: AmountRangeLengthMm | None = pyd.Field(
|
160
|
+
default=None,
|
161
|
+
description="The smallest sieve size for which the entire amount of aggregate is able to pass. Parameter describes diameter of aggregate",
|
162
|
+
)
|
163
|
+
cement_content: AmountRangeMass | None = pyd.Field(default=None)
|
164
|
+
aci_exposure_classes: list[AciExposureClass] | None = pyd.Field(
|
165
|
+
default=None, description="List of ACI exposure classes"
|
166
|
+
)
|
167
|
+
csa_exposure_classes: list[CsaExposureClass] | None = pyd.Field(
|
168
|
+
default=None, description="List of CSA exposure classes"
|
169
|
+
)
|
170
|
+
en_exposure_classes: list[EnExposureClass] | None = pyd.Field(
|
171
|
+
default=None, description="List of EN exposure classes"
|
172
|
+
)
|
173
|
+
typical_application: ConcreteTypicalApplication | None = pyd.Field(default=None, description="Typical Application")
|
174
|
+
CementGrout: CementGroutRangeV1 | None = None
|
175
|
+
ConcretePaving: ConcretePavingRangeV1 | None = None
|
176
|
+
FlowableFill: FlowableFillRangeV1 | None = None
|
177
|
+
OilPatch: OilPatchRangeV1 | None = None
|
178
|
+
ReadyMix: ReadyMixRangeV1 | None = None
|
179
|
+
Shotcrete: ShotcreteRangeV1 | 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
|
+
"EscalatorsRangeV1",
|
18
|
+
"ElevatorsRangeV1",
|
19
|
+
"ConveyingEquipmentRangeV1",
|
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.specs.base import BaseOpenEpdHierarchicalSpec
|
27
|
+
from openepd.model.specs.generated.enums import ElevatorsBuildingRise, ElevatorsUsageIntensity
|
28
|
+
from openepd.model.validation.quantity import (
|
29
|
+
AmountRangeCapacityPerHour,
|
30
|
+
AmountRangeLengthMm,
|
31
|
+
AmountRangeMass,
|
32
|
+
AmountRangeSpeed,
|
33
|
+
)
|
34
|
+
|
35
|
+
|
36
|
+
class EscalatorsRangeV1(BaseOpenEpdHierarchicalSpec):
|
37
|
+
"""
|
38
|
+
Escalators category performance specification.
|
39
|
+
|
40
|
+
A moving staircase consisting of a circulating belt of steps driven by a motor,
|
41
|
+
which conveys people between the floors of a building.
|
42
|
+
|
43
|
+
Range version.
|
44
|
+
"""
|
45
|
+
|
46
|
+
_EXT_VERSION = "1.1"
|
47
|
+
|
48
|
+
vertical_rise: AmountRangeLengthMm | None = pyd.Field(
|
49
|
+
default=None, description="The vertical distance between the top and bottom landings of an escalator"
|
50
|
+
)
|
51
|
+
speed: AmountRangeSpeed | None = pyd.Field(default=None, description="Reference speed of the escalator")
|
52
|
+
step_width: AmountRangeLengthMm | None = pyd.Field(default=None, description="Width of the escalator steps")
|
53
|
+
max_capacity: AmountRangeCapacityPerHour | None = pyd.Field(
|
54
|
+
default=None, description="Max capacity of escalator in persons per hour"
|
55
|
+
)
|
56
|
+
indoor: bool | None = pyd.Field(default=None, description="Escalator can be used for indoor applications")
|
57
|
+
outdoor: bool | None = pyd.Field(default=None, description="Escalator can be used for outdoor applications")
|
58
|
+
|
59
|
+
|
60
|
+
class ElevatorsRangeV1(BaseOpenEpdHierarchicalSpec):
|
61
|
+
"""
|
62
|
+
Car that moves in a vertical shaft to carry passengers or freight between the levels of a multistory building.
|
63
|
+
|
64
|
+
Range version.
|
65
|
+
"""
|
66
|
+
|
67
|
+
_EXT_VERSION = "1.0"
|
68
|
+
|
69
|
+
usage_intensity: list[ElevatorsUsageIntensity] | None = pyd.Field(default=None, description="")
|
70
|
+
travel_length: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
|
71
|
+
rated_load: AmountRangeMass | None = pyd.Field(default=None, description="")
|
72
|
+
rated_speed: AmountRangeSpeed | None = pyd.Field(default=None, description="")
|
73
|
+
building_rise: list[ElevatorsBuildingRise] | None = pyd.Field(default=None, description="")
|
74
|
+
|
75
|
+
|
76
|
+
class ConveyingEquipmentRangeV1(BaseOpenEpdHierarchicalSpec):
|
77
|
+
"""
|
78
|
+
Conveying Equipment.
|
79
|
+
|
80
|
+
Range version.
|
81
|
+
"""
|
82
|
+
|
83
|
+
_EXT_VERSION = "1.1"
|
84
|
+
|
85
|
+
Elevators: ElevatorsRangeV1 | None = None
|
86
|
+
Escalators: EscalatorsRangeV1 | None = None
|