awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
ReactiveX avatar

ReactiveX/RxGo

0
View on GitHub↗
5,091 stars·344 forks·Go·MIT·19 views

RxGo

RxGo is a functional reactive programming library and an implementation of ReactiveX for the Go language. It serves as an asynchronous stream processing toolkit designed to coordinate event-based programs and data flows using the observable pattern.

The library enables the construction of asynchronous processing pipelines that transform, filter, and combine event sequences. It distinguishes itself through the use of functional operators to compose these pipelines and provides mechanisms for managing concurrent execution.

The toolkit covers a broad range of stream orchestration capabilities, including data aggregation, multi-stream combination, and the conversion of streams into static data structures. It includes built-in support for error recovery, backpressure control to regulate data production speeds, and worker pooling to parallelize processing across CPU cores.

Features

  • Asynchronous Stream Processing Frameworks - Provides a comprehensive framework for composing asynchronous data pipelines with built-in backpressure and non-blocking operators.
  • Functional Pipelines - Implements architectural patterns for chaining data transformations using pure higher-order functions to map, filter, and reduce items.
  • Stream Composition Libraries - Provides a library for chaining operators that map, merge, filter, and retry emissions with backpressure and error handling.
  • Event Stream Filtering - The library selects specific items from a stream based on predicates, time-based debouncing, or index positions.
  • Stream Processing Pipelines - Implements high-throughput data processing pipelines that handle continuous streams using concurrent worker pools.
  • ReactiveX Implementations - Implements the ReactiveX standard for the Go language, enabling the use of observable sequences.
  • Observer Patterns - Implements the observer pattern to decouple data emission from consumption through a subscription model with callbacks.
  • Asynchronous Event Pipelines - Enables building data processing sequences in Go that transform and filter events using concurrent execution.
  • Backpressure Management - Implements a core architectural primitive for regulating data flow between producers and consumers to prevent resource exhaustion.
  • Event Stream Merging - Provides techniques for combining multiple asynchronous data sources into single observable sequences through merging and zipping.
  • Stream Generators - Provides diverse methods to generate event streams from static data, channels, and time-based intervals.
  • Functional Reactive Programming Frameworks - Combines functional programming patterns with reactive data streams to transform and filter asynchronous event sequences.
  • Observer Pattern Implementations - Provides a concrete implementation of the observer pattern to coordinate asynchronous events and data emissions.
  • In-Memory Communication Channels - Uses Go channels as thread-safe buffers for data exchange between producers and consumers within concurrent pipelines.
  • Reactive Programming Implementations - Provides a full implementation of the ReactiveX functional reactive programming model for the Go language.
  • Concurrent Data Processors - Provides a toolkit for distributing computational workloads across multiple CPU cores for high-throughput stream processing.
  • Stream Mathematical Aggregations - Calculates statistical aggregates such as sums, averages, and counts across asynchronous data sequences.
  • Stream Transformations - Provides real-time processing of data streams to apply operations like mapping, buffering, grouping, or flattening.
  • Subscription Coordination - Implements connectable observables that coordinate data emission across multiple synchronized observers.
  • Stream Combinators - Offers operators for merging, concatenating, or zipping multiple asynchronous streams into a single unified sequence.
  • Goroutine Pools - Provides goroutine pools to distribute stream processing tasks and execute transformations in parallel across CPU cores.
  • Event Stream Concurrency Control - Regulates the processing of event streams by deploying worker pools to parallelize operator execution across CPU cores.
  • Observable Stream Recovery - Provides mechanisms to capture exceptions and restart or recover observable pipelines to prevent termination.
  • Real-Time Stream Filtering - Processing live event sequences by applying predicates, debouncing, and time-based filters to extract specific information.
  • Stream Operator Chains - Links discrete processing functions into sequences where data flows from one operator to the next.
  • Stream Value Consumption - Provides general-purpose value sinks that process stream elements via blocking channels or non-blocking callbacks.
  • Task Scheduling and Queues - Reactive extensions for asynchronous data streams.

Star history

Star history chart for reactivex/rxgoStar history chart for reactivex/rxgo

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with RxGo

These projects share indexed features with RxGo. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • reactivex/rxpyReactiveX avatar

    ReactiveX/RxPY

    5,014View on GitHub↗

    RxPY is a functional reactive programming library and a ReactiveX observable library for Python. It serves as an asynchronous stream processor and event-driven coordination framework used to build data pipelines that react to changes in state or streams of events over time. The library provides a toolkit for composing asynchronous and event-based programs using observable sequences and operators. It distinguishes itself through the use of configurable schedulers to manage concurrency, timing, and subscription lifecycles. The project covers a wide range of stream processing capabilities, incl

    Python
    View on GitHub↗5,014
  • reactor/reactor-corereactor avatar

    reactor/reactor-core

    5,224View on GitHub↗

    Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines on the JVM. It serves as an asynchronous stream processing framework and a backpressure management system, allowing developers to transform, filter, and combine sequences of events while regulating data flow between producers and consumers to prevent resource exhaustion. The library differentiates itself through a sophisticated concurrency scheduling system and demand-based flow control. It decouples signal processing from specific threads using a scheduler registry and provide

    Javaasynchronousflowflux
    View on GitHub↗5,224
  • baconjs/bacon.jsbaconjs avatar

    baconjs/bacon.js

    6,458View on GitHub↗

    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

    TypeScript
    View on GitHub↗6,458
  • reactive-streams/reactive-streams-jvmreactive-streams avatar

    reactive-streams/reactive-streams-jvm

    4,875View on GitHub↗

    This project provides a formal specification and a set of standard Java interfaces for asynchronous stream processing. It defines a standardized protocol for passing sequences of elements between publishers and subscribers across different threads, centering on a reactive streams specification for the JVM. The project focuses on interoperability by providing a common API that allows different asynchronous streaming libraries to work together. This is achieved through a standard set of interfaces and bridging mechanisms that translate between incompatible streaming specifications. The specifi

    Java
    View on GitHub↗4,875
Compare all 30 related projects→

Frequently asked questions

What does reactivex/rxgo do?

RxGo is a functional reactive programming library and an implementation of ReactiveX for the Go language. It serves as an asynchronous stream processing toolkit designed to coordinate event-based programs and data flows using the observable pattern.

What are the main features of reactivex/rxgo?

The main features of reactivex/rxgo are: Asynchronous Stream Processing Frameworks, Functional Pipelines, Stream Composition Libraries, Event Stream Filtering, Stream Processing Pipelines, ReactiveX Implementations, Observer Patterns, Asynchronous Event Pipelines.

Which projects share features with reactivex/rxgo?

Projects with overlapping indexed features include: reactivex/rxpy — RxPY is a functional reactive programming library and a ReactiveX observable library for Python. It serves as an… reactor/reactor-core — Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines… baconjs/bacon.js — Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data… reactive-streams/reactive-streams-jvm — This project provides a formal specification and a set of standard Java interfaces for asynchronous stream processing.… reactive-extensions/rx.net — Rx.NET is a reactive programming framework and library for the .NET ecosystem used to compose asynchronous and… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to…