thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: #pyarrow
vaexio/vaex ★ 8518 599 APPLICATION

Vaex is a high-performance Python library for lazy out-of-core DataFrames designed to handle datasets larger than memory. It achieves efficiency through memory mapping, zero-copy policies, lazy evaluation, and virtual columns that avoid materializing intermediate results. The system supports HDF5, Apache Arrow, Parquet, CSV, and FITS formats, with accelerated operations via C++ extensions for critical paths like hash-based aggregations and string processing. The architecture is modular, consisting of a core package (vaex-core) and specialized extensions: vaex-viz (visualization), vaex-hdf5 (HDF5 enhancements), vaex-astro (astronomy tools), vaex-ml (machine learning integrations), vaex-jupyter (notebook support), vaex-server (remote access via WebSocket/REST), and vaex-graphql (GraphQL API). Key entry points include the `vaex` CLI tool, `vaex.open()` for data loading, and programmatic APIs for DataFrame operations, expressions, and visualizations. Data flows prioritize out-of-core processing: data remains on disk until needed, computations are lazily executed and cached via fingerprinting, and results are streamed to minimize memory footprint. The codebase demonstrates strong engineering practices with a plugin system for extensibility (expression/dataframe accessors), centralized settings configuration, and a task-based execution engine supporting parallelism and async operations. While primarily a general-purpose data analysis library, it is widely used in data research due to its efficiency with large datasets and domain-specific integrations (e.g., astronomy via vaex-astro). Recent commits indicate active maintenance, low technical drift through adoption of modern dependencies (Apache Arrow, FastAPI), and a comprehensive test suite covering core functionality and extensions.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
scikit-hep/awkward ★ 976 139 APPLICATION

Awkward Array is a Python library for manipulating nested, ragged, and mixed-type data structures that do not fit naturally into NumPy's rectangular array model. It is primarily a software library, not a data-research pipeline, though it contains research-oriented studies and benchmarks. The architecture is a Python front-end backed by compiled C++ kernels, with optional integrations for PyArrow, JAX, CuPy, Numba, CUDA, and ROOT. The core data model is built around composable layouts, forms, and types, and operations are dispatched through a high-level function decorator that separates public API from backend-specific implementations.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
uber/petastorm ★ 1892 286 APPLICATION

Petastorm is a library for loading Apache Parquet datasets into machine learning training frameworks, primarily TensorFlow and PyTorch. It provides a reader API that supports parallel I/O, row-group shuffling, predicate filtering, and on-the-fly transformations. The library also includes a Spark Dataset Converter to materialize Spark DataFrames as cached Parquet for training. Architecture: modular with worker pools (process/thread), filesystem abstraction (local, HDFS, S3, GCS), schema system (Unischema with codecs), and shuffling buffers. It features CLI tools for benchmarking, metadata generation, and dataset copying. The codebase demonstrates strong engineering practices with clear separation of concerns, but shows signs of aging: reliance on TensorFlow 1.x, Python 2 compatibility, and pinned dependencies that may cause drift. The project has a large test suite with legacy dataset fixtures for backward compatibility, but maintenance has slowed significantly with the last release (v0.13.1) and minimal recent commits.

RATING: 6.4/10 MAINT: stale DRIFT: high
▸ 3 reusable components found
── end of results ──
$ submit: