openepd 6.16.0__py3-none-any.whl → 6.17.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/range/__init__.py +5 -3
- openepd/model/specs/range/exterior_improvements.py +46 -0
- openepd/model/specs/singular/__init__.py +7 -2
- openepd/model/specs/singular/exterior_improvements.py +46 -0
- openepd/model/validation/quantity.py +1 -1
- {openepd-6.16.0.dist-info → openepd-6.17.0.dist-info}/METADATA +2 -2
- {openepd-6.16.0.dist-info → openepd-6.17.0.dist-info}/RECORD +10 -8
- {openepd-6.16.0.dist-info → openepd-6.17.0.dist-info}/LICENSE +0 -0
- {openepd-6.16.0.dist-info → openepd-6.17.0.dist-info}/WHEEL +0 -0
openepd/__version__.py
CHANGED
@@ -13,9 +13,9 @@
|
|
13
13
|
# See the License for the specific language governing permissions and
|
14
14
|
# limitations under the License.
|
15
15
|
#
|
16
|
-
__all__ =
|
17
|
-
|
18
|
-
|
16
|
+
__all__ = [
|
17
|
+
"SpecsRange",
|
18
|
+
]
|
19
19
|
|
20
20
|
|
21
21
|
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
@@ -33,6 +33,7 @@ from .conveying_equipment import ConveyingEquipmentRangeV1
|
|
33
33
|
from .electrical import ElectricalRangeV1
|
34
34
|
from .electrical_transmission_and_distribution_equipment import ElectricalTransmissionAndDistributionEquipmentRangeV1
|
35
35
|
from .electricity import ElectricityRangeV1
|
36
|
+
from .exterior_improvements import ExteriorImprovementsV1
|
36
37
|
from .finishes import FinishesRangeV1
|
37
38
|
from .fire_and_smoke_protection import FireAndSmokeProtectionRangeV1
|
38
39
|
from .furnishings import FurnishingsRangeV1
|
@@ -99,3 +100,4 @@ class SpecsRange(BaseOpenEpdHierarchicalSpec):
|
|
99
100
|
MechanicalInsulation: MechanicalInsulationRangeV1 | None = None
|
100
101
|
OtherElectricalEquipment: OtherElectricalEquipmentRangeV1 | None = None
|
101
102
|
WoodJoists: WoodJoistsRangeV1 | None = None
|
103
|
+
ExteriorImprovements: ExteriorImprovementsV1 | None = None
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2025 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
|
+
from openepd.compat.pydantic import pyd
|
17
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
18
|
+
from openepd.model.validation.quantity import AmountRangePressureMpa
|
19
|
+
|
20
|
+
|
21
|
+
class ConcretePaversV1(BaseOpenEpdHierarchicalSpec):
|
22
|
+
"""
|
23
|
+
Segmental units of concrete of standardized sizes and shapes for use in paving applications.
|
24
|
+
|
25
|
+
Includes pavers and paving slabs.
|
26
|
+
"""
|
27
|
+
|
28
|
+
_EXT_VERSION = "1.0"
|
29
|
+
|
30
|
+
compressive_strength: AmountRangePressureMpa | None = pyd.Field(
|
31
|
+
default=None,
|
32
|
+
description=(
|
33
|
+
"Unit strength in MPa, ksi, or psi. "
|
34
|
+
"This is the net compressive strength, also known as unit strength, as opposed to f′ₘ (f prime m) which is "
|
35
|
+
"the strength of the completed wall module."
|
36
|
+
),
|
37
|
+
)
|
38
|
+
white_cement: bool | None = pyd.Field(default=None, description="CMU using some portion of white cement")
|
39
|
+
|
40
|
+
|
41
|
+
class ExteriorImprovementsV1(BaseOpenEpdHierarchicalSpec):
|
42
|
+
"""Products that alter the exterior appearance of a lot or its structures."""
|
43
|
+
|
44
|
+
_EXT_VERSION = "1.0"
|
45
|
+
|
46
|
+
ConcretePavers: ConcretePaversV1 | None = None
|
@@ -13,6 +13,11 @@
|
|
13
13
|
# See the License for the specific language governing permissions and
|
14
14
|
# limitations under the License.
|
15
15
|
#
|
16
|
+
__all__ = [
|
17
|
+
"Specs",
|
18
|
+
]
|
19
|
+
|
20
|
+
|
16
21
|
from collections.abc import Sequence
|
17
22
|
import types
|
18
23
|
from typing import Any, ClassVar, TypeVar
|
@@ -39,6 +44,7 @@ from openepd.model.specs.singular.electrical_transmission_and_distribution_equip
|
|
39
44
|
ElectricalTransmissionAndDistributionEquipmentV1,
|
40
45
|
)
|
41
46
|
from openepd.model.specs.singular.electricity import ElectricityV1
|
47
|
+
from openepd.model.specs.singular.exterior_improvements import ExteriorImprovementsV1
|
42
48
|
from openepd.model.specs.singular.finishes import FinishesV1
|
43
49
|
from openepd.model.specs.singular.fire_and_smoke_protection import FireAndSmokeProtectionV1
|
44
50
|
from openepd.model.specs.singular.furnishings import FurnishingsV1
|
@@ -61,8 +67,6 @@ from openepd.model.specs.singular.utility_piping import UtilityPipingV1
|
|
61
67
|
from openepd.model.specs.singular.wood import WoodV1
|
62
68
|
from openepd.model.specs.singular.wood_joists import WoodJoistsV1
|
63
69
|
|
64
|
-
__all__ = ("Specs",)
|
65
|
-
|
66
70
|
TValue = TypeVar("TValue")
|
67
71
|
|
68
72
|
|
@@ -108,6 +112,7 @@ class Specs(BaseOpenEpdHierarchicalSpec):
|
|
108
112
|
MechanicalInsulation: MechanicalInsulationV1 | None = None
|
109
113
|
OtherElectricalEquipment: OtherElectricalEquipmentV1 | None = None
|
110
114
|
WoodJoists: WoodJoistsV1 | None = None
|
115
|
+
ExteriorImprovements: ExteriorImprovementsV1 | None = None
|
111
116
|
|
112
117
|
# historical backward-compatible specs
|
113
118
|
concrete: ConcreteOldSpec | None = None
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2025 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
|
+
from openepd.compat.pydantic import pyd
|
17
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
18
|
+
from openepd.model.validation.quantity import AmountPressureMpa
|
19
|
+
|
20
|
+
|
21
|
+
class ConcretePaversV1(BaseOpenEpdHierarchicalSpec):
|
22
|
+
"""
|
23
|
+
Segmental units of concrete of standardized sizes and shapes for use in paving applications.
|
24
|
+
|
25
|
+
Includes pavers and paving slabs.
|
26
|
+
"""
|
27
|
+
|
28
|
+
_EXT_VERSION = "1.0"
|
29
|
+
|
30
|
+
compressive_strength: AmountPressureMpa | None = pyd.Field(
|
31
|
+
default=None,
|
32
|
+
description=(
|
33
|
+
"Unit strength in MPa, ksi, or psi. "
|
34
|
+
"This is the net compressive strength, also known as unit strength, as opposed to f′ₘ (f prime m) which is "
|
35
|
+
"the strength of the completed wall module."
|
36
|
+
),
|
37
|
+
)
|
38
|
+
white_cement: bool | None = pyd.Field(default=None, description="CMU using some portion of white cement")
|
39
|
+
|
40
|
+
|
41
|
+
class ExteriorImprovementsV1(BaseOpenEpdHierarchicalSpec):
|
42
|
+
"""Products that alter the exterior appearance of a lot or its structures."""
|
43
|
+
|
44
|
+
_EXT_VERSION = "1.0"
|
45
|
+
|
46
|
+
ConcretePavers: ConcretePaversV1 | None = None
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: openepd
|
3
|
-
Version: 6.
|
3
|
+
Version: 6.17.0
|
4
4
|
Summary: Python library to work with OpenEPD format
|
5
5
|
License: Apache-2.0
|
6
6
|
Author: C-Change Labs
|
@@ -59,7 +59,7 @@ including uniqueness of organizations/plants, precise PCR references, and dated
|
|
59
59
|
The openEPD format is **extensible**. Standard extensions exist for concrete products, and for
|
60
60
|
documenting supply-chain specific data.
|
61
61
|
|
62
|
-
[Read More about OpenEPD format here](https://www.
|
62
|
+
[Read More about OpenEPD format here](https://www.open-epd-forum.org).
|
63
63
|
|
64
64
|
## Usage
|
65
65
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
openepd/__init__.py,sha256=fhxfEyEurLvSfvQci-vb3njzl_lvhcLXiZrecCOaMU8,794
|
2
|
-
openepd/__version__.py,sha256=
|
2
|
+
openepd/__version__.py,sha256=pw3U9DES_3Of-AMo_2ZvETeB0EokgmJXb6lSw7mmaNQ,639
|
3
3
|
openepd/api/__init__.py,sha256=9THJcV3LT7JDBOMz1px-QFf_sdJ0LOqJ5dmA9Dvvtd4,620
|
4
4
|
openepd/api/average_dataset/__init__.py,sha256=9THJcV3LT7JDBOMz1px-QFf_sdJ0LOqJ5dmA9Dvvtd4,620
|
5
5
|
openepd/api/average_dataset/generic_estimate_sync_api.py,sha256=_eZt_jGVL1a3p9cr-EF39Ve9Vl5sB8zwzTc_slnRL50,7975
|
@@ -54,7 +54,7 @@ openepd/model/specs/asphalt.py,sha256=eHhcITbBrNYR5N6x4Q2BxpsR64BR9OkjJ4bvPRYOqM
|
|
54
54
|
openepd/model/specs/base.py,sha256=10IDyRFKQgFnyIPSqpeayP8Og1BDgs1EepXX5dyCMM4,2674
|
55
55
|
openepd/model/specs/concrete.py,sha256=D9jbhZDtTXNBoAgljQBPxsmGsMvLSIAP5H53ZYiXcGI,5336
|
56
56
|
openepd/model/specs/enums.py,sha256=tX26ZSV1yWPSJMjmo_JRQI2_wJhXJ8XD4nJjRB26rpw,63049
|
57
|
-
openepd/model/specs/range/__init__.py,sha256=
|
57
|
+
openepd/model/specs/range/__init__.py,sha256=9gFsBsdqxcGHgi1_BF9vQaRnjY9WyN_6uYsSKnhojBs,4526
|
58
58
|
openepd/model/specs/range/accessories.py,sha256=hZYz8mvAqrfLFiOIZ9qQZ59zmEiu0xE61Ko9cQ7NSKU,2498
|
59
59
|
openepd/model/specs/range/aggregates.py,sha256=udVbsYc1Lyrd6a4YZBGNDQ3sBi-L3WLub_e1ecq7U-Q,2549
|
60
60
|
openepd/model/specs/range/aluminium.py,sha256=Z3laZKXoPtfmOLLr4c4uf7Z-8TNmfz51X-_yd7GQIj8,2745
|
@@ -68,6 +68,7 @@ openepd/model/specs/range/conveying_equipment.py,sha256=_rqJ9Y3kkP8E6-vkZb6Pih3J
|
|
68
68
|
openepd/model/specs/range/electrical.py,sha256=EI8pv9SN4lJbFNz1wlyMNAjkA0dsi84pc2J9YvtiwzY,11860
|
69
69
|
openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py,sha256=xDdyLj6oJRmdybq7W91MtgE80FDpaG6ii5hE921aRGQ,2525
|
70
70
|
openepd/model/specs/range/electricity.py,sha256=yn_S25C_tZqseb8hiJ1yiHszu2mQ49FOFWWCqNpOBY0,997
|
71
|
+
openepd/model/specs/range/exterior_improvements.py,sha256=N-fAjuVVt8ZGBcBhjBU9p82mpiKlpOah_EwNmHtDoBE,1721
|
71
72
|
openepd/model/specs/range/finishes.py,sha256=ZvP_AShojfM_aTgFdBfjaxGfMHGZQ1PBdpfJshRYVX4,21188
|
72
73
|
openepd/model/specs/range/fire_and_smoke_protection.py,sha256=GUap2Xrn-rFF8CMDyRcOpmQpO8JgZ7PSUXGr_SKUzws,3337
|
73
74
|
openepd/model/specs/range/furnishings.py,sha256=_HdPg1_LepLgdo5tV59oRer1PRYniIM0kLEKbnlyoLM,6703
|
@@ -89,7 +90,7 @@ openepd/model/specs/range/thermal_moisture_protection.py,sha256=aUpStISG2snc8aZ7
|
|
89
90
|
openepd/model/specs/range/utility_piping.py,sha256=mQTrKbMTES_0Yta9DBnKehsmA2BAN_zYF_uPZCTKLPo,2665
|
90
91
|
openepd/model/specs/range/wood.py,sha256=ZMStFsFOw5d6tCL2P7kksBnlYhwfvWJBZqoAdqSIUDg,6917
|
91
92
|
openepd/model/specs/range/wood_joists.py,sha256=NCBHL0gdKwdKlGCP6up_Royl9BtWUUeuFfS1r2vIZ30,1785
|
92
|
-
openepd/model/specs/singular/__init__.py,sha256=
|
93
|
+
openepd/model/specs/singular/__init__.py,sha256=JuoXYIhyexFBY6gwCAa823CDT3XISSjjMBjQue7HTvM,11434
|
93
94
|
openepd/model/specs/singular/accessories.py,sha256=xcuSJrG84oTm_w76_wlv_sItfK36gSyDmUD2TnpZnVE,2013
|
94
95
|
openepd/model/specs/singular/aggregates.py,sha256=oSfArxvLUj63w_U0tZViRyiOpMRRjE72ncy2BimKxco,2934
|
95
96
|
openepd/model/specs/singular/aluminium.py,sha256=7Z3WmuW22o92cPHfR6X_OBSoer0V5llwiNdQmWgKTx8,2408
|
@@ -107,6 +108,7 @@ openepd/model/specs/singular/deprecated/steel.py,sha256=0A3Y50XpLsPt105t_H8BzBya
|
|
107
108
|
openepd/model/specs/singular/electrical.py,sha256=BiaPpZBGBzUt5wVacd1tOIZ9dRn9ZAKFg582UfNnmyI,11113
|
108
109
|
openepd/model/specs/singular/electrical_transmission_and_distribution_equipment.py,sha256=oZYyHgnXn9RH3YzltUEDiiQKrin2mvMlTgC3OhxV7DY,1978
|
109
110
|
openepd/model/specs/singular/electricity.py,sha256=f1cJ9eklNUf97khCIZiT5-z8V_TbOcvH2me_1UTQVrE,823
|
111
|
+
openepd/model/specs/singular/exterior_improvements.py,sha256=tf9lHxb5Mj9Sf3WGjR1wq-mKcyqlvvVKpZG2W6cLcxo,1711
|
110
112
|
openepd/model/specs/singular/finishes.py,sha256=Pg6eb3-NFB45hhGltNjW_7SGeujcE882CZX7P8X8FMk,22571
|
111
113
|
openepd/model/specs/singular/fire_and_smoke_protection.py,sha256=1uyEGdMAsboYORHvSFN1wftRVAps_UJ1Ep3Dk9arT3s,3058
|
112
114
|
openepd/model/specs/singular/furnishings.py,sha256=4bReWm8FSWHRyq6vmjPm7ZixFIau7J8JF1gtZq6_jVA,5732
|
@@ -135,11 +137,11 @@ openepd/model/validation/__init__.py,sha256=9THJcV3LT7JDBOMz1px-QFf_sdJ0LOqJ5dmA
|
|
135
137
|
openepd/model/validation/common.py,sha256=nzZoboF8Hab8WpQA4HGkqe7hds-SLJylh_QhasrEtZs,2518
|
136
138
|
openepd/model/validation/enum.py,sha256=0nRnjwmObw8ERQYWRWbovZjm90CMHi1Sc-UeNxCFnsc,1846
|
137
139
|
openepd/model/validation/numbers.py,sha256=r15pLe8oWY1tshazQvis_suVXpC6PUcPzKTvj3QTL9Q,851
|
138
|
-
openepd/model/validation/quantity.py,sha256=
|
140
|
+
openepd/model/validation/quantity.py,sha256=mP4gIkeOGZuHRhprsf_BX11Cic75NssYxOTkQ1Cyu9c,20230
|
139
141
|
openepd/model/versioning.py,sha256=wBZdOVL3ND9FMIRU9PS3vx9M_7MBiO70xYPQvPez6po,4522
|
140
142
|
openepd/patch_pydantic.py,sha256=bO7U5HqthFol0vfycb0a42UAGL3KOQ8-9MW4yCWOFP0,4150
|
141
143
|
openepd/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
142
|
-
openepd-6.
|
143
|
-
openepd-6.
|
144
|
-
openepd-6.
|
145
|
-
openepd-6.
|
144
|
+
openepd-6.17.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
145
|
+
openepd-6.17.0.dist-info/METADATA,sha256=-BVTS9w6zrEhvgm_yiewWbqEctGCErxZBqz_hQGVbHA,9067
|
146
|
+
openepd-6.17.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
147
|
+
openepd-6.17.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|