openepd 6.11.0__py3-none-any.whl → 6.12.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 CHANGED
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- VERSION = "6.11.0"
16
+ VERSION = "6.12.1"
@@ -36,9 +36,10 @@ __all__ = (
36
36
 
37
37
 
38
38
  from openepd.compat.pydantic import pyd
39
+ from openepd.model.common import RangeInt, RangeRatioFloat
39
40
  from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
40
41
  from openepd.model.specs.enums import CountertopMaterial
41
- from openepd.model.validation.quantity import AmountRangeLengthMm
42
+ from openepd.model.validation.quantity import AmountRangeAreaM2, AmountRangeLengthMm, AmountRangeVolume
42
43
 
43
44
 
44
45
  class DemountablePartitionTrackRangeV1(BaseOpenEpdHierarchicalSpec):
@@ -225,6 +226,25 @@ class FurnishingsRangeV1(BaseOpenEpdHierarchicalSpec):
225
226
 
226
227
  _EXT_VERSION = "1.1"
227
228
 
229
+ functional_floor_area_m2: AmountRangeAreaM2 | None = pyd.Field(
230
+ default=None, title="Functional Floor Area", description="The floor area that the product occupies."
231
+ )
232
+ work_surface_area_m2: AmountRangeAreaM2 | None = pyd.Field(
233
+ default=None, title="Work Surface Area", description="The usable work surface area that the product provides."
234
+ )
235
+ functional_storage_volume_m3: AmountRangeVolume | None = pyd.Field(
236
+ default=None, title="Functional Storage Volume", description=""
237
+ )
238
+ functional_seating_capacity: RangeInt | None = pyd.Field(
239
+ default=None,
240
+ title="Functional Seating Capacity",
241
+ description="Intended number of individuals the product seats. This value is used in calculating impact per functional unit.",
242
+ )
243
+ installation_waste_factor: RangeRatioFloat | None = pyd.Field(
244
+ default=None,
245
+ title="Installation Waste Factor",
246
+ description="Typical increase in impacts to account for installation waste.",
247
+ )
228
248
  Chairs: ChairsRangeV1 | None = None
229
249
  Countertops: CountertopsRangeV1 | None = None
230
250
  DemountablePartitions: DemountablePartitionsRangeV1 | None = None
@@ -16,7 +16,8 @@
16
16
  from openepd.compat.pydantic import pyd
17
17
  from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
18
18
  from openepd.model.specs.enums import CountertopMaterial
19
- from openepd.model.validation.quantity import LengthMmStr
19
+ from openepd.model.validation.numbers import RatioFloat
20
+ from openepd.model.validation.quantity import AreaM2Str, LengthMmStr, VolumeStr
20
21
 
21
22
 
22
23
  class DemountablePartitionTrackV1(BaseOpenEpdHierarchicalSpec):
@@ -154,6 +155,38 @@ class FurnishingsV1(BaseOpenEpdHierarchicalSpec):
154
155
 
155
156
  _EXT_VERSION = "1.1"
156
157
 
158
+ # Own fields:
159
+ functional_floor_area_m2: AreaM2Str | None = pyd.Field(
160
+ default=None,
161
+ title="Functional Floor Area",
162
+ description="The floor area that the product occupies.",
163
+ example="1 m2",
164
+ )
165
+ work_surface_area_m2: AreaM2Str | None = pyd.Field(
166
+ default=None,
167
+ title="Work Surface Area",
168
+ description="The usable work surface area that the product provides.",
169
+ example="1 m2",
170
+ )
171
+ functional_storage_volume_m3: VolumeStr | None = pyd.Field(
172
+ default=None,
173
+ title="Functional Storage Volume",
174
+ description="",
175
+ example="1 m3",
176
+ )
177
+ functional_seating_capacity: pyd.NonNegativeInt | None = pyd.Field(
178
+ default=None,
179
+ title="Functional Seating Capacity",
180
+ description="Intended number of individuals the product seats. This value is used in calculating impact per functional unit.",
181
+ example=1,
182
+ )
183
+ installation_waste_factor: RatioFloat | None = pyd.Field(
184
+ default=None,
185
+ title="Installation Waste Factor",
186
+ description="Typical increase in impacts to account for installation waste.",
187
+ example=0.01,
188
+ )
189
+
157
190
  # Nested specs:
158
191
  Chairs: ChairsV1 | None = None
159
192
  Countertops: CountertopsV1 | None = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openepd
3
- Version: 6.11.0
3
+ Version: 6.12.1
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,5 +1,5 @@
1
1
  openepd/__init__.py,sha256=fhxfEyEurLvSfvQci-vb3njzl_lvhcLXiZrecCOaMU8,794
2
- openepd/__version__.py,sha256=EPnMDQ_1rPMeYJWPTBt_9ZD7s2EpB9owv1Sr_H_gWQo,639
2
+ openepd/__version__.py,sha256=YzSSIKghgjH_RpO3Tffw6dYJf2wV2WNvVVEA1RJt70c,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=KHCmSKMOJTQct6vhdhAatAENoouStc_yVRza5AFNoIo,7953
@@ -67,7 +67,7 @@ openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py,
67
67
  openepd/model/specs/range/electricity.py,sha256=yn_S25C_tZqseb8hiJ1yiHszu2mQ49FOFWWCqNpOBY0,997
68
68
  openepd/model/specs/range/finishes.py,sha256=oCaPVYJja1KYxwEzTHCl7HtxQ2mokzeyahjyP33zHSg,21291
69
69
  openepd/model/specs/range/fire_and_smoke_protection.py,sha256=u5veICQznf-woYlh49S_IbvPA23CLWEy7Ngvic2FIpw,3337
70
- openepd/model/specs/range/furnishings.py,sha256=NpgJLs-wlsiR1hO5PRAY_0qIkfNqvBXJ50cqrZ4VJ-Y,5418
70
+ openepd/model/specs/range/furnishings.py,sha256=7r9albaHmuf0ttqkSQ6elJcSzgFgOHSrwAfhEpJMm5k,6531
71
71
  openepd/model/specs/range/grouting.py,sha256=BQPxH6BvlXpdhLEZBui9zTuY93K_9syjoa6rdnF8GGY,1095
72
72
  openepd/model/specs/range/manufacturing_inputs.py,sha256=xzgkNz7yG8cp715hxS0LtJX9nfJ5RQR8GxlD2bAduwE,5574
73
73
  openepd/model/specs/range/masonry.py,sha256=IyjQMb8Mx3tpJlHIIam0OrMkFsJXKvc0WXRLRBupozY,2867
@@ -106,7 +106,7 @@ openepd/model/specs/singular/electrical_transmission_and_distribution_equipment.
106
106
  openepd/model/specs/singular/electricity.py,sha256=f1cJ9eklNUf97khCIZiT5-z8V_TbOcvH2me_1UTQVrE,823
107
107
  openepd/model/specs/singular/finishes.py,sha256=bAlNZiUP-HwePaJyC1D4j2fpv0xnMp3V5mhtAs9iaxQ,22571
108
108
  openepd/model/specs/singular/fire_and_smoke_protection.py,sha256=1uyEGdMAsboYORHvSFN1wftRVAps_UJ1Ep3Dk9arT3s,3058
109
- openepd/model/specs/singular/furnishings.py,sha256=68FKfEAmB4qS--diCUbwynm8a0gUzDXnpJlWrP9y9Ng,4345
109
+ openepd/model/specs/singular/furnishings.py,sha256=6V6Dc4xph8PcIQhuuLFyFGL4w2Yh_ByEKCNvQfUkxZQ,5603
110
110
  openepd/model/specs/singular/grouting.py,sha256=pg2tX3W7a2TQ3z_eyFYGlBJY3WEwn6JlZyqM3PQIJcU,934
111
111
  openepd/model/specs/singular/manufacturing_inputs.py,sha256=9WSDOVN0mUqvFXqWf82lkpHi-XRQSMcEpe9bweegwhU,5093
112
112
  openepd/model/specs/singular/masonry.py,sha256=f6nph-gscAmVeJ60bG-ebto5kz0fgh0LY27n0VutGFA,3165
@@ -136,7 +136,7 @@ openepd/model/validation/quantity.py,sha256=vfSe-3DGQf84bCp_sMIU0ZPAA1wIilodpTjL
136
136
  openepd/model/versioning.py,sha256=cm3LaAUODnbbu3W3pC6baJzxKusTQ1kZH-PwwScCj3c,4473
137
137
  openepd/patch_pydantic.py,sha256=LVqDMKn723VYYf_V-RgTLxIb1xiUtYOfPYCQP6-7RoM,4122
138
138
  openepd/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
- openepd-6.11.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
140
- openepd-6.11.0.dist-info/METADATA,sha256=FrHaoiG4BQIWO58OwMECaiNBXqyB0Js062qRuDz_owE,9039
141
- openepd-6.11.0.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
142
- openepd-6.11.0.dist-info/RECORD,,
139
+ openepd-6.12.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
140
+ openepd-6.12.1.dist-info/METADATA,sha256=SX0KqNw2vVhumIUbF9N9ASCXIuTigkSG1foQMtayHwc,9039
141
+ openepd-6.12.1.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
142
+ openepd-6.12.1.dist-info/RECORD,,