14 个仓库
Combining multiple asynchronous requests and APIs into unified, manageable streams.
Distinct from Asynchronous API Clients: Focuses on the composition of multiple streams into one, whereas asynchronous API clients focus on the consumption of single endpoints.
Explore 14 awesome GitHub repositories matching web development · Stream Composition. Refine with filters or upvote what's useful.
RxSwift is a reactive programming library for Swift that provides a framework for managing push-based data flows and composing asynchronous, event-based programs. It utilizes observable sequences and functional operators to transform and filter asynchronous sequences through a declarative approach. The library is distinguished by its ability to link asynchronous data streams directly to user interface elements, automating view updates via reactive data binding. It includes specialized tools for tracking UI control properties and events on the main thread, as well as the ability to encapsulate
Enables the combination of multiple network requests and callback APIs into single, manageable reactive streams.
The Reactive Extensions for JavaScript
Apply operators that map, filter, merge, or otherwise manipulate emitted items in a declarative chain.
This project is a collection of educational resources and reference implementations for the Apache Flink stream processing framework. It provides a learning resource focused on mastering distributed stream processing through implementation guides, performance tuning tutorials, and practical examples. The repository features detailed walkthroughs for building real-time data pipelines using the DataStream and Table APIs. It includes specific integration examples for connecting Apache Flink with Kafka brokers and Elasticsearch indices, as well as reference implementations for real-time deduplica
Implements stream join operators to merge multiple unbounded data streams based on shared keys.
This project is a sample library and implementation guide for using RxJava to manage asynchronous data streams and concurrent tasks in Android applications. It provides a collection of reference implementations for reactive programming, focusing on functional operators to transform and combine asynchronous data flows. The library demonstrates specific Android architectural patterns, such as implementing decoupled event buses for component communication and coordinating parallel network requests. It includes concrete examples of mobile-specific patterns including search input debouncing, list
Uses functional stream combinators like zip, merge, and switchMap to compose complex asynchronous data flows.
python-binance is a Python client library that provides programmatic access to the Binance cryptocurrency exchange through both REST and WebSocket APIs. It serves as a comprehensive toolkit for automated trading, account management, and market data retrieval, enabling developers to build trading bots, portfolio management tools, and data analysis applications that interact directly with the exchange. The library distinguishes itself through a dual-client architecture that separates synchronous REST calls from persistent WebSocket streams, allowing concurrent execution without blocking. It inc
Joins multiple market data streams into a single multiplexed socket for efficient monitoring.
language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution
Fuses producers, pipes, and consumers into closed systems to create reusable streaming components.
Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data flows. It functions as an observable event stream framework and an asynchronous data flow orchestrator, allowing developers to model events as declarative streams and properties. The library distinguishes itself through its ability to manage reactive state and synchronize timing across multiple sources. It provides specialized mechanisms for atomic state synchronization to prevent glitches in derived properties and offers advanced coordination strategies such as asynchronous stream
Pairs values from multiple streams one-to-one to emit a combined result using a zip operator.
Zero-cost asynchronous programming in Rust
Defines the Stream trait and combinators for processing sequences of asynchronous values.
Octosql 是一个联邦 SQL 查询引擎、数据转换器和流式 SQL 处理器。它允许用户跨多个异构数据源(包括不同类型的数据库和文件格式)执行单一 SQL 语句,从而合并并转换结果集。 该系统的独特之处在于将 CSV、JSONLines 和 Parquet 文件视为虚拟表,并利用基于插件的架构扩展对外部存储引擎的连接。它作为无限数据流的流式处理器,使用水印(watermarks)、撤回(retractions)和翻滚窗口(tumbling windows)来维持乱序事件的一致性。此外,它还可用作 SQL 数据生成器,通过表值函数生成合成数据集和记录流。 该引擎具备跨源数据连接和多源分析能力,并通过源端谓词下推(predicate push-down)进行优化,以减少数据传输。它通过包含联合类型的静态类型系统管理复杂数据,并提供查询执行计划可视化功能以增强可观测性。
Combines two live data streams in memory using watermarks to buffer records and ensure consistent results.
RxPY 是一个 Python 函数式响应式编程库,也是 ReactiveX 的可观察对象库。它作为一个异步流处理器和事件驱动的协调框架,用于构建能够对状态变化或随时间变化的事件流做出反应的数据流水线。 该库提供了一套工具,用于使用可观察序列和操作符来编写异步和基于事件的程序。它通过使用可配置的调度器来管理并发、时序和订阅生命周期,从而脱颖而出。 该项目涵盖了广泛的流处理能力,包括数据聚合、过滤和组合。它提供了事件广播、序列缓冲和错误处理机制,以及用于协调可观察流与异步事件循环的工具。 通过虚拟时间模拟、大理石图建模和发射验证,该库提供了完善的测试和质量保证支持。
Provides functional combinators like merge and zip to synchronize and unify multiple event streams.
Arroyo is a high-performance stream processing platform built in Rust. It executes continuous SQL queries on streaming data with event-time semantics, enabling accurate windowed aggregations, joins, and stateful computations on unbounded event streams. The platform uses native Rust execution for high throughput and low latency, with periodic checkpointing for exactly-once fault tolerance and horizontal scaling across distributed workers. The system integrates deeply with Kafka for reading and writing topics with exactly-once delivery and supports change data capture (CDC) from MySQL and Postg
Joins unbounded streams incrementally, outputting a changelog of inserts, updates, and deletes.
ZIO is a functional effect system for the JVM that models asynchronous and concurrent programs as pure, composable values with typed error handling and dependency injection. Its core identity is built on fiber-based concurrency, where lightweight, non-blocking fibers execute millions of concurrent tasks with structured lifecycle management, and a dual-channel error model that separates expected business failures from unexpected system defects at compile time. The system provides effect-typed dependency injection through a layer-based dependency graph, pull-based reactive stream processing with
Provides stream concatenation and flattening operators for sequential composition.
more-itertools 是一个 Python 可迭代对象工具库,提供用于操作、过滤和转换数据序列的高级函数。它作为一个数据流处理工具包和一组用于迭代器状态管理的工具,扩展了标准 Python itertools 模块的功能。 该库包括一个用于生成排列、组合和幂集的组合数学工具包,以及用于数论计算和矩阵运算的例程。它还提供了用于流状态管理的工具,允许用户查看即将到来的元素或在序列内搜索,以控制数据的消费方式。 附加功能涵盖了用于分块、交错和展平复杂序列的数据处理例程。该工具包还包括分析可迭代对象属性和同步并发数据流的函数。
Provides operators for merging, interleaving, and zipping multiple data sources into a single unified stream.
MoreLINQ is a functional programming toolkit and extension library for .NET that augments LINQ to Objects with advanced operators for sequence manipulation and analysis. It provides a set of tools for declarative data transformation, leveraging lazy evaluation and composition to handle complex object sequences. The library is distinguished by its specialized capabilities for combinatorial generation, including the production of permutations, subsets, and Cartesian products. It also provides advanced sequence joining options, such as full, left, and right outer joins, and supports complex data
Merges multiple sequences into one stream using zipping, interleaving, or padding to handle length mismatches.