openepd 3.3.0__tar.gz → 3.4.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 (93) hide show
  1. {openepd-3.3.0 → openepd-3.4.1}/PKG-INFO +1 -1
  2. {openepd-3.3.0 → openepd-3.4.1}/pyproject.toml +1 -1
  3. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/__version__.py +1 -1
  4. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/common.py +1 -0
  5. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/conveying_equipment.py +31 -2
  6. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/validation/quantity.py +6 -0
  7. {openepd-3.3.0 → openepd-3.4.1}/LICENSE +0 -0
  8. {openepd-3.3.0 → openepd-3.4.1}/README.md +0 -0
  9. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/__init__.py +0 -0
  10. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/__init__.py +0 -0
  11. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/base_sync_client.py +0 -0
  12. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/category/__init__.py +0 -0
  13. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/category/dto.py +0 -0
  14. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/category/sync_api.py +0 -0
  15. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/common.py +0 -0
  16. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/dto/__init__.py +0 -0
  17. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/dto/base.py +0 -0
  18. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/dto/common.py +0 -0
  19. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/dto/meta.py +0 -0
  20. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/dto/mf.py +0 -0
  21. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/dto/params.py +0 -0
  22. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/epd/__init__.py +0 -0
  23. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/epd/dto.py +0 -0
  24. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/epd/sync_api.py +0 -0
  25. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/errors.py +0 -0
  26. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/pcr/__init__.py +0 -0
  27. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/pcr/dto.py +0 -0
  28. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/pcr/sync_api.py +0 -0
  29. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/sync_client.py +0 -0
  30. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/api/test/__init__.py +0 -0
  31. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/bundle/__init__.py +0 -0
  32. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/bundle/base.py +0 -0
  33. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/bundle/model.py +0 -0
  34. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/bundle/reader.py +0 -0
  35. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/bundle/writer.py +0 -0
  36. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/compat/__init__.py +0 -0
  37. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/compat/compat_functional_validators.py +0 -0
  38. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/compat/pydantic.py +0 -0
  39. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/__init__.py +0 -0
  40. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/base.py +0 -0
  41. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/category.py +0 -0
  42. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/epd.py +0 -0
  43. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/factory.py +0 -0
  44. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/lcia.py +0 -0
  45. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/org.py +0 -0
  46. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/pcr.py +0 -0
  47. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/README.md +0 -0
  48. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/__init__.py +0 -0
  49. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/asphalt.py +0 -0
  50. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/base.py +0 -0
  51. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/concrete.py +0 -0
  52. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/__init__.py +0 -0
  53. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/accessories.py +0 -0
  54. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/aggregates.py +0 -0
  55. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/aluminium.py +0 -0
  56. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/asphalt.py +0 -0
  57. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/bulk_materials.py +0 -0
  58. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/cast_decks_and_underlayment.py +0 -0
  59. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/cladding.py +0 -0
  60. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/cmu.py +0 -0
  61. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/common.py +0 -0
  62. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/concrete.py +0 -0
  63. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/electrical.py +0 -0
  64. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/electrical_transmission_and_distribution_equipment.py +0 -0
  65. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/electricity.py +0 -0
  66. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/enums.py +0 -0
  67. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/finishes.py +0 -0
  68. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/fire_and_smoke_protection.py +0 -0
  69. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/furnishings.py +0 -0
  70. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/grouting.py +0 -0
  71. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/manufacturing_inputs.py +0 -0
  72. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/masonry.py +0 -0
  73. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/material_handling.py +0 -0
  74. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/mechanical.py +0 -0
  75. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/mechanical_insulation.py +0 -0
  76. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/network_infrastructure.py +0 -0
  77. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/openings.py +0 -0
  78. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/other_electrical_equipment.py +0 -0
  79. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/other_materials.py +0 -0
  80. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/plumbing.py +0 -0
  81. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/precast_concrete.py +0 -0
  82. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/sheathing.py +0 -0
  83. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/steel.py +0 -0
  84. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/thermal_moisture_protection.py +0 -0
  85. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/utility_piping.py +0 -0
  86. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/wood.py +0 -0
  87. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/specs/generated/wood_joists.py +0 -0
  88. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/standard.py +0 -0
  89. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/validation/__init__.py +0 -0
  90. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/validation/common.py +0 -0
  91. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/validation/numbers.py +0 -0
  92. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/model/versioning.py +0 -0
  93. {openepd-3.3.0 → openepd-3.4.1}/src/openepd/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openepd
3
- Version: 3.3.0
3
+ Version: 3.4.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,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "openepd"
3
- version = "3.3.0"
3
+ version = "3.4.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>"]
@@ -17,4 +17,4 @@
17
17
  # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
18
  # Find out more at www.BuildingTransparency.org
19
19
  #
20
- VERSION = "3.3.0"
20
+ VERSION = "3.4.1"
@@ -153,3 +153,4 @@ class OpenEPDUnit(StrEnum):
153
153
  use = "use"
154
154
  degree_c = "°C"
155
155
  kg_co2 = "kgCO2e"
156
+ hour = "hour"
@@ -20,7 +20,35 @@
20
20
  from openepd.compat.pydantic import pyd
21
21
  from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
22
22
  from openepd.model.specs.generated.enums import ElevatorsBuildingRise, ElevatorsUsageIntensity
23
- from openepd.model.validation.quantity import LengthMStr, MassKgStr, SpeedStr
23
+ from openepd.model.validation.quantity import CapacityPerHourStr, LengthMStr, MassKgStr, SpeedStr
24
+
25
+
26
+ class EscalatorsV1(BaseOpenEpdHierarchicalSpec):
27
+ """
28
+ Escalators category performance specification.
29
+
30
+ A moving staircase consisting of a circulating belt of steps driven by a motor,
31
+ which conveys people between the floors of a building.
32
+ """
33
+
34
+ vertical_rise: LengthMStr | None = pyd.Field(
35
+ default=None,
36
+ description="The vertical distance between the top and bottom landings of an escalator",
37
+ example="1 m",
38
+ )
39
+ speed: SpeedStr | None = pyd.Field(default=None, description="Reference speed of the escalator", example="1 m / s")
40
+ step_width: LengthMStr | None = pyd.Field(default=None, description="Width of the escalator steps", example="1 m")
41
+ max_capacity: CapacityPerHourStr | None = pyd.Field(
42
+ default=None, description="Max capacity of escalator in persons per hour", example="1 hour^-1"
43
+ )
44
+ indoor: bool | None = pyd.Field(
45
+ default=None, description="Escalator can be used for indoor applications", example=True
46
+ )
47
+ outdoor: bool | None = pyd.Field(
48
+ default=None, description="Escalator can be used for outdoor applications", example=True
49
+ )
50
+
51
+ _EXT_VERSION = "1.1"
24
52
 
25
53
 
26
54
  class ElevatorsV1(BaseOpenEpdHierarchicalSpec):
@@ -41,7 +69,8 @@ class ElevatorsV1(BaseOpenEpdHierarchicalSpec):
41
69
  class ConveyingEquipmentV1(BaseOpenEpdHierarchicalSpec):
42
70
  """Conveying Equipment."""
43
71
 
44
- _EXT_VERSION = "1.0"
72
+ _EXT_VERSION = "1.1"
45
73
 
46
74
  # Nested specs:
47
75
  Elevators: ElevatorsV1 | None = None
76
+ Escalators: EscalatorsV1 | None = None
@@ -214,6 +214,12 @@ class GwpKgCo2eStr(QuantityStr):
214
214
  unit = OpenEPDUnit.kg_co2
215
215
 
216
216
 
217
+ class CapacityPerHourStr(QuantityStr):
218
+ """Capacity per-hour quantity type."""
219
+
220
+ unit = f"{OpenEPDUnit.hour}^-1"
221
+
222
+
217
223
  class RValueStr(QuantityStr):
218
224
  """R-Value quantity type."""
219
225
 
File without changes
File without changes
File without changes
File without changes