openepd 6.6.0__tar.gz → 6.7.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.
- {openepd-6.6.0 → openepd-6.7.1}/PKG-INFO +1 -1
- {openepd-6.6.0 → openepd-6.7.1}/pyproject.toml +1 -1
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/__version__.py +1 -1
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/common.py +46 -1
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/org.py +18 -8
- {openepd-6.6.0 → openepd-6.7.1}/LICENSE +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/README.md +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/average_dataset/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/average_dataset/generic_estimate_sync_api.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/average_dataset/industry_epd_sync_api.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/base_sync_client.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/category/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/category/dto.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/category/sync_api.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/common.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/dto/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/dto/base.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/dto/common.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/dto/meta.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/dto/mf.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/dto/params.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/epd/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/epd/dto.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/epd/sync_api.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/errors.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/pcr/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/pcr/sync_api.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/sync_client.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/test/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/api/utils.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/bundle/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/bundle/base.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/bundle/model.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/bundle/reader.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/bundle/writer.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/compat/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/compat/compat_functional_validators.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/compat/pydantic.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/base.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/category.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/declaration.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/epd.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/factory.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/generic_estimate.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/geography.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/industry_epd.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/lcia.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/pcr.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/README.md +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/asphalt.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/base.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/concrete.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/enums.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/accessories.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/aggregates.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/aluminium.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/asphalt.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/bulk_materials.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/cast_decks_and_underlayment.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/cladding.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/cmu.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/concrete.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/conveying_equipment.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/electrical.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/electricity.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/finishes.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/fire_and_smoke_protection.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/furnishings.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/grouting.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/manufacturing_inputs.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/masonry.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/material_handling.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/mechanical.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/mechanical_insulation.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/network_infrastructure.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/openings.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/other_electrical_equipment.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/other_materials.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/plumbing.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/precast_concrete.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/sheathing.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/steel.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/thermal_moisture_protection.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/utility_piping.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/wood.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/range/wood_joists.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/accessories.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/aggregates.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/aluminium.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/asphalt.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/bulk_materials.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/cast_decks_and_underlayment.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/cladding.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/cmu.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/common.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/concrete.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/conveying_equipment.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/deprecated/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/deprecated/concrete.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/deprecated/steel.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/electrical.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/electrical_transmission_and_distribution_equipment.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/electricity.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/finishes.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/fire_and_smoke_protection.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/furnishings.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/grouting.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/manufacturing_inputs.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/masonry.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/material_handling.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/mechanical.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/mechanical_insulation.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/mixins/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/mixins/conduit_mixin.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/network_infrastructure.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/openings.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/other_electrical_equipment.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/other_materials.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/plumbing.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/precast_concrete.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/sheathing.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/steel.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/thermal_moisture_protection.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/utility_piping.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/wood.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/specs/singular/wood_joists.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/standard.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/validation/__init__.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/validation/common.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/validation/enum.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/validation/numbers.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/validation/quantity.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/model/versioning.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/patch_pydantic.py +0 -0
- {openepd-6.6.0 → openepd-6.7.1}/src/openepd/py.typed +0 -0
@@ -149,10 +149,55 @@ class Location(BaseOpenEpdSchema):
|
|
149
149
|
)
|
150
150
|
|
151
151
|
|
152
|
+
ATTACHMENT_KNOWN_KEYS: dict[str, str] = {
|
153
|
+
"OpenEPD": "A Product EPD in OpenEPD format",
|
154
|
+
"openEPD": "Equivalent to OpenEPD",
|
155
|
+
"ILCD_EPD": "A Product EPD in ILCD+EPD format. An underscore is used in place of '+' for compatability purposes.",
|
156
|
+
"OpenIndustryEPD": "An Industry EPD in OpenEPD format",
|
157
|
+
"openIndustryEPD": "Equivalent to OpenIndustryEPD",
|
158
|
+
"LCA_Model": "An underlying LCA model from which one could replicate these EPD results, in LCA Commons 2.0 format",
|
159
|
+
"LCA_Report": "An underlying LCA report, in PDF or other document format",
|
160
|
+
"lca_software": "A url, optionally with an #anchor tag, pointing to the version of the software used, generally one provided by the software vendor. ",
|
161
|
+
"lca_dataset_reference": "A URL link to an lca dataset used in the analysis. Multiple dataset references can be added by appending a number or string after _reference, e.g. lca_dataset_reference_3 or lca_dataset_reference_steel",
|
162
|
+
"EPD": "Environmental Product Declaration, verified by a third party, not in OpenEPD format.",
|
163
|
+
"IndustryEPD": "EPD for an industry, sector, or group of companies, not in OpenEPD format.",
|
164
|
+
"Datasheet": "A technical data sheet describing the product.",
|
165
|
+
"PCR": "Product Category Rules for EPD generation",
|
166
|
+
"Contact_Us": "A url to contact. May be an email (mailto:) link.",
|
167
|
+
"URL": "A link to a relevant resource. No particular format is specified. Each URL should be uniquely named. ",
|
168
|
+
"VOC": "Volatile Organic Compound declaration",
|
169
|
+
"HPD": "Material Health Product Declaration",
|
170
|
+
"PEF": "Product Environmental Footprint (without 3rd party verification)",
|
171
|
+
"MSDS": "Material Safety Data Sheet",
|
172
|
+
"Developer": "Link to the website of the group who performed the LCA and/or prepared the EPD.",
|
173
|
+
}
|
174
|
+
|
175
|
+
|
176
|
+
class AttachmentDict(dict[str, pyd.AnyUrl]):
|
177
|
+
"""Special form of dict for attachments."""
|
178
|
+
|
179
|
+
@classmethod
|
180
|
+
def __modify_schema__(cls, field_schema: dict[str, Any], field: pyd.fields.ModelField | None):
|
181
|
+
# This may be generalized later to combine, for example, enum descriptions and field descriptions to provide
|
182
|
+
# a better result.
|
183
|
+
field_description = field.field_info.description if field else ""
|
184
|
+
if field_description:
|
185
|
+
field_description = field_description.strip()
|
186
|
+
if not field_description.endswith("."):
|
187
|
+
field_description += "."
|
188
|
+
field_description += " "
|
189
|
+
|
190
|
+
field_schema["description"] = field_description + "Extra properties of string -> URL allowed."
|
191
|
+
field_schema["properties"] = {
|
192
|
+
k: {"type": "string", "format": "uri", "description": v} for k, v in ATTACHMENT_KNOWN_KEYS.items()
|
193
|
+
}
|
194
|
+
field_schema["additionalProperties"] = True
|
195
|
+
|
196
|
+
|
152
197
|
class WithAttachmentsMixin(pyd.BaseModel):
|
153
198
|
"""Mixin for objects that can have attachments."""
|
154
199
|
|
155
|
-
attachments:
|
200
|
+
attachments: AttachmentDict = pyd.Field(
|
156
201
|
description="Dict of URLs relevant to this entry",
|
157
202
|
example={
|
158
203
|
"Contact Us": "https://www.c-change-labs.com/en/contact-us/",
|
@@ -63,8 +63,8 @@ class Org(WithAttachmentsMixin, WithAltIdsMixin, OrgRef):
|
|
63
63
|
)
|
64
64
|
|
65
65
|
|
66
|
-
class
|
67
|
-
"""
|
66
|
+
class PlantRef(BaseOpenEpdSchema):
|
67
|
+
"""Represents Plant with minimal data."""
|
68
68
|
|
69
69
|
id: str | None = pyd.Field(
|
70
70
|
description="Plus code (aka Open Location Code) of plant's location and "
|
@@ -72,6 +72,22 @@ class Plant(WithAttachmentsMixin, WithAltIdsMixin, BaseOpenEpdSchema):
|
|
72
72
|
example="865P2W3V+3W.interface.com",
|
73
73
|
default=None,
|
74
74
|
)
|
75
|
+
name: str | None = pyd.Field(
|
76
|
+
max_length=200,
|
77
|
+
description="Manufacturer's name for plant. Recommended < 40 chars",
|
78
|
+
example="Dalton, GA",
|
79
|
+
default=None,
|
80
|
+
)
|
81
|
+
ref: ReferenceStr | None = pyd.Field(
|
82
|
+
default=None,
|
83
|
+
example="https://openepd.buildingtransparency.org/api/orgs/c-change-labs.com",
|
84
|
+
description="Reference to this Plant's JSON object",
|
85
|
+
)
|
86
|
+
|
87
|
+
|
88
|
+
class Plant(PlantRef, WithAttachmentsMixin, WithAltIdsMixin):
|
89
|
+
"""Represent a manufacturing plant."""
|
90
|
+
|
75
91
|
pluscode: str | None = pyd.Field(
|
76
92
|
default=None,
|
77
93
|
description="(deprecated) Plus code (aka Open Location Code) of plant's location",
|
@@ -85,12 +101,6 @@ class Plant(WithAttachmentsMixin, WithAltIdsMixin, BaseOpenEpdSchema):
|
|
85
101
|
default=None, description="(deprecated) Longitude of the plant location. Use 'location' fields instead."
|
86
102
|
)
|
87
103
|
owner: Org | None = pyd.Field(description="Organization that owns the plant", default=None)
|
88
|
-
name: str | None = pyd.Field(
|
89
|
-
max_length=200,
|
90
|
-
description="Manufacturer's name for plant. Recommended < 40 chars",
|
91
|
-
example="Dalton, GA",
|
92
|
-
default=None,
|
93
|
-
)
|
94
104
|
address: str | None = pyd.Field(
|
95
105
|
max_length=200,
|
96
106
|
default=None,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.6.0 → openepd-6.7.1}/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
|
{openepd-6.6.0 → openepd-6.7.1}/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
|
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.6.0 → openepd-6.7.1}/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
|
File without changes
|
{openepd-6.6.0 → openepd-6.7.1}/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
|
{openepd-6.6.0 → openepd-6.7.1}/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
|
File without changes
|
File without changes
|
File without changes
|
{openepd-6.6.0 → openepd-6.7.1}/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
|
File without changes
|
{openepd-6.6.0 → openepd-6.7.1}/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
|