14 repository-uri
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 este un motor de interogare SQL federat, un transformator de date și un procesor de SQL pentru streaming. Acesta permite utilizatorilor să execute instrucțiuni SQL unice peste surse de date multiple și disparate, inclusiv diferite tipuri de baze de date și formate de fișiere, pentru a îmbina și transforma rezultatele într-un set unitar. Sistemul se distinge prin tratarea fișierelor CSV, JSONLines și Parquet ca tabele virtuale și prin utilizarea unei arhitecturi bazate pe plugin-uri pentru a extinde conectivitatea către motoare de stocare externe. Funcționează ca un procesor de streaming pentru fluxuri de date infinite, folosind watermarks, retractions și tumbling windows pentru a menține consistența evenimentelor sosite în afara ordinii. În plus, servește ca generator de date SQL capabil să producă seturi de date sintetice și fluxuri de înregistrări prin funcții de tip tabel. Motorul include capabilități pentru join-uri cross-source și analiză multi-sursă, optimizate prin predicate push-down la nivel de sursă pentru a reduce transferul de date. Gestionează date complexe printr-un sistem de tipuri statice cu union types și oferă observabilitate prin vizualizarea planurilor de execuție a interogărilor.
Combines two live data streams in memory using watermarks to buffer records and ensure consistent results.
RxPY este o bibliotecă de programare reactivă funcțională și o bibliotecă de tip ReactiveX observable pentru Python. Acesta servește drept procesor de fluxuri asincrone și framework de coordonare bazat pe evenimente, utilizat pentru a construi pipeline-uri de date care reacționează la schimbările de stare sau la fluxurile de evenimente în timp. Biblioteca oferă un set de instrumente pentru compunerea programelor asincrone și bazate pe evenimente folosind secvențe observabile și operatori. Se distinge prin utilizarea de schedulere configurabile pentru a gestiona concurența, sincronizarea și ciclurile de viață ale abonamentelor. Proiectul acoperă o gamă largă de capabilități de procesare a fluxurilor, inclusiv agregarea, filtrarea și combinarea datelor. Oferă mecanisme pentru difuzarea evenimentelor, buffering-ul secvențelor și gestionarea erorilor, precum și instrumente pentru coordonarea fluxurilor observabile cu bucle de evenimente asincrone. Testarea și asigurarea calității sunt susținute prin simularea timpului virtual, modelarea cu diagrame marble și verificarea emisiilor.
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 este o bibliotecă utilitară pentru iterabile în Python, care oferă funcții avansate pentru manipularea, filtrarea și transformarea secvențelor de date. Servește drept set de instrumente pentru procesarea fluxurilor de date și gestionarea stării iteratorilor, extinzând capabilitățile modulului standard itertools din Python. Biblioteca include un set de instrumente matematice combinatorice pentru generarea de permutări, combinații și mulțimi de puteri, alături de rutine pentru calcule de teoria numerelor și operații cu matrice. De asemenea, oferă instrumente pentru gestionarea stării fluxurilor, permițând utilizatorilor să verifice elementele viitoare sau să navigheze într-o secvență pentru a controla modul în care sunt consumate datele. Capabilitățile suplimentare acoperă rutine de procesare a datelor pentru fragmentarea (chunking), intercalarea și aplatizarea secvențelor complexe. Setul de instrumente include, de asemenea, funcții pentru analizarea proprietăților iterabilelor și sincronizarea fluxurilor de date concurente.
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.