14 dépôts
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 est un moteur de requête SQL fédéré, un transformateur de données et un processeur SQL de flux. Il permet aux utilisateurs d'exécuter des instructions SQL uniques sur plusieurs sources de données disparates, y compris différents types de bases de données et formats de fichiers, afin de fusionner et transformer les résultats en un ensemble unifié. Le système se distingue en traitant les fichiers CSV, JSONLines et Parquet comme des tables virtuelles et en utilisant une architecture basée sur des plugins pour étendre la connectivité aux moteurs de stockage externes. Il fonctionne comme un processeur de flux pour les flux de données infinis, utilisant des filigranes (watermarks), des rétractions et des fenêtres glissantes pour maintenir la cohérence des événements hors séquence. De plus, il sert de générateur de données SQL capable de produire des jeux de données synthétiques et des flux d'enregistrements via des fonctions table. Le moteur inclut des capacités de jointure de données inter-sources et d'analyse multi-sources, optimisées par le push-down de prédicats côté source pour réduire le transfert de données. Il gère des données complexes via un système de typage statique avec des types union et offre une observabilité grâce à la visualisation des plans d'exécution de requêtes.
Combines two live data streams in memory using watermarks to buffer records and ensure consistent results.
RxPY est une bibliothèque de programmation réactive fonctionnelle et une bibliothèque d'observables ReactiveX pour Python. Elle sert de processeur de flux asynchrone et de framework de coordination piloté par les événements, utilisé pour construire des pipelines de données qui réagissent aux changements d'état ou aux flux d'événements au fil du temps. La bibliothèque fournit une boîte à outils pour composer des programmes asynchrones et basés sur les événements en utilisant des séquences observables et des opérateurs. Elle se distingue par l'utilisation de planificateurs configurables pour gérer la concurrence, le timing et les cycles de vie des abonnements. Le projet couvre un large éventail de capacités de traitement de flux, y compris l'agrégation, le filtrage et la combinaison de données. Il fournit des mécanismes pour la diffusion d'événements, la mise en tampon de séquences et la gestion des erreurs, ainsi que des outils pour coordonner les flux observables avec des boucles d'événements asynchrones. Les tests et l'assurance qualité sont pris en charge par la simulation de temps virtuel, la modélisation par diagrammes de billes et la vérification des émissions.
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.