openepd 6.29.0__tar.gz → 6.30.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.
- {openepd-6.29.0 → openepd-6.30.0}/PKG-INFO +1 -1
- {openepd-6.29.0 → openepd-6.30.0}/pyproject.toml +1 -1
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/__version__.py +1 -1
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/__init__.py +18 -2
- openepd-6.30.0/src/openepd/model/specs/range/non_construction.py +52 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/other_materials.py +37 -2
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/__init__.py +18 -2
- openepd-6.30.0/src/openepd/model/specs/singular/non_construction.py +52 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/other_materials.py +36 -2
- {openepd-6.29.0 → openepd-6.30.0}/LICENSE +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/README.md +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/average_dataset/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/average_dataset/generic_estimate_sync_api.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/average_dataset/industry_epd_sync_api.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/base_sync_client.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/category/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/category/dto.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/category/sync_api.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/common.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/dto/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/dto/base.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/dto/common.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/dto/meta.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/dto/mf.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/dto/params.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/epd/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/epd/dto.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/epd/sync_api.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/errors.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/org/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/org/sync_api.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/pcr/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/pcr/sync_api.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/plant/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/plant/sync_api.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/standard/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/standard/sync_api.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/sync_client.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/test/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/utils.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/bundle/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/bundle/base.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/bundle/model.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/bundle/reader.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/bundle/writer.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/compat/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/compat/compat_functional_validators.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/compat/pydantic.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/constants/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/constants/scope_phases.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/m49/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/m49/const.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/m49/utils.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/base.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/category.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/common.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/declaration.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/epd.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/factory.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/generic_estimate.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/geography.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/industry_epd.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/lcia.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/org.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/pcr.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/README.md +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/asphalt.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/base.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/concrete.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/enums.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/accessories.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/aggregates.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/aluminium.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/asphalt.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/bulk_materials.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/cast_decks_and_underlayment.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/cladding.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/cmu.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/concrete.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/conveying_equipment.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/electrical.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/electricity.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/exterior_improvements.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/finishes.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/fire_and_smoke_protection.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/furnishings.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/grouting.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/manufacturing_inputs.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/masonry.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/material_handling.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/mechanical.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/mechanical_insulation.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/mixins/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/mixins/access_flooring_mixin.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/network_infrastructure.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/openings.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/other_electrical_equipment.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/plumbing.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/precast_concrete.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/sheathing.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/steel.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/thermal_moisture_protection.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/utility_piping.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/wood.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/wood_joists.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/accessories.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/aggregates.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/aluminium.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/asphalt.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/bulk_materials.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/cast_decks_and_underlayment.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/cladding.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/cmu.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/common.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/concrete.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/conveying_equipment.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/deprecated/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/deprecated/concrete.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/deprecated/steel.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/electrical.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/electrical_transmission_and_distribution_equipment.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/electricity.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/exterior_improvements.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/finishes.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/fire_and_smoke_protection.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/furnishings.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/grouting.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/manufacturing_inputs.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/masonry.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/material_handling.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/mechanical.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/mechanical_insulation.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/mixins/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/mixins/access_flooring_mixin.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/mixins/conduit_mixin.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/network_infrastructure.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/openings.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/other_electrical_equipment.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/plumbing.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/precast_concrete.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/sheathing.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/steel.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/thermal_moisture_protection.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/utility_piping.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/wood.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/wood_joists.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/standard.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/validation/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/validation/common.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/validation/enum.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/validation/numbers.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/validation/quantity.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/versioning.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/patch_pydantic.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/py.typed +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/utils/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/utils/functional.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/utils/mapping/__init__.py +0 -0
- {openepd-6.29.0 → openepd-6.30.0}/src/openepd/utils/mapping/common.py +0 -0
@@ -44,9 +44,17 @@ from .material_handling import MaterialHandlingRangeV1
|
|
44
44
|
from .mechanical import MechanicalRangeV1
|
45
45
|
from .mechanical_insulation import MechanicalInsulationRangeV1
|
46
46
|
from .network_infrastructure import NetworkInfrastructureRangeV1
|
47
|
+
from .non_construction import (
|
48
|
+
ChemicalsRangeV1,
|
49
|
+
ConsumerGoodsRangeV1,
|
50
|
+
ElectricityAndFuelRangeV1,
|
51
|
+
MachineryAndEquipmentRangeV1,
|
52
|
+
ServicesRangeV1,
|
53
|
+
VehiclesRangeV1,
|
54
|
+
)
|
47
55
|
from .openings import OpeningsRangeV1
|
48
56
|
from .other_electrical_equipment import OtherElectricalEquipmentRangeV1
|
49
|
-
from .other_materials import OtherMaterialsRangeV1
|
57
|
+
from .other_materials import FoodBeverageRangeV1, OtherMaterialsRangeV1, TextileProductsRangeV1
|
50
58
|
from .plumbing import PlumbingRangeV1
|
51
59
|
from .precast_concrete import PrecastConcreteRangeV1
|
52
60
|
from .sheathing import SheathingRangeV1
|
@@ -64,7 +72,7 @@ class SpecsRange(BaseOpenEpdHierarchicalSpec):
|
|
64
72
|
Range version.
|
65
73
|
"""
|
66
74
|
|
67
|
-
_EXT_VERSION = "1.
|
75
|
+
_EXT_VERSION = "1.1"
|
68
76
|
|
69
77
|
CMU: CMURangeV1 | None = None
|
70
78
|
Masonry: MasonryRangeV1 | None = None
|
@@ -101,3 +109,11 @@ class SpecsRange(BaseOpenEpdHierarchicalSpec):
|
|
101
109
|
OtherElectricalEquipment: OtherElectricalEquipmentRangeV1 | None = None
|
102
110
|
WoodJoists: WoodJoistsRangeV1 | None = None
|
103
111
|
ExteriorImprovements: ExteriorImprovementsRangeV1 | None = None
|
112
|
+
TextileProducts: TextileProductsRangeV1 | None = None
|
113
|
+
Chemicals: ChemicalsRangeV1 | None = None
|
114
|
+
ElectricityAndFuel: ElectricityAndFuelRangeV1 | None = None
|
115
|
+
Vehicles: VehiclesRangeV1 | None = None
|
116
|
+
MachineryAndEquipment: MachineryAndEquipmentRangeV1 | None = None
|
117
|
+
Services: ServicesRangeV1 | None = None
|
118
|
+
ConsumerGoods: ConsumerGoodsRangeV1 | None = None
|
119
|
+
FoodBeverage: FoodBeverageRangeV1 | None = None
|
@@ -0,0 +1,52 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2025 by C Change Labs Inc. www.c-change-labs.com
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
17
|
+
|
18
|
+
|
19
|
+
class ChemicalsRangeV1(BaseOpenEpdHierarchicalSpec):
|
20
|
+
"""Products of the Chemical or Allied Industries. Includes most products in WCO HS Section VI."""
|
21
|
+
|
22
|
+
_EXT_VERSION = "1.0"
|
23
|
+
|
24
|
+
|
25
|
+
class ElectricityAndFuelRangeV1(BaseOpenEpdHierarchicalSpec):
|
26
|
+
"""Energy carriers including fuels, electricity, and steam."""
|
27
|
+
|
28
|
+
_EXT_VERSION = "1.0"
|
29
|
+
|
30
|
+
|
31
|
+
class VehiclesRangeV1(BaseOpenEpdHierarchicalSpec):
|
32
|
+
"""Machinery for moving people and goods. Includes most products in WCO HS Section XVII."""
|
33
|
+
|
34
|
+
_EXT_VERSION = "1.0"
|
35
|
+
|
36
|
+
|
37
|
+
class MachineryAndEquipmentRangeV1(BaseOpenEpdHierarchicalSpec):
|
38
|
+
"""Machinery other than for installation in a building."""
|
39
|
+
|
40
|
+
_EXT_VERSION = "1.0"
|
41
|
+
|
42
|
+
|
43
|
+
class ServicesRangeV1(BaseOpenEpdHierarchicalSpec):
|
44
|
+
"""Services, including digital and professional services."""
|
45
|
+
|
46
|
+
_EXT_VERSION = "1.0"
|
47
|
+
|
48
|
+
|
49
|
+
class ConsumerGoodsRangeV1(BaseOpenEpdHierarchicalSpec):
|
50
|
+
"""Nonperishable products intended for use by individual consumers."""
|
51
|
+
|
52
|
+
_EXT_VERSION = "1.0"
|
@@ -13,6 +13,8 @@
|
|
13
13
|
# See the License for the specific language governing permissions and
|
14
14
|
# limitations under the License.
|
15
15
|
#
|
16
|
+
from openepd.compat.pydantic import pyd
|
17
|
+
|
16
18
|
__all__ = (
|
17
19
|
"AuxiliariesRangeV1",
|
18
20
|
"CleaningProductsRangeV1",
|
@@ -100,8 +102,27 @@ class UnsupportedRangeV1(BaseOpenEpdHierarchicalSpec):
|
|
100
102
|
_EXT_VERSION = "1.0"
|
101
103
|
|
102
104
|
CleaningProducts: CleaningProductsRangeV1 | None = None
|
105
|
+
Clothing: ClothingRangeV1 | None = pyd.Field(
|
106
|
+
default=None,
|
107
|
+
deprecated="UnsupportedRangeV1.Clothing is deprecated. Use TextileProductsRangeV1.Clothing instead.",
|
108
|
+
)
|
109
|
+
"""
|
110
|
+
UnsupportedRangeV1.Clothing is deprecated. Use TextileProductsRangeV1.Clothing instead.
|
111
|
+
"""
|
112
|
+
FoodBeverage: FoodBeverageRangeV1 | None = pyd.Field(
|
113
|
+
default=None, deprecated="UnsupportedRangeV1.FoodBeverage is deprecated. Use SpecsRange.FoodBeverage instead."
|
114
|
+
)
|
115
|
+
"""
|
116
|
+
UnsupportedRangeV1.FoodBeverage is deprecated. Use SpecsRange.FoodBeverage instead.
|
117
|
+
"""
|
118
|
+
|
119
|
+
|
120
|
+
class TextileProductsRangeV1(BaseOpenEpdHierarchicalSpec):
|
121
|
+
"""Products to be worn by humans, and materials intended to manufacture them. Includes most of WS HS Sections XI, XII."""
|
122
|
+
|
123
|
+
_EXT_VERSION = "1.0"
|
124
|
+
|
103
125
|
Clothing: ClothingRangeV1 | None = None
|
104
|
-
FoodBeverage: FoodBeverageRangeV1 | None = None
|
105
126
|
|
106
127
|
|
107
128
|
class CopperRangeV1(BaseOpenEpdHierarchicalSpec):
|
@@ -174,6 +195,18 @@ class ZincRangeV1(BaseOpenEpdHierarchicalSpec):
|
|
174
195
|
_EXT_VERSION = "1.0"
|
175
196
|
|
176
197
|
|
198
|
+
class OtherPaperPlasticRangeV1(BaseOpenEpdHierarchicalSpec):
|
199
|
+
"""Other products primarily made of plastic or paper. Includes WCO HS sections VII and X."""
|
200
|
+
|
201
|
+
_EXT_VERSION = "1.0"
|
202
|
+
|
203
|
+
|
204
|
+
class OtherMineralMetalRangeV1(BaseOpenEpdHierarchicalSpec):
|
205
|
+
"""Base minerals, metals, materials, and products made primarily of them not otherwise classified. Includes most of WCO HS Section XV."""
|
206
|
+
|
207
|
+
_EXT_VERSION = "1.0"
|
208
|
+
|
209
|
+
|
177
210
|
class OtherMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
|
178
211
|
"""
|
179
212
|
Broad category of materials not yet classified.
|
@@ -181,7 +214,7 @@ class OtherMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
|
|
181
214
|
Range version.
|
182
215
|
"""
|
183
216
|
|
184
|
-
_EXT_VERSION = "1.
|
217
|
+
_EXT_VERSION = "1.1"
|
185
218
|
|
186
219
|
TransportationInfrastructure: TransportationInfrastructureRangeV1 | None = None
|
187
220
|
Unsupported: UnsupportedRangeV1 | None = None
|
@@ -192,3 +225,5 @@ class OtherMaterialsRangeV1(BaseOpenEpdHierarchicalSpec):
|
|
192
225
|
Profiles: ProfilesRangeV1 | None = None
|
193
226
|
Unknown: UnknownRangeV1 | None = None
|
194
227
|
Zinc: ZincRangeV1 | None = None
|
228
|
+
OtherPaperPlastic: OtherPaperPlasticRangeV1 | None = None
|
229
|
+
OtherMineralMetal: OtherMineralMetalRangeV1 | None = None
|
@@ -53,9 +53,17 @@ from openepd.model.specs.singular.material_handling import MaterialHandlingV1
|
|
53
53
|
from openepd.model.specs.singular.mechanical import MechanicalV1
|
54
54
|
from openepd.model.specs.singular.mechanical_insulation import MechanicalInsulationV1
|
55
55
|
from openepd.model.specs.singular.network_infrastructure import NetworkInfrastructureV1
|
56
|
+
from openepd.model.specs.singular.non_construction import (
|
57
|
+
ChemicalsV1,
|
58
|
+
ConsumerGoodsV1,
|
59
|
+
ElectricityAndFuelV1,
|
60
|
+
MachineryAndEquipmentV1,
|
61
|
+
ServicesV1,
|
62
|
+
VehiclesV1,
|
63
|
+
)
|
56
64
|
from openepd.model.specs.singular.openings import OpeningsV1
|
57
65
|
from openepd.model.specs.singular.other_electrical_equipment import OtherElectricalEquipmentV1
|
58
|
-
from openepd.model.specs.singular.other_materials import OtherMaterialsV1
|
66
|
+
from openepd.model.specs.singular.other_materials import FoodBeverageV1, OtherMaterialsV1, TextileProductsV1
|
59
67
|
from openepd.model.specs.singular.plumbing import PlumbingV1
|
60
68
|
from openepd.model.specs.singular.precast_concrete import PrecastConcreteV1
|
61
69
|
from openepd.model.specs.singular.sheathing import SheathingV1
|
@@ -73,7 +81,7 @@ class Specs(BaseOpenEpdHierarchicalSpec):
|
|
73
81
|
|
74
82
|
COMPATIBILITY_SPECS: ClassVar[list[type[BaseCompatibilitySpec]]] = [ConcreteOldSpec, SteelOldSpec]
|
75
83
|
|
76
|
-
_EXT_VERSION = "1.
|
84
|
+
_EXT_VERSION = "1.1"
|
77
85
|
|
78
86
|
# Nested specs:
|
79
87
|
CMU: CMUV1 | None = None
|
@@ -111,6 +119,14 @@ class Specs(BaseOpenEpdHierarchicalSpec):
|
|
111
119
|
OtherElectricalEquipment: OtherElectricalEquipmentV1 | None = None
|
112
120
|
WoodJoists: WoodJoistsV1 | None = None
|
113
121
|
ExteriorImprovements: ExteriorImprovementsV1 | None = None
|
122
|
+
TextileProducts: TextileProductsV1 | None = None
|
123
|
+
Chemicals: ChemicalsV1 | None = None
|
124
|
+
ElectricityAndFuel: ElectricityAndFuelV1 | None = None
|
125
|
+
Vehicles: VehiclesV1 | None = None
|
126
|
+
MachineryAndEquipment: MachineryAndEquipmentV1 | None = None
|
127
|
+
Services: ServicesV1 | None = None
|
128
|
+
ConsumerGoods: ConsumerGoodsV1 | None = None
|
129
|
+
FoodBeverage: FoodBeverageV1 | None = None
|
114
130
|
|
115
131
|
# historical backward-compatible specs
|
116
132
|
concrete: ConcreteOldSpec | None = None
|
@@ -0,0 +1,52 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2025 by C Change Labs Inc. www.c-change-labs.com
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
17
|
+
|
18
|
+
|
19
|
+
class ChemicalsV1(BaseOpenEpdHierarchicalSpec):
|
20
|
+
"""Products of the Chemical or Allied Industries. Includes most products in WCO HS Section VI."""
|
21
|
+
|
22
|
+
_EXT_VERSION = "1.0"
|
23
|
+
|
24
|
+
|
25
|
+
class ElectricityAndFuelV1(BaseOpenEpdHierarchicalSpec):
|
26
|
+
"""Energy carriers including fuels, electricity, and steam."""
|
27
|
+
|
28
|
+
_EXT_VERSION = "1.0"
|
29
|
+
|
30
|
+
|
31
|
+
class VehiclesV1(BaseOpenEpdHierarchicalSpec):
|
32
|
+
"""Machinery for moving people and goods. Includes most products in WCO HS Section XVII."""
|
33
|
+
|
34
|
+
_EXT_VERSION = "1.0"
|
35
|
+
|
36
|
+
|
37
|
+
class MachineryAndEquipmentV1(BaseOpenEpdHierarchicalSpec):
|
38
|
+
"""Machinery other than for installation in a building."""
|
39
|
+
|
40
|
+
_EXT_VERSION = "1.0"
|
41
|
+
|
42
|
+
|
43
|
+
class ServicesV1(BaseOpenEpdHierarchicalSpec):
|
44
|
+
"""Services, including digital and professional services."""
|
45
|
+
|
46
|
+
_EXT_VERSION = "1.0"
|
47
|
+
|
48
|
+
|
49
|
+
class ConsumerGoodsV1(BaseOpenEpdHierarchicalSpec):
|
50
|
+
"""Nonperishable products intended for use by individual consumers."""
|
51
|
+
|
52
|
+
_EXT_VERSION = "1.0"
|
@@ -13,6 +13,7 @@
|
|
13
13
|
# See the License for the specific language governing permissions and
|
14
14
|
# limitations under the License.
|
15
15
|
#
|
16
|
+
from openepd.compat.pydantic import pyd
|
16
17
|
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
17
18
|
|
18
19
|
|
@@ -60,8 +61,27 @@ class UnsupportedV1(BaseOpenEpdHierarchicalSpec):
|
|
60
61
|
|
61
62
|
# Nested specs:
|
62
63
|
CleaningProducts: CleaningProductsV1 | None = None
|
64
|
+
|
65
|
+
Clothing: ClothingV1 | None = pyd.Field(
|
66
|
+
default=None, deprecated="UnsupportedV1.Clothing is deprecated. Use TextileProductsV1.Clothing instead."
|
67
|
+
)
|
68
|
+
"""
|
69
|
+
UnsupportedV1.Clothing is deprecated. Use TextileProductsV1.Clothing instead.
|
70
|
+
"""
|
71
|
+
FoodBeverage: FoodBeverageV1 | None = pyd.Field(
|
72
|
+
default=None, deprecated="UnsupportedV1.FoodBeverage is deprecated. Use Specs.FoodBeverage instead."
|
73
|
+
)
|
74
|
+
"""
|
75
|
+
UnsupportedV1.FoodBeverage is deprecated. Use TextileProductsV1.FoodBeverage instead.
|
76
|
+
"""
|
77
|
+
|
78
|
+
|
79
|
+
class TextileProductsV1(BaseOpenEpdHierarchicalSpec):
|
80
|
+
"""Products to be worn by humans, and materials intended to manufacture them. Includes most of WS HS Sections XI, XII."""
|
81
|
+
|
82
|
+
_EXT_VERSION = "1.0"
|
83
|
+
|
63
84
|
Clothing: ClothingV1 | None = None
|
64
|
-
FoodBeverage: FoodBeverageV1 | None = None
|
65
85
|
|
66
86
|
|
67
87
|
class CopperV1(BaseOpenEpdHierarchicalSpec):
|
@@ -106,10 +126,22 @@ class ZincV1(BaseOpenEpdHierarchicalSpec):
|
|
106
126
|
_EXT_VERSION = "1.0"
|
107
127
|
|
108
128
|
|
129
|
+
class OtherPaperPlasticV1(BaseOpenEpdHierarchicalSpec):
|
130
|
+
"""Other products primarily made of plastic or paper. Includes WCO HS sections VII and X."""
|
131
|
+
|
132
|
+
_EXT_VERSION = "1.0"
|
133
|
+
|
134
|
+
|
135
|
+
class OtherMineralMetalV1(BaseOpenEpdHierarchicalSpec):
|
136
|
+
"""Base minerals, metals, materials, and products made primarily of them not otherwise classified. Includes most of WCO HS Section XV."""
|
137
|
+
|
138
|
+
_EXT_VERSION = "1.0"
|
139
|
+
|
140
|
+
|
109
141
|
class OtherMaterialsV1(BaseOpenEpdHierarchicalSpec):
|
110
142
|
"""Broad category of materials not yet classified."""
|
111
143
|
|
112
|
-
_EXT_VERSION = "1.
|
144
|
+
_EXT_VERSION = "1.1"
|
113
145
|
|
114
146
|
# Nested specs:
|
115
147
|
TransportationInfrastructure: TransportationInfrastructureV1 | None = None
|
@@ -121,3 +153,5 @@ class OtherMaterialsV1(BaseOpenEpdHierarchicalSpec):
|
|
121
153
|
Profiles: ProfilesV1 | None = None
|
122
154
|
Unknown: UnknownV1 | None = None
|
123
155
|
Zinc: ZincV1 | None = None
|
156
|
+
OtherPaperPlastic: OtherPaperPlasticV1 | None = None
|
157
|
+
OtherMineralMetal: OtherMineralMetalV1 | None = None
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/api/average_dataset/generic_estimate_sync_api.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/cast_decks_and_underlayment.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/fire_and_smoke_protection.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/mixins/access_flooring_mixin.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/other_electrical_equipment.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/range/thermal_moisture_protection.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/cast_decks_and_underlayment.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/fire_and_smoke_protection.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/mixins/access_flooring_mixin.py
RENAMED
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/network_infrastructure.py
RENAMED
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/other_electrical_equipment.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.29.0 → openepd-6.30.0}/src/openepd/model/specs/singular/thermal_moisture_protection.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|