openepd 3.4.0__tar.gz → 3.5.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 (102) hide show
  1. {openepd-3.4.0 → openepd-3.5.0}/PKG-INFO +1 -1
  2. {openepd-3.4.0 → openepd-3.5.0}/pyproject.toml +1 -1
  3. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/__init__.py +0 -4
  4. openepd-3.5.0/src/openepd/__version__.py +16 -0
  5. {openepd-3.4.0/src/openepd/api/dto → openepd-3.5.0/src/openepd/api}/__init__.py +0 -4
  6. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/base_sync_client.py +0 -4
  7. {openepd-3.4.0/src/openepd/api → openepd-3.5.0/src/openepd/api/category}/__init__.py +0 -4
  8. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/category/dto.py +0 -4
  9. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/category/sync_api.py +0 -4
  10. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/common.py +0 -4
  11. {openepd-3.4.0/src/openepd/api/category → openepd-3.5.0/src/openepd/api/dto}/__init__.py +0 -4
  12. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/dto/base.py +0 -4
  13. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/dto/common.py +0 -4
  14. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/dto/meta.py +0 -4
  15. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/dto/mf.py +0 -4
  16. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/dto/params.py +0 -4
  17. openepd-3.5.0/src/openepd/api/epd/__init__.py +15 -0
  18. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/epd/dto.py +0 -4
  19. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/epd/sync_api.py +80 -4
  20. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/errors.py +0 -4
  21. openepd-3.5.0/src/openepd/api/pcr/__init__.py +15 -0
  22. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/pcr/dto.py +0 -4
  23. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/pcr/sync_api.py +0 -4
  24. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/api/sync_client.py +0 -4
  25. openepd-3.5.0/src/openepd/api/test/__init__.py +15 -0
  26. openepd-3.4.0/src/openepd/__version__.py → openepd-3.5.0/src/openepd/api/utils.py +13 -5
  27. openepd-3.5.0/src/openepd/bundle/__init__.py +15 -0
  28. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/bundle/base.py +0 -4
  29. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/bundle/model.py +0 -4
  30. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/bundle/reader.py +0 -4
  31. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/bundle/writer.py +0 -4
  32. openepd-3.5.0/src/openepd/compat/__init__.py +15 -0
  33. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/compat/compat_functional_validators.py +0 -4
  34. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/compat/pydantic.py +0 -4
  35. openepd-3.5.0/src/openepd/model/__init__.py +15 -0
  36. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/base.py +0 -4
  37. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/category.py +0 -4
  38. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/common.py +0 -4
  39. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/epd.py +0 -4
  40. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/factory.py +0 -4
  41. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/lcia.py +0 -4
  42. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/org.py +0 -4
  43. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/pcr.py +0 -4
  44. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/__init__.py +0 -4
  45. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/asphalt.py +0 -4
  46. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/base.py +0 -4
  47. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/concrete.py +0 -4
  48. openepd-3.5.0/src/openepd/model/specs/generated/__init__.py +15 -0
  49. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/accessories.py +0 -4
  50. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/aggregates.py +0 -4
  51. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/aluminium.py +0 -4
  52. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/asphalt.py +0 -4
  53. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/bulk_materials.py +0 -4
  54. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/cast_decks_and_underlayment.py +0 -4
  55. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/cladding.py +0 -4
  56. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/cmu.py +0 -4
  57. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/common.py +0 -4
  58. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/concrete.py +0 -4
  59. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/conveying_equipment.py +2 -6
  60. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/electrical.py +0 -4
  61. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/electrical_transmission_and_distribution_equipment.py +0 -4
  62. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/electricity.py +0 -4
  63. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/enums.py +0 -4
  64. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/finishes.py +0 -4
  65. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/fire_and_smoke_protection.py +0 -4
  66. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/furnishings.py +0 -4
  67. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/grouting.py +0 -4
  68. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/manufacturing_inputs.py +0 -4
  69. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/masonry.py +0 -4
  70. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/material_handling.py +0 -4
  71. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/mechanical.py +0 -4
  72. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/mechanical_insulation.py +0 -4
  73. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/network_infrastructure.py +0 -4
  74. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/openings.py +0 -4
  75. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/other_electrical_equipment.py +0 -4
  76. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/other_materials.py +0 -4
  77. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/plumbing.py +0 -4
  78. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/precast_concrete.py +0 -4
  79. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/sheathing.py +0 -4
  80. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/steel.py +0 -4
  81. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/thermal_moisture_protection.py +0 -4
  82. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/utility_piping.py +0 -4
  83. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/wood.py +0 -4
  84. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/generated/wood_joists.py +0 -4
  85. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/standard.py +0 -4
  86. openepd-3.5.0/src/openepd/model/validation/__init__.py +15 -0
  87. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/validation/common.py +0 -4
  88. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/validation/numbers.py +0 -4
  89. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/validation/quantity.py +0 -4
  90. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/versioning.py +0 -4
  91. openepd-3.4.0/src/openepd/api/epd/__init__.py +0 -19
  92. openepd-3.4.0/src/openepd/api/pcr/__init__.py +0 -19
  93. openepd-3.4.0/src/openepd/api/test/__init__.py +0 -19
  94. openepd-3.4.0/src/openepd/bundle/__init__.py +0 -19
  95. openepd-3.4.0/src/openepd/compat/__init__.py +0 -19
  96. openepd-3.4.0/src/openepd/model/__init__.py +0 -19
  97. openepd-3.4.0/src/openepd/model/specs/generated/__init__.py +0 -19
  98. openepd-3.4.0/src/openepd/model/validation/__init__.py +0 -19
  99. {openepd-3.4.0 → openepd-3.5.0}/LICENSE +0 -0
  100. {openepd-3.4.0 → openepd-3.5.0}/README.md +0 -0
  101. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/model/specs/README.md +0 -0
  102. {openepd-3.4.0 → openepd-3.5.0}/src/openepd/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openepd
3
- Version: 3.4.0
3
+ Version: 3.5.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 = "3.4.0"
3
+ version = "3.5.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,7 +13,3 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
@@ -0,0 +1,16 @@
1
+ #
2
+ # Copyright 2024 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
+ VERSION = "3.5.0"
@@ -13,7 +13,3 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  __all__ = (
21
17
  "HttpStreamReader",
22
18
  "SyncHttpClient",
@@ -13,7 +13,3 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from typing import TypeAlias
21
17
 
22
18
  from openepd.api.dto.common import MetaCollectionDto, OpenEpdApiResponse
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from openepd.api.base_sync_client import BaseApiMethodGroup
21
17
  from openepd.api.category.dto import CategoryTreeResponse
22
18
  from openepd.model.category import Category
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from collections.abc import Iterable
21
17
  from contextlib import contextmanager
22
18
  from datetime import datetime, timedelta
@@ -13,7 +13,3 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  import abc
21
17
 
22
18
  from openepd.compat.pydantic import pyd
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  import abc
21
17
  import datetime
22
18
  from typing import Final, Generic, TypeAlias, TypeVar
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from openepd.api.dto.base import BaseMetaDto, BaseOpenEpdApiModel
21
17
  from openepd.compat.pydantic import pyd
22
18
 
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from openepd.api.dto.base import BaseOpenEpdApiModel
21
17
  from openepd.compat.pydantic import pyd
22
18
 
@@ -13,7 +13,3 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
@@ -0,0 +1,15 @@
1
+ #
2
+ # Copyright 2024 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
+ #
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from typing import TypeAlias
21
17
 
22
18
  from openepd.api.dto.base import BaseOpenEpdApiModel
@@ -13,13 +13,14 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
16
+ from typing import Literal, overload
17
+
18
+ from requests import Response
19
+
20
20
  from openepd.api.base_sync_client import BaseApiMethodGroup
21
21
  from openepd.api.common import StreamingListResponse
22
22
  from openepd.api.epd.dto import EpdSearchResponse, EpdStatisticsResponse, StatisticsDto
23
+ from openepd.api.utils import encode_path_param
23
24
  from openepd.model.epd import Epd
24
25
 
25
26
 
@@ -103,3 +104,78 @@ class EpdApi(BaseApiMethodGroup):
103
104
  :return: statistics wrapped in OpenEpdApiResponse
104
105
  """
105
106
  return self.get_statistics_raw(omf).payload
107
+
108
+ @overload
109
+ def post_with_refs(self, epd: Epd, with_response: Literal[True]) -> tuple[Epd, Response]: ...
110
+
111
+ @overload
112
+ def post_with_refs(self, epd: Epd, with_response: Literal[False] = False) -> Epd: ...
113
+
114
+ def post_with_refs(self, epd: Epd, with_response: bool = False) -> Epd | tuple[Epd, Response]:
115
+ """
116
+ Post an EPD with references.
117
+
118
+ :param epd: EPD
119
+ :param with_response: return the response object togather with the EPD
120
+ :return: EPD or EPD with HTTP Response object depending on parameter
121
+ """
122
+ response = self._client.do_request(
123
+ "patch",
124
+ "/epds/post-with-refs",
125
+ json=epd.to_serializable(exclude_unset=True, exclude_defaults=True, by_alias=True),
126
+ )
127
+ content = response.json()
128
+ if with_response:
129
+ return Epd.parse_obj(content), response
130
+ return Epd.parse_obj(content)
131
+
132
+ @overload
133
+ def create(self, epd: Epd, with_response: Literal[True]) -> tuple[Epd, Response]: ...
134
+
135
+ @overload
136
+ def create(self, epd: Epd, with_response: Literal[False] = False) -> Epd: ...
137
+
138
+ def create(self, epd: Epd, with_response: bool = False) -> Epd | tuple[Epd, Response]:
139
+ """
140
+ Create an EPD.
141
+
142
+ :param epd: EPD
143
+ :param with_response: return the response object together with the EPD
144
+ :return: EPD or EPD with HTTP Response object depending on parameter
145
+ """
146
+ response = self._client.do_request(
147
+ "post",
148
+ "/epds",
149
+ json=epd.to_serializable(exclude_unset=True, exclude_defaults=True, by_alias=True),
150
+ )
151
+ content = response.json()
152
+ if with_response:
153
+ return Epd.parse_obj(content), response
154
+ return Epd.parse_obj(content)
155
+
156
+ @overload
157
+ def edit(self, epd: Epd, with_response: Literal[True]) -> tuple[Epd, Response]: ...
158
+
159
+ @overload
160
+ def edit(self, epd: Epd, with_response: Literal[False] = False) -> Epd: ...
161
+
162
+ def edit(self, epd: Epd, with_response: bool = False) -> Epd | tuple[Epd, Response]:
163
+ """
164
+ Edit an EPD.
165
+
166
+ :param epd: EPD
167
+ :param with_response: return the response object together with the EPD
168
+ :return: EPD or EPD with HTTP Response object depending on parameter
169
+ """
170
+ epd_id = epd.id
171
+ if not epd_id:
172
+ raise ValueError("The EPD ID must be set to edit an EPD.")
173
+ response = self._client.do_request(
174
+ "put",
175
+ f"/epds/{encode_path_param(epd_id)}",
176
+ json=epd.to_serializable(exclude_unset=True, exclude_defaults=True, by_alias=True),
177
+ )
178
+ content = response.json()
179
+ if with_response:
180
+ return Epd.parse_obj(content), response
181
+ return Epd.parse_obj(content)
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from typing import Any
21
17
 
22
18
 
@@ -0,0 +1,15 @@
1
+ #
2
+ # Copyright 2024 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
+ #
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from openepd.api.dto.base import BaseOpenEpdApiModel
21
17
  from openepd.compat.pydantic import pyd
22
18
 
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from openepd.api.base_sync_client import BaseApiMethodGroup
21
17
  from openepd.api.pcr.dto import PcrRef
22
18
  from openepd.model.pcr import Pcr
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  __all__ = ("OpenEpdApiClientSync",)
21
17
 
22
18
  from requests.auth import AuthBase
@@ -0,0 +1,15 @@
1
+ #
2
+ # Copyright 2024 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
+ #
@@ -13,8 +13,16 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
- VERSION = "3.4.0"
16
+ __all__ = ("encode_path_param",)
17
+
18
+ from urllib.parse import quote
19
+
20
+
21
+ def encode_path_param(value: str) -> str:
22
+ """
23
+ Encode a path parameter value.
24
+
25
+ :param value: parameter value
26
+ :return: encoded value
27
+ """
28
+ return quote(value, safe="")
@@ -0,0 +1,15 @@
1
+ #
2
+ # Copyright 2024 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
+ #
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  import abc
21
17
  import csv
22
18
  from typing import IO, Callable, Iterator, Self, Sequence, Type
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from enum import StrEnum
21
17
 
22
18
  from openepd.compat.pydantic import pyd
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  import csv
21
17
  import io
22
18
  from os import PathLike
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  import csv
21
17
  from io import BytesIO, StringIO
22
18
  from os import PathLike
@@ -0,0 +1,15 @@
1
+ #
2
+ # Copyright 2024 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
+ #
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from typing import Any
21
17
 
22
18
  __all__ = ["AfterValidator"]
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  try:
21
17
  from pydantic import functional_validators # type: ignore
22
18
  from pydantic import v1 as pyd # type: ignore
@@ -0,0 +1,15 @@
1
+ #
2
+ # Copyright 2024 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
+ #
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  import abc
21
17
  from enum import StrEnum
22
18
  import json
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from openepd.compat.pydantic import pyd
21
17
  from openepd.model.base import BaseOpenEpdSchema
22
18
  from openepd.model.common import Amount
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from enum import StrEnum
21
17
  from typing import Annotated, Any
22
18
 
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  import datetime
21
17
  from typing import Annotated
22
18
 
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from openepd.model.base import BaseDocumentFactory, OpenEpdDoctypes, RootDocument
21
17
  from openepd.model.epd import EpdFactory
22
18
 
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from enum import StrEnum
21
17
 
22
18
  from openepd.compat.pydantic import pyd
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  from typing import Annotated, Optional
21
17
 
22
18
  from openepd.compat.pydantic import pyd
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
  import datetime
21
17
  from enum import StrEnum
22
18
  from typing import Annotated, Optional
@@ -13,10 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- # This software was developed with support from the Skanska USA,
17
- # Charles Pankow Foundation, Microsoft Sustainability Fund, Interface, MKA Foundation, and others.
18
- # Find out more at www.BuildingTransparency.org
19
- #
20
16
 
21
17
  from openepd.model.base import BaseOpenEpdSchema
22
18
  from openepd.model.specs.generated.accessories import AccessoriesV1