finds.dev← search

// the find

bmoscon/cryptofeed

★ 2,855 · Python · NOASSERTION · updated Feb 2026

Cryptocurrency Exchange Websocket Data Feed Handler

cryptofeed is a Python asyncio library that normalizes market data from 40+ crypto exchanges into a consistent callback-based API. You subscribe to channels (trades, order books, funding rates, liquidations) across exchanges and get unified data structures regardless of which exchange sent it. Aimed at quant traders and data engineers who need reliable, low-latency market feeds without writing per-exchange parsers.

Normalization is the real value here — TRADES gives you taker side consistently even when exchanges report maker side, which is the kind of detail that bites you if you implement this yourself. Backend system is well-designed: writing to Redis, Kafka, Postgres, or InfluxDB requires almost no code change. The NBBO synthetic feed aggregating best bid/ask across exchanges is genuinely useful and not something most people want to build. Sample data in the repo means you can replay real exchange messages for testing without hitting live APIs.

The exchange list includes several dead or zombie exchanges (FTX is in the topics, EXX hasn't had real volume in years), which means some connectors are untested against live endpoints and may be silently broken. Cython in types.pyx adds a build dependency that trips up CI pipelines and Docker images unless you're careful about the compilation step. REST support is inconsistent across exchanges — some have full order management, most have read-only subsets, and the docs don't clearly signal which is which. No reconnect backoff strategy is visible at the README level; if an exchange drops your connection during a volatile period, you need to dig into connection_handler.py to understand the behavior.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →