climify_api 1.0.32__tar.gz → 1.0.34__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 (55) hide show
  1. {climify_api-1.0.32 → climify_api-1.0.34}/PKG-INFO +2 -2
  2. {climify_api-1.0.32 → climify_api-1.0.34}/pyproject.toml +3 -3
  3. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/__init__.py +2 -2
  4. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/buildings_id_devices/get.py +2 -2
  5. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/buildings_id_metering_points/get.py +2 -2
  6. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/feedback_forms_id_locations_id_responses/get.py +2 -2
  7. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/locations_id_change_temperature/post.py +1 -1
  8. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/locations_id_devices/get.py +2 -2
  9. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/locations_id_sensor_values/get.py +2 -2
  10. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/maps_id_devices/get.py +2 -2
  11. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/metering_points_id/get.py +2 -2
  12. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/organisations_id_devices/get.py +2 -2
  13. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/resources/get.py +2 -2
  14. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/models/__init__.py +33 -45
  15. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api.egg-info/PKG-INFO +2 -2
  16. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api.egg-info/requires.txt +1 -1
  17. {climify_api-1.0.32 → climify_api-1.0.34}/LICENSE +0 -0
  18. {climify_api-1.0.32 → climify_api-1.0.34}/MANIFEST.in +0 -0
  19. {climify_api-1.0.32 → climify_api-1.0.34}/README.md +0 -0
  20. {climify_api-1.0.32 → climify_api-1.0.34}/setup.cfg +0 -0
  21. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/ApiController.py +0 -0
  22. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/REST.py +0 -0
  23. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/api_client.py +0 -0
  24. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/PathBase.py +0 -0
  25. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/__init__.py +0 -0
  26. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/ApiController.py +0 -0
  27. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/__init__.py +0 -0
  28. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/__init__.py +0 -0
  29. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/buildings_id/__init__.py +0 -0
  30. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/buildings_id/get.py +0 -0
  31. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/buildings_id_devices/__init__.py +0 -0
  32. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/buildings_id_metering_points/__init__.py +0 -0
  33. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/devices_id/__init__.py +0 -0
  34. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/devices_id/get.py +0 -0
  35. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/feedback_forms_id_locations_id_responses/__init__.py +0 -0
  36. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/locations_id/__init__.py +0 -0
  37. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/locations_id/get.py +0 -0
  38. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/locations_id_change_temperature/__init__.py +0 -0
  39. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/locations_id_devices/__init__.py +0 -0
  40. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/locations_id_sensor_values/__init__.py +0 -0
  41. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/maps_id/__init__.py +0 -0
  42. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/maps_id/get.py +0 -0
  43. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/maps_id_devices/__init__.py +0 -0
  44. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/metering_points_id/__init__.py +0 -0
  45. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/organisations_id/__init__.py +0 -0
  46. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/organisations_id/get.py +0 -0
  47. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/organisations_id_devices/__init__.py +0 -0
  48. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/apis/v1/paths/resources/__init__.py +0 -0
  49. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/auth.py +0 -0
  50. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/configuration.py +0 -0
  51. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/exceptions.py +0 -0
  52. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api/schemas.py +0 -0
  53. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api.egg-info/SOURCES.txt +0 -0
  54. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api.egg-info/dependency_links.txt +0 -0
  55. {climify_api-1.0.32 → climify_api-1.0.34}/src/climify_api.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: climify_api
3
- Version: 1.0.32
3
+ Version: 1.0.34
4
4
  Summary: A wrapper library for the Climify REST API
5
5
  Author-email: Climify Aps <info@climify.com>
6
6
  Project-URL: Homepage, https://gitlab.climify.com/climify/python-api-lib
@@ -27,7 +27,7 @@ Requires-Dist: requests-oauthlib
27
27
  Requires-Dist: pyyaml
28
28
  Requires-Dist: oauthlib
29
29
  Requires-Dist: varname
30
- Requires-Dist: pydantic<2.0.0
30
+ Requires-Dist: pydantic>2.0.0
31
31
  Requires-Dist: pandas
32
32
 
33
33
  # Climify Python API
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "climify_api"
9
- version = "1.0.32"
9
+ version = "1.0.34"
10
10
  keywords=['Climify','Environmental engineering']
11
11
  authors = [
12
12
  { name="Climify Aps", email="info@climify.com" },
@@ -41,7 +41,7 @@ dependencies = [
41
41
  "pyyaml",
42
42
  "oauthlib",
43
43
  "varname",
44
- "pydantic < 2.0.0",
44
+ "pydantic > 2.0.0",
45
45
  "pandas"
46
46
  ]
47
47
 
@@ -50,7 +50,7 @@ Homepage = "https://gitlab.climify.com/climify/python-api-lib"
50
50
  Issues = "https://gitlab.climify.com/climify/python-api-lib/-/issues"
51
51
 
52
52
  [tool.bumpver]
53
- current_version = "1.0.32"
53
+ current_version = "1.0.34"
54
54
  version_pattern = "MAJOR.MINOR.PATCH"
55
55
  commit_message = "Bump version {old_version} -> {new_version}"
56
56
  commit = true
@@ -8,12 +8,12 @@
8
8
 
9
9
  Provides a REST endpoints for Climify applications and 3rd party solutions. # noqa: E501
10
10
 
11
- The version of the OpenAPI document: 1.0.32
11
+ The version of the OpenAPI document: 1.0.34
12
12
  Generated by: https://openapi-generator.tech
13
13
  """
14
14
 
15
15
  __name__ = 'climify_api'
16
- __version__ = "1.0.32"
16
+ __version__ = "1.0.34"
17
17
 
18
18
  # import ApiClient
19
19
  from climify_api.api_client import ApiClient
@@ -13,7 +13,7 @@ import typing # noqa: F401
13
13
  import typing_extensions # noqa: F401
14
14
  import uuid # noqa: F401
15
15
  from typing import List
16
- from pydantic import parse_raw_as
16
+ from pydantic import TypeAdapter
17
17
 
18
18
 
19
19
  from climify_api.apis.PathBase import PathBase # noqa: F401
@@ -80,7 +80,7 @@ class GetBuildingDevicesById(PathBase):
80
80
  api_response = ClimifyApiResponseWithoutDeserialization(response=response)
81
81
  else:
82
82
  # Deserialize response
83
- deserialized_body = parse_raw_as(List[DeviceDto], response.data)
83
+ deserialized_body = TypeAdapter(List[DeviceDto]).validate_json(response.data)
84
84
  api_response = ClimifyApiResponse[List[DeviceDto]](
85
85
  response=response,
86
86
  status=response.status,
@@ -13,7 +13,7 @@ import typing # noqa: F401
13
13
  import typing_extensions # noqa: F401
14
14
  import uuid # noqa: F401
15
15
  from typing import List
16
- from pydantic import parse_raw_as
16
+ from pydantic import TypeAdapter
17
17
 
18
18
 
19
19
  from climify_api.apis.PathBase import PathBase # noqa: F401
@@ -80,7 +80,7 @@ class GetBuildingMeteringPointsById(PathBase):
80
80
  api_response = ClimifyApiResponseWithoutDeserialization(response=response)
81
81
  else:
82
82
  # Deserialize response
83
- deserialized_body = parse_raw_as(List[MeteringPointDto], response.data)
83
+ deserialized_body = TypeAdapter(List[MeteringPointDto]).validate_json(response.data)
84
84
  api_response = ClimifyApiResponse[List[MeteringPointDto]](
85
85
  response=response,
86
86
  status=response.status,
@@ -14,7 +14,7 @@ import typing # noqa: F401
14
14
  import typing_extensions # noqa: F401
15
15
  import uuid # noqa: F401
16
16
  from typing import List
17
- from pydantic import parse_raw_as
17
+ from pydantic import TypeAdapter
18
18
 
19
19
 
20
20
  from climify_api.apis.PathBase import PathBase # noqa: F401
@@ -107,7 +107,7 @@ class GetFormResponsesFromLocationById(PathBase):
107
107
  api_response = ClimifyApiResponseWithoutDeserialization(response=response)
108
108
  else:
109
109
  # Deserialize response
110
- deserialized_body = parse_raw_as(List[FormQuestionType],response.data) if response.data\
110
+ deserialized_body = TypeAdapter(List[FormQuestionType]).validate_json(response.data) if response.data\
111
111
  else []
112
112
  api_response = ClimifyApiResponse[List[FormQuestionType]](
113
113
  response=response,
@@ -14,7 +14,7 @@ import typing # noqa: F401
14
14
  import typing_extensions # noqa: F401
15
15
  import uuid # noqa: F401
16
16
  from typing import List
17
- from pydantic import parse_raw_as
17
+ from pydantic import TypeAdapter
18
18
 
19
19
 
20
20
  from climify_api.apis.PathBase import PathBase # noqa: F401
@@ -13,7 +13,7 @@ import typing # noqa: F401
13
13
  import typing_extensions # noqa: F401
14
14
  import uuid # noqa: F401
15
15
  from typing import List
16
- from pydantic import parse_raw_as
16
+ from pydantic import TypeAdapter
17
17
 
18
18
 
19
19
  from climify_api.apis.PathBase import PathBase # noqa: F401
@@ -80,7 +80,7 @@ class GetLocationDevicesById(PathBase):
80
80
  api_response = ClimifyApiResponseWithoutDeserialization(response=response)
81
81
  else:
82
82
  # Deserialize response
83
- deserialized_body = parse_raw_as(List[DeviceDto], response.data)
83
+ deserialized_body = TypeAdapter(List[DeviceDto]).validate_json(response.data)
84
84
  api_response = ClimifyApiResponse[List[DeviceDto]](
85
85
  response=response,
86
86
  status=response.status,
@@ -15,7 +15,7 @@ import typing_extensions # noqa: F401
15
15
  import uuid # noqa: F401
16
16
  from pandas import DataFrame, concat
17
17
  from typing import List
18
- from pydantic import parse_raw_as
18
+ from pydantic import TypeAdapter
19
19
  from varname import nameof
20
20
  import pytz
21
21
 
@@ -157,7 +157,7 @@ class GetLocationSensorValuesById(PathBase):
157
157
  bodies.append(response.data)
158
158
  continue
159
159
 
160
- deserialized_body = parse_raw_as(List[SensorDataExtDto],response.data) if response.data\
160
+ deserialized_body = TypeAdapter(List[SensorDataExtDto]).validate_python(response.json()) if response.data\
161
161
  else []
162
162
 
163
163
  # Sort observations on time
@@ -13,7 +13,7 @@ import typing # noqa: F401
13
13
  import typing_extensions # noqa: F401
14
14
  import uuid # noqa: F401
15
15
  from typing import List
16
- from pydantic import parse_raw_as
16
+ from pydantic import TypeAdapter
17
17
 
18
18
 
19
19
  from climify_api.apis.PathBase import PathBase # noqa: F401
@@ -80,7 +80,7 @@ class GetMapDevicesById(PathBase):
80
80
  api_response = ClimifyApiResponseWithoutDeserialization(response=response)
81
81
  else:
82
82
  # Deserialize response
83
- deserialized_body = parse_raw_as(List[DeviceDto], response.data)
83
+ deserialized_body = TypeAdapter(List[DeviceDto]).validate_json(response.data)
84
84
  api_response = ClimifyApiResponse[List[DeviceDto]](
85
85
  response=response,
86
86
  status=response.status,
@@ -15,7 +15,7 @@ import typing_extensions # noqa: F401
15
15
  import uuid # noqa: F401
16
16
  from pandas import DataFrame, concat
17
17
  from typing import List
18
- from pydantic import parse_raw_as
18
+ from pydantic import TypeAdapter
19
19
  from varname import nameof
20
20
  import pytz
21
21
 
@@ -153,7 +153,7 @@ class GetMeteringPointValuesById(PathBase):
153
153
  bodies.append(response.data)
154
154
  continue
155
155
 
156
- deserialized_body = parse_raw_as(List[SensorDataExtDto],response.data) if response.data\
156
+ deserialized_body = TypeAdapter(List[SensorDataExtDto]).validate_python(response.json()) if response.data\
157
157
  else []
158
158
 
159
159
  # Sort observations on time
@@ -13,7 +13,7 @@ import typing # noqa: F401
13
13
  import typing_extensions # noqa: F401
14
14
  import uuid # noqa: F401
15
15
  from typing import List
16
- from pydantic import parse_raw_as
16
+ from pydantic import TypeAdapter
17
17
 
18
18
 
19
19
  from climify_api.apis.PathBase import PathBase # noqa: F401
@@ -80,7 +80,7 @@ class GetOrganisationDevicesById(PathBase):
80
80
  api_response = ClimifyApiResponseWithoutDeserialization(response=response)
81
81
  else:
82
82
  # Deserialize response
83
- deserialized_body = parse_raw_as(List[DeviceDto], response.data)
83
+ deserialized_body = TypeAdapter(List[DeviceDto]).validate_json(response.data)
84
84
  api_response = ClimifyApiResponse[List[DeviceDto]](
85
85
  response=response,
86
86
  status=response.status,
@@ -5,7 +5,7 @@ import typing # noqa: F401
5
5
  import typing_extensions # noqa: F401
6
6
  import uuid # noqa: F401
7
7
  from typing import List
8
- from pydantic import parse_raw_as
8
+ from pydantic import TypeAdapter
9
9
 
10
10
 
11
11
  from climify_api.apis.PathBase import PathBase # noqa: F401
@@ -63,7 +63,7 @@ class GetAllUserResources(PathBase):
63
63
  api_response = ClimifyApiResponseWithoutDeserialization(response=response)
64
64
  else:
65
65
  # Deserialize response
66
- deserialized_body = parse_raw_as(List[ResourceDto],response.data)
66
+ deserialized_body = TypeAdapter(List[ResourceDto]).validate_json(response.data)
67
67
  api_response = ClimifyApiResponse[List[ResourceDto]](
68
68
  response=response,
69
69
  status=response.status,
@@ -9,7 +9,7 @@ from enum import Enum
9
9
  from typing import Any, Dict, List, Optional, Union
10
10
  from pandas import DataFrame
11
11
 
12
- from pydantic import BaseModel, Field, constr
12
+ from pydantic import BaseModel, Field
13
13
 
14
14
 
15
15
  class Error(BaseModel):
@@ -68,10 +68,6 @@ class Status5Enum(Enum):
68
68
  ACTIVE = 'ACTIVE'
69
69
 
70
70
 
71
- class Status5(BaseModel):
72
- __root__: Optional[Status5Enum] = None
73
-
74
-
75
71
  class DeviceType(Enum):
76
72
  SENSOR = 'SENSOR'
77
73
  BLE_BEACON = 'BLE_BEACON'
@@ -80,8 +76,8 @@ class DeviceType(Enum):
80
76
 
81
77
  class DeviceModelDto(BaseModel):
82
78
  id: Optional[int] = None
83
- name: constr(min_length=0, max_length=100)
84
- manufacturer: constr(min_length=0, max_length=100)
79
+ name: str
80
+ manufacturer: str
85
81
  type: DeviceType
86
82
  attributes: List[str]
87
83
 
@@ -128,13 +124,13 @@ class BuildingOperatingHourExceptionDto(BaseModel):
128
124
  class BuildingDto(BaseModel):
129
125
  id: Optional[int] = None
130
126
  status: Optional[Status] = None
131
- name: Optional[constr(min_length=0, max_length=200)] = None
132
- country: Optional[constr(min_length=0, max_length=2)] = None
133
- address: Optional[constr(min_length=0, max_length=100)] = None
134
- zipCode: Optional[constr(min_length=0, max_length=10)] = None
135
- city: Optional[constr(min_length=0, max_length=100)] = None
136
- timeZone: Optional[constr(min_length=0, max_length=64)] = None
137
- organisation: OrganisationDto = None
127
+ name: Optional[str] = None
128
+ country: Optional[str] = None
129
+ address: Optional[str] = None
130
+ zipCode: Optional[str] = None
131
+ city: Optional[str] = None
132
+ timeZone: Optional[str] = None
133
+ organisation: Optional[OrganisationDto] = None
138
134
  coordinates: Optional[GeoPoint] = None
139
135
  maps: Optional[List[MapDto]] = []
140
136
  buildingOperatingHours: Optional[List[BuildingOperatingHourDto]] = []
@@ -144,9 +140,9 @@ class BuildingDto(BaseModel):
144
140
  class LocationDto(BaseModel):
145
141
  id: Optional[int] = None
146
142
  status: Optional[Status] = None
147
- name: Optional[constr(min_length=1, max_length=100)] = None
148
- nameAlternate: Optional[constr(min_length=0, max_length=100)] = None
149
- map: MapDto = None
143
+ name: Optional[str] = None
144
+ nameAlternate: Optional[str] = None
145
+ map: Optional[MapDto] = None
150
146
  locationProfile: Optional[LocationProfileDto] = None
151
147
  schedulerProfile: Optional[SchedulerProfileDto] = None
152
148
  points: Optional[List[Dict[str, float]]] = None
@@ -155,7 +151,7 @@ class LocationDto(BaseModel):
155
151
  class LocationProfileDto(BaseModel):
156
152
  id: Optional[int] = None
157
153
  organisation: Optional[OrganisationDto] = None
158
- name: Optional[constr(min_length=0, max_length=200)] = None
154
+ name: Optional[str] = None
159
155
  parameters: Optional[JsonNode] = None
160
156
  version: Optional[int] = None
161
157
 
@@ -163,7 +159,7 @@ class LocationProfileDto(BaseModel):
163
159
  class MapDto(BaseModel):
164
160
  id: Optional[int] = None
165
161
  status: Optional[Status] = None
166
- name: Optional[constr(min_length=0, max_length=100)] = None
162
+ name: Optional[str] = None
167
163
  building: Optional[BuildingDto] = None
168
164
  image: Optional[str] = None
169
165
  locations: Optional[List[LocationDto]] = None
@@ -172,13 +168,13 @@ class MapDto(BaseModel):
172
168
  class OrganisationDto(BaseModel):
173
169
  id: Optional[int] = None
174
170
  status: Optional[Status] = None
175
- name: Optional[constr(min_length=0, max_length=50)] = None
176
- country: Optional[constr(min_length=0, max_length=2)] = None
177
- address: Optional[constr(min_length=0, max_length=100)] = None
178
- address2: Optional[constr(min_length=0, max_length=100)] = None
179
- zipCode: Optional[constr(min_length=0, max_length=10)] = None
180
- city: Optional[constr(min_length=0, max_length=100)] = None
181
- registrationCode: Optional[constr(min_length=0, max_length=100)] = None
171
+ name: Optional[str] = None
172
+ country: Optional[str] = None
173
+ address: Optional[str] = None
174
+ address2: Optional[str] = None
175
+ zipCode: Optional[str] = None
176
+ city: Optional[str] = None
177
+ registrationCode: Optional[str] = None
182
178
  buildings: Optional[List[BuildingDto]] = []
183
179
  locationProfiles: Optional[List[LocationProfileDto]] = []
184
180
  schedulerProfiles: Optional[List[SchedulerProfileDto]] = []
@@ -186,27 +182,27 @@ class OrganisationDto(BaseModel):
186
182
 
187
183
  class SchedulerProfileDto(BaseModel):
188
184
  id: Optional[int] = None
189
- name: Optional[constr(min_length=0, max_length=200)] = None
185
+ name: Optional[str] = None
190
186
  settings: JsonNode
191
- status: Optional[Status5] = None
187
+ status: Optional[Status5Enum] = None
192
188
  organisation: Optional[OrganisationDto] = None
193
189
  locations: Optional[List[LocationDto]] = []
194
190
 
195
191
 
196
192
  class DeviceDto(BaseModel):
197
193
  id: Optional[int] = None
198
- externalId: constr(min_length=0, max_length=100)
199
- deviceModel: DeviceModelDto
200
- alias: Optional[constr(min_length=0, max_length=100)] = None
194
+ externalId: str
195
+ deviceModel: Optional[DeviceModelDto]
196
+ alias: Optional[str] = None
201
197
  integration: Optional[IntegrationDto] = None
202
198
  resources: Optional[List[DeviceResourceDto]] = []
203
199
  historySyncedAt: Optional[datetime] = None
204
200
 
205
201
  class MeteringPointDto(BaseModel):
206
202
  id: Optional[int] = None
207
- externalId: constr(min_length=0, max_length=100)
203
+ externalId: str
208
204
  deviceModel: DeviceModelDto
209
- alias: Optional[constr(min_length=0, max_length=100)] = None
205
+ alias: Optional[str] = None
210
206
  integration: Optional[IntegrationDto] = None
211
207
  resources: Optional[List[DeviceResourceDto]] = []
212
208
  historySyncedAt: Optional[datetime] = None
@@ -226,15 +222,7 @@ class IntegrationDto(BaseModel):
226
222
  settings: Optional[Dict[str, str]] = None
227
223
  alias: str
228
224
  authorized: Optional[bool] = None
229
- organisation: OrganisationDto = None
230
-
231
-
232
- BuildingDto.update_forward_refs()
233
- LocationDto.update_forward_refs()
234
- LocationProfileDto.update_forward_refs()
235
- OrganisationDto.update_forward_refs()
236
- DeviceDto.update_forward_refs()
237
- MeteringPointDto.update_forward_refs()
225
+ organisation: Optional[OrganisationDto] = None
238
226
 
239
227
  # Feedback forms
240
228
  class FormQuestionBase(BaseModel):
@@ -249,7 +237,7 @@ class FormTextQuestionResponse(FormQuestionResponse):
249
237
  response: str
250
238
 
251
239
  class FormTextQuestionDto(FormQuestionBase):
252
- type: str = Field('Text',const=True)
240
+ type: str = Field('Text')
253
241
  responses: Optional[List[FormTextQuestionResponse]]
254
242
 
255
243
  class FormChoiceQuestionResponse(FormQuestionResponse):
@@ -260,10 +248,10 @@ class FormChoiceQuestionBase(FormQuestionBase):
260
248
  responses: Optional[List[FormChoiceQuestionResponse]]
261
249
 
262
250
  class FormSingleChoiceQuestionDto(FormChoiceQuestionBase):
263
- type: str = Field('SingleChoice',const=True)
251
+ type: str = Field('SingleChoice')
264
252
 
265
253
  class FormMultipleChoiceQuestionDto(FormChoiceQuestionBase):
266
- type: str = Field('MultipleChoice',const=True)
254
+ type: str = Field('MultipleChoice')
267
255
 
268
256
  FormQuestionType = Union[
269
257
  FormTextQuestionDto,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: climify_api
3
- Version: 1.0.32
3
+ Version: 1.0.34
4
4
  Summary: A wrapper library for the Climify REST API
5
5
  Author-email: Climify Aps <info@climify.com>
6
6
  Project-URL: Homepage, https://gitlab.climify.com/climify/python-api-lib
@@ -27,7 +27,7 @@ Requires-Dist: requests-oauthlib
27
27
  Requires-Dist: pyyaml
28
28
  Requires-Dist: oauthlib
29
29
  Requires-Dist: varname
30
- Requires-Dist: pydantic<2.0.0
30
+ Requires-Dist: pydantic>2.0.0
31
31
  Requires-Dist: pandas
32
32
 
33
33
  # Climify Python API
@@ -8,5 +8,5 @@ requests-oauthlib
8
8
  pyyaml
9
9
  oauthlib
10
10
  varname
11
- pydantic<2.0.0
11
+ pydantic>2.0.0
12
12
  pandas
File without changes
File without changes
File without changes
File without changes