14 Repos
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 ist eine föderierte SQL-Query-Engine, ein Datentransformer und ein Streaming-SQL-Prozessor. Es ermöglicht die Ausführung einzelner SQL-Statements über mehrere heterogene Datenquellen hinweg – einschließlich verschiedener Datenbanktypen und Dateiformate –, um Ergebnisse zu einem einheitlichen Datensatz zusammenzuführen und zu transformieren. Das System zeichnet sich dadurch aus, dass es CSV-, JSONLines- und Parquet-Dateien als virtuelle Tabellen behandelt und eine Plugin-basierte Architektur nutzt, um die Konnektivität zu externen Speichersystemen zu erweitern. Es fungiert als Streaming-Prozessor für unendliche Datenströme und verwendet Watermarks, Retractions und Tumbling Windows, um die Konsistenz bei ungeordneten Ereignissen zu wahren. Zudem dient es als SQL-Datengenerator, der synthetische Datensätze und Record-Streams über tabellenwertige Funktionen erzeugen kann. Die Engine umfasst Funktionen für Cross-Source-Joins und Multi-Source-Analysen, die durch Source-Side Predicate Push-down optimiert werden, um den Datentransfer zu reduzieren. Sie verwaltet komplexe Daten über ein statisches Typsystem mit Union-Types und bietet Observability durch die Visualisierung von Query-Ausführungsplänen.
Combines two live data streams in memory using watermarks to buffer records and ensure consistent results.
RxPY ist eine Bibliothek für funktionale reaktive Programmierung und eine ReactiveX-Observable-Bibliothek für Python. Sie dient als asynchroner Stream-Prozessor und ereignisgesteuertes Koordinations-Framework zum Aufbau von Datenpipelines, die auf Zustandsänderungen oder Ereignisströme im Zeitverlauf reagieren. Die Bibliothek bietet ein Toolkit zur Komposition asynchroner und ereignisbasierter Programme mittels beobachtbarer Sequenzen und Operatoren. Sie zeichnet sich durch konfigurierbare Scheduler aus, die Nebenläufigkeit, Timing und Abonnement-Lebenszyklen verwalten. Das Projekt deckt ein breites Spektrum an Stream-Processing-Funktionen ab, einschließlich Datenaggregation, Filterung und Kombination. Es bietet Mechanismen für Event-Broadcasting, Sequenz-Buffering und Fehlerbehandlung sowie Werkzeuge zur Koordination beobachtbarer Streams mit asynchronen Event-Loops. Tests und Qualitätssicherung werden durch virtuelle Zeitsimulation, Marble-Diagramm-Modellierung und Emissionsverifizierung unterstützt.
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 ist eine Python-Utility-Bibliothek für Iterables, die erweiterte Funktionen zur Manipulation, Filterung und Transformation von Datensequenzen bereitstellt. Sie dient als Toolkit für die Verarbeitung von Datenströmen und als Sammlung von Hilfsmitteln für das Management von Iterator-Zuständen, womit sie die Möglichkeiten des Standard-Moduls itertools erweitert. Die Bibliothek enthält ein kombinatorisches Mathe-Toolkit zur Erzeugung von Permutationen, Kombinationen und Potenzmengen sowie Routinen für zahlentheoretische Berechnungen und Matrixoperationen. Zudem bietet sie Werkzeuge für das Stream-State-Management, mit denen Benutzer einen Blick auf kommende Elemente werfen oder innerhalb einer Sequenz navigieren können, um die Datenverarbeitung zu steuern. Weitere Funktionen umfassen Routinen für das Chunking, Interleaving und Flattening komplexer Sequenzen. Das Toolkit enthält außerdem Funktionen zur Analyse von Iterable-Eigenschaften und zur Synchronisierung paralleler Datenströme.
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.