Skip to main content

AIscalate your Jupyter Notebook Prototypes into Airflow Data Products

Project description

AIscalator

Key Features

Aiscalator is a toolbox to enable your team streamlining processes from innovation to productization with:

  • Jupyter workbench
    • Explore Data, Prototype Solutions

  • Docker wrapper tools
    • Share Code, Deploy Reproducible Environments

  • Airflow machinery
    • Schedule Tasks, Refine Products

  • Data Science and Data Engineering best practices

From Prototype to Production Workflow

Quick Start

Installation

Test if prerequisite softwares are installed:

docker --version
docker-compose --version
pip --version

Install AIscalator tool:

git clone https://github.com/Aiscalate/aiscalator.git
cd aiscalator/
make install

Great, we are now ready to use the AIscalator!

The following setup commands are completely optional because they are dealing with prebuilding Docker images. If you choose not to do it at this point, they will get built later on whenever they are required.

However, since producing a Docker image requires a certain amount of time to download, install packages, and sometimes even compiling them, these installation steps can be initiated right away all at once. Thus, you should be free to go enjoy a nice coffee break!

You might want to customize your environment with the AIscalator, this will ask you few questions:

aiscalator setup

Build docker images to run Jupyter environments:

aiscalator jupyter setup

Build docker image to run Airflow:

# aiscalator airflow setup <path-to-workspace-folder>
# for example,
aiscalator airflow setup $PWD

Start working

AIscalator commands dealing with jupyter are defining tasks in Airflow jargon; In our case, they are all wrapped inside a Docker container. We also refer to them as Steps.

Whereas AIscalator commands about airflow are made to author, schedule and monitor DAGs (Directed Acyclic Graphs). They define how a workflow is composed of multiple steps, their dependencies and execution times or triggers.

Jupyter

Create a new Jupyter notebook to work on, define corresponding AIscalator step:

# aiscalator jupyter new <path-to-store-new-files>
# For example,
aiscalator jupyter new project
# (CTRL + c to kill when done)

Or you can edit an existing AIscalator step:

# aiscalator jupyter edit <aiscalator step>
# For example, if you cloned the git repository:
aiscalator jupyter edit resources/example/example.conf
# (CTRL + c to kill when done)

Run the step without GUI:

# aiscalator jupyter run <aiscalator task>
# For example, if you cloned the git repository:
aiscalator jupyter run resources/example/example.conf

Airflow

Start Airflow services:

aiscalator airflow start

Create a new AIscalator DAG, define the airflow job:

# aiscalator airflow new <path-to-store-new-files>
# For example,
aiscalator airflow new project
# (CTRL + c to kill when done)

Or you can edit an existing AIscalator DAG:

# aiscalator airflow edit <aiscalator DAG>
# For example, if you cloned the git repository:
aiscalator airflow edit resources/example/example.conf
# (CTRL + c to kill when done)

Schedule AIscalator DAG into local airflow dags folder:

# aiscalator airflow push <aiscalator DAG>
# For example, if you cloned the git repository:
aiscalator airflow push resources/example/example.conf

Stop Airflow services:

aiscalator airflow stop

History

0.1.0 (2018-11-07)

  • First Alpha release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiscalator-0.1.5.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

aiscalator-0.1.5-py3-none-any.whl (58.0 kB view details)

Uploaded Python 3

File details

Details for the file aiscalator-0.1.5.tar.gz.

File metadata

  • Download URL: aiscalator-0.1.5.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.6

File hashes

Hashes for aiscalator-0.1.5.tar.gz
Algorithm Hash digest
SHA256 a6993aff9f0efcf73e3f353724110fb60ad6b2fa0c21d22542b57d5fc928e57f
MD5 db40a57eeca4c2b129e088865d9d7132
BLAKE2b-256 943f4d221fd9cd0ca9e8364573ff5fece9f90e3a0b425a477ca427f1d97ef43c

See more details on using hashes here.

File details

Details for the file aiscalator-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: aiscalator-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 58.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.6

File hashes

Hashes for aiscalator-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0262ee713093461e98f8f0e4ba9d0a0090ced1e3e3db80e55509a0936d05f5b6
MD5 4701cedbaf25c3a5c18877a272391f93
BLAKE2b-256 6c1ded4e0a31da450ca405c83402206aa9df71cba088b7a95ce7b0732c69c198

See more details on using hashes here.

Supported by

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