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.8.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiscalator-0.1.8-py3-none-any.whl (60.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiscalator-0.1.8.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.8.tar.gz
Algorithm Hash digest
SHA256 6e74e17e9f394b2a5aaf5cff03a43f52c75708ad143204f6e7568adbd215d0a7
MD5 61e62e1ad7143ec9bb880c8470a7e31d
BLAKE2b-256 28f0669d30058838300dd863a05611aa2b643b89b949c6e4b5368c51987da6e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiscalator-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 60.9 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d06f707f4c017264a9395868225e10d2facc044bad6ad0d24f1d37e59b63a53c
MD5 fe03b9dc183fc1058441039bdd44db13
BLAKE2b-256 73eb283c2ab3ae947d5753a1478b58040428289cbcc928df36bf496706b5d684

See more details on using hashes here.

Supported by

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