Skip to main content

Python Data Libraries

Project description

overlapping arrows

mabel is a Data Engineering platform designed to run in serverless environments.

mabel just runs when you need it, scaling to zero, making it efficient and ideal for deployments to platforms like Kubernetes, GCP Cloud Run, AWS Fargate and Knative.

License Status Regression Suite codecov Static Analysis PyPI Latest Release Maintainability Rating Security Rating mabel Downloads Code style: black commit_freq last_commit PyPI Latest Release FOSSA Status

Focus on What Matters

We've built mabel to enable Data Analysts to write complex data engineering tasks quickly and easily, so they could get on with doing what they do best.

from mabel import Reader

data = Reader(dataset="test_data")
print(data.count())

Key Features

  • On-the-fly compression
  • Low-memory requirements, even with terabytes of data
  • Indexing and partitioning of data for fast reads
  • Cursors for tracking reading position between processes
  • Partial SQL DQL (Data Query Language) support
  • Schema and data_expectations validation

Installation

From PyPI (recommended)

pip install --upgrade mabel

From GitHub

pip install --upgrade git+https://github.com/mabel-dev/mabel

Guides

How to Read Data

Dependencies

  • orjson for JSON (de)serialization
  • orso for data Schemas
  • zstandard for real-time on disk compression
  • LZ4 for real-time in memory compression

There are a number of optional dependencies which are usually only required for specific features and functionality. These are listed in tests/requirements.txt.

Integrations

mabel comes with adapters for the following data services:

Service
GCP Storage Google Cloud Storage
MinIo MinIO
AWS S3 AWS S3
Azure Azure Blob Storage
Local Local Storage

Mabel is extensible with adapters for other data services as required.

Deployment and Execution

mabel supports running on a range of platforms, including:

Platform
Docker Docker
Kubernetes Kubernetes
Windows Windows (Notice1)
Linux Linux (Notice2)
Linux Mac (Notice3)

Notice1 - Some non-core features are not available on Windows.
Notice2 - Tested on Debian (WSL) and Ubuntu.
Notice3 - Tested on Apple Silicon Macs.

How Can I Contribute?

All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.

If you have a suggestion for an improvement or a bug, raise a ticket or start a discussion.

Want to help build mabel? See the contribution guidance.

License

Apache 2.0

FOSSA Status

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mabel-0.6.24.tar.gz (92.2 kB view details)

Uploaded Source

Built Distribution

mabel-0.6.24-py3-none-any.whl (93.4 kB view details)

Uploaded Python 3

File details

Details for the file mabel-0.6.24.tar.gz.

File metadata

  • Download URL: mabel-0.6.24.tar.gz
  • Upload date:
  • Size: 92.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for mabel-0.6.24.tar.gz
Algorithm Hash digest
SHA256 8e812dcfbbd7bace1b21fb15be3d46a5d6e69dd4a6ba0ec48ea1a7fce00ceed5
MD5 c5d5167270e323e2c803f3dfbd5eabcd
BLAKE2b-256 4ca2edcb5e8877e8ef1b3738fb052eb1c772c6f37648e16f1f30b0ec392038ce

See more details on using hashes here.

File details

Details for the file mabel-0.6.24-py3-none-any.whl.

File metadata

  • Download URL: mabel-0.6.24-py3-none-any.whl
  • Upload date:
  • Size: 93.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for mabel-0.6.24-py3-none-any.whl
Algorithm Hash digest
SHA256 8e01f42271a3061d9dc9476c0c0e9b73cde034ed90fe1bdb1e9102f2e295a9dc
MD5 8b5b66576dcda9295f03ba39c716e2ab
BLAKE2b-256 1d26592a20a3a28d94241aaefad9f45bc98b39cc17ac432de039fb647f8217b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page