Python Data Libraries
Project description
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.
- Documentation GitHub Wiki
- Bug Reports GitHub Issues
- Feature Requests GitHub Issues
- Source Code GitHub
- Discussions GitHub Discussions
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
A preview release of mabel is available from PyPI
pip install --upgrade mabelbeta
You may need to manually uninstall mabel before the test version will install.
These versions are usually labelled with an a
(signifying alpha status) in the
library version. Alpha versions are more likely to have functional issues.
Guides
Dependencies
- orjson for JSON (de)serialization
- bitarray for handling high density boolean data
- siphashc for non-cryptographic hashing
- pydantic to define internal data models
- zstandard for real-time on disk compression
- LZ4 for real-time in memory compression
- simdjson for fast JSON deserialization
- cython for precompilation
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 | |
---|---|
Google Cloud Storage | |
MinIO | |
AWS S3 | |
Azure Blob Storage | |
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 | |
Kubernetes | |
Windows (1) | |
Linux (2) |
1 - Some non-core features are not available on Windows.
2 - Tested on Debian (WSL) and Ubuntu.
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
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
Built Distributions
Hashes for mabel-0.5.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4dfdca6c987ad7a349ddb40e2f3b50d3d50721efd21d2f0d0cfa550dcf7b9fb |
|
MD5 | 474f73214f17a13d06a3365bae47ac1c |
|
BLAKE2b-256 | c70c762d5d0d330a9b74ef70cbabba5bc024e9122a4c5aa1d9486b59a80d75f1 |
Hashes for mabel-0.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e4c6c15e78070157d2cb05e08aa24a6c1787d4d06f430f681ae771bb7b1d671 |
|
MD5 | 264ca3a5c13648ca5892c9936f76b31d |
|
BLAKE2b-256 | f5e7215ba09d4f2d68226959a72834e4a9afbd0e430e5d3090fd8097bd45a288 |
Hashes for mabel-0.5.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14b178aadf0b53f25eb0a202bd88180b4d21b3646cc7bda6b5c3f698f02984d7 |
|
MD5 | 71d097aa70bc6f309a167ab70f42af52 |
|
BLAKE2b-256 | a4cf3e7c825ff983089293da05393d7600df5dcfc2ef028f638ea8ee0057ffcc |
Hashes for mabel-0.5.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3425d944db9e4f69ad459ca5eb13fff17ef71f6a8eb5be732c2a4488f3f7ab5b |
|
MD5 | 80180a7f35570ad89da0807ea4731f6b |
|
BLAKE2b-256 | 9ca05b4840bd2aefd34b1208f104a7fb49d3764647cfbcd8c431af5858028a25 |
Hashes for mabel-0.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f64e99198bd2a2a3b6d80e9b58b2a6ae146eb7169a9515bbdd573ad7f98e7de |
|
MD5 | a0700aa0d8fcbfb3174c75fdd2d3b0ff |
|
BLAKE2b-256 | 4015aa83bf0d028a1f51d6d4ed90fa9809ec32ed42bc0eda59bf24aaec8d17dc |
Hashes for mabel-0.5.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 477dc422fb5cccb9fd932f55dd2f421fe5e92ba89f34eac2a24c6f741847cf4b |
|
MD5 | fb4bfbbfa45cce8df2798d16f8f0dee5 |
|
BLAKE2b-256 | 45987ed20dfa7c3f7e4a89700c10c34f840e75fc9b397a357a88a1fc684c664e |
Hashes for mabel-0.5.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ec46dc3541dd7edd04f3e5f2f6996090d90e0a695e37e53543b479bee0146f9 |
|
MD5 | c8c9306463724cfad400ba8634882df2 |
|
BLAKE2b-256 | de6b267a1be717a2ab5e03747a5a86d991cdc896d4c58ef70d92bf757d7a2420 |
Hashes for mabel-0.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77b8629b29f27518b09ca008dd19349b3f8d985e5754fedcb8c070587c8cc0a8 |
|
MD5 | 8721d6d70457f8576737117fe97f32b3 |
|
BLAKE2b-256 | 6e3ee07a3e5eba0a6e9598815a8e03cbb99a559a31f146cdc15a29fd31dd3276 |
Hashes for mabel-0.5.0-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4d6a4fcc8106ec5006309fb63dbd0c464e162898ef2a563493c3079ee54f00c |
|
MD5 | b41975aaf2e882672b0a0b9d14858380 |
|
BLAKE2b-256 | 1caaade431f6a8ca7c7c01d4614e3c50e51bfa2c020c72f2de88a7c60b6513cf |