openepd 6.7.1__py3-none-any.whl → 6.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 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.7.1"
16
+ VERSION = "6.9.0"
openepd/model/base.py CHANGED
@@ -18,7 +18,7 @@ from enum import StrEnum
18
18
  import json
19
19
  from typing import Any, Callable, ClassVar, Generic, Optional, Type, TypeAlias, TypeVar
20
20
 
21
- from cqd import open_xpd_uuid # type:ignore[import-untyped]
21
+ from cqd import open_xpd_uuid # type:ignore[import-untyped,ignore-not-found]
22
22
 
23
23
  from openepd.compat.pydantic import pyd, pyd_generics
24
24
  from openepd.model.validation.common import validate_version_compatibility, validate_version_format
openepd/model/epd.py CHANGED
@@ -15,7 +15,7 @@
15
15
  #
16
16
 
17
17
  from openepd.compat.pydantic import pyd
18
- from openepd.model.base import BaseDocumentFactory, BaseOpenEpdSchema, OpenEpdDoctypes
18
+ from openepd.model.base import BaseDocumentFactory, OpenEpdDoctypes, OpenEpdExtension
19
19
  from openepd.model.common import Ingredient, WithAltIdsMixin, WithAttachmentsMixin
20
20
  from openepd.model.declaration import (
21
21
  DEVELOPER_DESCRIPTION,
@@ -61,13 +61,18 @@ PLANT_DESCRIPTION = "List of object(s) for one or more plant(s) that this declar
61
61
  #
62
62
 
63
63
 
64
- class Ec3EpdExtension(BaseOpenEpdSchema):
64
+ class Ec3EpdExtension(OpenEpdExtension):
65
65
  """Extension for EC3 specific fields on openEPD."""
66
66
 
67
67
  # While the extensions should be stored under the 'ext' key - extension point of the BaseOpenepdModel - the EC3
68
68
  # extension was started before the introduction of extension management, and so is located at the root of the EPD
69
69
  # object.
70
70
 
71
+ @classmethod
72
+ def get_extension_name(cls) -> str:
73
+ """Return the name of the extension."""
74
+ return "ec3"
75
+
71
76
  uaGWP_a1a2a3_traci21: float | None = pyd.Field(
72
77
  default=None,
73
78
  description="""The A1A2A3 uncertainty-adjusted GWP, in kgCO2e per declared unit, calculated for the TRACI 2.1
@@ -35,12 +35,15 @@ class AsphaltGradation(StrEnum):
35
35
  Dense_graded = "Dense-graded"
36
36
  Open_graded = "Open-graded"
37
37
  Gap_graded = "Gap-graded"
38
+ Permeable = "Permeable"
39
+ Porous = "Porous"
40
+ Other = "Other"
38
41
 
39
42
 
40
43
  class AsphaltV1(BaseOpenEpdHierarchicalSpec):
41
44
  """Asphalt spec."""
42
45
 
43
- _EXT_VERSION = "1.0"
46
+ _EXT_VERSION = "1.1"
44
47
 
45
48
  asphalt_aggregate_size_max: LengthMmStr | None = pyd.Field(
46
49
  default=None, example="5mm", description="Max aggregate size"
@@ -1479,11 +1479,13 @@ class AsphaltMixType(StrEnum):
1479
1479
 
1480
1480
  - WMA: WMA
1481
1481
  - HMA: HMA
1482
+ - CCPR: CCPR
1482
1483
 
1483
1484
  """
1484
1485
 
1485
1486
  WMA = "WMA"
1486
1487
  HMA = "HMA"
1488
+ CCPR = "CCPR"
1487
1489
 
1488
1490
 
1489
1491
  class EngineeredTimberSpecies(StrEnum):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openepd
3
- Version: 6.7.1
3
+ Version: 6.9.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,5 +1,5 @@
1
1
  openepd/__init__.py,sha256=Shkfh0Kun0YRhmRDw7LkUj2eQL3X-HnP55u2THOEALw,794
2
- openepd/__version__.py,sha256=cEXzkRISIfazD-OHuFNpI2q_1XMVZidZBJvxj36ex6U,638
2
+ openepd/__version__.py,sha256=jwrNSpYRkNJ8jhmq3aqFdUNhGmX1iMU6nRZBzp2-f1Y,638
3
3
  openepd/api/__init__.py,sha256=UGmZGEyMnASrYwEBPHuXmVzHiuCUskUsJEPoHTIo-lg,620
4
4
  openepd/api/average_dataset/__init__.py,sha256=UGmZGEyMnASrYwEBPHuXmVzHiuCUskUsJEPoHTIo-lg,620
5
5
  openepd/api/average_dataset/generic_estimate_sync_api.py,sha256=mxWwDokEGMe87Px8C_aHvIdVKZVHrEAuVtaSA1zJchU,7953
@@ -33,11 +33,11 @@ openepd/compat/__init__.py,sha256=UGmZGEyMnASrYwEBPHuXmVzHiuCUskUsJEPoHTIo-lg,62
33
33
  openepd/compat/compat_functional_validators.py,sha256=yz6DfWeg7knBHEN_enpCGGTLRknEsecXfpzD1FDlywY,834
34
34
  openepd/compat/pydantic.py,sha256=DOjSixsylLqMtFAIARu50sGcT4VPXN_c473q_2JwZQ0,1146
35
35
  openepd/model/__init__.py,sha256=UGmZGEyMnASrYwEBPHuXmVzHiuCUskUsJEPoHTIo-lg,620
36
- openepd/model/base.py,sha256=OEYNFUTL4BivBNAt_LGowTlDuUjvKMHgf5U5ZBncZwQ,9805
36
+ openepd/model/base.py,sha256=Ka477sFBzXoYdjovyYvYMG3EudQMxVmP-BG76Qhcwuk,9822
37
37
  openepd/model/category.py,sha256=IQXNGQFQmFZ_H9PRONloX_UOSf1sTMDq1rM1yz8JR0Y,1639
38
38
  openepd/model/common.py,sha256=rADzzNqrjQ8oixy4KL7kyiIIvWM2S7cUDuicen1Xs6Y,13062
39
39
  openepd/model/declaration.py,sha256=oBJ_v_ESoQhybQIH5S5tmYVkgkoX3gwe3nvFyPqb4uk,13832
40
- openepd/model/epd.py,sha256=I8pGcvvsVzbwyQYRrqGQa7tGyRw55T_sIQn1VJ9568g,12165
40
+ openepd/model/epd.py,sha256=Ldw_X-lo5abEXSAAxV9scjVku7NQWrsANxlIfRjkw_8,12290
41
41
  openepd/model/factory.py,sha256=XP7eeQNW5tqwX_4hfuEb3lK6BFQDb4KB0fSN0r8-lCU,2656
42
42
  openepd/model/generic_estimate.py,sha256=bbU0cR4izSqjZcfxUHNbdO4pllqqd8OaUFikrEgCFoA,3992
43
43
  openepd/model/geography.py,sha256=G3Oz3QBw5n-RiSCAv-vAGxrOZBhwIT5rASnPlo9dkcs,42095
@@ -47,10 +47,10 @@ openepd/model/org.py,sha256=zySCWBFxCz8ymEuSgThYruLFhylYdxouMPV7_oRvAJY,5342
47
47
  openepd/model/pcr.py,sha256=QknLtTn6Y14JORWKQ1qBqGgKnZpbKgqNiYF3Axl4U4c,5494
48
48
  openepd/model/specs/README.md,sha256=UGhSiFJ9hOxT1mZl-5ZrhkOrPKf1W_gcu5CI9hzV7LU,2430
49
49
  openepd/model/specs/__init__.py,sha256=IAevXqqYrCWlTH4z4Fy9o77vaOLinX56G05iIJJfm0M,3094
50
- openepd/model/specs/asphalt.py,sha256=V-N7NbrxyNnjgNXQbJPj17ZFM3Q-qxTxxjqpx61wEfA,3350
50
+ openepd/model/specs/asphalt.py,sha256=QGP89G1PtzNLeG5ZJXRhPJLAvu0Bk0GtlutCcxtl_fk,3420
51
51
  openepd/model/specs/base.py,sha256=JgXvfy8K1Jpcai1eCUDZ-ndsLYkL-dcDyH2hQls6Znw,2652
52
52
  openepd/model/specs/concrete.py,sha256=ndi-z2KYXuhLMChgYq7ZNWDKS_LmkZWTOwY3DgZv19M,5336
53
- openepd/model/specs/enums.py,sha256=r7Ik8tgL60McK_5ACQn0qhIUTmxjnCQlGvHtFE6m8xM,63602
53
+ openepd/model/specs/enums.py,sha256=lj8-PUymJ5QkHiCqJGyOhjVuwClLnMc3END-hLyN95w,63638
54
54
  openepd/model/specs/range/__init__.py,sha256=LmBClxzTNpWzGwS1zvFoAxbKILrMRMz22mJXKYu2u8I,4502
55
55
  openepd/model/specs/range/accessories.py,sha256=T3z-5jLoIVIIGeQi2cc5fMP3a7uGgvoW2E_SVmr3c30,2498
56
56
  openepd/model/specs/range/aggregates.py,sha256=nxk6iZHzs0CIoUMWSw4IfB-D4tGd4prh9O2HXnC9u70,2549
@@ -136,7 +136,7 @@ openepd/model/validation/quantity.py,sha256=1z-G46dlryJEm4W-O0QiEJuFYICz7CPTM6gL
136
136
  openepd/model/versioning.py,sha256=R_zm6rCrgF3vlJQYbpyWhirdS_Oek16cv_mvZmpuE8I,4473
137
137
  openepd/patch_pydantic.py,sha256=xrkzblatmU9HBzukWkp1cPq9ZSuohoz1p0pQqVKSlKs,4122
138
138
  openepd/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
- openepd-6.7.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
140
- openepd-6.7.1.dist-info/METADATA,sha256=Lh9wNYq2c0sOnAnTpmHeXQhOipSTz6cV9CsaIxxd-U4,9038
141
- openepd-6.7.1.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
142
- openepd-6.7.1.dist-info/RECORD,,
139
+ openepd-6.9.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
140
+ openepd-6.9.0.dist-info/METADATA,sha256=vgX9ZSkxewrFTlM9YDsMCYYiOc1wBi8EtDuiSJBXv9c,9038
141
+ openepd-6.9.0.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
142
+ openepd-6.9.0.dist-info/RECORD,,