Skip to main content

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 asyncio and ccxt.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 caching
  • GET /tick - Tick-level Bid/Ask data
  • GET /markets - Provider health & available symbols
  • GET /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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

finda-2.0.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

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

Hashes for finda-2.0.0.tar.gz
Algorithm Hash digest
SHA256 b8fd3080908cf75f0fe63270d4c246dd67b4110b51cebdbea042ffcbdb4fba29
MD5 22f89d0ca64617be9c5391b1fcc40260
BLAKE2b-256 ffe3bd709ff0c31c24c42ca7f0efeece829ecde7a571751e4343ddc3ad28715c

See more details on using hashes here.

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

Hashes for finda-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d6dcaf568b8be23bd6bcf8730b86703fe94e5d93297727736e3c0f24ce18db3
MD5 13b7b50be387d5d49ed33cd19c519aa4
BLAKE2b-256 c5c89952441c12df563bc414d80cd07d082dcdf066ed2b6f4aee8556f23a9353

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page