Skip to content

Releases: Exabel/python-sdk

8.0.0

06 Feb 15:37
8f7696b

Choose a tag to compare

Added

  • Added CalendarApi.get_company_calendar() to retrieve fiscal calendars for a company.
  • Added support for DerivedSignal objects in ExportApi.signal_query() and ExportApi.batched_signal_query().

Breaking changes

  • Renamed the Python package from exabel-data-sdk to exabel.
  • Removed legacy setup.py; the project now uses pyproject.toml exclusively.
  • Removed deprecated parameters from bulk_import(): resources_batches, threads_for_import_func, threads_for_insert_func, insert_func.
  • Removed deprecated parameter threads_for_import from TimeSeriesApi.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

17 Nov 12:27
0163c86

Choose a tag to compare

Added

  • Added support for authenticating with access tokens. Set environment variable EXABEL_ACCESS_TOKEN or 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.py to exabel_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

22 Aug 09:41
700a18b

Choose a tag to compare

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

21 Mar 11:07
a236ded

Choose a tag to compare

What's Changed

  • Increased maximum --pit-offset to 100 days
  • Increased maximum signal identifier to 128 characters

Full Changelog: v6.1.0...v6.2.0

Version 6.1.0

03 Jan 13:46
44b7934

Choose a tag to compare

Added

Changed

  • Increased max backoff from 1 to 10 minutes for retries when bulk importing resources.

Version 6.0.0

18 Oct 15:26
6ac95f8

Choose a tag to compare

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 security as entity type for checking identifiers in the script check_company_identifiers_in_csv.py

Changed

  • Include parsing of resource name in scripts for better handling of resource names.
  • Refactor list_time_series.py and list_entities.py scripts.

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

01 Jul 12:15
51d3751

Choose a tag to compare

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

06 Jun 11:56
1cda8c5

Choose a tag to compare

Fixed

  • Make the description attribute for ExportData script optional to maintain compatibility

Version 5.2.1

04 Jun 13:30
1971842

Choose a tag to compare

Changed

  • Included RESOURCE_EXHAUSTED as a specific retryable error for gRPC errors
  • Improved logging for export

Version 5.2.0

28 May 12:53
fa9c47b

Choose a tag to compare

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