Skip to main content

Python Data Libraries

Project description

overlapping arrows

mabel is a platform for authoring data processing systems.

License Regression Suite codecov Static Analysis PyPI Latest Release Maintainability Rating Security Rating mabel deepcode Downloads

What are its Key Features

  • Programatically define data pipelines
  • Treats datasets as immutable
  • On-the-fly compression
  • Automatic version tracking of processing operations
  • Trace messages through the pipeline (random sampling)
  • Automatic retry of failed operations
  • Low-memory requirements, even with Tb of data

Where Can I Find Documentation

See the wiki

How Do I Get It?

From PyPI (recommended)

pip install --upgrade mabel

From GitHub

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

What Dependencies does mabel Have?

  • UltraJSON (AKA ujson) is used where orjson is not available. orjson is the preferred JSON library but is not available on all platforms and environments so ujson is a dependency to ensure a performant JSON library with broad support is available.
  • dateutil is used to convert dates received as strings
  • zstandard is used for real-time compression
  • mmh3 is used for non-cryptographic hashing
  • bitarray is used for compacting data

There are a number of optional dependencies which are usually only required for specific features and functionality. These are listed in the requirements-test.txt file which is used for testing. The key exception is orjson which is the preferred JSON library but not available on all platforms.

Can I Contribute?

Want to help build mabel? See the contribution guidance

What Platforms Does mabel Support?

mabel comes with adapters for the following services, or is tested to run on the following platforms:

Service Support
GCP Storage Google Cloud Storage Read/Write
MinIo MinIO Read/Write
AWS S3 S3 Read/Write
MongoDB MongoDB Read Only
MQTT MQTT Read Only
Docker Docker Hosting
Kubernetes Kubernetes Hosting
Raspberry Pi Raspberry Pi Hosting (Notice1)

Linux, MacOS and Windows (Notice2) also supported.

Adapters for other data services can be written.

Notice1 - Raspbian fully functional with ujson
Notice2 - Multi-Processing not available on Windows

License

Apache 2.0

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.4.7.tar.gz (66.8 kB view hashes)

Uploaded Source

Built Distribution

mabel-0.4.7-py3-none-any.whl (95.2 kB view hashes)

Uploaded Python 3

Supported by

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