Python library for acquiring, storing, transforming, and validating market data
Project description
Qldata
Unified Python interface for historical and live crypto market data.
Qldata standardizes access to Binance, Bybit, and local stores through a fluent query builder, optional data-cleaning pipelines, and production-ready streaming interfaces.
Documentation
| Topic | Description |
|---|---|
| Getting Started | Installation, optional dependencies, and the first query. |
| Data Access | Query builder reference, batching, and execution modes. |
| Configuration & Storage | Runtime config, caches, and store backends. |
| Transforms & Data Cleaning | Built-in validation, resampling, and custom pipelines. |
| Live Streaming | Streams, callbacks, resampling, and troubleshooting. |
| Operations & Support | Maintainer-only release workflow, doc syncing, and support channels. |
Quick Start
pip install qldata
import qldata as qd
df = (
qd.data("BTCUSDT", source="binance", category="spot")
.last(30)
.resolution("1h")
.clean(remove_invalid_prices=True, validate_ohlc=True)
.get()
)
print(df.tail())
Need API keys for authenticated endpoints? Export BINANCE_API_KEY, BINANCE_API_SECRET, BYBIT_API_KEY, and BYBIT_API_SECRET before running scripts. The adapters will pick them up automatically.
Highlights
- Unified query builder - Express historical requests, local reads, and file loads with consistent chaining (
.between,.last,.resolution,.get). - Multiple sources - Binance (spot, USD-M, COIN-M), Bybit (spot, linear, inverse, options), plus CSV/Parquet/SQLite/DuckDB stores.
- Data quality tools - Validation, duplicate removal, outlier handling, and custom transform pipelines.
- Streaming API - Push callbacks or pull-based sessions for live data with client-side resampling.
- Production configuration - Cache controls, pluggable storage, structured logging, and testable adapters.
See the docs for deep dives and additional examples.
Publishing Docs to a Public Repo
Planning to keep this codebase private while publishing documentation?
- Prepare (or clone) your public docs repository, e.g.
../qldata-docs. - Run
python scripts/export_docs.py ../qldata-docs --include-licensefrom the project root. - Commit and push the generated docs repo, then wire it to Read the Docs or another static host (the included
mkdocs.ymlanddocs/requirements.txtwork out of the box with MkDocs + Material). - In
pyproject.toml, point theHomepage/DocumentationURLs at the published site so PyPI displays the correct links.
Repeat the export each time you update docs to keep the public site in sync with the private source.
Operations & Support
Qldata is maintained privately and does not accept external code contributions. Use the public docs repository for questions or bug reports, and see Operations & Support for the internal release and documentation-sync workflow.
License
MIT License - see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qldata-0.1.0.tar.gz.
File metadata
- Download URL: qldata-0.1.0.tar.gz
- Upload date:
- Size: 67.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7498ac6fa4393036891d653b757551f94358a223a660ccabb6aeac90d1037405
|
|
| MD5 |
797fc35983f6278ca9848aebd8b138bd
|
|
| BLAKE2b-256 |
3030e179fa0531d9c4d85d76168741755fc6fcbc8cd15469dc5bea19cf2fed23
|
File details
Details for the file qldata-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qldata-0.1.0-py3-none-any.whl
- Upload date:
- Size: 98.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c49fbf604900286b4ce21e0a2192a0f0e378443e46e6d4723a0ddc5be7d1215
|
|
| MD5 |
a0e2bcb53b4d1b6249ee8a1695e760ef
|
|
| BLAKE2b-256 |
48dffc722b22ebce8a174b487933e2fb09c3dae2469c5aec202e020e1002e8d7
|