...is a foolproof web-based databricks-notebook to web-application conversion platform.
Watch the notebook-2-app Youtube Video!
Bridging the first two of these ↑ stages, notebook-2-app provides a user-friendly pipeline to automate the transformation of non-linear, loosely-structured Python notebook-style code, into maintainable, modular, robust, and efficient applicaiton-code.
This includes...
- Specific notebook-only code substitutions, e.g. replacing
figure.show()in a Dash app, with code to start a Dash server (app = Dash()...app.run()) - Re-wiring the notebook to maintain data sources, if it reads data from a workspace file (e.g.
/Workspace/dir/data.csv) - Identifying & removing secrets (e.g. API keys) and placing them in a seperate
.envfile - Suggesting the insertion of proper documentation & commentry within the code
- Moving pip dependancies into a centralised
requirements.txtfile - Homogenising identifiers' naming conventions e.g. to
snake_case - (Freedom to insert custom transformations!)
...notebook-2-app contacts the Databricks' workspace's REST API...

...allowing selection of a python notebook directly from the workspace.

Tick cells containing code needed for the application...

...and notebook-2-app automatically suggests changes, to make secure & robust application-code...

...plus feedback on code quality.

Simply download the resultant app-code package...

...to instantly run the standalone app locally...

...or deploy it from a dev-ops' repository to an Azure App-Service, using the generated deploy.yml.
notebook-2-app focuses on three phases of code-conversion...
- Syntactically; for neatness. Notebook-code is passed through black as an initial clean-up.
- Operationally; for platform-compatibility. E.g. replacing
figure.show()in a Dash app, with code to start a Dash server (app = Dash()...app.run()) - Structurally; for modularity. Code is seperated into different functions & modules, for maintainability.
- Download a
zipof this repository - Populate /backend/server_code/secrets.py with values for your Databricks Workspace
- Specify your COMPANY_EMAIL_ADDRESS_ENDING in /frontend/resources/js/task-ui-functions.js
- Execute
python -m flask --app ./server.py run
(Can use_debug.cmdon Windows for local development/testing; runs SASS transpiler & starts server)
This is a prototype software product, entirely open to receiving feedback & improvement ideas!


