urql is a highly customizable and versatile GraphQL client library for JavaScript/TypeScript, organized as a monorepo with a core package (`@urql/core`), multiple exchange packages (middleware), and framework-specific bindings for React, Preact, Vue, Svelte, Solid, and Next.js. The core architecture is built on a composable exchange pipeline using Wonka reactive streams, where operations flow through a chain of exchanges (e.g., cache, fetch, subscription, SSR) that can be mixed and matched. The client dispatches GraphQL queries, mutations, and subscriptions, and returns results as streams. The `@urql/exchange-graphcache` package provides a sophisticated normalized cache with support for offline persistence, optimistic updates, pagination resolvers (Relay and simple), and schema-aware partial results. Framework integrations expose idiomatic hooks (e.g., `useQuery`, `useMutation`) or stores that wrap the core client and manage component lifecycle. External dependencies include Wonka for streams, `@0no-co/graphql.web` for GraphQL parsing, and framework-specific libraries. The repository also includes a documentation site, extensive examples, and a comprehensive test suite using Vitest and Cypress.
CCXT is a cryptocurrency exchange trading library that provides a unified API for over 100 exchanges across 7 programming languages (TypeScript/JavaScript, Python, PHP, C#, Go, Java). The core is written in TypeScript from which all other language bindings are transpiled. It implements both REST and WebSocket APIs for market data, trading, and account management. The library normalizes exchange-specific data formats into a common schema, enabling cross-exchange arbitrage and analytics. Key architectural patterns include a base Exchange class with exchange-specific subclasses, a pro/ subdirectory for WebSocket-enabled exchanges, static_dependencies/ for vendored third-party code (ethers, starknet, bip39, etc.), and an extensive test suite with both static and live tests. The repository includes a playground (Next.js web IDE), CLI tool, documentation site (Fumadocs), CI/CD for all languages, and Docker development environment.
pandas_market_calendars is a Python library that provides market and exchange trading calendars for over 50 global financial exchanges, including equities, futures, and OTC markets. It generates accurate trading schedules (open/close times, holidays, early closes, late opens, and breaks) as pandas DatetimeIndex objects, enabling developers and quantitative analysts to align time series data, backtest strategies, and check market status. The library is a fork of Quantopian/Zipline's exchange_calendars module, extended with additional calendars, utility functions, and source documentation. Architecturally, the library uses a base MarketCalendar class with a metaclass-based registry pattern that automatically registers all calendar subclasses by name and alias. Individual exchange calendars (e.g., NYSE, CME, LSE, JPX) are implemented as subclasses in the `calendars/` directory, with holiday rules defined in separate `holidays/` modules. Market times are stored in a ProtectedDict (immutable dictionary) to prevent accidental modification. The library also provides a mirror module that wraps calendars from the external `exchange_calendars` package, ensuring backward compatibility. Key entry points include `get_calendar()` to retrieve a calendar instance, `date_range()` to generate intraday timestamps, `merge_schedules()` to combine multiple exchange schedules, and `mark_session()` to classify timestamps into pre-market, regular, and post-market sessions. The library depends on pandas for data structures and timezone handling via zoneinfo, and optionally on exchange-calendars for mirrored calendars. It is designed for production use with extensive test coverage, CI/CD pipelines, and semantic versioning. The library's primary data flow is static: holiday rules and market time definitions are hardcoded in Python code and updated via new releases. There is no runtime data fetching, which ensures reproducibility but requires manual updates when exchanges change their calendars. The changelog shows frequent updates for holiday corrections and new exchange support, indicating active maintenance.
This repository is an AI-powered stock research platform that combines a full-stack application (FastAPI backend, React/TypeScript frontend, Electron desktop app) with extensive data/research capabilities. It ingests market data from over a dozen providers (Tushare, yfinance, AkShare, etc.) with priority-based fallback chains, performs AI analysis via LiteLLM (supporting multiple LLM providers), and generates structured research reports, decision signals, and backtesting results. The platform supports multi-agent discussions, strategy screening, portfolio management, alerts, and multi-channel notifications (WeChat, Feishu, Telegram, email, etc.). It covers 13 international markets with trading calendars and market phase detection. The architecture is a monolith with modular services, using SQLite per-workspace isolation. While primarily an application, it has strong data/research characteristics including a screening engine derived from AlphaSift, decision signal lifecycle with outcome tracking, and skill opinion weight calibration. The codebase is well-structured with extensive tests, CI/CD, and reusable patterns like the data fetcher base class and notification sender template.
This repository contains the backend API for a trading platform, specifically QuantDinger. It handles strategies, indicators, and market data, and has various tests and scripts for ensuring the quality and functionality of the code.
This repository is a production-oriented Go client library for the Binance cryptocurrency exchange, covering spot, margin, USDS-M futures, coin-margined delivery futures, options, portfolio margin, and related products. The code in v2/ exposes fluent builder-style services for REST endpoints and WebSocket streams, with clients such as NewClient, NewFuturesClient, NewDeliveryClient, NewOptionsClient, and portfolio-specific clients. The library is consumed by trading bots and exchange-integration applications; it is not a data analysis or research project, though it provides market-data access primitives for klines, tickers, order books, funding rates, and historical trades.