Writing on the same line for streaming data

Summary

How do I write an equivalent of the below in streamlit?

print(content, end="")

The equivalent in streamlit does not work

streamlit.write(content, end="")

---
Invalid arguments were passed to "st.write" function. Support for passing such unknown keywords arguments will be dropped in future.  Invalid arguments were {end=""}

My use case is to write streaming data - data that is coming in chunks and I want to update it accordingly on the UI.

Debug info

  • Streamlit version: (get it with $ streamlit version) => Streamlit, version 1.25.0
  • Python version: (get it with $ python --version) => Python 3.9.6
  • Using Conda? PipEnv? PyEnv? Pex? => PipEnv
  • OS version: 13.4 (22F66)
  • Browser version:

Requirements file

Using Conda? PipEnv? PyEnv? Pex? Share the contents of your requirements file here.
Not sure what a requirements file is? Check out this doc and add a requirements file to your app.

Links

  • Link to your GitHub repo:
  • Link to your deployed app:

Additional information

NA

Thanks.

Hi @gtgoudar

Can you iterate through your streaming data and use st.write() to write each iteration from within a placeholder created using st.empty(). In this way, it will display text as chunks as it is being generated.

An example of this in action is shown in a recent blog:

The particular app code is (refer to lines 60-66):

Thank you kindly. This solved the problem for me.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.