{"repo":"vladimirvivien/automi","free":true,"listed":false,"github":"https://github.com/vladimirvivien/automi","clone":"git clone https://github.com/vladimirvivien/automi.git","description":"A stream processing API for Go (now with generic type support)","language":"Go","stars":845,"topics":["golang","go","streaming-api","stream-processing","data-stream"],"license":"MIT","category":"data-pipelines","readme_excerpt":"Stream Processing API for Go Automi is a Go package for processing streams of data. It enables composing powerful data pipelines by chaining operations that are applied to each element flowing through the stream. The project has been completely re-implemented to leverage Go's generics support, bringing significant advantages: - Type safety across the entire pipeline : Compile-time type checking eliminates runtime type assertions and conversions - Enhanced developer experience : Better IDE autocompletion and error detection during development - Reduced boilerplate : No more manual type casting or interface{} conversions - Improved performance : Elimination of runtime type checks and assertions leads to more efficient execution With generics, you can now create strongly-typed streams where each operation's input and output types are verified by the compiler, catching errors early and making your stream processing code more robust and maintainable. Concept Automi implements a data processing pipeline using a streaming architecture. Data flows through a series of connected components that process each element as it passes through. This approach enables efficient handling of large datasets without loading everything into memory at once. The Automi API is built around four key primitives: - Source : The entry point that emits data elements into the stream. Sources can read from files, channels, slices, or any data provider. - Stream : The central abstraction that coordinates the fl","default_branch":null,"files":null,"tree":[],"storefront":"/r/vladimirvivien","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/vladimirvivien/automi/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}