Releases: Exabel/python-sdk
Releases · Exabel/python-sdk
8.0.0
Added
- Added
CalendarApi.get_company_calendar()to retrieve fiscal calendars for a company. - Added support for
DerivedSignalobjects inExportApi.signal_query()andExportApi.batched_signal_query().
Breaking changes
- Renamed the Python package from
exabel-data-sdktoexabel. - Removed legacy
setup.py; the project now usespyproject.tomlexclusively. - Removed deprecated parameters from
bulk_import():resources_batches,threads_for_import_func,threads_for_insert_func,insert_func. - Removed deprecated parameter
threads_for_importfromTimeSeriesApi.import_time_series(). - Removed username/password authentication for the Export API (deprecated in 7.0.0).
Changed
- Upgraded protobuf stubs.
- Refactored core data classes (
DataSet,Entity,EntityType,Relationship,RelationshipType) to use Python dataclasses. - Migrated SDK tests from unittest to pytest.
Full Changelog: v7.0.0...v8.0.0
7.0.0
Added
- Added support for authenticating with access tokens. Set environment variable
EXABEL_ACCESS_TOKENor command line argument--access-token. - Added support for hierarchical models in KPI Service.
- Added support for Custom Calendar Service
- Added support for Python 3.14
Breaking changes
- Renamed
exabel_data_sdk.client.api.data_classes.kpi_mapping_group.pytoexabel_data_sdk.client.api.data_classes.kpi_mapping_group_reference. - Removed support for Python 3.9 (EOL)
Deprecated
- Support for username/password authentication when accessing the Export API is now deprecated. This authentication method will be removed in a future release. Use access token instead.
Full Changelog: v6.3.0...v7.0.0
Version 6.3.0
Added
- Add support for KPI API.
- Add support for highlighted signals and derived signals in Data set service.
Changed
- Limit number of concurrent requests to list time series.
- Support signal resource names up to 128 characters.
- Handle missing values when loading time series data.
Full Changelog: v6.2.0...v6.3.0
6.2.0
What's Changed
- Increased maximum
--pit-offsetto 100 days - Increased maximum signal identifier to 128 characters
Full Changelog: v6.1.0...v6.2.0
Version 6.1.0
Added
- Added script for deleting time series data points.
- Added arguments
--should-optimise/--no-should-optimisefor controlling time series storage optimization on time series loading script.
Changed
- Increased max backoff from 1 to 10 minutes for retries when bulk importing resources.
Version 6.0.0
Added
- Add scripts for handling Data Sets (create, read, update, delete and list)
- Add export to CSV file when listing signals
- Add script for loading signals from CSV with columns signal name, display name and description (
load_signals_from_csv.py) - Add
securityas entity type for checking identifiers in the scriptcheck_company_identifiers_in_csv.py
Changed
- Include parsing of resource name in scripts for better handling of resource names.
- Refactor
list_time_series.pyandlist_entities.pyscripts.
Fixed
- Improved feedback messages
Removed
- Removed support for Python 3.8 as it no longer receives security support. Please upgrade to Python 3.9 or newer.
Version 5.3.0
Added
- Support Snowflake key pair authentication.
Fixed
- Fix paging iterator bug which could lead to hanging when listing resources.
Full Changelog: v5.2.2...v5.3.0
Version 5.2.2
Fixed
- Make the description attribute for ExportData script optional to maintain compatibility
Version 5.2.1
Changed
- Included
RESOURCE_EXHAUSTEDas a specific retryable error for gRPC errors - Improved logging for export
Version 5.2.0
Added
- Support logging of active threads in debug mode
- Support loading ratio and percent as time series units
- Add retry logic for all gRPC API calls using the SDK clients
Changed
- Improve logging during loading of resources (progress tracking and summary of failures)
- When replacing time series, empty time series are also loaded and will replace existing time series
Fixed
- Drop rows for companies that was not possible to map when importing time series
- Drop duplicated rows for time series metadata loading