The `tardis-dev` Python client (version 4.0.0) provides convenient access to tick-level historical cryptocurrency market data in exchange-native format. It focuses on two primary workflows: replaying historical market data and downloading historical market data as CSV files. The library is actively maintained with regular updates.
pip install tardis-devVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates both replaying historical market data and downloading CSV datasets. An API key is typically required for full access, though free samples may be available without one. Replay data is streamed asynchronously, while CSV datasets are downloaded to a specified directory.
Uninstall `tardis-client` and install `tardis-dev`. Update code: `TardisClient().replay(...)` becomes `replay(...)` and `from tardis_dev.datasets import download_datasets; datasets.download(...)` becomes `from tardis_dev import download_datasets; download_datasets(...)`.
Ensure `api_key` is provided to `replay` and `download_datasets` functions, preferably via an environment variable `TARDIS_API_KEY`, unless intentionally accessing free sample data.
Always consult the Tardis.dev documentation for the specific exchange and API endpoint to determine correct symbol casing and formatting. For `datasets`, ensure symbols are uppercase and URL-safe. For `replay`, use the exact casing provided by the exchange's API.
If calling from an `async` context, use the asynchronous version `download_datasets_async()` instead.
Use `from tardis_dev import download_datasets_async` and call `await download_datasets_async(...)` when operating inside an `async` function.
Uninstall `tardis-client` (`pip uninstall tardis-client`) and install the new client `tardis-dev` (`pip install tardis-dev`). Update your import statements and function calls according to the migration guide.
Verify your `TARDIS_API_KEY` is correct and has the necessary permissions for the requested data. Ensure explicit symbols are provided if your subscription has scope limitations.
Double-check the exact symbol casing required by the specific exchange as detailed in Tardis.dev documentation. Verify the channel name is correct. Note that empty responses are normal for periods without recorded data.