openepd 4.13.0__tar.gz → 4.13.1__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 (103) hide show
  1. {openepd-4.13.0 → openepd-4.13.1}/PKG-INFO +2 -1
  2. {openepd-4.13.0 → openepd-4.13.1}/pyproject.toml +2 -2
  3. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/__version__.py +1 -1
  4. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/declaration.py +5 -5
  5. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/validation/quantity.py +6 -0
  6. {openepd-4.13.0 → openepd-4.13.1}/LICENSE +0 -0
  7. {openepd-4.13.0 → openepd-4.13.1}/README.md +0 -0
  8. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/__init__.py +0 -0
  9. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/__init__.py +0 -0
  10. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/average_dataset/__init__.py +0 -0
  11. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/average_dataset/generic_estimate_sync_api.py +0 -0
  12. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/average_dataset/industry_epd_sync_api.py +0 -0
  13. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/base_sync_client.py +0 -0
  14. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/category/__init__.py +0 -0
  15. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/category/dto.py +0 -0
  16. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/category/sync_api.py +0 -0
  17. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/common.py +0 -0
  18. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/dto/__init__.py +0 -0
  19. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/dto/base.py +0 -0
  20. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/dto/common.py +0 -0
  21. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/dto/meta.py +0 -0
  22. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/dto/mf.py +0 -0
  23. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/dto/params.py +0 -0
  24. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/epd/__init__.py +0 -0
  25. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/epd/dto.py +0 -0
  26. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/epd/sync_api.py +0 -0
  27. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/errors.py +0 -0
  28. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/pcr/__init__.py +0 -0
  29. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/pcr/sync_api.py +0 -0
  30. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/sync_client.py +0 -0
  31. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/test/__init__.py +0 -0
  32. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/api/utils.py +0 -0
  33. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/bundle/__init__.py +0 -0
  34. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/bundle/base.py +0 -0
  35. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/bundle/model.py +0 -0
  36. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/bundle/reader.py +0 -0
  37. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/bundle/writer.py +0 -0
  38. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/compat/__init__.py +0 -0
  39. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/compat/compat_functional_validators.py +0 -0
  40. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/compat/pydantic.py +0 -0
  41. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/__init__.py +0 -0
  42. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/base.py +0 -0
  43. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/category.py +0 -0
  44. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/common.py +0 -0
  45. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/epd.py +0 -0
  46. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/factory.py +0 -0
  47. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/generic_estimate.py +0 -0
  48. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/geography.py +0 -0
  49. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/industry_epd.py +0 -0
  50. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/lcia.py +0 -0
  51. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/org.py +0 -0
  52. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/pcr.py +0 -0
  53. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/README.md +0 -0
  54. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/__init__.py +0 -0
  55. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/asphalt.py +0 -0
  56. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/base.py +0 -0
  57. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/concrete.py +0 -0
  58. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/__init__.py +0 -0
  59. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/accessories.py +0 -0
  60. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/aggregates.py +0 -0
  61. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/aluminium.py +0 -0
  62. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/asphalt.py +0 -0
  63. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/bulk_materials.py +0 -0
  64. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/cast_decks_and_underlayment.py +0 -0
  65. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/cladding.py +0 -0
  66. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/cmu.py +0 -0
  67. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/common.py +0 -0
  68. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/concrete.py +0 -0
  69. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/conveying_equipment.py +0 -0
  70. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/electrical.py +0 -0
  71. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/electrical_transmission_and_distribution_equipment.py +0 -0
  72. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/electricity.py +0 -0
  73. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/enums.py +0 -0
  74. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/finishes.py +0 -0
  75. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/fire_and_smoke_protection.py +0 -0
  76. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/furnishings.py +0 -0
  77. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/grouting.py +0 -0
  78. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/manufacturing_inputs.py +0 -0
  79. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/masonry.py +0 -0
  80. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/material_handling.py +0 -0
  81. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/mechanical.py +0 -0
  82. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/mechanical_insulation.py +0 -0
  83. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/mixins/__init__.py +0 -0
  84. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/mixins/conduit_mixin.py +0 -0
  85. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/network_infrastructure.py +0 -0
  86. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/openings.py +0 -0
  87. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/other_electrical_equipment.py +0 -0
  88. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/other_materials.py +0 -0
  89. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/plumbing.py +0 -0
  90. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/precast_concrete.py +0 -0
  91. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/sheathing.py +0 -0
  92. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/steel.py +0 -0
  93. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/thermal_moisture_protection.py +0 -0
  94. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/utility_piping.py +0 -0
  95. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/wood.py +0 -0
  96. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/specs/generated/wood_joists.py +0 -0
  97. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/standard.py +0 -0
  98. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/validation/__init__.py +0 -0
  99. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/validation/common.py +0 -0
  100. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/validation/numbers.py +0 -0
  101. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/model/versioning.py +0 -0
  102. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/patch_pydantic.py +0 -0
  103. {openepd-4.13.0 → openepd-4.13.1}/src/openepd/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openepd
3
- Version: 4.13.0
3
+ Version: 4.13.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
@@ -19,6 +19,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
19
  Provides-Extra: api-client
20
20
  Requires-Dist: email-validator (>=1.3.1)
21
21
  Requires-Dist: idna (>=3.7)
22
+ Requires-Dist: open-xpd-uuid (>=0.2.1,<0.3.0)
22
23
  Requires-Dist: pydantic (>=1.10,<3.0)
23
24
  Requires-Dist: requests (>=2.0) ; extra == "api-client"
24
25
  Project-URL: Repository, https://github.com/cchangelabs/openepd
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "openepd"
3
- version = "4.13.0"
3
+ version = "4.13.1"
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>"]
@@ -25,6 +25,7 @@ pydantic = ">=1.10,<3.0"
25
25
  email-validator = ">=1.3.1"
26
26
  requests = { version = ">=2.0", optional = true }
27
27
  idna = ">=3.7"
28
+ open-xpd-uuid = "~=0.2.1"
28
29
 
29
30
  # Optional dependencies
30
31
  # lxml = { version = "~=4.9.2", optional = true }
@@ -37,7 +38,6 @@ pytest-subtests = "~=0.4"
37
38
  pytest-cov = "~=4.0"
38
39
  teamcity-messages = ">=1.31"
39
40
  wheel = "~=0.40.0"
40
- open-xpd-uuid = "~=0.2.1"
41
41
 
42
42
  # Dev tools
43
43
  black = "~=24.3"
@@ -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 = "4.13.0"
16
+ VERSION = "4.13.1"
@@ -24,7 +24,7 @@ from openepd.model.org import Org
24
24
  from openepd.model.pcr import Pcr
25
25
  from openepd.model.standard import Standard
26
26
  from openepd.model.validation.common import ReferenceStr
27
- from openepd.model.validation.quantity import AmountMass
27
+ from openepd.model.validation.quantity import AmountGWP, AmountMass
28
28
 
29
29
  DEVELOPER_DESCRIPTION = "The organization responsible for the underlying LCA (and subsequent summarization as EPD)."
30
30
  PROGRAM_OPERATOR_DESCRIPTION = "JSON object for program operator Org"
@@ -136,19 +136,19 @@ class BaseDeclaration(RootDocument, abc.ABC):
136
136
  description="Link to data object on original registrar's site",
137
137
  example="https://epd-online.com/EmbeddedEpdList/Download/6029",
138
138
  )
139
- kg_C_per_declared_unit: AmountMass | None = pyd.Field(
139
+ kg_C_per_declared_unit: AmountGWP | None = pyd.Field(
140
140
  default=None,
141
141
  description="Mass of elemental carbon, per declared unit, contained in the product itself at the manufacturing "
142
142
  "facility gate. Used (among other things) to check a carbon balance or calculate incineration "
143
143
  "emissions. The source of carbon (e.g. biogenic) is not relevant in this field.",
144
- example=Amount(qty=8.76, unit="kg"),
144
+ example=Amount(qty=8.76, unit="kgCO2e"),
145
145
  )
146
- kg_C_biogenic_per_declared_unit: AmountMass | None = pyd.Field(
146
+ kg_C_biogenic_per_declared_unit: AmountGWP | None = pyd.Field(
147
147
  default=None,
148
148
  description="Mass of elemental carbon from biogenic sources, per declared unit, contained in the product "
149
149
  "itself at the manufacturing facility gate. It may be presumed that any biogenic carbon content "
150
150
  "has been accounted for as -44/12 kgCO2e per kg C in stages A1-A3, per EN15804 and ISO 21930.",
151
- example=Amount(qty=8.76, unit="kg"),
151
+ example=Amount(qty=8.76, unit="kgCO2e"),
152
152
  )
153
153
  product_service_life_years: float | None = pyd.Field(
154
154
  gt=0.0009,
@@ -154,6 +154,12 @@ class AmountMass(AmountWithDimensionality):
154
154
  dimensionality_unit = OpenEPDUnit.kg
155
155
 
156
156
 
157
+ class AmountGWP(AmountWithDimensionality):
158
+ """Amount of Global Warming Potential, measured in kgCO2e."""
159
+
160
+ dimensionality_unit = OpenEPDUnit.kg_co2
161
+
162
+
157
163
  class QuantityStr(str):
158
164
  """
159
165
  Quantity string type.
File without changes
File without changes
File without changes