Convert Python Notebooks into Dashboards
Herqooly is using:
- Jupyter Notebook server for computation
- Django server to store needed information and manage the projects,
- react and redux in the frontend.
Each cell (when focused) has a toolbar.
By clicking on toolbar you can select the next step in the notebook. You need to define the step in the modal.
After filling all inputs you will have code generated. After clicking Add to script the code will be added to the notebook and executed. (All needed imports will be inserted to the code.)
You can share notebook results by clicking Share button. (Only results will be shared, user will not see the code)
Example of shared results.
Results can be embedded in external websites.
You can easily customize the layout of results with drag and drop interface.
Each project created in the studio has defined directory structure (similar to https://github.com/drivendata/cookiecutter-data-science)
You see screenshots from Jupyter interface:
Each script created in the MLJAR Studio has corresponding files in:
- Jupyter Notebook format
*.ipnybfile - Python file
*.pyfile
You need docker-compose installed. To run MLJAR Studio run following command:
sudo docker-compose up --build
The Studio is available in the browser at address 0.0.0.0:8000. To stop the service use Ctrl+C.
- Run client code:
# in the client directory
npm install
npm start
- Run server code:
Set up your environment:
# in the backend directory
virtualenv venv --python=python3.7
source venv/bin/activate
pip install -r requirements.txt
Then start the server:
# in the backend/server directory
./manage.py migrate
./manage.py runserver 8003
- Run Jupyter Notebook.
Install dependencies:
# in any directory
virtualenv venv --python=python3.7
source venv/bin/activate
pip install jupyter pandas numpy plotly
# make sandbox dir to store projects data
mkdir -p sandbox
Run notebook:
jupyter notebook --no-browser --ip=* --port 8888 --NotebookApp.token=my_very_secret_token --NotebookApp.allow_origin=*
- Open MLJAR Studio in the browser:
http://localhost:3000/
This code is intended to run only locally. Please do not deploy to servers because of security issues.