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,137 @@
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
+ "DemountablePartitionTrackRangeV1",
18
+ "ChairsRangeV1",
19
+ "CountertopsRangeV1",
20
+ "DemountablePartitionsRangeV1",
21
+ "OtherFurnishingsRangeV1",
22
+ "StorageFurnitureRangeV1",
23
+ "TablesRangeV1",
24
+ "WorkSurfacesRangeV1",
25
+ "FurnishingsRangeV1",
26
+ )
27
+
28
+ # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
29
+
30
+
31
+ from openepd.compat.pydantic import pyd
32
+ from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
33
+ from openepd.model.specs.generated.enums import CountertopMaterial
34
+ from openepd.model.validation.quantity import AmountRangeLengthMm
35
+
36
+
37
+ class DemountablePartitionTrackRangeV1(BaseOpenEpdHierarchicalSpec):
38
+ """
39
+ Track for modular partitions.
40
+
41
+ Range version.
42
+ """
43
+
44
+ _EXT_VERSION = "1.0"
45
+
46
+
47
+ class ChairsRangeV1(BaseOpenEpdHierarchicalSpec):
48
+ """
49
+ Chairs.
50
+
51
+ Range version.
52
+ """
53
+
54
+ _EXT_VERSION = "1.0"
55
+
56
+
57
+ class CountertopsRangeV1(BaseOpenEpdHierarchicalSpec):
58
+ """
59
+ Raised, flat, and horizontal surfaces often used in kitchens, bathrooms, and workrooms.
60
+
61
+ Range version.
62
+ """
63
+
64
+ _EXT_VERSION = "1.0"
65
+
66
+ thickness: AmountRangeLengthMm | None = pyd.Field(default=None, description="")
67
+ countertop_material: list[CountertopMaterial] | None = pyd.Field(default=None, description="")
68
+
69
+
70
+ class DemountablePartitionsRangeV1(BaseOpenEpdHierarchicalSpec):
71
+ """
72
+ Demountable partitions.
73
+
74
+ Range version.
75
+ """
76
+
77
+ _EXT_VERSION = "1.0"
78
+
79
+ DemountablePartitionTrack: DemountablePartitionTrackRangeV1 | None = None
80
+
81
+
82
+ class OtherFurnishingsRangeV1(BaseOpenEpdHierarchicalSpec):
83
+ """
84
+ Other furnishings.
85
+
86
+ Range version.
87
+ """
88
+
89
+ _EXT_VERSION = "1.0"
90
+
91
+
92
+ class StorageFurnitureRangeV1(BaseOpenEpdHierarchicalSpec):
93
+ """
94
+ Storage Furniture.
95
+
96
+ Range version.
97
+ """
98
+
99
+ _EXT_VERSION = "1.0"
100
+
101
+
102
+ class TablesRangeV1(BaseOpenEpdHierarchicalSpec):
103
+ """
104
+ Tables.
105
+
106
+ Range version.
107
+ """
108
+
109
+ _EXT_VERSION = "1.0"
110
+
111
+
112
+ class WorkSurfacesRangeV1(BaseOpenEpdHierarchicalSpec):
113
+ """
114
+ Work surfaces.
115
+
116
+ Range version.
117
+ """
118
+
119
+ _EXT_VERSION = "1.0"
120
+
121
+
122
+ class FurnishingsRangeV1(BaseOpenEpdHierarchicalSpec):
123
+ """
124
+ Home and office furnishings.
125
+
126
+ Range version.
127
+ """
128
+
129
+ _EXT_VERSION = "1.0"
130
+
131
+ Chairs: ChairsRangeV1 | None = None
132
+ Countertops: CountertopsRangeV1 | None = None
133
+ DemountablePartitions: DemountablePartitionsRangeV1 | None = None
134
+ OtherFurnishings: OtherFurnishingsRangeV1 | None = None
135
+ StorageFurniture: StorageFurnitureRangeV1 | None = None
136
+ Tables: TablesRangeV1 | None = None
137
+ WorkSurfaces: WorkSurfacesRangeV1 | None = None
@@ -0,0 +1,34 @@
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__ = ("GroutingRangeV1",)
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.model.specs.base import BaseOpenEpdHierarchicalSpec
22
+
23
+
24
+ class GroutingRangeV1(BaseOpenEpdHierarchicalSpec):
25
+ """
26
+ Grouting.
27
+
28
+ Water-cement-sand mixture for embedding rebar in masonry walls, connecting sections of precast concrete, and
29
+ filling joints and voids.
30
+
31
+ Range version.
32
+ """
33
+
34
+ _EXT_VERSION = "1.0"
@@ -0,0 +1,190 @@
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
+ "CementRangeV1",
18
+ "MasonryCementRangeV1",
19
+ "SupplementaryCementitiousMaterialsRangeV1",
20
+ "AccessFlooringPedestalsRangeV1",
21
+ "CarpetBackingRangeV1",
22
+ "CarpetFiberRangeV1",
23
+ "CementitiousMaterialsRangeV1",
24
+ "ConcreteAdmixturesRangeV1",
25
+ "TextilesRangeV1",
26
+ "ManufacturingInputsRangeV1",
27
+ )
28
+
29
+ # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
30
+
31
+
32
+ from openepd.compat.pydantic import pyd
33
+ from openepd.model.common import RangeFloat
34
+ from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
35
+ from openepd.model.specs.concrete import Cementitious
36
+ from openepd.model.specs.generated.enums import (
37
+ AdmixtureEffects,
38
+ CarpetYarnType,
39
+ CementAstmType,
40
+ CementC1157,
41
+ CementCsaA3001,
42
+ CementEn197_1,
43
+ CementScm,
44
+ MasonryCementAstmC91Type,
45
+ TextilesFabricType,
46
+ )
47
+
48
+
49
+ class CementRangeV1(BaseOpenEpdHierarchicalSpec):
50
+ """
51
+ Cements.
52
+
53
+ Includes Portland and blended cements, that can serve as the primary binder in a concrete mix.
54
+
55
+ Range version.
56
+ """
57
+
58
+ _EXT_VERSION = "1.0"
59
+
60
+ cementitious: Cementitious | None = pyd.Field(default=None, description="")
61
+ white_cement: bool | None = pyd.Field(default=None, description="")
62
+ astm_type: list[CementAstmType] | None = pyd.Field(default=None, description="")
63
+ c1157: list[CementC1157] | None = pyd.Field(default=None, description="")
64
+ csa_a3001: list[CementCsaA3001] | None = pyd.Field(default=None, description="")
65
+ en197_1: list[CementEn197_1] | None = pyd.Field(default=None, description="")
66
+ oil_well_cement: bool | None = pyd.Field(default=None, description="")
67
+
68
+
69
+ class MasonryCementRangeV1(BaseOpenEpdHierarchicalSpec):
70
+ """
71
+ A cementitious product typically composed of Portland cement and hydrated lime.
72
+
73
+ Masonry cement is combined with sand to make mortar.
74
+
75
+ Range version.
76
+ """
77
+
78
+ _EXT_VERSION = "1.0"
79
+
80
+ astm_c91_type: list[MasonryCementAstmC91Type] | None = pyd.Field(default=None, description="")
81
+
82
+
83
+ class SupplementaryCementitiousMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
84
+ """
85
+ Cementitious materials that are not effective binders when used on their own.
86
+
87
+ Range version.
88
+ """
89
+
90
+ _EXT_VERSION = "1.0"
91
+
92
+ cement_scm: list[CementScm] | None = pyd.Field(default=None, description="")
93
+
94
+
95
+ class AccessFlooringPedestalsRangeV1(BaseOpenEpdHierarchicalSpec):
96
+ """
97
+ Part of an access floor system.
98
+
99
+ Pedestals are laid out on top of a floor slab and support access floor panels, creating a void space between the
100
+ floor slab and finish floor.
101
+
102
+ Range version.
103
+ """
104
+
105
+ _EXT_VERSION = "1.0"
106
+
107
+
108
+ class CarpetBackingRangeV1(BaseOpenEpdHierarchicalSpec):
109
+ """
110
+ Fabric backing holding a carpet together.
111
+
112
+ Range version.
113
+ """
114
+
115
+ _EXT_VERSION = "1.0"
116
+
117
+
118
+ class CarpetFiberRangeV1(BaseOpenEpdHierarchicalSpec):
119
+ """
120
+ Fiber yarn used in the manufacture of carpet, typically nylon or wool.
121
+
122
+ Range version.
123
+ """
124
+
125
+ _EXT_VERSION = "1.0"
126
+
127
+ yarn_material: list[CarpetYarnType] | None = pyd.Field(default=None, description="")
128
+ yarn_recycled_content: RangeFloat | None = pyd.Field(default=None, description="")
129
+
130
+
131
+ class CementitiousMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
132
+ """
133
+ Cementitious materials performance specification.
134
+
135
+ Range version.
136
+ """
137
+
138
+ _EXT_VERSION = "1.0"
139
+
140
+ Cement: CementRangeV1 | None = None
141
+ MasonryCement: MasonryCementRangeV1 | None = None
142
+ SupplementaryCementitiousMaterials: SupplementaryCementitiousMaterialsRangeV1 | None = None
143
+
144
+
145
+ class ConcreteAdmixturesRangeV1(BaseOpenEpdHierarchicalSpec):
146
+ """
147
+ Concrete admixtures.
148
+
149
+ Chemical additives that are added to fresh concrete immediately before or during mixing. Admixtures have distinct
150
+ functions and are categorized as: air-entraining, water-reducing, retarding, accelerating, and plasticizers
151
+ (i.e., superplasticizers).
152
+
153
+ Range version.
154
+ """
155
+
156
+ _EXT_VERSION = "1.0"
157
+
158
+ effects: list[AdmixtureEffects] | None = pyd.Field(default=None, description="")
159
+
160
+
161
+ class TextilesRangeV1(BaseOpenEpdHierarchicalSpec):
162
+ """
163
+ Textiles for use in manufacturing end products.
164
+
165
+ Range version.
166
+ """
167
+
168
+ _EXT_VERSION = "1.0"
169
+
170
+ fabric_type: list[TextilesFabricType] | None = pyd.Field(default=None, description="")
171
+
172
+
173
+ class ManufacturingInputsRangeV1(BaseOpenEpdHierarchicalSpec):
174
+ """
175
+ Manufacturing inputs.
176
+
177
+ Broad category for collecting materials primarily used as manufacturing inputs, rather than directly used in
178
+ a construction.
179
+
180
+ Range version.
181
+ """
182
+
183
+ _EXT_VERSION = "1.0"
184
+
185
+ AccessFlooringPedestals: AccessFlooringPedestalsRangeV1 | None = None
186
+ CarpetBacking: CarpetBackingRangeV1 | None = None
187
+ CarpetFiber: CarpetFiberRangeV1 | None = None
188
+ CementitiousMaterials: CementitiousMaterialsRangeV1 | None = None
189
+ ConcreteAdmixtures: ConcreteAdmixturesRangeV1 | None = None
190
+ Textiles: TextilesRangeV1 | None = None
@@ -0,0 +1,87 @@
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
+ "GMURangeV1",
18
+ "AutoclavedAeratedConcreteRangeV1",
19
+ "BrickRangeV1",
20
+ "MasonryRangeV1",
21
+ )
22
+
23
+ # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
24
+
25
+
26
+ from openepd.compat.pydantic import pyd
27
+ from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
28
+ from openepd.model.validation.quantity import AmountRangePressureMpa
29
+
30
+
31
+ class GMURangeV1(BaseOpenEpdHierarchicalSpec):
32
+ """
33
+ Glass masonry unit.
34
+
35
+ Range version.
36
+ """
37
+
38
+ _EXT_VERSION = "1.0"
39
+
40
+
41
+ class AutoclavedAeratedConcreteRangeV1(BaseOpenEpdHierarchicalSpec):
42
+ """
43
+ A lightweight, precast, foamed concrete masonry building material.
44
+
45
+ Range version.
46
+ """
47
+
48
+ _EXT_VERSION = "1.0"
49
+
50
+ strength_28d: AmountRangePressureMpa | None = pyd.Field(default=None, description="")
51
+ thermal_conductivity: str | None = pyd.Field(default=None, description="")
52
+ white: bool | None = pyd.Field(default=None, description="")
53
+
54
+
55
+ class BrickRangeV1(BaseOpenEpdHierarchicalSpec):
56
+ """
57
+ Solid masonry units made from clay or shale.
58
+
59
+ Range version.
60
+ """
61
+
62
+ _EXT_VERSION = "1.0"
63
+
64
+ building: bool | None = pyd.Field(default=None, description="")
65
+ facing: bool | None = pyd.Field(default=None, description="")
66
+ floor: bool | None = pyd.Field(default=None, description="")
67
+ pedestrian: bool | None = pyd.Field(default=None, description="")
68
+ paving: bool | None = pyd.Field(default=None, description="")
69
+ other: bool | None = pyd.Field(default=None, description="")
70
+ chemical_resistant: bool | None = pyd.Field(default=None, description="")
71
+ glazed: bool | None = pyd.Field(default=None, description="")
72
+ tiles: bool | None = pyd.Field(default=None, description="")
73
+
74
+
75
+ class MasonryRangeV1(BaseOpenEpdHierarchicalSpec):
76
+ """
77
+ Structural and/or enclosure system based on individual rigid units stacked and bound together with mortar.
78
+
79
+ Range version.
80
+ """
81
+
82
+ _EXT_VERSION = "1.0"
83
+
84
+ white_cement: bool | None = pyd.Field(default=None, description="")
85
+ GMU: GMURangeV1 | None = None
86
+ AutoclavedAeratedConcrete: AutoclavedAeratedConcreteRangeV1 | None = None
87
+ Brick: BrickRangeV1 | None = None
@@ -0,0 +1,50 @@
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
+ "ConveyorsRangeV1",
18
+ "MaterialHandlingRangeV1",
19
+ )
20
+
21
+ # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
22
+
23
+
24
+ from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
25
+
26
+
27
+ class ConveyorsRangeV1(BaseOpenEpdHierarchicalSpec):
28
+ """
29
+ Machinery and tools designed to move materials within a facility, both manually and automatically.
30
+
31
+ This includes various types of conveyors such as belt, roller, and overhead conveyors.
32
+
33
+ Range version.
34
+ """
35
+
36
+ _EXT_VERSION = "1.0"
37
+
38
+
39
+ class MaterialHandlingRangeV1(BaseOpenEpdHierarchicalSpec):
40
+ """
41
+ Material handling.
42
+
43
+ Equipment and supplies for moving, storing, administering, and protecting materials during the handling process.
44
+
45
+ Range version.
46
+ """
47
+
48
+ _EXT_VERSION = "1.0"
49
+
50
+ Conveyors: ConveyorsRangeV1 | None = None