Skip to content

SDK Changelog

v0.1.15 - 2025-11-17

Fixes

  • Pin pandas version to >=2.3.3,<3.0.0 to ensure compatibility and prevent breaking changes from future major releases

v0.1.14 - 2025-11-12

Features

  • Enhanced dataset metadata to include last uploaded by user information
  • Dataset responses now include the name of the user who last uploaded data

v0.1.13 - 2025-11-10

Breaking Changes

  • Updated from Pydantic v1 to v2 - existing code using .dict() must change to .model_dump()
  • Column model now requires explicit partition_index and allow_null parameters (previously had default values)
  • Query.limit field type changed from Optional[str] to Optional[int]
  • Query model now forbids extra fields via model_config
  • Renamed SQLQueryOrderBy to QueryOrderBy

Fixes

  • Internal code restructuring: moved SDK code from sdk/ to backend/rapid/ folder
  • Deduplicated query models between API and SDK
  • Updated repository URL references from deprecated repos to monorepo

Migration

If you're upgrading from v0.1.12: - Replace all .dict() calls with .model_dump() on Schema and Query objects - Ensure Column definitions explicitly set partition_index and allow_null values - Update Query limit values to use integers instead of strings - Rename any references to SQLQueryOrderBy to QueryOrderBy

v0.1.12 - _2025-05-19

  • Fixing deprecation warning in download_dataframe function from passing JSON string from rAPId as literal.

v0.1.11 - 2025-03-26

Fixes

  • Remove Content-Type: 'application/json' header from file upload calls to the API.

v0.1.10 - 2024-03-13

Features

  • FastAPI update requires content-type header for API calls

v0.1.9 - 2024-09-12

Features

  • Expanded rAPId sdk metadata to include: update_behaviour, is_latest_version and description.

v0.1.8 - 2024-03-21

Features

  • Ability to now perform the following rAPId functions via the sdk; create user, delete user, list subjects, list layers, list protected domains and delete dataset.

v0.1.7 - 2023-02-06

Features

  • Ability to now create a protected domain via the sdk.

v0.1.6 - 2023-11-15

Fixes

  • SDK not uploading a Pandas Dataframe with a date field set correctly.

Closes relevant GitHub issues

v0.1.5 - 2023-11-07

Fixes

  • Issue within the sdk upload_and_create_dataset function where schema metadata wasn't being correctly overridden.
  • Documentation improvements and removes any references to the old deprecated repositories.

v0.1.4 - 2023-10-18

Features

  • Clients can now be created and deleted via the sdk.

Fixes

  • Fixed an issue with the sdk not showing schemas were created successfully due to a wrong response code.
  • Where dataset info was being called on columns with a date type, this was causing an issue with the Pydantic validation.
  • Tweaked the documentation to implement searching for column heading style guide to match what the API returns in the error message.

v0.1.3 - 2023-09-20

Fixes

  • Fix the behaviour of the dataset pattern functions in the SDK.

v0.1.2 - 2023-09-13

Fixes

  • Date types were being stored as strings which caused issues when querying with Athena. They are now stored as date types.
  • Rename the rAPId sdk method generate_info to fetch_dataset_info and remove an unnecessary argument.

v0.1.1- 2023-09-12

Features

  • Layers have been introduced to rAPId. These are now the highest level of grouping for your data. They allow you to separate your data into areas that relate to the layers in your data architecture e.g raw, curated, presentation. You will need to specify your layers when you create or migrate a rAPId instance.
  • All the code is now in this monorepo. The previous Infrastructure, UI and API repos are now deprecated. This will ease the use and development of rAPId.
  • Schemas are now stored in DynamoDB, rather than S3. This offers speed and usability improvements, as well as making rAPId easier to extend.
  • Code efficiency improvements. There were several areas in rAPId where we were executing costly operations that caused performance to degrade at scale. We've fixed these inefficiencies, taking us from O(n²) -> O(n) in these areas.
  • Glue Crawlers have been removed, with Athena tables are created directly by the API instead. Data is now available to query immediately after it is uploaded, rather than the previous wait (approximately 3 mins) while crawlers ran. It also offers scalability benefits because without crawlers we are not dependant on the number of free IPs within the subnet.
  • Improved UI testing with Playwright.

Breaking Changes

  • All dataset endpoints will be prefixed with layer. Typically going from domain/dataset to layer/domain/dataset.
  • All sdk functions that interact with datasets will now require an argument for layer.

Migration

  • See the migration doc for details on how to migrate to v7 from v6.