SDK Changelog
v0.1.15 - 2025-11-17
Fixes
- Pin pandas version to
>=2.3.3,<3.0.0to 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() Columnmodel now requires explicitpartition_indexandallow_nullparameters (previously had default values)Query.limitfield type changed fromOptional[str]toOptional[int]Querymodel now forbids extra fields viamodel_config- Renamed
SQLQueryOrderBytoQueryOrderBy
Fixes
- Internal code restructuring: moved SDK code from
sdk/tobackend/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_datasetfunction 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_infotofetch_dataset_infoand 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 fromdomain/datasettolayer/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.