Skip to main content

ElastiCube Python Bindings

High-performance OLAP cube library for Python, powered by Rust, Apache Arrow, and DataFusion.

Features

  • Fast: Native Rust implementation with near C-level performance
  • Columnar Storage: Efficient memory layout using Apache Arrow
  • Familiar API: Pandas-like interface for data scientists
  • Type Safe: Full type hints and stub files for IDE support
  • No Pre-Aggregation: Query raw data with dynamic aggregations

Installation

pip install elasticube

Quick Start

from elasticube import ElastiCubeBuilder

# Build a cube from CSV data
builder = ElastiCubeBuilder()
builder.add_dimension("region", "string")
builder.add_dimension("date", "date")
builder.add_measure("sales", "float64", "sum")
builder.add_measure("quantity", "int32", "sum")
builder.load_csv("sales_data.csv")

cube = builder.build()

# Query the cube
query = cube.query()
query.select(["region", "SUM(sales)", "SUM(quantity)"])
query.filter("date >= '2024-01-01'")
query.group_by(["region"])
query.order_by(["region"])

# Get results as Pandas DataFrame
df = query.to_pandas()
print(df)

Supported Data Types

  • Numeric: int32, int64, float32, float64
  • Text: string (utf8)
  • Temporal: date, timestamp
  • Boolean: bool

Aggregation Functions

  • sum - Sum of values
  • avg / mean - Average
  • min - Minimum value
  • max - Maximum value
  • count - Count of non-null values
  • count_distinct - Count of unique values
  • median - Median value
  • stddev - Standard deviation
  • variance - Variance

Data Sources

ElastiCube supports multiple data source formats:

  • CSV: builder.load_csv("data.csv")
  • Parquet: builder.load_parquet("data.parquet")
  • JSON: builder.load_json("data.json")

License

Dual licensed under MIT or Apache-2.0.

Metadata

Release files for elasticube 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for elasticube 1.1.1
File Size Uploaded Provenance
elasticube-1.1.1.tar.gz 392.9 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for elasticube 1.1.1
File
elasticube-1.1.1-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
elasticube-1.1.1-cp38-abi3-musllinux_1_2_x86_64.whl CPython 3.8 abi3 Linux musl 1.2+ x86-64 Details
elasticube-1.1.1-cp38-abi3-musllinux_1_2_aarch64.whl CPython 3.8 abi3 Linux musl 1.2+ ARM64 Details
elasticube-1.1.1-cp38-abi3-manylinux_2_28_x86_64.whl CPython 3.8 abi3 Linux glibc 2.28+ x86-64 Details
elasticube-1.1.1-cp38-abi3-manylinux_2_28_aarch64.whl CPython 3.8 abi3 Linux glibc 2.28+ ARM64 Details
elasticube-1.1.1-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
elasticube-1.1.1-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 160.7 MB

Release files / elasticube-1.1.1.tar.gz

Download URL elasticube-1.1.1.tar.gz
Size 392.9 kB
Tags Source
SHA-256 checksum
How to use checksums
70d487ebb5c0bc4a832dbffef81e7cf81a65a5b1d95712882de7dd0a279c6cf1
BLAKE2b-256 checksum
How to use checksums
2579081fc411063090d8ed7673140c924d46b220d58f69be58da5278f8367a9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / elasticube-1.1.1-cp38-abi3-win_amd64.whl

Download URL elasticube-1.1.1-cp38-abi3-win_amd64.whl
Size 25.1 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6e621148bb4920e24f69fd3465b781633a768180fa246f2d509761247530ef2d
BLAKE2b-256 checksum
How to use checksums
b0e288ae6c016290f7add1b40f0666c257dd7e05ef4ac70979d1dc2c37e3c9a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / elasticube-1.1.1-cp38-abi3-musllinux_1_2_x86_64.whl

Download URL elasticube-1.1.1-cp38-abi3-musllinux_1_2_x86_64.whl
Size 23.0 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
d213bcd4b8e7515cc94c9a220109c629a2252bfd4dae3bc38b8fc20d68c07455
BLAKE2b-256 checksum
How to use checksums
469d03528ffcc80a2c797e285c5f59120ca44a5e316bb03d35011256abbafdea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / elasticube-1.1.1-cp38-abi3-musllinux_1_2_aarch64.whl

Download URL elasticube-1.1.1-cp38-abi3-musllinux_1_2_aarch64.whl
Size 21.2 MB
Tags CPython 3.8 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
299a6d849d64363915c374f7518675723a327b6d7a0cab3f2d231b734ae74794
BLAKE2b-256 checksum
How to use checksums
eb2be6cf2f97f224e1161b40175715275e94d0b743eda626610892c99782b393
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / elasticube-1.1.1-cp38-abi3-manylinux_2_28_x86_64.whl

Download URL elasticube-1.1.1-cp38-abi3-manylinux_2_28_x86_64.whl
Size 23.0 MB
Tags CPython 3.8 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
34884db5c8126ebfe8e988655bc33609c322d505d0e8e21b6743f8b441e780d7
BLAKE2b-256 checksum
How to use checksums
e0892212bffa5b27366bdd74ddba876f0a4f45cc609adbf4558123e6323cceab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / elasticube-1.1.1-cp38-abi3-manylinux_2_28_aarch64.whl

Download URL elasticube-1.1.1-cp38-abi3-manylinux_2_28_aarch64.whl
Size 21.2 MB
Tags CPython 3.8 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
46def58bfe03ec530c355e0f59de89700aa6f89d35c498f03fdddb7dea4e3d42
BLAKE2b-256 checksum
How to use checksums
869db6b8926cea9c1e21bd1007d042295b8fb02c1b566f14d389b5abd3b8a61d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / elasticube-1.1.1-cp38-abi3-macosx_11_0_arm64.whl

Download URL elasticube-1.1.1-cp38-abi3-macosx_11_0_arm64.whl
Size 22.2 MB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
406aa6ae95e3947b812869dcfe891218b293640abeafd9737dfe79983294d5b4
BLAKE2b-256 checksum
How to use checksums
338334a280ef9c8f12599391d60798509786bca00bd6dcda42e33733f4c697cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / elasticube-1.1.1-cp38-abi3-macosx_10_12_x86_64.whl

Download URL elasticube-1.1.1-cp38-abi3-macosx_10_12_x86_64.whl
Size 24.4 MB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
114951ff04c4fc0a828b8b8eabb35eeca7daa198874e19a52d4806ba778b6f6c
BLAKE2b-256 checksum
How to use checksums
19df5b91002117eac0093ae2f06e88e2a95461d7344347e39b42b95baea8edfb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for elasticube 1.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page