Skip to content

Commit f4cd39e

Browse files
Explicitly export types (#1203)
1 parent 583bbde commit f4cd39e

File tree

17 files changed

+238
-31
lines changed

17 files changed

+238
-31
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ test-report.xml
5050
.tox/
5151
.python-version
5252

53+
# mypy
54+
.dmypy.json
55+
5356
# Local development
5457
scripts/local_client.py
5558
playground.py

.pre-commit-config.yaml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,13 @@ repos:
5858
args:
5959
- --py38-plus
6060
- --keep-runtime-typing # remove when >=3.10
61-
6261
- hooks:
63-
- id: mypy
64-
name: mypy
65-
entry: poetry run mypy cognite --non-interactive --install-types
66-
language: system
67-
files: ^.*.(py|pyi)$
68-
pass_filenames: false
62+
- id: mypy
63+
name: mypy
64+
entry: dmypy run -- cognite
65+
files: ^.*.(py|pyi)$
66+
language: system
67+
pass_filenames: false
6968
repo: local
7069

7170
- hooks:

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ Changes are grouped as follows
1717
- `Fixed` for any bug fixes.
1818
- `Security` in case of vulnerabilities.
1919

20+
## [5.12.0] - 18-04-23
21+
### Changed
22+
- Enforce that types are explicitly exported in order to make very strict type checkers happy.
23+
2024
## [5.11.1] - 17-04-23
2125
### Fixed
2226
- List (and `__call__`) methods for assets, events, files, labels, relationships, sequences and time series now raise if given bad input for `data_set_ids`, `data_set_external_ids`, `asset_subtree_ids` and `asset_subtree_external_ids` instead of ignoring/returning everything.

cognite/client/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from cognite.client.config import ClientConfig, global_config
77
from cognite.client._version import __version__
88

9+
__all__ = ["ClientConfig", "CogniteClient", "__version__", "global_config"]
910

1011
_RUNNING_IN_BROWSER = sys.platform == "emscripten" and "pyodide" in sys.modules
1112

cognite/client/_api/sequences.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
)
2121
from cognite.client.data_classes.shared import TimestampRange
2222
from cognite.client.utils._identifier import Identifier, IdentifierSequence
23+
from cognite.client.utils._text import convert_all_keys_to_camel_case
2324
from cognite.client.utils._validation import process_asset_subtree_ids, process_data_set_ids
2425

2526
if TYPE_CHECKING:
@@ -307,7 +308,7 @@ def _clean_columns(self, sequence: Sequence) -> Sequence:
307308
sequence.columns = [
308309
{
309310
k: v
310-
for k, v in utils._auxiliary.convert_all_keys_to_camel_case(col).items()
311+
for k, v in convert_all_keys_to_camel_case(col).items()
311312
if k in ["externalId", "valueType", "metadata", "name", "description"]
312313
}
313314
for col in cast(List, sequence.columns)

cognite/client/_api/transformations/__init__.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
from cognite.client.data_classes import Transformation, TransformationJob, TransformationList
1111
from cognite.client.data_classes.shared import TimestampRange
1212
from cognite.client.data_classes.transformations import (
13-
NonceCredentials,
1413
TagsFilter,
1514
TransformationFilter,
1615
TransformationPreviewResult,
1716
TransformationUpdate,
1817
)
18+
from cognite.client.data_classes.transformations.common import NonceCredentials
1919
from cognite.client.utils._identifier import IdentifierSequence
2020
from typing import TYPE_CHECKING
2121
from cognite.client._constants import LIST_LIMIT_DEFAULT
@@ -25,6 +25,14 @@
2525
from cognite.client.config import ClientConfig
2626
from cognite.client import CogniteClient
2727

28+
__all__ = [
29+
"TransformationSchemaAPI",
30+
"TransformationsAPI",
31+
"TransformationSchedulesAPI",
32+
"TransformationNotificationsAPI",
33+
"TransformationJobsAPI",
34+
]
35+
2836

2937
class TransformationsAPI(APIClient):
3038
_RESOURCE_PATH = "/transformations"
@@ -360,9 +368,9 @@ def run(
360368

361369
return job
362370

363-
def run_async(
371+
async def run_async(
364372
self, transformation_id: int = None, transformation_external_id: str = None, timeout: Optional[float] = None
365-
) -> Awaitable[TransformationJob]:
373+
) -> TransformationJob:
366374
"""`Run a transformation to completion asynchronously. <https://docs.cognite.com/api/v1/#operation/runTransformation>`_
367375
368376
Args:
@@ -393,7 +401,7 @@ def run_async(
393401
job = self.run(
394402
transformation_id=transformation_id, transformation_external_id=transformation_external_id, wait=False
395403
)
396-
return job.wait_async(timeout=timeout)
404+
return await job.wait_async(timeout=timeout)
397405

398406
def cancel(self, transformation_id: int = None, transformation_external_id: str = None) -> None:
399407
"""`Cancel a running transformation. <https://docs.cognite.com/api/v1/#operation/cancelTransformation>`_

cognite/client/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from __future__ import annotations
22

3-
__version__ = "5.11.1"
3+
__version__ = "5.12.0"
44
__api_subversion__ = "V20220125"

cognite/client/data_classes/__init__.py

Lines changed: 171 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,15 +113,17 @@
113113
TimeSeriesUpdate,
114114
)
115115
from cognite.client.data_classes.transformations import (
116-
OidcCredentials,
117-
RawTable,
118116
Transformation,
119-
TransformationBlockedInfo,
120-
TransformationDestination,
121117
TransformationList,
122118
TransformationPreviewResult,
123119
TransformationUpdate,
124120
)
121+
from cognite.client.data_classes.transformations.common import (
122+
OidcCredentials,
123+
RawTable,
124+
TransformationBlockedInfo,
125+
TransformationDestination,
126+
)
125127
from cognite.client.data_classes.transformations.jobs import (
126128
TransformationJob,
127129
TransformationJobFilter,
@@ -200,3 +202,168 @@
200202
CoordinateReferenceSystemList,
201203
CoordinateReferenceSystem,
202204
)
205+
206+
__all__ = [
207+
"Annotation",
208+
"AnnotationFilter",
209+
"AnnotationList",
210+
"AnnotationUpdate",
211+
"AggregateResultItem",
212+
"Asset",
213+
"AssetAggregate",
214+
"AssetFilter",
215+
"AssetHierarchy",
216+
"AssetList",
217+
"AssetUpdate",
218+
"ContextualizationJob",
219+
"ContextualizationJobList",
220+
"ContextualizationJobType",
221+
"EntityMatchingModel",
222+
"EntityMatchingModelList",
223+
"EntityMatchingModelUpdate",
224+
"JobStatus",
225+
"Database",
226+
"DatabaseList",
227+
"Row",
228+
"RowList",
229+
"Table",
230+
"TableList",
231+
"ExtractionPipeline",
232+
"ExtractionPipelineConfig",
233+
"ExtractionPipelineConfigRevision",
234+
"ExtractionPipelineConfigRevisionList",
235+
"ExtractionPipelineContact",
236+
"ExtractionPipelineList",
237+
"ExtractionPipelineRun",
238+
"ExtractionPipelineRunFilter",
239+
"ExtractionPipelineRunList",
240+
"ExtractionPipelineUpdate",
241+
"EndTimeFilter",
242+
"Event",
243+
"EventFilter",
244+
"EventList",
245+
"EventUpdate",
246+
"FileAggregate",
247+
"FileMetadata",
248+
"FileMetadataFilter",
249+
"FileMetadataList",
250+
"FileMetadataUpdate",
251+
"APIKey",
252+
"APIKeyList",
253+
"ClientCredentials",
254+
"CreatedSession",
255+
"Group",
256+
"GroupList",
257+
"SecurityCategory",
258+
"SecurityCategoryList",
259+
"ServiceAccount",
260+
"ServiceAccountList",
261+
"Session",
262+
"SessionList",
263+
"Label",
264+
"LabelDefinition",
265+
"LabelDefinitionFilter",
266+
"LabelDefinitionList",
267+
"LabelFilter",
268+
"Relationship",
269+
"RelationshipFilter",
270+
"RelationshipList",
271+
"RelationshipUpdate",
272+
"Sequence",
273+
"SequenceAggregate",
274+
"SequenceColumnUpdate",
275+
"SequenceData",
276+
"SequenceDataList",
277+
"SequenceFilter",
278+
"SequenceList",
279+
"SequenceUpdate",
280+
"ConstantResolver",
281+
"Source",
282+
"TemplateGroup",
283+
"TemplateGroupList",
284+
"TemplateGroupVersion",
285+
"TemplateGroupVersionList",
286+
"TemplateInstance",
287+
"TemplateInstanceList",
288+
"TemplateInstanceUpdate",
289+
"View",
290+
"ViewResolver",
291+
"BoundingBox3D",
292+
"RevisionCameraProperties",
293+
"ThreeDAssetMapping",
294+
"ThreeDAssetMappingList",
295+
"ThreeDModel",
296+
"ThreeDModelList",
297+
"ThreeDModelRevision",
298+
"ThreeDModelRevisionList",
299+
"ThreeDModelRevisionUpdate",
300+
"ThreeDModelUpdate",
301+
"ThreeDNode",
302+
"ThreeDNodeList",
303+
"TimeSeries",
304+
"TimeSeriesAggregate",
305+
"TimeSeriesFilter",
306+
"TimeSeriesList",
307+
"TimeSeriesUpdate",
308+
"OidcCredentials",
309+
"RawTable",
310+
"Transformation",
311+
"TransformationBlockedInfo",
312+
"TransformationDestination",
313+
"TransformationList",
314+
"TransformationPreviewResult",
315+
"TransformationUpdate",
316+
"TransformationJob",
317+
"TransformationJobFilter",
318+
"TransformationJobList",
319+
"TransformationJobMetric",
320+
"TransformationJobMetricList",
321+
"TransformationJobStatus",
322+
"TransformationNotification",
323+
"TransformationNotificationList",
324+
"TransformationSchedule",
325+
"TransformationScheduleList",
326+
"TransformationScheduleUpdate",
327+
"TransformationSchemaColumn",
328+
"TransformationSchemaColumnList",
329+
"DataSet",
330+
"DataSetAggregate",
331+
"DataSetFilter",
332+
"DataSetList",
333+
"DataSetUpdate",
334+
"AggregateResult",
335+
"AggregateUniqueValuesResult",
336+
"GeoLocation",
337+
"GeoLocationFilter",
338+
"Geometry",
339+
"GeometryFilter",
340+
"TimestampRange",
341+
"Datapoint",
342+
"Datapoints",
343+
"DatapointsList",
344+
"DatapointsArray",
345+
"DatapointsArrayList",
346+
"LatestDatapointQuery",
347+
"Function",
348+
"FunctionFilter",
349+
"FunctionSchedule",
350+
"FunctionSchedulesFilter",
351+
"FunctionSchedulesList",
352+
"FunctionList",
353+
"FunctionCall",
354+
"FunctionCallList",
355+
"FunctionCallLogEntry",
356+
"FunctionCallLog",
357+
"FunctionsLimits",
358+
"Feature",
359+
"FeatureList",
360+
"FeatureType",
361+
"FeatureTypeList",
362+
"FeatureTypePatch",
363+
"FeatureAggregate",
364+
"FeatureTypeUpdate",
365+
"FeatureAggregateList",
366+
"FeatureTypeUpdateList",
367+
"CoordinateReferenceSystemList",
368+
"CoordinateReferenceSystem",
369+
]

cognite/client/data_classes/annotations.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
CogniteResourceList,
1212
CogniteUpdate,
1313
)
14-
from cognite.client.utils._auxiliary import to_snake_case
14+
from cognite.client.utils._text import to_snake_case
1515

1616
if TYPE_CHECKING:
1717
from cognite.client import CogniteClient

cognite/client/data_classes/contextualization.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
from cognite.client.data_classes.annotation_types.primitives import VisionResource
2020
from cognite.client.data_classes.annotations import AnnotationList
2121
from cognite.client.exceptions import CogniteAPIError, CogniteException, ModelFailedException
22-
from cognite.client.utils._auxiliary import convert_true_match, exactly_one_is_not_none, to_snake_case
22+
from cognite.client.utils._auxiliary import convert_true_match, exactly_one_is_not_none
23+
from cognite.client.utils._text import to_snake_case
2324

2425
if TYPE_CHECKING:
2526
import pandas
@@ -28,7 +29,7 @@
2829

2930

3031
class JobStatus(Enum):
31-
_NOT_STARTED = None
32+
_NOT_STARTED: None = None
3233
QUEUED = "Queued"
3334
RUNNING = "Running"
3435
COMPLETED = "Completed"

0 commit comments

Comments
 (0)