Skip to main content

Python Data Libraries

Project description

<img align=”centre” alt=”overlapping arrows” height=”92” src=”icons/mabel.svg” />

mabel is a platform for authoring data processing systems.

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/joocer/mabel/blob/master/LICENSE) [![regression_suite](https://github.com/joocer/mabel/actions/workflows/regression_suite.yaml/badge.svg)](https://github.com/joocer/mabel/actions/workflows/regression_suite.yaml) [![bandit](https://github.com/joocer/mabel/actions/workflows/bandit.yaml/badge.svg)](https://github.com/joocer/mabel/actions/workflows/bandit.yaml) [![PyPI Latest Release](https://img.shields.io/pypi/v/mabel.svg)](https://pypi.org/project/mabel/) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=joocer_mabel&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=joocer_mabel) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=joocer_mabel&metric=security_rating)](https://sonarcloud.io/dashboard?id=joocer_mabel)

## Features

  • Programatically define data pipelines

  • Immutable datasets

  • On-the-fly compression

  • Automatic version tracking of processing operations

  • Trace messages through the pipeline (random sampling)

  • Automatic retry of operations

## Documentation

See the [wiki](https://github.com/joocer/mabel/wiki)

## How Do I Get It?

From PyPI (recommended) ~~~ pip install –upgrade mabel ~~~ From GitHub ~~~ pip install –upgrade git+https://github.com/joocer/mabel ~~~

## Dependencies

  • [UltraJSON](https://github.com/ultrajson/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](https://dateutil.readthedocs.io/en/stable/)

  • [zstandard](https://github.com/indygreg/python-zstandard)

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

## Contributing

Want to help build mabel? See the [contribution guidance](CONTRIBUTING.md)

## What Platforms Does It Support?

<img align=”centre” alt=”Google Cloud” height=”48” src=”icons/google-cloud-logo.png” /> <img align=”centre” alt=”MinIo” height=”48” src=”icons/minio-logo.png” /> <img align=”centre” alt=”MongoDB” height=”48” src=”icons/mongodb-logo.png” /> <img align=”centre” alt=”MQTT” height=”48” src=”icons/mqtt-logo.png” /> <img align=”centre” alt=”Raspberry Pi” height=”48” src=”icons/raspberry-pi-logo.png” />

## License [Apache 2.0](LICENSE)

Project details


Release history Release notifications | RSS feed

This version

0.4.1

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

Uploaded Source

Built Distribution

mabel-0.4.1-py3-none-any.whl (95.6 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