openepd 1.8.0__py3-none-any.whl → 1.9.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/specs/concrete.py +7 -5
- openepd/model/specs/glass.py +10 -9
- openepd/model/specs/steel.py +10 -0
- openepd/model/validation/quantity.py +2 -0
- {openepd-1.8.0.dist-info → openepd-1.9.0.dist-info}/METADATA +1 -1
- {openepd-1.8.0.dist-info → openepd-1.9.0.dist-info}/RECORD +9 -9
- {openepd-1.8.0.dist-info → openepd-1.9.0.dist-info}/LICENSE +0 -0
- {openepd-1.8.0.dist-info → openepd-1.9.0.dist-info}/WHEEL +0 -0
openepd/__version__.py
CHANGED
openepd/model/specs/concrete.py
CHANGED
@@ -372,7 +372,7 @@ class ConcreteV1Options(BaseOpenEpdSchema):
|
|
372
372
|
class ReadyMixV1(BaseOpenEpdHierarchicalSpec):
|
373
373
|
"""Concretes to be mixed and then poured on-site."""
|
374
374
|
|
375
|
-
|
375
|
+
_EXT_VERSION = "1.0"
|
376
376
|
|
377
377
|
|
378
378
|
class FlowableFillV1(BaseOpenEpdHierarchicalSpec):
|
@@ -387,7 +387,7 @@ class FlowableFillV1(BaseOpenEpdHierarchicalSpec):
|
|
387
387
|
under 1200 psi.
|
388
388
|
"""
|
389
389
|
|
390
|
-
|
390
|
+
_EXT_VERSION = "1.0"
|
391
391
|
|
392
392
|
|
393
393
|
class OilPatchV1(BaseOpenEpdHierarchicalSpec):
|
@@ -398,19 +398,19 @@ class OilPatchV1(BaseOpenEpdHierarchicalSpec):
|
|
398
398
|
flowable fill and grout in that it contains no sand or other aggregates.
|
399
399
|
"""
|
400
400
|
|
401
|
-
|
401
|
+
_EXT_VERSION = "1.0"
|
402
402
|
|
403
403
|
|
404
404
|
class ConcretePavingV1(BaseOpenEpdHierarchicalSpec):
|
405
405
|
"""Concrete paving."""
|
406
406
|
|
407
|
-
|
407
|
+
_EXT_VERSION = "1.0"
|
408
408
|
|
409
409
|
|
410
410
|
class ShotcreteV1(BaseOpenEpdHierarchicalSpec):
|
411
411
|
"""Concretes sprayed on a target."""
|
412
412
|
|
413
|
-
|
413
|
+
_EXT_VERSION = "1.0"
|
414
414
|
|
415
415
|
|
416
416
|
class CementGroutV1(BaseOpenEpdHierarchicalSpec):
|
@@ -423,6 +423,8 @@ class CementGroutV1(BaseOpenEpdHierarchicalSpec):
|
|
423
423
|
|
424
424
|
"""
|
425
425
|
|
426
|
+
_EXT_VERSION = "1.0"
|
427
|
+
|
426
428
|
|
427
429
|
class ConcreteV1(BaseOpenEpdHierarchicalSpec):
|
428
430
|
"""Concrete spec."""
|
openepd/model/specs/glass.py
CHANGED
@@ -21,12 +21,13 @@ from enum import StrEnum
|
|
21
21
|
|
22
22
|
import pydantic as pyd
|
23
23
|
|
24
|
+
from openepd.model.base import BaseOpenEpdSchema
|
24
25
|
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
25
26
|
from openepd.model.validation.numbers import PositiveInt, RatioFloat
|
26
27
|
from openepd.model.validation.quantity import HeatConductanceUCIStr, LengthMmStr, PressureMPaStr, QuantityStr
|
27
28
|
|
28
29
|
|
29
|
-
class SolarHeatGainMixin(
|
30
|
+
class SolarHeatGainMixin(BaseOpenEpdSchema):
|
30
31
|
"""Solar heat gain mixin."""
|
31
32
|
|
32
33
|
solar_heat_gain: RatioFloat | None = pyd.Field(
|
@@ -38,7 +39,7 @@ class SolarHeatGainMixin(BaseOpenEpdHierarchicalSpec):
|
|
38
39
|
)
|
39
40
|
|
40
41
|
|
41
|
-
class GlazingOptionsMixin(
|
42
|
+
class GlazingOptionsMixin(BaseOpenEpdSchema):
|
42
43
|
"""Glazing options mixin."""
|
43
44
|
|
44
45
|
low_emissivity: bool | None = pyd.Field(default=None, description="Low Emissivity coatings")
|
@@ -80,7 +81,7 @@ class GlazingOptionsMixin(BaseOpenEpdHierarchicalSpec):
|
|
80
81
|
)
|
81
82
|
|
82
83
|
|
83
|
-
class GlassPanesMixin(
|
84
|
+
class GlassPanesMixin(BaseOpenEpdSchema):
|
84
85
|
"""Glass panes mixin."""
|
85
86
|
|
86
87
|
glass_panes: PositiveInt | None = pyd.Field(
|
@@ -90,7 +91,7 @@ class GlassPanesMixin(BaseOpenEpdHierarchicalSpec):
|
|
90
91
|
)
|
91
92
|
|
92
93
|
|
93
|
-
class DPRatingMixin(
|
94
|
+
class DPRatingMixin(BaseOpenEpdSchema):
|
94
95
|
"""Differential pressure rating mixin."""
|
95
96
|
|
96
97
|
dp_rating: PressureMPaStr | None = pyd.Field(
|
@@ -98,7 +99,7 @@ class DPRatingMixin(BaseOpenEpdHierarchicalSpec):
|
|
98
99
|
)
|
99
100
|
|
100
101
|
|
101
|
-
class AirInfiltrationMixin(
|
102
|
+
class AirInfiltrationMixin(BaseOpenEpdSchema):
|
102
103
|
"""Air infiltration mixin."""
|
103
104
|
|
104
105
|
air_infiltration: QuantityStr | None = pyd.Field(
|
@@ -108,7 +109,7 @@ class AirInfiltrationMixin(BaseOpenEpdHierarchicalSpec):
|
|
108
109
|
)
|
109
110
|
|
110
111
|
|
111
|
-
class AssemblyUFactorMixin(
|
112
|
+
class AssemblyUFactorMixin(BaseOpenEpdSchema):
|
112
113
|
"""Assembly U factor mixin."""
|
113
114
|
|
114
115
|
assembly_u_factor: HeatConductanceUCIStr | None = pyd.Field(
|
@@ -118,7 +119,7 @@ class AssemblyUFactorMixin(BaseOpenEpdHierarchicalSpec):
|
|
118
119
|
)
|
119
120
|
|
120
121
|
|
121
|
-
class GlassIntendedApplicationMixin(
|
122
|
+
class GlassIntendedApplicationMixin(BaseOpenEpdSchema):
|
122
123
|
"""Glass intended application mixin."""
|
123
124
|
|
124
125
|
glazing_intended_application_curtain_wall: bool | None = pyd.Field(
|
@@ -165,13 +166,13 @@ class ThermalSeparationEnum(StrEnum):
|
|
165
166
|
NON_METAL = "Nonmetal"
|
166
167
|
|
167
168
|
|
168
|
-
class ThermalSeparationMixin(
|
169
|
+
class ThermalSeparationMixin(BaseOpenEpdSchema):
|
169
170
|
"""Thermal separation mixin."""
|
170
171
|
|
171
172
|
thermal_separation: ThermalSeparationEnum | None = pyd.Field(default=None, description="Thermal separation.")
|
172
173
|
|
173
174
|
|
174
|
-
class HurricaneResistantMixin(
|
175
|
+
class HurricaneResistantMixin(BaseOpenEpdSchema):
|
175
176
|
"""Hurricane resistant mixin."""
|
176
177
|
|
177
178
|
hurricane_resistant: bool | None = pyd.Field(
|
openepd/model/specs/steel.py
CHANGED
@@ -50,12 +50,16 @@ class SteelComposition(StrEnum):
|
|
50
50
|
class FabricatedOptionsMixin(pyd.BaseModel):
|
51
51
|
"""Fabricated options mixin."""
|
52
52
|
|
53
|
+
_EXT_VERSION = "1.0"
|
54
|
+
|
53
55
|
fabricated: bool | None = pyd.Field(default=None, description="Fabricated")
|
54
56
|
|
55
57
|
|
56
58
|
class WireMeshSteelV1(BaseOpenEpdHierarchicalSpec):
|
57
59
|
"""Spec for wire mesh steel."""
|
58
60
|
|
61
|
+
_EXT_VERSION = "1.0"
|
62
|
+
|
59
63
|
class Options(BaseOpenEpdSchema, FabricatedOptionsMixin):
|
60
64
|
"""Wire Mesh Options."""
|
61
65
|
|
@@ -115,6 +119,8 @@ class RebarSteelV1(BaseOpenEpdHierarchicalSpec):
|
|
115
119
|
class PlateSteelV1(BaseOpenEpdHierarchicalSpec):
|
116
120
|
"""Plate Steel Spec."""
|
117
121
|
|
122
|
+
_EXT_VERSION = "1.0"
|
123
|
+
|
118
124
|
class Options(BaseOpenEpdSchema, FabricatedOptionsMixin):
|
119
125
|
"""Plate Steel Options."""
|
120
126
|
|
@@ -126,6 +132,8 @@ class PlateSteelV1(BaseOpenEpdHierarchicalSpec):
|
|
126
132
|
class HollowV1(BaseOpenEpdHierarchicalSpec):
|
127
133
|
"""Hollow Sections Spec."""
|
128
134
|
|
135
|
+
_EXT_VERSION = "1.0"
|
136
|
+
|
129
137
|
class Options(FabricatedOptionsMixin, BaseOpenEpdSchema):
|
130
138
|
"""Hollow Sections Options."""
|
131
139
|
|
@@ -137,6 +145,8 @@ class HollowV1(BaseOpenEpdHierarchicalSpec):
|
|
137
145
|
class HotRolledV1(BaseOpenEpdHierarchicalSpec):
|
138
146
|
"""Hot Rolled spec."""
|
139
147
|
|
148
|
+
_EXT_VERSION = "1.0"
|
149
|
+
|
140
150
|
class Options(FabricatedOptionsMixin, BaseOpenEpdSchema):
|
141
151
|
"""Hot Rolled options."""
|
142
152
|
|
@@ -69,7 +69,9 @@ def validate_unit_factory(dimensionality: OpenEPDUnit | str):
|
|
69
69
|
# for abitrary non-standard quantity
|
70
70
|
QuantityStr: TypeAlias = Annotated[str, pyd.Field()]
|
71
71
|
PressureMPaStr: TypeAlias = Annotated[str, pyd.Field(example="30 MPa")]
|
72
|
+
MassKgStr: TypeAlias = Annotated[str, pyd.Field(example="30 kg")]
|
72
73
|
LengthMmStr: TypeAlias = Annotated[str, pyd.Field(example="30 mm")]
|
74
|
+
AreaM2Str: TypeAlias = Annotated[str, pyd.Field(example="12 m2")]
|
73
75
|
LengthMStr: TypeAlias = Annotated[str, pyd.Field(example="30 m")]
|
74
76
|
TemperatureCStr: TypeAlias = Annotated[str, pyd.Field(example="45 C")]
|
75
77
|
HeatConductanceUCIStr: TypeAlias = Annotated[str, pyd.Field(example="0.3 U")]
|
@@ -1,5 +1,5 @@
|
|
1
1
|
openepd/__init__.py,sha256=rqQJWF5jpYAgRbbAycUfWMGsr5kGtfjmwzsTeqbElJw,837
|
2
|
-
openepd/__version__.py,sha256=
|
2
|
+
openepd/__version__.py,sha256=jnF1KQQH-oe7r7Nthg1ws4gaTnagjiXOX84RVcGM0XA,855
|
3
3
|
openepd/api/__init__.py,sha256=rqQJWF5jpYAgRbbAycUfWMGsr5kGtfjmwzsTeqbElJw,837
|
4
4
|
openepd/api/base_sync_client.py,sha256=JcNpWsGoIK_1Eg27CAQd7nIjbcfD56jQ1nS6B48Q0cI,21142
|
5
5
|
openepd/api/category/__init__.py,sha256=rqQJWF5jpYAgRbbAycUfWMGsr5kGtfjmwzsTeqbElJw,837
|
@@ -40,18 +40,18 @@ openepd/model/specs/__init__.py,sha256=nNs2nu1DIKyFC2A-Wc6Zk2VguSti3bC0gMpjop692
|
|
40
40
|
openepd/model/specs/aluminium.py,sha256=UqTX1gigGNgR9jWi4TEM-bKVGlZ_MBkdsLx4H1-H7KA,2246
|
41
41
|
openepd/model/specs/asphalt.py,sha256=lBHTultMZqWXe9u-inGzcZRBkvW6axFZ10REZv-OBys,3533
|
42
42
|
openepd/model/specs/base.py,sha256=S2KmHpBjjZnJ67FS3VJBA3aQ0a440OmhFFTqM8ZEOMM,2681
|
43
|
-
openepd/model/specs/concrete.py,sha256=
|
44
|
-
openepd/model/specs/glass.py,sha256=
|
45
|
-
openepd/model/specs/steel.py,sha256=
|
43
|
+
openepd/model/specs/concrete.py,sha256=I5_KVLkHeMvOrdJRY3TOeSVQ9lQZXcaLu0zHP1RJO1M,23203
|
44
|
+
openepd/model/specs/glass.py,sha256=gsqTTylaDZTi1U1GQDvmIV08m3h-1uq3iQIm1rvWpJI,14824
|
45
|
+
openepd/model/specs/steel.py,sha256=u2Lyu69y0bewghfz3JcrKVjKc5bZJKAljA356_EKgWc,6464
|
46
46
|
openepd/model/specs/wood.py,sha256=ehKJqqW9VfNKgM1S3gazfNNL4Af4SKZBm7HttAjokZQ,5128
|
47
47
|
openepd/model/standard.py,sha256=YjxpC9nyz6LM8m3z1s5S0exJ1qvA3n59-FBoScg-FL0,1519
|
48
48
|
openepd/model/validation/__init__.py,sha256=rqQJWF5jpYAgRbbAycUfWMGsr5kGtfjmwzsTeqbElJw,837
|
49
49
|
openepd/model/validation/common.py,sha256=afJrWSvxMf8s9Y80-bG67Fp6W5siqtciMJ3Z6nUOPAI,2636
|
50
50
|
openepd/model/validation/numbers.py,sha256=60Z9hT8nQwJHvUL7k5nBZsHxxWhaIxNKVbW3BnHS8zM,1088
|
51
|
-
openepd/model/validation/quantity.py,sha256
|
51
|
+
openepd/model/validation/quantity.py,sha256=yYI-vJzhZTTMlHfZqZzxTgEziXp_WeIouIo7etntFfI,3005
|
52
52
|
openepd/model/versioning.py,sha256=fpj45RmphEI5u9fKZLI8FWa83cjH-wkeIU1RLLLwmX8,4700
|
53
53
|
openepd/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
54
|
-
openepd-1.
|
55
|
-
openepd-1.
|
56
|
-
openepd-1.
|
57
|
-
openepd-1.
|
54
|
+
openepd-1.9.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
55
|
+
openepd-1.9.0.dist-info/METADATA,sha256=RnFS7P2ijW63ly6LP2-dvJeYC07V1fh8dQwBoJVmf-k,7762
|
56
|
+
openepd-1.9.0.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
57
|
+
openepd-1.9.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|