Orchestra Visual Flow Programming
Orchestra VFP is a plugin for Python3 Jupyter Notebooks that enables data scientists and others less familiar with the Python Data Science toolchain to powerfully leverage the full range of data munging and (eventaully) machine learning tasks supported by Python itself.
Users more deeply familiar with Python code can use a hybrid workflow that "exports" python variables directly to the notebook in which Orchestra definitions are created.
Even as Orchestra offers greatly increased accessibility for data manipulation tasks, it does not force any compromises on those who wish to use the full power of Python.
Run Via Docker
cdinto the directory where you've cloned this repo
docker build . -t orchestrajupyter
docker run -p 8888:8888 orchestrajupyter
- You'll see a link printed to the command line like: http://localhost:8888/?token=f716322e4001692d4b6bb346b8e8d23b3af1db58780af32f
- Click and go! (But be aware that this is just a "demo" environment -- your files will not be persisted after the container stops!)
Assuming you already have Jupyter and Python3 Installed, just run these commands:
jupyter nbextension install https://rawgit.com/strandedcity/orchestra-jupyter/master/dist/orchestra.js jupyter nbextension install https://rawgit.com/strandedcity/orchestra-jupyter/master/dist/orchestra-libraries.js jupyter nbextension enable orchestra
Expect to see this output:
# Downloading: https://rawgit.com/strandedcity/orchestra-jupyter/master/dist/orchestra.js -> /var/folders/sc/ps6q4zys24x3s4p711n8ltbw0000gp/T/tmps1m0cvrj/orchestra.js # Copying: /var/folders/sc/ps6q4zys24x3s4p711n8ltbw0000gp/T/tmps1m0cvrj/orchestra.js -> /usr/local/share/jupyter/nbextensions/orchestra.js # Enabling notebook extension orchestra... # - Validating: OK
Click it, and you're off to the races.
- The dev environment is very similar to the "production" environment, except you're using un-optimized versions of the code. To get started, clone this repo to a location of your choice (here, I assume your home directory), and install its "main" module as a Jupyter extension:
cd /path/to/containing/folder git clone firstname.lastname@example.org:strandedcity/orchestra-jupyter.git jupyter nbextension install /path/to/containing/folder/orchestra-jupyter --symlink jupyter nbextension enable orchestra-jupyter/main
- Note that you cannot run both development and built copies of Orchestra side by side. So if you previously installed Orchestra via the instructions above, you'll need to:
jupyter nbextension disable orchestra
Uncaught SyntaxError: Identifier 'requireConfigFunction' has already been declared at orchestra.js?v=20171221222403:1
npm install -g grunt-cli cd /path/to/orchestra npm install # To build everything: grunt # To build only Orchestra (not its third-party dependencies): grunt buildOrchestra # To build only third-party libraries (not Orchestra code): grunt buildLibraries
Orchestra Visual Flow Programming is Copyright 2017 Phil Seaton. https://www.phil-seaton.com.
Please note the license for Orchestra before you use or modify it. Orchestra is Licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. Orchestra is free to use for non-commercial projects only, and modifications using Orchestra source may not be sold under any circumstances. Commercial licenses of Orchestra can be purchased for a reasonable fee, and may be offered in exchange for contribution to the Orchestra project. Please visit https://orchestravisualprogramming.com for more information.
Orchestra makes use of several third-party libraries, all of which are open-source projects under the MIT License or similarly permissive open-source licenses that do not restrict usage or modification:
- Handsontable Community Edition
- Bootstrap3-Typeahead (Apache 2.0 License)
The following are also dependencies, but are included already in Jupyter: JQuery, Bootstrap, RequireJS