Pathway is a high-performance live data processing framework built on top of timely dataflow and differential dataflow, providing a Python API for defining streaming and batch data pipelines. It is designed for real-time ETL, event processing, AI/ML pipelines (including RAG), and incremental computation with strong consistency guarantees. The architecture consists of a Rust core engine that handles dataflow execution, scheduling, persistence, and connectors, while the Python layer provides a declarative API for table operations, UDFs, and integrations with external systems like Kafka, databases, vector stores, and cloud storage. Key entry points include the `pathway` CLI, the Python `pw` module, and the Rust engine library. Data flows through connectors (sources/sinks), transformation operators (joins, groupby, windowing, etc.), and optional persistence for fault tolerance. External dependencies include Kafka, S3, PostgreSQL, various vector databases, and LLM services.
Apache Beam is a unified programming model for defining both batch and streaming data-parallel processing pipelines. The codebase is the primary implementation of this model, providing SDKs in Java, Python, Go, TypeScript, and Kotlin, along with multiple runner backends (Direct, Flink, Spark, Dataflow, Jet, Twister2, Kafka Streams, Prism) and a vast ecosystem of I/O connectors for nearly every major data system (GCP, AWS, Azure, Kafka, JDBC, MongoDB, Snowflake, etc.). The repository also includes SQL extensions, ML inference transforms, cross-language execution support, a performance benchmark suite (Nexmark, TPC-DS), and extensive integration test infrastructure. Beyond the core framework, it hosts examples, learning katas, a web-based playground, and CI/CD automation for self-hosted runners. While primarily an application framework, it includes data/research elements such as benchmarking queries and synthetic data generators, but the dominant character is that of a production-grade distributed data processing library.
RocketRide is a high-performance data processing engine with modular nodes, AI capabilities, and cross-platform clients. The system provides a visual interface for building data pipelines that integrate various data sources, AI/ML services, and processing nodes. At its core, it features a C++-based execution engine for performance, Python-based processing nodes for flexibility, and multiple client applications (web, desktop, VS Code extension) for interaction. The platform emphasizes extensibility through its node system, allowing users to create custom processing components while providing built-in integrations for databases, cloud storage, AI services, and popular APIs. It includes monitoring, observability, and deployment capabilities for production use.
Apache Spark is a distributed data processing framework. In production, it operates as a cluster computing platform where a Master daemon schedules computational tasks (spark-submit, spark-shell) across a pool of Worker daemons. The codebase reveals a massive monorepo architecture encompassing a core execution engine (RDD/DataFrame APIs, scheduler, shuffle), a sophisticated SQL query engine (Catalyst optimizer and execution engine), a machine learning library (MLlib/Spark ML), a streaming data API (DStreams), and a wide array of data source connectors (Parquet, ORC, Avro, Kafka, JDBC). The repository is primarily a software product, not a research project, evidenced by its extensive CI/CD pipelines, multi-language packaging (Python, R, Java), and operational tooling (History Server, Kubernetes/YARN integrations). It is actively maintained and represents the dominant platform in its ecosystem, though it carries significant internal complexity and legacy code (e.g., maintenance-mode MLlib, V1/V2 catalog duality).
Miller (mlr) is a command-line data processing tool for structured text formats including CSV, TSV, JSON, JSON Lines, YAML, DKVP, and others. It operates as a streaming pipeline: input records are read from files or stdin, processed through a chain of transformer verbs (e.g., cut, sort, join, stats1, put, filter), and written to output in any supported format. The tool includes a domain-specific language (DSL) for record-level transformations, with support for user-defined functions, subroutines, loops, and higher-order functions. Miller is designed for performance, using Go channels for concurrent streaming, batch processing, and a slab allocator for efficient memory use. The architecture is a monolithic CLI application written in Go with no external runtime dependencies. Key entry points include the main binary (cmd/mlr/main.go), the entrypoint dispatcher (pkg/entrypoint), and the terminal subcommands (help, repl, script, regtest, mcp). The codebase is organized into packages for input readers, output writers, transformers (verbs), DSL parsing and execution, CLI flag handling, and a core value type system (Mlrval). Miller also provides an MCP (Model Context Protocol) server for AI agent integration, shell completion scripts, and a REPL for interactive use. Miller is not a research project; it is a production-grade data munging tool comparable to awk, sed, cut, join, and sort but for name-indexed data. Its primary data flows involve reading heterogeneous records, applying transformations via verbs or DSL expressions, and writing results. The tool handles compressed files, in-place editing, and output redirection to files or pipes.
This repository contains the LatentNeeds-Bench benchmark and evaluation framework for proactive AI demand detection, as described in the research paper 'Pask: Toward Intent-Aware Proactive Agents with Long-Term Memory'. The project focuses on creating a benchmark to evaluate whether AI models can detect latent user needs in ongoing conversations without explicit prompting. It includes a comprehensive data processing pipeline that transforms raw speech transcripts into annotated benchmark datasets, an evaluation framework to test various LLMs on this benchmark, and tools to generate research paper tables and figures. The system implements the DD-MM-PAS paradigm (Demand Detection, Memory Modeling, Proactive Agent System) with IntentFlow as the specialized demand detection model.
VASPy is a pure Python library for manipulating and analyzing VASP (Vienna Ab initio Simulation Package) input and output files. It provides object-oriented parsers for common VASP formats including POSCAR, CONTCAR, XDATCAR, OUTCAR, OSZICAR, INCAR, DOS, ELFCAR, CHGCAR, and also supports Materials Studio formats (XSD, ARC, XTD). The library exposes high-level classes like PosCar, OutCar, DosX, and InCar that encapsulate file parsing, coordinate transformations, and data extraction, enabling users to programmatically read, modify, and visualize simulation results. It also includes a set of command-line scripts for common tasks such as creating VASP inputs, extracting forces, computing zero-point energies, and converting between file formats. The architecture is modular, with separate modules for atomic coordinates, electronic structure, iterative outputs, and Material Studio interoperability, all built on a shared base class and utility functions. Visualization is a key feature, with matplotlib and PyVista backends for plotting DOS, charge densities, and trajectories. The library is designed for computational materials science researchers and DFT practitioners who need to automate post-processing and workflow tasks around VASP calculations.