Registry / data / dataengine

dataengine

JSON →
library0.0.92pypypi✓ verified 84d ago

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 dataengine
INSTALL
IMPORT
SIG · DATAENGINE
D
dataengine
datapythonv0.0.92
Install
29.4s avg
Import
Disk
1198MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.0.92 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.1s · import 0.000s · 1126.4MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 58.7s · import 0.000s · 1228.8MB
1198MB installed
● package 1198MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

version
from dataengine import version
from dataengine import SparkSession

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.

import dataengine as de import os import pandas as pd # Used for creating dummy data file # Create a dummy CSV file for the example dummy_csv_content = "id,name,value\n1,Alice,100\n2,Bob,200\n3,Charlie,150" temp_csv_file = "temp_quickstart.csv" with open(temp_csv_file, "w") as f: f.write(dummy_csv_content) try: # 1. Initialize a session (PandasSession is simplest for local execution) # For Spark, you would use: session = de.SparkSession() (requires pyspark) session = de.PandasSession() print(f"Initialized session type: {session.__class__.__name__}") # 2. Create a DataFrame directly from Python data data = {'item': ['apple', 'banana', 'orange'], 'price': [1.0, 0.5, 0.75]} df_from_dict = de.PandasDataFrame(data=data) print("\nDataFrame created from dict:") print(df_from_dict.to_pandas()) # 3. Read data from the temporary CSV file csv_reader = de.CSV(session) df_from_csv = csv_reader.read(temp_csv_file) print("\nDataFrame read from temporary CSV file:") print(df_from_csv.to_pandas()) # 4. Perform a simple transformation (e.g., filter) filtered_df = df_from_csv.filter(df_from_csv['value'] > 100) print("\nFiltered DataFrame (value > 100):") print(filtered_df.to_pandas()) # 5. Example of writing (conceptual - actual write requires specific setup) # For instance: filtered_df.write.parquet("output.parquet") except Exception as e: print(f"An error occurred during quickstart: {e}") finally: # Clean up the dummy file if os.path.exists(temp_csv_file): os.remove(temp_csv_file) print("\nQuickstart complete. Explore de.SparkSession, de.PolarsDataFrame, de.Parquet etc. for more advanced usage.")
Debug
Known issues
breakingAPI Breaking Changes in Pre-1.0 Versions
fix
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`.
affects: <1.0.0
gotchaMissing Optional Dependencies for Specific Backends/Connectors
fix
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.
affects: *
gotchaPerformance Variance Across Different Backends
fix
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.
affects: *
Upgrade
Version history
0.0.92latest on PyPI · released Apr 17, 2025
Audit
Dependencies
pandasrequiredCore data processing backend
polarsrequiredCore data processing backend
pyarrowrequiredUnderpins data handling for many formats (e.g., Parquet)
duckdbrequiredEmbedded SQL engine for local data
sqlalchemyrequiredUnified database connectivity
pydanticrequiredData validation and settings management
rayoptionalOptional distributed computing backend
pysparkoptionalOptional distributed computing backend for Apache Spark
s3fsoptionalOptional for S3 storage integration
azure-storage-bloboptionalOptional for Azure Blob Storage integration
google-cloud-storageoptionalOptional for Google Cloud Storage integration
mysqlclientoptionalOptional for MySQL database connectivity
psycopgoptionalOptional for PostgreSQL database connectivity
Agent activity
22 hits · last 30 days
node
20
OpenAI (training)
1
Resources
dataengine — pip install dataengine · libregistry