streamlit-template's People
streamlit-template's Issues
Specify versions of dependencies
Update environment.yml
and requirements.txt
with package version numbers.
Feature requests:
- discuss with IT how to host it (not de.NBI) and how to provide access from outside (e.g. our docker server)
Outcome: we probably can host the apps on ibmidocker. Each app gets its own docker container and port.
abiservices can act as an apache proxy (if needed)
-
add dockerfile streamlit-template to install a default OpenMS environment
- add a default installation of OpenMS (e.g., 3.0) executables to docker file (e.g., from conda)
- add installation of OpenMS/Thirdparty tools to docker file
- add installation of mono to enable raw file conversion
- add cron job to docker file to automatically clean up data / delete data after a while
-
think about malicious use (e.g., uploading many files) and how this could be prevented in the "online" case
-
if hosted online add captcha on upload
-
add download button + explanation how to run app locally to template
-
document how to add a new app to the streamlit server
only if we need the streamlit_deployment repo:
- add submodule to https://github.com/OpenMS/streamlit_deployment with the streamlit-template.
Check if server can be deployed on ibmidocker
Axel and me created an initial template for streamlit deployment.
I think we are at a point to test if someone can deploy it on ibmidocker
Steps necessary:
- check out the repo on imbidocker
- build the image
- run docker
- check with IT how to make it accessible from outside (e.g., by adding it to our proxy ibmiservices )
User story: User wants to make his App available.
- User forks https://github.com/OpenMS/streamlit-template and adds his App code to it. Renames his repo to have a meaningful name. E.g., "Cross-Linking-App". If needed, adapts the environment.yml file for additional dependencies.
- User adds his Repo as a submodule to https://github.com/OpenMS/streamlit-deployment
- User adds his App to the local.yml docker compose script (untested), potentially ports need to be adjusted such that there is no overlap between multiple apps
This should allow to deploy multiple streamlit apps on ibmidocker. How we make it accessible through our proxy ibmiservice needs to be discussed with the IT.
Add CI to test streamlit apps
e.g.
- make sure streamlit app launches without errors
- linting
- building test cases for workflow code using pytest
add 2D visualization component to a page in streamlit-template
Would be great to add the components.
- e.g. component in submodule
- in src folder: general utility code available to everyone using the template
- e.g. one page showing the functionality
that way, the template also serves a bit like a tutorial on how web apps can be created
workspaces in online mode issue
Switching workspaces does not work as intented in the online apps, e.g. switiching workspace and uploading files will upload them to the previous workspace.
Make container smaller
e.g. we don't need the OpenMS source folder any more (it is currently kept because it contains the share/folder).
TODO:
- set the cmake flag -DCMAKE_INSTALL_PREFIX when generating the build system to a folder we want to install OpenMS to
call
- cmake -DCOMPONENT="library" -P build/cmake_install.cmake
- cmake -DCOMPONENT="applications" -P build/cmake_install.cmake
- cmake -DCOMPONENT="share" -P build/cmake_install.cmake
to copy files into that folder
Error in Windows packages with latest streamlit 1.30
Github action runs without errors, however opening the app will raise the following error:
The issue seems to be with streamlit version 1.30 (latest), rolling back to 1.29 resolves the issue for now.
The workflow to build should be adopted to 1.30 and perhaps include a test to check if the app launches without errors.
Evaluate if streamlit app can be packaged as .exe on windows / other platforms
see e.g. https://discuss.streamlit.io/t/using-pyinstaller-or-similar-to-create-an-executable/902/86
would be interesting to check if this is possible e.g., probably similar to building a whl
file in workspace but not viewable in raw file reader
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.