Dataengine is a general-purpose Python package designed for streamlined data engineering tasks. It provides a unified API for working with various data processing backends such as Pandas, Polars, Spark, and Ray, along with integrations for common data formats (CSV, Parquet, JSON) and relational databases via SQLAlchemy and DuckDB. Currently at version 0.0.92, it is under active development with a focus on providing flexible and scalable data manipulation tools.
pip install dataengineVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates initializing a `PandasSession` (suitable for local use without heavy dependencies), creating a DataFrame from a Python dictionary, reading data from a temporary CSV file, and performing a basic filter operation. It highlights Dataengine's unified API for data manipulation.
As a pre-1.0 library, `dataengine`'s API can change rapidly. Consult the latest GitHub README and example code for current usage. Pin your `dataengine` version to avoid unexpected updates: `pip install dataengine==0.0.92`.
Attempting to use functionality for a specific backend (e.g., Spark, Ray) or database/cloud storage (e.g., S3, PostgreSQL) without installing its optional dependencies will result in `ModuleNotFoundError`. Ensure you install `dataengine` with the necessary extras, such as `pip install 'dataengine[spark]'` or `pip install 'dataengine[s3]'`. Refer to the `pyproject.toml` on GitHub for a complete list of available extras.
Dataengine supports multiple backends (Pandas, Polars, Spark, Ray), each with distinct performance characteristics. `PandasSession` is single-threaded, `PolarsSession` is multi-threaded, and `SparkSession`/`RaySession` are distributed. Understand which backend is active and choose the appropriate session type and operations for your data size and computational requirements to optimize performance.