All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Changes are grouped as follows
Addedfor new features.Changedfor changes in existing functionality.Deprecatedfor soon-to-be removed features.Removedfor now removed features.Fixedfor any bug fixes.Securityin case of vulnerabilities.
- Make geopandas and shapely dependencies optional
- Geospatial search: update to reflect API change in order_by
- Geospatial new path support and new feature type update format support.
- new filter by
transformation_external_idfortransformations.jobs.list().
transformation.job.raw_queryrenamed toquery, because of API changes.
transformation_schedules.retrieve_multiple()no longer aceptsis_publicparameter, it's asumed the user wants to retrieve the given ids either they are marked as public or not.- internal changes in the way
transformation.preview()sends its parameters to the backend.
- Geospatial: support
allow_crs_transformationfor creating, updating and searching features.
- added
TransformationBlockedInfotimeproperty to fix decodingTransformationobjects.
- added
from_geopandasstatic method toFeatureList.
- added
to_geopandasmethod onFeatureList.
str(TransformationJobMetric),str(TransformationJob),str(TransformationNotification)andstr(TransformationSchedule)no longer throw an exception.
- added
destinationfilter onTransformationNotificationsAPI.list().
- added
Transformation.running_job,Transformation.last_finished_job,Transformation.scheduleandTransformation.blockedfields.
str(TransformationPreviewResult)no longer throws an exception.
- added support for
ignore_unknown_idsparameter intransformations.retrieve_multipleandtransformations.delete.
- Dependencies upgrade
- added
transformationsAPI.preview()method, to preview the result of a query before running a transformation.
- optional
timeoutparameter forTransformationJob.wait()andTransformationJob.wait_async()methods.
GeospatialAPI.stream_featuresmethod to stream features.
GeospatialAPI.update_feature_typesmethod to update feature types.
TransformationDestination.raw()now usestype = 'raw'istead of'raw_table'and doesn't use deprecatedraw_typeparameter.
TransformationJobsAPI.list_metricsmethod to retrieve job metrics.transformations.jobs.retrieve_multiplemethod to get multiple jobs by id in a single API call.
oicdCredentials.audienceparameter for transformations.
transformation_idparameter inTransformationJobsAPI.list(), to list only the jobs associated with a given transformation.
TransformationsApi.retrieve_multiplemethod, to get multiple transformations from the backend in a single request.
TransformationJob.transformation_idfield to asossiate a job with it's source transformation.
transformations.notificationsnow usestransformation_idandtransformation_external_idinstead ofconfig_idandconfig_external_id.
transformations.jobsapi client, which retrieves the status of transformation runs.transformations.runmethod, which runs transformations.
- Extraction pipeline entity updated to be same with API entity.
transformations.schemaapi client, which allows the retrieval of the expected schema of sql transformations based on the destination data type.
FunctionsAPI.callandFunctionSchedulesAPI.createfail with CogniteAPIError if the request to the sessions API is unsuccesful (instead of creating calls/schedules without sessions).
transformations.schedules.retrieve_multipleto retrieve multiple transformation schedules by transformation ids and external ids.
- Classes
DiagramDetectResultsandDiagramConvertResultsreturn items-property correctly when the job is not completed.
transformations.notificationsapi client, which allows the creation, deletion and retrieval of transformation email notifications.
- In
FunctionsAPI.create, the default value ofcpuis changed from0.25toNone, thus deferring the default value to the API, which also is0.25. The argument is unavailable in Azure. - In
FunctionsAPI.create, the default value ofmemoryis changed from1.0toNone, thus deferring the default value to the API, which also is1.0. The argument is unavailable in Azure.
transformationsapi client, which allows the creation, deletion, update and retrieval of transformations.transformations.schedulesapi client, which allows the schedule, unschedule and retrieval of recurring runs of a transformation.
session_idproperty toFunctionScheduleclass, which is the id of the session started when creating a schedule with client credentials.
FunctionSchedulesAPI.list()now accepts the argumentfunction_id. The argumentsfunction_external_idandfunction_idare mutually exclusive.Function.list_schedules()lists schedules attached to the function with bothfunction_idandfunction_external_id.
- Bug:
FunctionSchedulesAPI.createdid not passfunction_idto request body.
- Rename Integrations to Extraction Pipelines.
- Add functionality to filter integration runs. Some new fields added to integration entity.
FunctionSchedulesAPI.createnow requiresfunction_idto be used when creating a schedule with OIDC throughclient_credentials.FunctionSchedulesAPI.create: The argumentsfunction_idandfunction_external_idare both optional and mutually exclusive.FunctionSchedulesAPI.create: The argumentfunction_external_idhas changed position, necessitated by the fact that it is now optional.
- Correct error message when specifying both
function_idandfunction_external_idon methodsFunctionCallsAPI.list(),FunctionCallsAPI.retrieve(),FunctionCallsAPI.get_response()andFunctionCallsAPI.get_logs().
FunctionsAPI.callpreviously didn't pass the sessionnonceifdatawas set toNone. This is now fixed.
FunctionsAPI.callnow uses OIDC tokens if the client was instantiated with a token or client credentials.FunctionSchedulesAPI.createnow supports OIDC tokens through the use of client-credentials, explicitly passed in as an argument.
FunctionsAPI.list()andFunctionSchedulesAPI.list()with argumentlimitequal toNone,float(inf)or-1now returns all resources. Previously, the default limit of the API was used (100).
- Fixed Templates API
- Diagrams API
- Unstructured API (due to lack of maintenance)
- Templates API (now available in the main SDK). Note that template completion is still available.
- Update method for the annotations API
FunctionsAPI.list()andFunctionSchedulesAPI.list()were missingcognite_clientfrom a bug introduced in version [0.47.0].
- Image parameter for plot data extraction
- replacements parameter in entity matching fit
- suggest fields endpoint in entity matching
- The
FunctionsAPI.list()-method now accepts additional filters:name,owner,file_id,status,external_id_prefixandcreated_time. - The
FunctionSchedulesAPI.list()-method now accepts additional filters:name,function_external_id,created_timeandcron_expression. - The
Function.list_schedules()-method now acceptslimitargument.
- Add functionality to add/remove elements in integration list fields.
- The
Function.list_schedules()-method now correctly returns all schedules tied to the function.
- Possibility to detect entities with multiple names, as this is now a feature in the API.
- Same functionality in document detect.
- Domains/schemas/universes/domains are now consistently called templates in the SDK, and the completion functions are moved to
client.templates.completion - Annotations filter updated with additional fields, and to reflect annotated resource type being mandatory.
- Possibility to add environment variables to functions via the new argument
env_varsof theFunctionsAPI.create()method. - Optional argument
limittoFunction.list_calls()
- Template functionality.
- Playground relationships.
- New entity match rules endpoints are available in
client.match_rules
- EntityMatchingPipeline update accepts its own suggested rules, despite extra fields.
- Better exception checks for missing packages in notebook output.
- Fixed missing column error in dataframe in notebook output.
- PNID detect no longer blocks, entities passed as a dict are resolved in the
.matcheshelper method.
- Richer output for entity matching pipelines and PNID jobs in notebooks
- More specific job types returned from these endpoints, with helper methods that make processing and visualizing output easier.
- OCR method for PNID parsing
- Integrations and IntegrationRuns data classes updated with new fields.
- The following methods now accepts a
limit-parameter, with default of 25, that controls how many elements the methods return:FunctionCallAPI.list,FunctionAPI.list, andFunctionScheduleAPI.list. - Removed
dataproperty fromFunctionScheduleclass.
- The
completemethod of the schema completion api was renamed tocomplete_type
- Method
complete_domainto schema completion
- The
FunctionCallAPI.retrievemethod now utilizesretrieve_multiplein the backend./calls->/calls/byids
- Method
retrievetoFunctionScheduleAPI-class.
- Added IntegrationsAPI and IntegrationRunsAPI
- Added relationships_label and use_existing_matches to pipelines
- Method
get_input_dataon theFunctionSchedule-class. - Method
get_input_dataon theFunctionScheduleAPI-class.
- Fix the client initialization to correctly pass all keyword arguments.
- Fix the filter functionality of
annotations
- Argument
function_call_infoto the definition of thehandlefunction. This argument is a dictionary with keysfunction_idand, if the call is scheduled,schedule_idandscheduled_time. - Property
scheduled_timeonFunctionCallclass.
- Core entity matching moved to beta client, experimental now extends this.
- Pnid Object Detection GET endpoint fixed after separation between
/findobjectsand/findsimilar
- Arguments
confirmed_matchesandschedule_intervalfor EntityMatchingPipeline - Method
retrieve_latestfor entity matching pipeline run. - Various helper methods on EntityMatchingPipeline and EntityMatchingPipelineRun
- EntityMatchingPipeline Update class and method
- Renamed match_from and match_to in entity matcher, as well as timestamp->time in contextualization jobs.
- Entity matching matches renamed to true_matches
- Entity matching pipelines rejected_matches and score_threshold options
- Entity matching pipelines now correctly takes model_parameters instead of model_id
- Plot Data Extraction API
- AnnotationsAPI with create, list, retrieve, retrieve_multiple, delete functionalities
- Entity matcher fields renamed, and added a new format for true_matches. complete_missing -> ignore_missing_fields, keys_from_to -> match_fields.
- Inherit from the
betaclient - Old relationships moved to
.relationships_playground, as beta client contains the new version. - Entity extraction removed as the API no longer exists.
- Arguments
cpuandmemorytoFunctionsAPI.create(), making it possible to customize function resources.
- Entity matching pipelines, which allows you to deploy an entity matching model with confirmed matches and rules.
- Entity matching list calls have a limit parameter which defaults to 100.
- ContextualizationJobs now have timestamp fields consistently as members, and no longer return them in result.
/fitin entity matcher supports defining which field in matchFrom and matchTo to use as the id field by specifyingid_field
/detect, /convert, /extractpattern, /ocrsupports referring to a file using file_id and/or file_external_id. file_id and file_external_id are returned in the responses.
/detectin Pnid Parser can accept entities with typeList[Union[str, dict]]and returnsentitiesif the type of inputentitieshas type ofList[dict]
- Added
/findobjectsin Pnid Object Detection
- Removed
/parsein Pnid Parser
- Added
/convertin Pnid Parser
- Fix in EntityMatcher predict method.
- Entity matcher
predictandrefitmethods now exist onclient.entity_matchingin addition to the model object.
- Entity matcher methods now all take and return
idinstead ofmodel_idand acceptidorexternal_id. - Entity matcher uses the new
/entitymatchingendpoints
fit_mlandpredict_mlmethods in entity matcher.
- Add py.typed file to inform that package is typed
- Some methods in entity matcher now take
idinstead ofmodel_id
- Update and retrieve_multiple methods for entity matcher.
- Changed entity matching methods to take external_id where possible.
- Change list-method to list all models instead of jobs.
- Changed endpoints used for list and list_jobs to comply with updates to the API.
- Add list_jobs-method that behaves as old list-method, that is returns all jobs.
- Option to filter returned models on based on all input parameters.
- Add name, description and external-id parameters to fit entity matcher.
- Fix
import timebug in functions.
- Insert sleep cycles for files api queries in functions creation
- Add model info for entity matcher models (classifier, feature_type, model_to, keys_from_to) to the output of retrieve.
- Changed name of the parameter indicating the type of features created from model_type to feature_type, entity matcher.
- Allow users to specify custom path to handle function by setting function_path.
- Removed everything related to resource typing (contextualization).
- A class for Document parsing, allowing detecting entity in documents
- Detect function also for pnid, similar to the old parse function, which may get deprecated
- min_tokens parameter for entity detecting endpoints. Allowing to set the mimimum number of tokens needed for a detection
- Renamed refitml refit entity matcher.
- Added retry to functions POST endpoints.
- Merge fit_ml and fit, and predict_ml and predict endpoints entity matcher - major changes to required parameters and responses.
- Base version of the SDK changed to 2.x
- The entity matching methods now have additional options for classifier and feature types.
- PNID detect patterns endpoint added.
- Schema completion endpoint added.
- Synthetic time series and labels removed, as they were moved to non-experimental status in the main SDK.
- The method
Function.update(), which updates the function object.
- Client no longer gives an error on using a token instead of an API key.
- Removed FunctionCallResponse class. Functions
FunctionCallsAPI.get_response()andFunctionCall.get_response()now returns the actual function response (without being wrapped in an object withcall_id,function_idandresponse).
- POST endpoints such as search and list will be retried in experimental endpoints, as they are in v1.
- Updated documentation for functions.
- Function response is no longer a property of the
FunctionCallclass. Instead, the response can be retrieved by the methodsFunctionCallsAPI.get_response()orFunctionCall.get_response(). - The documentation for function schedules is put under the expand/collapse header Function Schedules.
- Filtering of function calls given call attributes and added an attribute for schedule id to the FunctionCall data class.
- The method
Function.call()now takes the argumentwait(defaults toTrue) instead ofasynchronous. This change was supposed to be a part of release 0.8.0.
- Allow
true_matchesto beNoneinfit_ml.
- Function calls now returns
functionId, so the getting logs of a call has a simplified internal structure.
- In
FunctionsAPI.call(), theasynchronousargument has been removed, reflecting the Functions API which now only supports asynchronous calls. A new argumentwaithas been introduced. Whenwait=True(default),FunctionsAPI.call()will block until the call is finished.
- Dosctring for
FunctionCallsAPI.list()erroneously listedexternal_idas optional argument. This has been corrected tofunction_external_id.
- Support for no entities passed on predict_ml.
- Support for ML Entity matcher from/to columns and retrain.
- Labels endpoint support
- Assets labelling support
- SDK updated for changes in ML Entity matcher endpoints.
FunctionSchedulesAPI.create()works when argumentnamecontains the character/.
- Assets playground API uses playground for retrieve
- Added checks that verify that the function handler in an uploaded function is correctly constructed.
FunctionSchedulesAPI.create()works without providing thedataargument.
- Data classes for contextualization models and job now include time stamps for created_time, start_time, status_time.
- Unstructured search endpoints added in client.files.unstructured.
- Data class
Functionnow has the additional attributeerror.
- fit_ml function on entity matcher and predict_ml on model object.
- Sphinx documentation for Cognite Functions
- A
FunctionScheduleclass and corresponding api attached to theFunctionsapi to interact with function schedules. Function schedules can now also be listed using theFunctionobject through thelist_schedulesmethod.
- Argument
function_handletoFunctionsAPI.create(), which can be used to create a function directly from code.
- FunctionsAPI to interact with the Cognite Functions API in CDF.
- Refactor of contextualization endpoints to not use asyncio and block later.