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.29.tar.gz (94.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mabel-0.6.29-py3-none-any.whl (94.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mabel-0.6.29.tar.gz
  • Upload date:
  • Size: 94.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mabel-0.6.29.tar.gz
Algorithm Hash digest
SHA256 952de47b0a37871c4997b1aff3dd3ca839fe180a33c088beb4aef5200d4ca8ab
MD5 1e6f2859c225114fe04f4f7c779370ec
BLAKE2b-256 ce379f05878d72bbb49dee31913f7c75a1620e22daceb4cda9b024a4db68b16a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mabel-0.6.29.tar.gz:

Publisher: release.yaml on mabel-dev/mabel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: mabel-0.6.29-py3-none-any.whl
  • Upload date:
  • Size: 94.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mabel-0.6.29-py3-none-any.whl
Algorithm Hash digest
SHA256 a655860253feebe331a85e459238ebafc979879dbf6134b0d7a190c2b0018054
MD5 0e33394308b989b4dc11ea044e85970c
BLAKE2b-256 3c26ab7c6c0f7bc3ff5b11f7d46c0bb55236b550bf786cf3d3d96cf5d01c824a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mabel-0.6.29-py3-none-any.whl:

Publisher: release.yaml on mabel-dev/mabel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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