14 repositorios
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 es un motor de consultas SQL federado, transformador de datos y procesador de SQL en streaming. Permite a los usuarios ejecutar sentencias SQL únicas a través de múltiples fuentes de datos dispares, incluyendo diferentes tipos de bases de datos y formatos de archivo, para combinar y transformar resultados en un conjunto unificado. El sistema se distingue por tratar archivos CSV, JSONLines y Parquet como tablas virtuales y utilizar una arquitectura basada en plugins para extender la conectividad a motores de almacenamiento externos. Funciona como un procesador de streaming para flujos de datos infinitos, utilizando marcas de agua (watermarks), retracciones y ventanas deslizantes (tumbling windows) para mantener la consistencia en eventos fuera de orden. Además, sirve como generador de datos SQL capaz de producir conjuntos de datos sintéticos y flujos de registros mediante funciones con valores de tabla. El motor incluye capacidades para realizar joins entre fuentes de datos y análisis multi-fuente, optimizado mediante el push-down de predicados en el lado de la fuente para reducir la transferencia de datos. Gestiona datos complejos a través de un sistema de tipos estáticos con tipos unión y proporciona observabilidad mediante la visualización de planes de ejecución de consultas.
Combines two live data streams in memory using watermarks to buffer records and ensure consistent results.
RxPY es una librería de programación reactiva funcional y una librería de observables ReactiveX para Python. Funciona como un procesador de flujos asíncronos y un framework de coordinación basado en eventos, utilizado para construir pipelines de datos que reaccionan a cambios de estado o flujos de eventos a lo largo del tiempo. La librería proporciona un kit de herramientas para componer programas asíncronos y basados en eventos mediante secuencias observables y operadores. Se distingue por el uso de planificadores (schedulers) configurables para gestionar la concurrencia, el timing y los ciclos de vida de las suscripciones. El proyecto cubre una amplia gama de capacidades de procesamiento de flujos, incluyendo agregación, filtrado y combinación de datos. Proporciona mecanismos para la difusión de eventos, almacenamiento en búfer de secuencias y gestión de errores, así como herramientas para coordinar flujos observables con bucles de eventos asíncronos. Las pruebas y el aseguramiento de la calidad se apoyan en la simulación de tiempo virtual, el modelado con diagramas de mármol y la verificación de emisiones.
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 is a Python iterable utility library providing advanced functions for manipulating, filtering, and transforming data sequences. It serves as a data stream processing toolkit and a set of utilities for iterator state management, extending the capabilities of the standard Python itertools module. The library includes a combinatorial math toolkit for generating permutations, combinations, and powersets, alongside routines for number theory calculations and matrix operations. It also provides tools for stream state management, allowing users to peek at upcoming elements or seek wit
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.