Pro-Grade async financial data engine with Parquet caching and multi-provider support
Project description
Finda Pro-Grade Data Engine v2.0
Institutional-grade async financial data pipeline with Parquet caching, multi-provider fallback, and WebSocket streaming.
Features
- ⚡ Async Architecture - Non-blocking I/O with
asyncioandccxt.async_support - 💾 Parquet Caching - High-performance local cache with smart data merging
- 🔄 Smart Fallback - Auto-switch providers on failure with health tracking
- 📊 Pydantic Models - Type-safe Candle, Tick, and MarketMetadata schemas
- 🔌 WebSocket Streaming - Real-time tick and candle subscriptions
- 🌍 Multi-Provider - Dukascopy (Forex), Binance (Crypto), Alpaca (Stocks)
Installation
pip install finda
With Alpaca support:
pip install finda[alpaca]
Quick Start
Async (Recommended)
import asyncio
from finda import Finda
async def main():
f = Finda()
df = await f.get_candles("EUR/USD", "1m", "2024-01-01", "2024-01-02")
print(df)
asyncio.run(main())
FastAPI Server
uvicorn main:app --reload
Endpoints:
GET /ohlcv- OHLCV candles with cachingGET /tick- Tick-level Bid/Ask dataGET /markets- Provider health & available symbolsGET /cache/stats- Cache hit/miss statistics
Legacy Sync
from finda import fetch_unified_ohclv
o, h, l, c, v, t = fetch_unified_ohclv("EUR/USD", "1m", "2024-01-01", "2024-01-02")
Configuration
Create .env file:
ALPACA_API_KEY=your_key
ALPACA_SECRET_KEY=your_secret
CACHE_DIR=.finda_cache
LOG_LEVEL=INFO
Data Sources
| Provider | Asset Class | Data Types |
|---|---|---|
| Dukascopy | Forex | OHLCV, Bid/Ask Ticks |
| Binance | Crypto | OHLCV, Trades |
| Alpaca | Stocks | OHLCV, Trades |
License
MIT
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
finda-2.0.0.tar.gz
(16.6 kB
view details)
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
finda-2.0.0-py3-none-any.whl
(18.7 kB
view details)
File details
Details for the file finda-2.0.0.tar.gz.
File metadata
- Download URL: finda-2.0.0.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8fd3080908cf75f0fe63270d4c246dd67b4110b51cebdbea042ffcbdb4fba29
|
|
| MD5 |
22f89d0ca64617be9c5391b1fcc40260
|
|
| BLAKE2b-256 |
ffe3bd709ff0c31c24c42ca7f0efeece829ecde7a571751e4343ddc3ad28715c
|
File details
Details for the file finda-2.0.0-py3-none-any.whl.
File metadata
- Download URL: finda-2.0.0-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d6dcaf568b8be23bd6bcf8730b86703fe94e5d93297727736e3c0f24ce18db3
|
|
| MD5 |
13b7b50be387d5d49ed33cd19c519aa4
|
|
| BLAKE2b-256 |
c5c89952441c12df563bc414d80cd07d082dcdf066ed2b6f4aee8556f23a9353
|