AIscalate your Jupyter Notebook Prototypes into Airflow Data Products
Project description
AIscalator
Free software: Apache Software License 2.0
Website: http://www.aiscalate.com
Documentation: https://aiscalator.readthedocs.io/en/latest/
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
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.
0.1.11 (2019-04-26)
Added docker_image.docker_extra_options list feature
0.1.13 (2019-06-23)
Handle errors in Jupytext conversions
aiscalator run subcommand exit code propagated to cli
Concurrent aiscalator run commands is possible
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
Built Distribution
File details
Details for the file aiscalator-0.1.18.tar.gz
.
File metadata
- Download URL: aiscalator-0.1.18.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 290dd4398e30f8dce374fa5b0dd96190ac544d351583bb5144187a6221571024 |
|
MD5 | 042181c184c40b4aaa6ffef7b66a3bfc |
|
BLAKE2b-256 | 5d5f3c04dd936ee45debf278dd4ff75fea57aca28e0355e8ad8abf9b5aa785cf |
File details
Details for the file aiscalator-0.1.18-py3-none-any.whl
.
File metadata
- Download URL: aiscalator-0.1.18-py3-none-any.whl
- Upload date:
- Size: 59.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a150b9e8215a367e7b7af0eca86ef2eaea6827dc56e205737a62b6fe0a07a9c4 |
|
MD5 | 68e20675d83dd2e70805a610bd399f5c |
|
BLAKE2b-256 | 810d8af103e58ad9a61d98079ee5a7375baefbc7785967904158d5d119a28066 |