spb/hfmarketdata
Public
Open high-frequency market data platform — FirstRate full-history downloader, DuckDB/Parquet lake, open REST API and React docs platform (www.hfmarketdata.io)
JavaScript 53.7%
Python 38.3%
CSS 4.6%
TypeScript 3.1%
-
Sun, Sep 6, 2026 3
-
tests: comptes et ratelimit — sessions cookie, Bearer lecture seule, CSRF, anti-pré-hijack, verrouillage, session_version, compte, clés, usage/limits, XFF, throttles, cache, fail-closed, alertes quota, seed JSON
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
stream: registre de connexions ZSET et livraison par XREAD bloquant
…
* stream:conns:{principal} : ZSET (membre = id de connexion, score = dernier heartbeat) au lieu d'un compteur INCR/DECR qui restait gonflé 1 h quand un worker mourait sans DECR (4029 injustifiés). Les membres muets depuis 90 s sont élagués à chaque comptage ; le score est rafraîchi toutes les 30 s ; ZREM à la déconnexion. * Fan-out : un XREAD BLOCK (1 s) par socket abonnée sur filings:stream, via le client redis.asyncio, au lieu d'un XRANGE toutes les 250 ms par connexion. Le lecteur a sa propre connexion Redis fermée avec lui (une lecture bloquante annulée peut laisser une réponse tardive sur la connexion — doublons à la ré-abonnement) + événement d'arrêt. * Plus aucun appel Redis synchrone dans la coroutine : ZSET/hello via le client async, accounting.charge (compteur sync) via asyncio.to_thread. * Tests : élagage des connexions fantômes, rafraîchissement du score au heartbeat, livraison bloquante + unsubscribe/resume sans doublon. conftest.make_user : e-mail unique par uuid (id(counter) provoquait des collisions EMAIL_TAKEN). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Fri, Sep 4, 2026 5
-
fundamentals: tests unitaires, intégration, WebSocket et bulk + fixtures EDGAR réelles tronquées (Apple, Microsoft, Shake Shack), aucun accès réseau (respx)
…
- lac synthétique étendu (SHAK, GOOG, GOOGL) ; conftest : edgar_mock + fundamentals_data - 46 tests : mapping, calendrier fiscal (Apple Q2 FY2024 = 2024-03-30), priorités/unités, dérivation Q4, restatements/as_of, TTM, formules validées sur les chiffres réels d'Apple, grammaire de filtres, tous les endpoints json/csv/parquet, enveloppes 404/400, bulk 304, WebSocket (auth, abonnement, réception, resume, heartbeat, limite) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
ratelimit: tests (compteurs Lua, middleware, usage) + sondes /v1/_test et fixtures partagées
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>