openepd 3.2.0__tar.gz → 3.3.0__tar.gz

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 (94) hide show
  1. {openepd-3.2.0 → openepd-3.3.0}/PKG-INFO +1 -1
  2. {openepd-3.2.0 → openepd-3.3.0}/pyproject.toml +1 -1
  3. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/__version__.py +1 -1
  4. openepd-3.3.0/src/openepd/model/specs/generated/precast_concrete.py +202 -0
  5. openepd-3.2.0/src/openepd/model/specs/generated/precast_concrete.py +0 -64
  6. {openepd-3.2.0 → openepd-3.3.0}/LICENSE +0 -0
  7. {openepd-3.2.0 → openepd-3.3.0}/README.md +0 -0
  8. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/__init__.py +0 -0
  9. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/__init__.py +0 -0
  10. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/base_sync_client.py +0 -0
  11. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/category/__init__.py +0 -0
  12. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/category/dto.py +0 -0
  13. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/category/sync_api.py +0 -0
  14. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/common.py +0 -0
  15. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/dto/__init__.py +0 -0
  16. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/dto/base.py +0 -0
  17. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/dto/common.py +0 -0
  18. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/dto/meta.py +0 -0
  19. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/dto/mf.py +0 -0
  20. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/dto/params.py +0 -0
  21. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/epd/__init__.py +0 -0
  22. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/epd/dto.py +0 -0
  23. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/epd/sync_api.py +0 -0
  24. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/errors.py +0 -0
  25. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/pcr/__init__.py +0 -0
  26. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/pcr/dto.py +0 -0
  27. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/pcr/sync_api.py +0 -0
  28. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/sync_client.py +0 -0
  29. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/api/test/__init__.py +0 -0
  30. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/bundle/__init__.py +0 -0
  31. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/bundle/base.py +0 -0
  32. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/bundle/model.py +0 -0
  33. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/bundle/reader.py +0 -0
  34. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/bundle/writer.py +0 -0
  35. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/compat/__init__.py +0 -0
  36. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/compat/compat_functional_validators.py +0 -0
  37. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/compat/pydantic.py +0 -0
  38. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/__init__.py +0 -0
  39. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/base.py +0 -0
  40. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/category.py +0 -0
  41. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/common.py +0 -0
  42. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/epd.py +0 -0
  43. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/factory.py +0 -0
  44. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/lcia.py +0 -0
  45. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/org.py +0 -0
  46. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/pcr.py +0 -0
  47. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/README.md +0 -0
  48. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/__init__.py +0 -0
  49. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/asphalt.py +0 -0
  50. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/base.py +0 -0
  51. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/concrete.py +0 -0
  52. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/__init__.py +0 -0
  53. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/accessories.py +0 -0
  54. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/aggregates.py +0 -0
  55. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/aluminium.py +0 -0
  56. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/asphalt.py +0 -0
  57. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/bulk_materials.py +0 -0
  58. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/cast_decks_and_underlayment.py +0 -0
  59. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/cladding.py +0 -0
  60. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/cmu.py +0 -0
  61. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/common.py +0 -0
  62. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/concrete.py +0 -0
  63. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/conveying_equipment.py +0 -0
  64. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/electrical.py +0 -0
  65. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/electrical_transmission_and_distribution_equipment.py +0 -0
  66. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/electricity.py +0 -0
  67. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/enums.py +0 -0
  68. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/finishes.py +0 -0
  69. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/fire_and_smoke_protection.py +0 -0
  70. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/furnishings.py +0 -0
  71. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/grouting.py +0 -0
  72. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/manufacturing_inputs.py +0 -0
  73. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/masonry.py +0 -0
  74. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/material_handling.py +0 -0
  75. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/mechanical.py +0 -0
  76. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/mechanical_insulation.py +0 -0
  77. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/network_infrastructure.py +0 -0
  78. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/openings.py +0 -0
  79. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/other_electrical_equipment.py +0 -0
  80. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/other_materials.py +0 -0
  81. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/plumbing.py +0 -0
  82. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/sheathing.py +0 -0
  83. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/steel.py +0 -0
  84. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/thermal_moisture_protection.py +0 -0
  85. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/utility_piping.py +0 -0
  86. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/wood.py +0 -0
  87. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/specs/generated/wood_joists.py +0 -0
  88. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/standard.py +0 -0
  89. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/validation/__init__.py +0 -0
  90. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/validation/common.py +0 -0
  91. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/validation/numbers.py +0 -0
  92. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/validation/quantity.py +0 -0
  93. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/model/versioning.py +0 -0
  94. {openepd-3.2.0 → openepd-3.3.0}/src/openepd/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openepd
3
- Version: 3.2.0
3
+ Version: 3.3.0
4
4
  Summary: Python library to work with OpenEPD format
5
5
  Home-page: https://github.com/cchangelabs/openepd
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "openepd"
3
- version = "3.2.0"
3
+ version = "3.3.0"
4
4
  license = "Apache-2.0"
5
5
  description = "Python library to work with OpenEPD format"
6
6
  authors = ["C-Change Labs <support@c-change-labs.com>"]
@@ -17,4 +17,4 @@
17
17
  # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
18
  # Find out more at www.BuildingTransparency.org
19
19
  #
20
- VERSION = "3.2.0"
20
+ VERSION = "3.3.0"
@@ -0,0 +1,202 @@
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
+ # This software was developed with support from the Skanska USA,
17
+ # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
+ # Find out more at www.BuildingTransparency.org
19
+ #
20
+ from openepd.compat.pydantic import pyd
21
+ from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec, BaseOpenEpdSpec
22
+ from openepd.model.validation.numbers import RatioFloat
23
+ from openepd.model.validation.quantity import PressureMPaStr
24
+
25
+
26
+ class StructuralPrecastElementType(BaseOpenEpdSpec):
27
+ """Precast element types for Structural Precast Concrete."""
28
+
29
+ wall: bool | None = pyd.Field(
30
+ description="Precast solid wall elements, including thin shell",
31
+ example=True,
32
+ default=None,
33
+ )
34
+ solid_slab: bool | None = pyd.Field(
35
+ description="Precast slabs used for floor or roof applications",
36
+ example=True,
37
+ default=None,
38
+ )
39
+ hollowcore: bool | None = pyd.Field(
40
+ description="Precast slabs with tubular voids, typically used flooring applications",
41
+ example=True,
42
+ default=None,
43
+ )
44
+ beam: bool | None = pyd.Field(
45
+ description="Precast structural beams for carrying or transferring loads; includes girders",
46
+ example=True,
47
+ default=None,
48
+ )
49
+ column: bool | None = pyd.Field(
50
+ description="Precast structural columns for carrying or transferring loads",
51
+ example=True,
52
+ default=None,
53
+ )
54
+ stairs: bool | None = pyd.Field(
55
+ description="Staircases made of precast concrete components",
56
+ example=True,
57
+ default=None,
58
+ )
59
+ balcony: bool | None = pyd.Field(
60
+ description="Balcony slabs made from precast concrete",
61
+ example=True,
62
+ default=None,
63
+ )
64
+ pile: bool | None = pyd.Field(
65
+ description="Precast concrete structural foundation elements used to support offshore structures such as bridges, oil rigs, and floating airports",
66
+ example=True,
67
+ default=None,
68
+ )
69
+
70
+
71
+ class UtilityPrecastElementType(BaseOpenEpdSpec):
72
+ """Precast element types for Utility Underground Precast Concrete."""
73
+
74
+ manhole: bool | None = pyd.Field(
75
+ description="Precast barrel-shaped chambers used for wastewater management and access management",
76
+ example=True,
77
+ default=None,
78
+ )
79
+ retaining_wall: bool | None = pyd.Field(
80
+ description="Precast concrete structures for retaining soil",
81
+ example=True,
82
+ default=None,
83
+ )
84
+ box_culvert: bool | None = pyd.Field(
85
+ description="A precast concrete structure commonly used to channel water, primarily as part of a drainage system",
86
+ example=True,
87
+ default=None,
88
+ )
89
+
90
+
91
+ class ArchitecturalPrecastElementType(BaseOpenEpdSpec):
92
+ """Precast element types for Architectural Precast Concrete."""
93
+
94
+ wall: bool | None = pyd.Field(
95
+ description="Precast solid wall elements, including thin shell",
96
+ example=True,
97
+ default=None,
98
+ )
99
+
100
+
101
+ class CivilPrecastElementType(BaseOpenEpdSpec):
102
+ """Precast element types for Civil Precast Concrete."""
103
+
104
+ beam: bool | None = pyd.Field(
105
+ description="Precast structural beams for carrying or transferring loads; includes girders",
106
+ example=True,
107
+ default=None,
108
+ )
109
+ manhole: bool | None = pyd.Field(
110
+ description="Precast barrel-shaped chambers used for wastewater management and access management",
111
+ example=True,
112
+ default=None,
113
+ )
114
+ retaining_wall: bool | None = pyd.Field(
115
+ description="Precast concrete structures for retaining soil",
116
+ example=True,
117
+ default=None,
118
+ )
119
+ rail_sleeper: bool | None = pyd.Field(
120
+ description="Rectangular supports for the rails on railroad tracks, which transfer loads to the track ballast and subgrade and keep the rails spaced to the correct gauge. Also called railroad ties",
121
+ example=True,
122
+ default=None,
123
+ )
124
+ box_culvert: bool | None = pyd.Field(
125
+ description="A precast concrete structure commonly used to channel water, primarily as part of a drainage system",
126
+ example=True,
127
+ default=None,
128
+ )
129
+ pile: bool | None = pyd.Field(
130
+ description="Precast concrete structural foundation elements used to support offshore structures such as bridges, oil rigs, and floating airports",
131
+ example=True,
132
+ default=None,
133
+ )
134
+ road_barriers: bool | None = pyd.Field(
135
+ description="Precast Vehicle and Traffic Barriers",
136
+ example=True,
137
+ default=None,
138
+ )
139
+
140
+
141
+ class ArchitecturalPrecastV1(BaseOpenEpdHierarchicalSpec):
142
+ """Precast concrete cladding used for architectural purposes."""
143
+
144
+ _EXT_VERSION = "1.1"
145
+
146
+ element_type: ArchitecturalPrecastElementType | None = pyd.Field(
147
+ default=None, description="Precast element type used for architectural applications."
148
+ )
149
+
150
+
151
+ class StructuralPrecastV1(BaseOpenEpdHierarchicalSpec):
152
+ """Precast concrete used for structural purposes."""
153
+
154
+ _EXT_VERSION = "1.1"
155
+
156
+ element_type: StructuralPrecastElementType | None = pyd.Field(
157
+ default=None, description="Precast element type used for structural applications."
158
+ )
159
+
160
+
161
+ class UtilityUndergroundPrecastV1(BaseOpenEpdHierarchicalSpec):
162
+ """Precast concrete for utility vaults, manhole, drain inlets. Excludes piping."""
163
+
164
+ _EXT_VERSION = "1.1"
165
+
166
+ element_type: UtilityPrecastElementType | None = pyd.Field(
167
+ default=None, description="Precast element type used for utility underground applications."
168
+ )
169
+
170
+
171
+ class CivilPrecastV1(BaseOpenEpdHierarchicalSpec):
172
+ """Precast concrete used for civil engineering applications including bridges, highways, and railroads."""
173
+
174
+ _EXT_VERSION = "1.0"
175
+
176
+ element_type: CivilPrecastElementType | None = pyd.Field(
177
+ default=None, description="Precast element type used as civil engineering components."
178
+ )
179
+
180
+
181
+ class PrecastConcreteV1(BaseOpenEpdHierarchicalSpec):
182
+ """General category for precast concrete components."""
183
+
184
+ _EXT_VERSION = "1.1"
185
+
186
+ # Own fields:
187
+ lightweight: bool | None = pyd.Field(default=None, description="", example=True)
188
+ concrete_compressive_strength_28d: PressureMPaStr | None = pyd.Field(default=None, description="", example="1 MPa")
189
+ insulated: bool | None = pyd.Field(default=None, description="", example=True)
190
+ gfrc: bool | None = pyd.Field(
191
+ default=None,
192
+ description="Glass Fiber Reinforced Concrete is fiber-reinforced concrete sometimes used in "
193
+ "architectural panels",
194
+ example=True,
195
+ )
196
+ steel_mass_percentage: RatioFloat | None = pyd.Field(default=None, description="", example=0.5, ge=0, le=1)
197
+
198
+ # Nested specs:
199
+ ArchitecturalPrecast: ArchitecturalPrecastV1 | None = None
200
+ StructuralPrecast: StructuralPrecastV1 | None = None
201
+ UtilityUndergroundPrecast: UtilityUndergroundPrecastV1 | None = None
202
+ CivilPrecast: CivilPrecastV1 | None = None
@@ -1,64 +0,0 @@
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
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
- from openepd.compat.pydantic import pyd
21
- from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
22
- from openepd.model.validation.numbers import RatioFloat
23
- from openepd.model.validation.quantity import PressureMPaStr
24
-
25
-
26
- class ArchitecturalPrecastV1(BaseOpenEpdHierarchicalSpec):
27
- """Precast concrete cladding used for architectural purposes."""
28
-
29
- _EXT_VERSION = "1.0"
30
-
31
-
32
- class StructuralPrecastV1(BaseOpenEpdHierarchicalSpec):
33
- """Precast concrete used for structural purposes."""
34
-
35
- _EXT_VERSION = "1.0"
36
-
37
-
38
- class UtilityUndergroundPrecastV1(BaseOpenEpdHierarchicalSpec):
39
- """Precast concrete for utility vaults, manhole, drain inlets. Excludes piping."""
40
-
41
- _EXT_VERSION = "1.0"
42
-
43
-
44
- class PrecastConcreteV1(BaseOpenEpdHierarchicalSpec):
45
- """General category for precast concrete components."""
46
-
47
- _EXT_VERSION = "1.0"
48
-
49
- # Own fields:
50
- lightweight: bool | None = pyd.Field(default=None, description="", example=True)
51
- concrete_compressive_strength_28d: PressureMPaStr | None = pyd.Field(default=None, description="", example="1 MPa")
52
- insulated: bool | None = pyd.Field(default=None, description="", example=True)
53
- gfrc: bool | None = pyd.Field(
54
- default=None,
55
- description="Glass Fiber Reinforced Concrete is fiber-reinforced concrete sometimes used in "
56
- "architectural panels",
57
- example=True,
58
- )
59
- steel_mass_percentage: RatioFloat | None = pyd.Field(default=None, description="", example=0.5, ge=0, le=1)
60
-
61
- # Nested specs:
62
- ArchitecturalPrecast: ArchitecturalPrecastV1 | None = None
63
- StructuralPrecast: StructuralPrecastV1 | None = None
64
- UtilityUndergroundPrecast: UtilityUndergroundPrecastV1 | None = None
File without changes
File without changes
File without changes
File without changes