openepd 6.14.0__py3-none-any.whl → 6.15.1__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.
Files changed (60) hide show
  1. openepd/__version__.py +1 -1
  2. openepd/api/average_dataset/generic_estimate_sync_api.py +2 -1
  3. openepd/api/average_dataset/industry_epd_sync_api.py +2 -1
  4. openepd/api/base_sync_client.py +10 -8
  5. openepd/api/common.py +17 -11
  6. openepd/api/dto/common.py +1 -1
  7. openepd/api/epd/sync_api.py +2 -1
  8. openepd/bundle/base.py +5 -4
  9. openepd/bundle/reader.py +13 -7
  10. openepd/bundle/writer.py +11 -6
  11. openepd/compat/pydantic.py +1 -1
  12. openepd/m49/__init__.py +2 -0
  13. openepd/m49/const.py +1 -1
  14. openepd/m49/utils.py +16 -10
  15. openepd/model/base.py +19 -15
  16. openepd/model/common.py +22 -19
  17. openepd/model/declaration.py +2 -2
  18. openepd/model/epd.py +2 -1
  19. openepd/model/factory.py +5 -3
  20. openepd/model/lcia.py +7 -6
  21. openepd/model/org.py +6 -3
  22. openepd/model/pcr.py +2 -2
  23. openepd/model/specs/__init__.py +36 -0
  24. openepd/model/specs/asphalt.py +3 -3
  25. openepd/model/specs/base.py +2 -1
  26. openepd/model/specs/enums.py +695 -695
  27. openepd/model/specs/range/accessories.py +1 -1
  28. openepd/model/specs/range/aluminium.py +1 -1
  29. openepd/model/specs/range/cladding.py +10 -10
  30. openepd/model/specs/range/cmu.py +0 -3
  31. openepd/model/specs/range/concrete.py +1 -1
  32. openepd/model/specs/range/conveying_equipment.py +2 -2
  33. openepd/model/specs/range/electrical.py +18 -18
  34. openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py +1 -1
  35. openepd/model/specs/range/finishes.py +16 -16
  36. openepd/model/specs/range/fire_and_smoke_protection.py +3 -3
  37. openepd/model/specs/range/furnishings.py +7 -7
  38. openepd/model/specs/range/manufacturing_inputs.py +4 -4
  39. openepd/model/specs/range/masonry.py +1 -1
  40. openepd/model/specs/range/mechanical.py +6 -6
  41. openepd/model/specs/range/network_infrastructure.py +3 -3
  42. openepd/model/specs/range/openings.py +17 -17
  43. openepd/model/specs/range/other_materials.py +4 -4
  44. openepd/model/specs/range/plumbing.py +5 -5
  45. openepd/model/specs/range/precast_concrete.py +2 -2
  46. openepd/model/specs/range/steel.py +18 -11
  47. openepd/model/specs/range/thermal_moisture_protection.py +12 -12
  48. openepd/model/specs/range/wood.py +4 -7
  49. openepd/model/specs/singular/__init__.py +109 -1
  50. openepd/model/specs/singular/aluminium.py +2 -1
  51. openepd/model/specs/singular/steel.py +10 -2
  52. openepd/model/validation/common.py +10 -6
  53. openepd/model/validation/enum.py +4 -2
  54. openepd/model/validation/quantity.py +8 -1
  55. openepd/model/versioning.py +8 -6
  56. openepd/patch_pydantic.py +2 -1
  57. {openepd-6.14.0.dist-info → openepd-6.15.1.dist-info}/METADATA +1 -3
  58. {openepd-6.14.0.dist-info → openepd-6.15.1.dist-info}/RECORD +60 -60
  59. {openepd-6.14.0.dist-info → openepd-6.15.1.dist-info}/WHEEL +1 -1
  60. {openepd-6.14.0.dist-info → openepd-6.15.1.dist-info}/LICENSE +0 -0
@@ -14,12 +14,12 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
+ "AccessoriesRangeV1",
17
18
  "BlanketFacingRangeV1",
18
19
  "DoorsHardwareRangeV1",
19
20
  "FlooringAccessoriesRangeV1",
20
21
  "MortarRangeV1",
21
22
  "TileGroutRangeV1",
22
- "AccessoriesRangeV1",
23
23
  )
24
24
 
25
25
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -16,9 +16,9 @@
16
16
  __all__ = (
17
17
  "AluminiumBilletsRangeV1",
18
18
  "AluminiumExtrusionsRangeV1",
19
+ "AluminiumRangeV1",
19
20
  "AluminiumSheetGoodsRangeV1",
20
21
  "AluminiumSuspensionAssemblyRangeV1",
21
- "AluminiumRangeV1",
22
22
  )
23
23
 
24
24
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -15,24 +15,24 @@
15
15
  #
16
16
  __all__ = (
17
17
  "AluminiumSidingRangeV1",
18
- "SteelSidingRangeV1",
19
- "ZincSidingRangeV1",
20
- "ShingleAndShakeSidingRangeV1",
21
- "MetalSidingRangeV1",
18
+ "CladdingRangeV1",
22
19
  "CompositionSidingRangeV1",
23
20
  "FiberCementSidingRangeV1",
21
+ "InsulatedRoofPanelsRangeV1",
24
22
  "InsulatedVinylSidingRangeV1",
23
+ "InsulatedWallPanelsRangeV1",
24
+ "MetalSidingRangeV1",
25
25
  "PlywoodSidingRangeV1",
26
26
  "PolypropyleneSidingRangeV1",
27
- "SolidWoodSidingRangeV1",
28
- "VinylSidingRangeV1",
29
- "SidingRangeV1",
30
- "InsulatedRoofPanelsRangeV1",
31
- "InsulatedWallPanelsRangeV1",
32
27
  "RoofPanelsRangeV1",
28
+ "ShingleAndShakeSidingRangeV1",
29
+ "SidingRangeV1",
30
+ "SolidWoodSidingRangeV1",
31
+ "SteelSidingRangeV1",
33
32
  "StoneCladdingRangeV1",
33
+ "VinylSidingRangeV1",
34
34
  "WallPanelsRangeV1",
35
- "CladdingRangeV1",
35
+ "ZincSidingRangeV1",
36
36
  )
37
37
 
38
38
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -17,9 +17,6 @@ __all__ = ("CMURangeV1",)
17
17
 
18
18
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
19
19
 
20
-
21
- from builtins import float
22
-
23
20
  from openepd.compat.pydantic import pyd
24
21
  from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
25
22
  from openepd.model.specs.enums import CmuBlockType, CmuWeightClassification
@@ -16,11 +16,11 @@
16
16
  __all__ = (
17
17
  "CementGroutRangeV1",
18
18
  "ConcretePavingRangeV1",
19
+ "ConcreteRangeV1",
19
20
  "FlowableFillRangeV1",
20
21
  "OilPatchRangeV1",
21
22
  "ReadyMixRangeV1",
22
23
  "ShotcreteRangeV1",
23
- "ConcreteRangeV1",
24
24
  )
25
25
 
26
26
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -14,9 +14,9 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
- "EscalatorsRangeV1",
18
- "ElevatorsRangeV1",
19
17
  "ConveyingEquipmentRangeV1",
18
+ "ElevatorsRangeV1",
19
+ "EscalatorsRangeV1",
20
20
  )
21
21
 
22
22
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -14,35 +14,35 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
- "LowVoltBusesRangeV1",
18
- "MedVoltBusesRangeV1",
19
17
  "BatteriesRangeV1",
20
- "OtherElectricalPowerStorageRangeV1",
21
18
  "CableTraysRangeV1",
19
+ "ElectricPowerRangeV1",
22
20
  "ElectricalBusesRangeV1",
23
- "FloorEquipmentBoxesRangeV1",
24
- "PowerDistributionUnitsRangeV1",
25
- "RacewaysRangeV1",
26
- "FueledElectricalGeneratorsRangeV1",
27
- "OtherGenerationRangeV1",
28
- "PhotovoltaicsRangeV1",
29
- "WindTurbinesRangeV1",
21
+ "ElectricalConduitRangeV1",
22
+ "ElectricalGenerationEquipmentRangeV1",
23
+ "ElectricalPowerStorageRangeV1",
24
+ "ElectricalRangeV1",
30
25
  "ElectricityFromPowerGridRangeV1",
31
26
  "ElectricityFromSpecificGeneratorRangeV1",
32
- "PowerPurchaseAgreementsRangeV1",
27
+ "FloorEquipmentBoxesRangeV1",
28
+ "FueledElectricalGeneratorsRangeV1",
33
29
  "LightbulbsRangeV1",
34
30
  "LightingControlsRangeV1",
35
31
  "LightingFixturesRangeV1",
32
+ "LightingRangeV1",
33
+ "LowVoltBusesRangeV1",
34
+ "LowVoltageElectricalDistributionRangeV1",
35
+ "MedVoltBusesRangeV1",
36
+ "OtherElectricalPowerStorageRangeV1",
37
+ "OtherGenerationRangeV1",
36
38
  "OutdoorLightingRangeV1",
39
+ "PhotovoltaicsRangeV1",
40
+ "PowerDistributionUnitsRangeV1",
41
+ "PowerPurchaseAgreementsRangeV1",
42
+ "RacewaysRangeV1",
37
43
  "SpecialtyLightingRangeV1",
38
44
  "TaskLightingRangeV1",
39
- "ElectricalPowerStorageRangeV1",
40
- "LowVoltageElectricalDistributionRangeV1",
41
- "ElectricalGenerationEquipmentRangeV1",
42
- "ElectricPowerRangeV1",
43
- "LightingRangeV1",
44
- "ElectricalConduitRangeV1",
45
- "ElectricalRangeV1",
45
+ "WindTurbinesRangeV1",
46
46
  )
47
47
 
48
48
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -18,8 +18,8 @@ __all__ = (
18
18
  "ElectricalInsulatorsRangeV1",
19
19
  "ElectricalSubstationsRangeV1",
20
20
  "ElectricalSwitchgearRangeV1",
21
- "PowerCablingRangeV1",
22
21
  "ElectricalTransmissionAndDistributionEquipmentRangeV1",
22
+ "PowerCablingRangeV1",
23
23
  )
24
24
 
25
25
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -15,33 +15,33 @@
15
15
  #
16
16
  __all__ = (
17
17
  "AccessFlooringRangeV1",
18
- "CarpetRangeV1",
19
- "LaminateRangeV1",
20
- "OtherFlooringRangeV1",
21
- "ResilientFlooringRangeV1",
22
- "WallBaseRangeV1",
23
- "WoodFlooringRangeV1",
24
18
  "AcousticalCeilingsRangeV1",
25
- "CeramicTileRangeV1",
26
- "GaugedTileRangeV1",
27
- "GlassTileRangeV1",
28
- "GypsumSupportsRangeV1",
29
- "FlooringRangeV1",
30
- "CeilingPanelRangeV1",
31
19
  "BackingAndUnderlayRangeV1",
20
+ "CarpetRangeV1",
21
+ "CeilingPanelRangeV1",
32
22
  "CementBoardRangeV1",
33
- "TilingRangeV1",
23
+ "CeramicTileRangeV1",
34
24
  "DeckingBoardsRangeV1",
25
+ "FinishesRangeV1",
26
+ "FlooringRangeV1",
27
+ "GaugedTileRangeV1",
35
28
  "GlassFiberReinforcedGypsumFabricationsRangeV1",
29
+ "GlassTileRangeV1",
36
30
  "GypsumRangeV1",
31
+ "GypsumSupportsRangeV1",
32
+ "LaminateRangeV1",
37
33
  "MirrorsRangeV1",
34
+ "OtherFlooringRangeV1",
35
+ "PaintByAreaRangeV1",
38
36
  "PaintByMassRangeV1",
39
37
  "PaintByVolumeRangeV1",
40
- "PaintByAreaRangeV1",
41
38
  "PaintingAndCoatingRangeV1",
42
- "WallFinishesRangeV1",
43
39
  "PlasterRangeV1",
44
- "FinishesRangeV1",
40
+ "ResilientFlooringRangeV1",
41
+ "TilingRangeV1",
42
+ "WallBaseRangeV1",
43
+ "WallFinishesRangeV1",
44
+ "WoodFlooringRangeV1",
45
45
  )
46
46
 
47
47
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -14,11 +14,11 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
- "IntumescentFireproofingRangeV1",
18
- "SprayFireproofingRangeV1",
19
17
  "AppliedFireproofingRangeV1",
20
- "FirestoppingRangeV1",
21
18
  "FireAndSmokeProtectionRangeV1",
19
+ "FirestoppingRangeV1",
20
+ "IntumescentFireproofingRangeV1",
21
+ "SprayFireproofingRangeV1",
22
22
  )
23
23
 
24
24
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -14,22 +14,22 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
- "DemountablePartitionTrackRangeV1",
18
17
  "ChairsRangeV1",
18
+ "ClosedStorageFurnitureRangeV1",
19
19
  "CountertopsRangeV1",
20
+ "DemountablePartitionTrackRangeV1",
20
21
  "DemountablePartitionsRangeV1",
21
- "OtherFurnishingsRangeV1",
22
- "OpenStorageFurnitureRangeV1",
23
- "ClosedStorageFurnitureRangeV1",
24
- "RetractableStorageFurnitureRangeV1",
22
+ "FurnishingsRangeV1",
25
23
  "MobileStorageFurnitureRangeV1",
26
- "WallMountedStorageShelvingRangeV1",
24
+ "OpenStorageFurnitureRangeV1",
25
+ "OtherFurnishingsRangeV1",
27
26
  "OtherStorageFurnitureRangeV1",
27
+ "RetractableStorageFurnitureRangeV1",
28
28
  "StorageFurnitureRangeV1",
29
29
  "TablesRangeV1",
30
+ "WallMountedStorageShelvingRangeV1",
30
31
  "WorkSurfacesRangeV1",
31
32
  "WorkspacesRangeV1",
32
- "FurnishingsRangeV1",
33
33
  )
34
34
 
35
35
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -14,16 +14,16 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
- "CementRangeV1",
18
- "MasonryCementRangeV1",
19
- "SupplementaryCementitiousMaterialsRangeV1",
20
17
  "AccessFlooringPedestalsRangeV1",
21
18
  "CarpetBackingRangeV1",
22
19
  "CarpetFiberRangeV1",
20
+ "CementRangeV1",
23
21
  "CementitiousMaterialsRangeV1",
24
22
  "ConcreteAdmixturesRangeV1",
25
- "TextilesRangeV1",
26
23
  "ManufacturingInputsRangeV1",
24
+ "MasonryCementRangeV1",
25
+ "SupplementaryCementitiousMaterialsRangeV1",
26
+ "TextilesRangeV1",
27
27
  )
28
28
 
29
29
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -14,9 +14,9 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
- "GMURangeV1",
18
17
  "AutoclavedAeratedConcreteRangeV1",
19
18
  "BrickRangeV1",
19
+ "GMURangeV1",
20
20
  "MasonryRangeV1",
21
21
  )
22
22
 
@@ -14,21 +14,21 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
- "HvacVrfControlRangeV1",
18
- "HvacVrfIndoorRangeV1",
19
- "HvacVrfOutdoorRangeV1",
17
+ "HvacAHUsRangeV1",
20
18
  "HvacAirDiffusersRangeV1",
21
19
  "HvacAirFiltersRangeV1",
22
- "HvacAHUsRangeV1",
23
20
  "HvacBoilersRangeV1",
24
21
  "HvacChillersRangeV1",
22
+ "HvacDuctsRangeV1",
25
23
  "HvacFansRangeV1",
26
- "HvacHeatPumpsRangeV1",
27
24
  "HvacHeatExRangeV1",
25
+ "HvacHeatPumpsRangeV1",
28
26
  "HvacPumpsRangeV1",
29
27
  "HvacRTUsRangeV1",
28
+ "HvacVrfControlRangeV1",
29
+ "HvacVrfIndoorRangeV1",
30
+ "HvacVrfOutdoorRangeV1",
30
31
  "HvacVrfSystemsRangeV1",
31
- "HvacDuctsRangeV1",
32
32
  "MechanicalRangeV1",
33
33
  )
34
34
 
@@ -14,14 +14,14 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
- "PDURangeV1",
18
17
  "CabinetsRacksAndEnclosuresRangeV1",
18
+ "CommunicationsConduitRangeV1",
19
19
  "DataCablingRangeV1",
20
20
  "FloorBoxesAndAccessoriesRangeV1",
21
+ "NetworkInfrastructureRangeV1",
21
22
  "NetworkingCableTraysRangeV1",
22
23
  "NetworkingRacewaysRangeV1",
23
- "CommunicationsConduitRangeV1",
24
- "NetworkInfrastructureRangeV1",
24
+ "PDURangeV1",
25
25
  )
26
26
 
27
27
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -14,34 +14,34 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
- "PanelDoorsRangeV1",
18
- "PressureResistantDoorsRangeV1",
19
- "SpecialFunctionDoorsRangeV1",
20
- "SlidingGlassDoorsRangeV1",
17
+ "CurtainWallsRangeV1",
18
+ "DoorsAndFramesRangeV1",
19
+ "EntrancesRangeV1",
21
20
  "FenestrationAccessoriesRangeV1",
22
21
  "FenestrationFramingRangeV1",
23
22
  "FenestrationHardwareRangeV1",
23
+ "FenestrationPartsRangeV1",
24
24
  "FlatGlassPanesRangeV1",
25
- "ProcessedNonInsulatingGlassPanesRangeV1",
25
+ "GlassPanesRangeV1",
26
26
  "GlazedDoorsRangeV1",
27
- "UnitSkylightsRangeV1",
28
- "WindowsRangeV1",
27
+ "GlazingRangeV1",
28
+ "InsulatingGlazingUnitsRangeV1",
29
29
  "IntegratedDoorsOpeningAssembliesRangeV1",
30
30
  "MetalDoorAndFramesRangeV1",
31
- "SpecialtyDoorsAndFramesRangeV1",
32
- "WoodDoorsRangeV1",
33
- "FenestrationPartsRangeV1",
34
- "GlassPanesRangeV1",
35
31
  "NAFSFenestrationRangeV1",
36
- "InsulatingGlazingUnitsRangeV1",
37
- "CurtainWallsRangeV1",
38
- "DoorsAndFramesRangeV1",
39
- "EntrancesRangeV1",
40
- "GlazingRangeV1",
32
+ "OpeningsRangeV1",
33
+ "PanelDoorsRangeV1",
34
+ "PressureResistantDoorsRangeV1",
35
+ "ProcessedNonInsulatingGlassPanesRangeV1",
36
+ "SlidingGlassDoorsRangeV1",
37
+ "SpecialFunctionDoorsRangeV1",
38
+ "SpecialtyDoorsAndFramesRangeV1",
41
39
  "StorefrontsRangeV1",
42
40
  "TranslucentWallAndRoofAssembliesRangeV1",
41
+ "UnitSkylightsRangeV1",
43
42
  "WindowWallAssembliesRangeV1",
44
- "OpeningsRangeV1",
43
+ "WindowsRangeV1",
44
+ "WoodDoorsRangeV1",
45
45
  )
46
46
 
47
47
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -17,17 +17,17 @@ __all__ = (
17
17
  "AuxiliariesRangeV1",
18
18
  "CleaningProductsRangeV1",
19
19
  "ClothingRangeV1",
20
- "FoodBeverageRangeV1",
21
- "TransportationInfrastructureRangeV1",
22
- "UnsupportedRangeV1",
23
20
  "CopperRangeV1",
24
21
  "EarthworkRangeV1",
25
22
  "ExteriorSunControlDevicesRangeV1",
23
+ "FoodBeverageRangeV1",
26
24
  "GypsumFinishingCompoundsRangeV1",
25
+ "OtherMaterialsRangeV1",
27
26
  "ProfilesRangeV1",
27
+ "TransportationInfrastructureRangeV1",
28
28
  "UnknownRangeV1",
29
+ "UnsupportedRangeV1",
29
30
  "ZincRangeV1",
30
- "OtherMaterialsRangeV1",
31
31
  )
32
32
 
33
33
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -16,17 +16,17 @@
16
16
  __all__ = (
17
17
  "BathtubsRangeV1",
18
18
  "FaucetsRangeV1",
19
- "OtherPlumbingFixturesRangeV1",
20
- "WaterClosetsRangeV1",
21
19
  "FireProtectionPipingRangeV1",
22
20
  "FireSprinklersRangeV1",
23
- "StorageTanksRangeV1",
24
- "WaterHeatersRangeV1",
25
- "PlumbingFixturesRangeV1",
26
21
  "FireSuppressionRangeV1",
22
+ "OtherPlumbingFixturesRangeV1",
27
23
  "PipingRangeV1",
28
24
  "PlumbingEquipmentRangeV1",
25
+ "PlumbingFixturesRangeV1",
29
26
  "PlumbingRangeV1",
27
+ "StorageTanksRangeV1",
28
+ "WaterClosetsRangeV1",
29
+ "WaterHeatersRangeV1",
30
30
  )
31
31
 
32
32
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -15,10 +15,10 @@
15
15
  #
16
16
  __all__ = (
17
17
  "ArchitecturalPrecastRangeV1",
18
- "StructuralPrecastRangeV1",
19
- "UtilityUndergroundPrecastRangeV1",
20
18
  "CivilPrecastRangeV1",
21
19
  "PrecastConcreteRangeV1",
20
+ "StructuralPrecastRangeV1",
21
+ "UtilityUndergroundPrecastRangeV1",
22
22
  )
23
23
 
24
24
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -14,29 +14,29 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
+ "CoilSteelRangeV1",
17
18
  "ColdFormedFramingRangeV1",
19
+ "ColdFormedSteelRangeV1",
20
+ "CrudeSteelRangeV1",
18
21
  "DeckingSteelRangeV1",
19
- "SteelSuspensionAssemblyRangeV1",
20
22
  "HollowSectionsRangeV1",
21
23
  "HotRolledSectionsRangeV1",
22
- "PlateSteelRangeV1",
24
+ "MBQSteelRangeV1",
23
25
  "MetalRailingsRangeV1",
24
26
  "MetalStairsRangeV1",
25
27
  "MiscMetalFabricationRangeV1",
26
28
  "OpenWebMembranesRangeV1",
27
- "MBQSteelRangeV1",
28
- "CoilSteelRangeV1",
29
- "ColdFormedSteelRangeV1",
30
- "StructuralSteelRangeV1",
31
- "PrefabricatedSteelAssembliesRangeV1",
29
+ "OtherSteelRangeV1",
30
+ "PlateSteelRangeV1",
32
31
  "PostTensioningSteelRangeV1",
32
+ "PrefabricatedSteelAssembliesRangeV1",
33
33
  "RebarSteelRangeV1",
34
- "WireMeshSteelRangeV1",
35
34
  "SteelRangeV1",
35
+ "SteelSuspensionAssemblyRangeV1",
36
+ "StructuralSteelRangeV1",
37
+ "WireMeshSteelRangeV1",
36
38
  )
37
39
 
38
- # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
39
-
40
40
 
41
41
  from openepd.compat.pydantic import pyd
42
42
  from openepd.model.common import RangeFloat, RangeRatioFloat
@@ -306,6 +306,12 @@ class OtherSteelRangeV1(BaseOpenEpdHierarchicalSpec):
306
306
  _EXT_VERSION = "1.0"
307
307
 
308
308
 
309
+ class CrudeSteelRangeV1(BaseOpenEpdHierarchicalSpec):
310
+ """Crude steel products."""
311
+
312
+ _EXT_VERSION = "1.0"
313
+
314
+
309
315
  class SteelRangeV1(BaseOpenEpdHierarchicalSpec):
310
316
  """
311
317
  Broad category for construction materials made from steel and its alloys.
@@ -313,7 +319,7 @@ class SteelRangeV1(BaseOpenEpdHierarchicalSpec):
313
319
  Range version.
314
320
  """
315
321
 
316
- _EXT_VERSION = "1.1"
322
+ _EXT_VERSION = "1.2"
317
323
 
318
324
  yield_tensile_str: AmountRangePressureMpa | None = pyd.Field(
319
325
  default=None,
@@ -347,3 +353,4 @@ class SteelRangeV1(BaseOpenEpdHierarchicalSpec):
347
353
  RebarSteel: RebarSteelRangeV1 | None = None
348
354
  WireMeshSteel: WireMeshSteelRangeV1 | None = None
349
355
  OtherSteel: OtherSteelRangeV1 | None = None
356
+ CrudeSteel: CrudeSteelRangeV1 | None = None
@@ -14,28 +14,28 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
+ "AirBarriersRangeV1",
17
18
  "BituminousRoofingRangeV1",
18
- "SinglePlyEPDMRangeV1",
19
- "SinglePlyKEERangeV1",
20
- "SinglePlyOtherRangeV1",
21
- "SinglePlyPolyurethaneRangeV1",
22
- "SinglePlyPVCRangeV1",
23
- "SinglePlyTPORangeV1",
24
19
  "BlanketInsulationRangeV1",
25
20
  "BlownInsulationRangeV1",
26
21
  "BoardInsulationRangeV1",
27
- "FoamedInPlaceRangeV1",
28
- "SprayedInsulationRangeV1",
29
- "AirBarriersRangeV1",
30
- "MembraneRoofingRangeV1",
31
- "InsulationRangeV1",
32
22
  "DampproofingAndWaterproofingRangeV1",
33
23
  "FlashingAndSheetMetalRangeV1",
24
+ "FoamedInPlaceRangeV1",
25
+ "InsulationRangeV1",
34
26
  "JointProtectionRangeV1",
27
+ "MembraneRoofingRangeV1",
35
28
  "RoofCoverBoardsRangeV1",
29
+ "SinglePlyEPDMRangeV1",
30
+ "SinglePlyKEERangeV1",
31
+ "SinglePlyOtherRangeV1",
32
+ "SinglePlyPVCRangeV1",
33
+ "SinglePlyPolyurethaneRangeV1",
34
+ "SinglePlyTPORangeV1",
35
+ "SprayedInsulationRangeV1",
36
36
  "SteepSlopeRoofingRangeV1",
37
- "WeatherBarriersRangeV1",
38
37
  "ThermalMoistureProtectionRangeV1",
38
+ "WeatherBarriersRangeV1",
39
39
  )
40
40
 
41
41
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
@@ -14,26 +14,23 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  __all__ = (
17
- "WoodDeckingRangeV1",
18
- "WoodFramingRangeV1",
19
- "PrefabricatedWoodInsulatedPanelsRangeV1",
20
- "PrefabricatedWoodTrussRangeV1",
21
17
  "CompositeLumberRangeV1",
22
18
  "DimensionLumberRangeV1",
23
19
  "HeavyTimberRangeV1",
24
20
  "MassTimberRangeV1",
25
21
  "NonStructuralWoodRangeV1",
22
+ "PrefabricatedWoodInsulatedPanelsRangeV1",
26
23
  "PrefabricatedWoodRangeV1",
24
+ "PrefabricatedWoodTrussRangeV1",
27
25
  "SheathingPanelsRangeV1",
28
26
  "UnfinishedWoodRangeV1",
27
+ "WoodDeckingRangeV1",
28
+ "WoodFramingRangeV1",
29
29
  "WoodRangeV1",
30
30
  )
31
31
 
32
32
  # NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
33
33
 
34
-
35
- from builtins import float
36
-
37
34
  from openepd.compat.pydantic import pyd
38
35
  from openepd.model.org import OrgRef
39
36
  from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec