Hey y’all !
I’ve built out a GUI tool that can be used to BUILD and DEPLOY plotly dash apps. You can select from (and preview!) different app templates to create, and then deploy them to Render.com for free, all in one place.
Let’s Make An App
Start the tool with the: dashtools gui
command in your terminal. The DashTools dashboard will open in the browser.
Here you can select from different app templates (some not shown):
When you have found a template you like, give the app a name and filepath. Clicking the Create button will create your new app template for you:
Your new app will look something like this, with an app.py
file and other files in src/
directory.
You can run the app now with python src/app.py
, or with the dashtools run
command from the app directory!
Deploy Your App to the Internet
After modifying your shiny new Dash app, let’s get it deployed to the web using Render.com.
Head over to the Deploy tab, provide the app’s root filepath , and click Open File:
Under Deployment Requirements, there are a few missing items indicated in Red - but have no fear! Press the “generate” icons to have the render.yaml
and requirements.txt
files created automatically for you.
Create a new Public GitHub repo by visiting https://github.com/new.
Using your terminal (or command prompt on Windows), push your project code to GitHub, making sure to change your remote URL with the one provided in the new GitHub repo above:
cd YourApp # This is the top-level directory of the app you created
git init
git add .
git commit -m "Initial commit"
git remote add origin git@github.com:andrew-hossack/testrender-app-two.git # Your remote URL will be given to you by GitHub when you make the new repo
git push -u origin main
Info: In future DashTools versions, the above manual GitHub deploy step may become easier!
When all requirements are met, the DEPLOY TO RENDER button will illuminate. Let’s deploy! Clicking the button will take you to Render.com.
On Render, provide a unique Service Group Name (you can use any name here!), and press the Create button, to create and deploy your service to the web:
Visit the Render Dashboard, and find your new web service:
When the deploy is complete (which may take a few minutes), you will be able to see it live online:
Installation
Want to give it a try? Install DashTools Version 1.11.1 with PyPi:
pip install dash-tools
Feedback
Let me know what you all think! I’m also looking for more devs to help out. See the DashTools GitHub if you’re interested. Thanks for reading!