Best Practice for ongoing enhancements of deployed app

What approach do folks use for ongoing evolution and debugging of published apps?

My approach has been to maintain two streamlit apps: main and test
The main streamlit app points to the main github repo
Test streamlit app points to the test branch

Enhancements and debugging happen on test. Then they are merged into main via a pull request.

It seems to work well enough for a single page streamlit app. For multi-page, it’s more cumbersome. Sometimes I’m want to push one page to production but not the other. Not really sure how to do that in github, or if it’s a good idea even if its possible.

Is there a better way?

Hey @dvvilkins,

Generally, we recommend the strategy that you’re already using – using one branch for development and one branch for production. If you’re hoping to push changes to just one page of your app to production, your best best would probably be to keep a separate branch for each page, and then open PRs for the production branch from those branches when you want to bring your per-page changes to production.

1 Like