Comments (1)
This is inherently not how streamlit (i.e., the whole framework, not only this editor component) works. Streamlit reruns your whole script every time a widget is somehow changed. What you want is to trigger the rerun from within the script, if the log file changes. Like this:
from time import sleep
import streamlit as sl
if "contents" not in sl.session_state:
sl.session_state.contents = ""
sl.text(sl.session_state.contents)
while True:
with open("log.txt") as f:
current = f.read()
if current != sl.session_state.contents:
sl.session_state.contents = current
sl.experimental_rerun()
sleep(1)
The first half is just how streamlit works, if there's contents in the session state, display it as text*.
The second half is an infinite loop that prevents the current run of the script from ending. It reads the file every second, and if the contents of the file changed, it updates the session state and asks streamlit to rerun.
If this is all you want to achieve, it might be an OK solution.
A better solution might be this: https://github.com/kmcgrady/streamlit-autorefresh
*I say text here, because using an editor for displaying a read-only (and relatively free-form) file like a log does not seem like a great fit.
from streamlit-ace.
Related Issues (20)
- Customise width and height HOT 3
- trouble loading the streamlit_ace.ace component HOT 10
- Default Text? HOT 1
- Is there a way to print the output of the code defined in value? HOT 1
- Loading a file into the Editor HOT 1
- Missing on_change parameter, key doesn't work as expected HOT 2
- Can't input code properly into st.ace editor. HOT 1
- demo is broken HOT 1
- scroll bar to be added
- Getting inputs and output the result of the code. HOT 2
- Missing documentation on assigning markers (and annotations) HOT 1
- How to reset state of code editor? HOT 2
- what does the apply button do? HOT 4
- Expose autocompletion settings
- Add more examples to understand it.
- Component does not render on iOS devices HOT 3
- Component should not have a submit button HOT 2
- Can it run/compiled when it run? HOT 3
- Component Error Minified Material-UI error #3; visit https://material-ui.com/production-error/?code=3&args[]=red for the full message.
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.
from streamlit-ace.