openepd 4.0.0__tar.gz → 4.1.0__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-4.0.0 → openepd-4.1.0}/PKG-INFO +1 -1
  2. {openepd-4.0.0 → openepd-4.1.0}/pyproject.toml +1 -1
  3. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/__version__.py +1 -1
  4. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/enums.py +10 -0
  5. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/finishes.py +24 -1
  6. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/validation/quantity.py +6 -0
  7. {openepd-4.0.0 → openepd-4.1.0}/LICENSE +0 -0
  8. {openepd-4.0.0 → openepd-4.1.0}/README.md +0 -0
  9. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/__init__.py +0 -0
  10. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/__init__.py +0 -0
  11. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/base_sync_client.py +0 -0
  12. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/category/__init__.py +0 -0
  13. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/category/dto.py +0 -0
  14. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/category/sync_api.py +0 -0
  15. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/common.py +0 -0
  16. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/dto/__init__.py +0 -0
  17. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/dto/base.py +0 -0
  18. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/dto/common.py +0 -0
  19. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/dto/meta.py +0 -0
  20. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/dto/mf.py +0 -0
  21. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/dto/params.py +0 -0
  22. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/epd/__init__.py +0 -0
  23. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/epd/dto.py +0 -0
  24. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/epd/sync_api.py +0 -0
  25. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/errors.py +0 -0
  26. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/pcr/__init__.py +0 -0
  27. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/pcr/sync_api.py +0 -0
  28. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/sync_client.py +0 -0
  29. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/test/__init__.py +0 -0
  30. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/api/utils.py +0 -0
  31. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/bundle/__init__.py +0 -0
  32. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/bundle/base.py +0 -0
  33. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/bundle/model.py +0 -0
  34. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/bundle/reader.py +0 -0
  35. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/bundle/writer.py +0 -0
  36. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/compat/__init__.py +0 -0
  37. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/compat/compat_functional_validators.py +0 -0
  38. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/compat/pydantic.py +0 -0
  39. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/__init__.py +0 -0
  40. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/base.py +0 -0
  41. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/category.py +0 -0
  42. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/common.py +0 -0
  43. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/epd.py +0 -0
  44. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/factory.py +0 -0
  45. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/lcia.py +0 -0
  46. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/org.py +0 -0
  47. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/pcr.py +0 -0
  48. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/README.md +0 -0
  49. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/__init__.py +0 -0
  50. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/asphalt.py +0 -0
  51. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/base.py +0 -0
  52. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/concrete.py +0 -0
  53. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/__init__.py +0 -0
  54. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/accessories.py +0 -0
  55. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/aggregates.py +0 -0
  56. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/aluminium.py +0 -0
  57. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/asphalt.py +0 -0
  58. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/bulk_materials.py +0 -0
  59. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/cast_decks_and_underlayment.py +0 -0
  60. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/cladding.py +0 -0
  61. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/cmu.py +0 -0
  62. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/common.py +0 -0
  63. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/concrete.py +0 -0
  64. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/conveying_equipment.py +0 -0
  65. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/electrical.py +0 -0
  66. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/electrical_transmission_and_distribution_equipment.py +0 -0
  67. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/electricity.py +0 -0
  68. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/fire_and_smoke_protection.py +0 -0
  69. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/furnishings.py +0 -0
  70. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/grouting.py +0 -0
  71. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/manufacturing_inputs.py +0 -0
  72. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/masonry.py +0 -0
  73. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/material_handling.py +0 -0
  74. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/mechanical.py +0 -0
  75. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/mechanical_insulation.py +0 -0
  76. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/network_infrastructure.py +0 -0
  77. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/openings.py +0 -0
  78. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/other_electrical_equipment.py +0 -0
  79. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/other_materials.py +0 -0
  80. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/plumbing.py +0 -0
  81. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/precast_concrete.py +0 -0
  82. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/sheathing.py +0 -0
  83. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/steel.py +0 -0
  84. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/thermal_moisture_protection.py +0 -0
  85. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/utility_piping.py +0 -0
  86. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/wood.py +0 -0
  87. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/specs/generated/wood_joists.py +0 -0
  88. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/standard.py +0 -0
  89. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/validation/__init__.py +0 -0
  90. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/validation/common.py +0 -0
  91. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/validation/numbers.py +0 -0
  92. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/model/versioning.py +0 -0
  93. {openepd-4.0.0 → openepd-4.1.0}/src/openepd/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openepd
3
- Version: 4.0.0
3
+ Version: 4.1.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,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "openepd"
3
- version = "4.0.0"
3
+ version = "4.1.0"
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>"]
@@ -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.0.0"
16
+ VERSION = "4.1.0"
@@ -2422,3 +2422,13 @@ class NAFSPerformanceGrade(StrEnum):
2422
2422
  GRADE_200_PSF = "200 psf"
2423
2423
  GRADE_205_PSF = "205 psf"
2424
2424
  GRADE_210_PSF = "210 psf"
2425
+
2426
+
2427
+ class PlasterComposition(StrEnum):
2428
+ """Plaster Composition."""
2429
+
2430
+ CEMENT = "Cement"
2431
+ GYPSUM = "Gypsum"
2432
+ ACRYLIC = "Acrylic"
2433
+ LIME = "Lime"
2434
+ OTHER = "Other"
@@ -34,6 +34,7 @@ from openepd.model.specs.generated.enums import (
34
34
  GypsumFacing,
35
35
  GypsumFireRating,
36
36
  GypsumThickness,
37
+ PlasterComposition,
37
38
  ResilientFlooringFormFactor,
38
39
  ResilientFlooringMaterial,
39
40
  ResilientFlooringThickness,
@@ -45,6 +46,7 @@ from openepd.model.specs.generated.enums import (
45
46
  )
46
47
  from openepd.model.validation.numbers import RatioFloat
47
48
  from openepd.model.validation.quantity import (
49
+ AreaPerVolumeStr,
48
50
  GwpKgCo2eStr,
49
51
  LengthMmStr,
50
52
  LengthMStr,
@@ -484,10 +486,30 @@ class WallFinishesV1(BaseOpenEpdHierarchicalSpec):
484
486
  thickness: LengthMmStr | None = pyd.Field(default=None, description="", example="10 mm")
485
487
 
486
488
 
489
+ class PlasterV1(BaseOpenEpdHierarchicalSpec):
490
+ """
491
+ Plaster, Stucco, & Render.
492
+
493
+ Used for the protective or decorative coating of walls and ceilings and for
494
+ moulding and casting decorative elements. These are typically gypsum-, lime-,
495
+ or cement-based. Products in this category refer to dry mix.
496
+ """
497
+
498
+ _EXT_VERSION = "1.0"
499
+
500
+ # Own fields:
501
+ composition: PlasterComposition | None = pyd.Field(default=None, description="", example="Cement")
502
+ application_rate: AreaPerVolumeStr | None = pyd.Field(
503
+ default=None,
504
+ description="Typical or reference amount of material covering a unit of a host surface.",
505
+ example="10 m2/l",
506
+ )
507
+
508
+
487
509
  class FinishesV1(BaseOpenEpdHierarchicalSpec):
488
510
  """General category - finishes for interior ceilings, floors, walls."""
489
511
 
490
- _EXT_VERSION = "1.0"
512
+ _EXT_VERSION = "1.1"
491
513
 
492
514
  # Nested specs:
493
515
  Flooring: FlooringV1 | None = None
@@ -501,3 +523,4 @@ class FinishesV1(BaseOpenEpdHierarchicalSpec):
501
523
  Mirrors: MirrorsV1 | None = None
502
524
  PaintingAndCoating: PaintingAndCoatingV1 | None = None
503
525
  WallFinishes: WallFinishesV1 | None = None
526
+ Plaster: PlasterV1 | None = None
@@ -274,3 +274,9 @@ class MassPerLengthStr(QuantityStr):
274
274
  """Mass per unit of length quantity type."""
275
275
 
276
276
  unit = "kg / m"
277
+
278
+
279
+ class AreaPerVolumeStr(QuantityStr):
280
+ """Area per unit of volume quantity type."""
281
+
282
+ unit = "m2 / l"
File without changes
File without changes
File without changes
File without changes