- Breaking change: Add "ending_before" argument to all paginated methods, add pagination to ExecuteAccessor, change "starting_after" and "ending_before" to be str instead of uuid
- Update userstore sample to exercise partial update columns
- Add methods for creating, retrieving, updating, and deleting ColumnDataTypes
- Add data_type field to Column that refers to a ColumnDataType
- Add input_data_type and output_data_type fields to Transformer that refer to ColumnDataTypes
- Add ColumnDataType resource IDs for native ColumnDataTypes
- Update userstore_sample.py to interact with ColumnDataTypes
- Add SDK method for data import via ExecuteMutator
- Add methods to retrieve and set external OIDC issuers for a tenant
- Update SaveUserstoreSDKAsync to use DownloadUserstoreSDKAsync, and allow passing include_example argument to those APIs.
- Add
__repr__
and__str__
methods to some models to improve DX.
- Fix minor issue with userstore_sample.py
- Add GetConsentedPurposesForUser method to the Python SDK Client.
- Add
__repr__
and__str__
methods to some models to improve DX. - Add
to_dict()
method to the Address class to make it easier to serialize it into user row when creating or modifying a user. - Add Region enum and move a lot of other constants into enums (AuthnType, ColumnIndexType, DataLifeCycleState, DataType, PolicyType, TransformType).
- Add
data_life_cycle_state
to Accessor model. - Breaking change: ColumnField parameter "optional" has been changed to "required", with fields not required by default
- Add "input_type_constraints" and "output_type_constraints" parameters of type ColumnConstraints to Transformer
- Add
SaveUserstoreSDK
that saves the generated userstore python SDK to a file.
- Breaking change: ColumnInputConfig now has data member "normalizer", previously referred to as "validator"
- Add "User-Agent" & "X-Usercloudssdk-Version" headers to all outgoing requests.
- Add an optional
session_name
kwarg to theClient
constructor to allow extra information to be incremented into the User-Agent header. - Add "region" parameter to CreateUser and CreateUserWithMutator to allow specifying in which region the user data should reside
- Rename "compositeunion" and "compositeintersection" types of access policies to "composite_or" and "composite_and"
- Breaking change: Added AsyncClient class and UCHttpAsyncClient interface to support asynchronous requests. As part of this, Error class was consolidated into UserCloudsSDKError, which may break any customers referencing it.
- Add support for column constraints, which enables custom composite columns as well as checks for immutability, uniqueness, and unique IDs within array columns
- Deprecate TENANT_URL, CLIENT_ID and CLIENT_SECRET in favor of USERCLOUDS_TENANT_URL, USERCLOUDS_CLIENT_ID and USERCLOUDS_CLIENT_SECRET environment variables. The deprecated environment variables will be removed in a future release (they still work in this release).
- Introduce UCHttpClient to assist in custom HTTP clients by defining the interface in which UserClouds makes requests to httpx
- Changing POST body format for authorization Create functions, and adding if_not_exists option to CreateOrganization. These are non-breaking changes, but older clients using the previous format will be deprecated eventually.
- Cleanup httpx client usage.
This is a breaking change to the HTTP client interface since we stopped passing the deprecated
data
argument to the httpx client methods (PUT & POST) and pass thecontent
argument instead. - Add more type annotations to models and add a couple of
__str__
methods to models. - Add
include_example
argument toDownloadUserstoreSDK
method.
- Bring back passing kwargs to the HTTP client methods.
- Add CreateUserWithMutator method to Python SDK Client and example for how to use in userstore_sample.py
- Fix future compatibility (make sure the SDK doesn't break if server sends new fields).
- Fix handling HTTP 404 responses to some HTTP DELETE API calls.
- Add support for output_type and reuse_existing_token fields in transformers.
- Lazily request access token when needed instead of on client creation.
- Improve HTTP error handling in SDK
- Added a changelog
- Switched to using httpx for HTTP requests instead of requests.
- Allow overriding the default HTTP client with a custom one.
- Add SDK methods for managing retention durations for soft-deleted data.
- Various other cleanup to the code.
- Method in the new Python SDK Client for downloading the custom userstore sdk for your userstore (DownloadUserstoreSDK).
- Userstore SDK now includes methods like UpdateUserForPurposes which allows you to pass the purposes in as an array of enum constants.