Skip to main content

A microframework for simple ETL solutions

Project description

[![Documentation Status](https://readthedocs.org/projects/bert-etl/badge/?version=latest)](https://bert-etl.readthedocs.io/en/latest/?badge=latest)

# Bert A microframework for simple ETL solutions

## Begin with

Lets begin with an example of loading data from a file-server and than loading it into numpy arrays

` $ virtualenv -p $(which python3) env $ source env/bin/activate $ pip install bert-etl $ pip install librosa # for demo project $ docker run -p 6379:6379 -d redis # bert-etl runs on redis to share data across CPUs $ bert-runner.py -n demo $ PYTHONPATH='.' bert-runner.py -m demo -j sync_sounds -f `

## Release Notes

### 0.3.0

  • Added Error Management. When an error occurs, bert-runner will log the error and re-run the job. If the same error happens often enough, the job will be aborted

### 0.2.1

  • Added Release Notes

### 0.2.0

  • Added Redis Service auto run. Using docker, redis will be pulled and started in the background

  • Added Redis Service channels, sometimes you’ll want to run to etl-jobs on the same machine

## Fund Bounty Target Upgrades

Bert provides a boiler plate framework that’ll allow one to write concurrent ETL code using Pythons’ microprocessing module. One function starts the process, piping data into a Redis backend that’ll then be consumed by the next function. The queues are respectfully named for the scope of the function: Work(start) and Done(end) queue. Please consider contributing to Bert Bounty Targets to improve this documentation

https://www.patreon.com/jbcurtin

## Roadmap

  • Create configuration file, bert-etl.yaml

  • Support conda venv

  • Support pyenv venv

  • Support dynamodb flush

  • Support multipule invocations per AWS account

  • Support undeploy AWS Lambda

  • Support Bottle functions in AWS Lambda

## Tutorial Roadmap

  • Introduce Bert API

  • Explain bert.binding

  • Explain comm_binder

  • Explain work_queue

  • Explain done_queue

  • Explain ologger

  • Explain DEBUG and how turning it off allows for x-concurrent processes

  • Show an example on how to load timeseries data, calcualte the mean, and display the final output of the mean

  • Expand the example to show how to scale the application implicitly

  • Show how to run locally using Redis

  • Show how to run locally without Redis, using Dynamodb instead

  • Show how to run remotly using AWSLambda and Dynamodb

  • Talk about dynamodb and eventual consistency

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

bert-etl-0.4.25.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

bert_etl-0.4.25-py2.py3-none-any.whl (36.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file bert-etl-0.4.25.tar.gz.

File metadata

  • Download URL: bert-etl-0.4.25.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8

File hashes

Hashes for bert-etl-0.4.25.tar.gz
Algorithm Hash digest
SHA256 6a4838577963e0d5e98339513c731b9f9aca9a386dcd1a7ba7acab867dc028eb
MD5 e1ee8cb07d8bfb0bd5b21027b8a3c964
BLAKE2b-256 244a12264137e70c255ab8a9ccabf8277d8e93b643cc4d8f898512f40dbb28f7

See more details on using hashes here.

File details

Details for the file bert_etl-0.4.25-py2.py3-none-any.whl.

File metadata

  • Download URL: bert_etl-0.4.25-py2.py3-none-any.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8

File hashes

Hashes for bert_etl-0.4.25-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a2fea3397c86fe20eec48b65912b8a7cd1528ecb3cda41f6e41df757c270a582
MD5 86efb855349598683c8d64ffd1df1c79
BLAKE2b-256 c3aed3f243f76bd3090a25bcb14bb8f6d1d0de4c5f054662b7311575742f61f4

See more details on using hashes here.

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