STREAMLIT TRICKS - Web App RERUNS on every WIDGET CLICKS ? Here's WHAT-TO-DO |SessionState| PYTHON

  Рет қаралды 24,663

Avra

Avra

Күн бұрын

Пікірлер: 109
@Avra_b
@Avra_b 3 жыл бұрын
Blog Post and codes related to this video - medium.com/@avra42/streamlit-python-tips-how-to-avoid-your-app-from-rerunning-on-every-widget-click-cae99c5189eb
@pr0skis
@pr0skis Жыл бұрын
This was much more clear than the Streamlit examples. Great video!
@Avra_b
@Avra_b Жыл бұрын
Hey thanks for such kind words . I’m happy to hear 🤗
@notmanas
@notmanas Жыл бұрын
I spent more than 16 hours with issues related to this. If only I had found you sooner!
@Avra_b
@Avra_b Жыл бұрын
That’s very kind of you :) I’m glad that you liked this video and it came useful. Stay in touch 🤗
@PepBytes
@PepBytes Жыл бұрын
Thank you so much, Avra, I found your Medium article after spending a few hours working on this, and it has worked perfectly!
@Avra_b
@Avra_b Жыл бұрын
This kind of comments are always very motivating for me to keep on creating more contents. I’m glad that it worked for you and also thanks for the affirmation that this old code is still 💪🏽 and working . Stay in touch 🤗
@jorge1869
@jorge1869 3 жыл бұрын
Excellent, without a doubt, this channel is becoming the best niche to learn streamlit. You are doing a good job. Greetings
@Avra_b
@Avra_b 3 жыл бұрын
Hey Jorge , Thank you so much for this comment . Please keep on showering this love and support . And make sure to leave your feedbacks and suggestions. It will help me improve further. Stay in touch 🤗
@EvandroSegundo
@EvandroSegundo 4 ай бұрын
Finally a useful example!!! It solved my problem. Thank you!!
@Avra_b
@Avra_b 4 ай бұрын
Glad to hear !
@MaximusGamingGG
@MaximusGamingGG Жыл бұрын
Thank you so much man !! Was really stuck with this and couldn't find a solution anywhere else. Great explanation !!
@Avra_b
@Avra_b Жыл бұрын
Very happy to hear ! Stay in touch ☺️
@MaximusGamingGG
@MaximusGamingGG Жыл бұрын
Surely 😊
@rbk.technology4747
@rbk.technology4747 2 жыл бұрын
Superb man.... Seriously was dying to solve this issue. I got to know. But after this 6 mins video its so crystal clear. First should have come to YT instead of Google and docs You made it simple and clean. Thanks a lot for all these videos. One day they will scale to 1 million views. As all of these are so valuable and lifesaver
@Avra_b
@Avra_b 2 жыл бұрын
These are such kind words from you . Thank you and this motivates me further . Stay in touch 🤗🎈
@subinnair3835
@subinnair3835 Жыл бұрын
Thaaanks a lot for uploading such amazing content on Streamlit sir !!
@Avra_b
@Avra_b Жыл бұрын
Hey Subin ! This is so nice to hear , thanks 🤗
@theanxiousdude7515
@theanxiousdude7515 2 жыл бұрын
Amazing! I searched for solution for hours. Thank god I came acorss your medium article and this video. Simple and easy way to deal with the session problem. Thank you so much dude
@Avra_b
@Avra_b 2 жыл бұрын
Hey thanks for feedback. I’m glad that it helped you . Stay in touch ❤️
@theanxiousdude7515
@theanxiousdude7515 2 жыл бұрын
@@Avra_b I wil, thanks bro
@saxegothaea_conspicua
@saxegothaea_conspicua Жыл бұрын
Great video. Thank you very much. I was stuck figuring this out.
@Avra_b
@Avra_b Жыл бұрын
Very happy to hear mate !
@tanmaypathak3774
@tanmaypathak3774 17 күн бұрын
Great video, how do you have two download buttons that have different outputs? The apps keeps rerunning after clicking one of the download button
@learnapplybuild
@learnapplybuild 2 жыл бұрын
Bro I am surprised why only 190 likes on this video...... thanks a ton for this solution
@Avra_b
@Avra_b 2 жыл бұрын
Hey so glad to hear that you enjoyed the video :) stay in touch 🤗🎈
@learnapplybuild
@learnapplybuild 2 жыл бұрын
@@Avra_b sure bro 🙌🏻😎 Followed you on medium😇
@Avra_b
@Avra_b 2 жыл бұрын
@@learnapplybuild Thank you, soon I'll put up with some new blog post out there, stay in touch, cheers :)
@yonnialvarez9388
@yonnialvarez9388 2 жыл бұрын
this video was clreares than others , thanks sir, appreciate it,also i learned streamlit on your channel, thanks x2
@Avra_b
@Avra_b 2 жыл бұрын
So happy to hear this from you ! Do stay in touch :)
@HarhanDerMann
@HarhanDerMann 3 жыл бұрын
Hey, I'm having some issues initializing the session_state. Even though I initialise it the same way as you did, or as a classic dictionary it doesn't seem to recognize it and I get an error. Do you have any idea what the issue is?
@Avra_b
@Avra_b 3 жыл бұрын
Hey Thanks for your feedback. What's the error ? if you follow the exact lines, it shouldn't . Please check your Streamlit version. How about referring to the doc once , docs.streamlit.io/library/api-reference/session-state Do let me know, stay in touch :)
@HarhanDerMann
@HarhanDerMann 3 жыл бұрын
@@Avra_b Yeah I followed the same lines as you did. The error was: AttributeError: st.session_state has no attribute "load_state". Did you forget to initialize it? I should have the latest streamlit version since I downloaded it this week, but just in case how would I check the exact version? And which version would be necessary? Anyways thanks for your quick reply!
@Avra_b
@Avra_b 3 жыл бұрын
@@HarhanDerMann So, yeah it's because of the initialisation. Please refer to 04:35 of the video. There I refer to the Initialization part . Apologies, I'll update Time-Stamp for quick scrolling. Otherwise, you can check the Blog Post as well - medium.com/@avra42/streamlit-python-tips-how-to-avoid-your-app-from-rerunning-on-every-widget-click-cae99c5189eb If the problem still persist let me know. Cheers.
@HarhanDerMann
@HarhanDerMann 3 жыл бұрын
@@Avra_b I copied your exact code but it still won't initialize. I have no clue what's going wrong
@Avra_b
@Avra_b 3 жыл бұрын
@@HarhanDerMann Okay, let's try with Streamlit's documentation code. Does that work for you ? Can you please send me link to your GitHub repo otherwise.
@joaoatos7938
@joaoatos7938 Жыл бұрын
Awesome video!
@Avra_b
@Avra_b Жыл бұрын
Thanks ! I’m glad that you liked it 🤗
@maivish100
@maivish100 8 ай бұрын
How to make column header dynamic with colour coding, is it already inbuilt feature in ST.?
@Avra_b
@Avra_b 4 ай бұрын
Elaborate a bit more please
@danielblechinger6608
@danielblechinger6608 Жыл бұрын
Thank you for your help! Wouldn´t complete the job without your help !
@Avra_b
@Avra_b Жыл бұрын
So happy to hear Daniel ! Stay in touch 🤗
@danielblechinger6608
@danielblechinger6608 Жыл бұрын
@@Avra_b Of course :) will look your videos now more often :)
@bhanu.s
@bhanu.s 6 ай бұрын
I have a table and for that table i have added filters with buttons. When the button is clicked the whole app is rerunning. I have tried session.state also. Please help me on this
@Avra_b
@Avra_b 4 ай бұрын
Streamlit now has now api to run part of a function. Alternatively, you can wrap up the table within a cache function
@chriskeo392
@chriskeo392 Жыл бұрын
How can u create a select all check box to select all check boxes?
@Avra_b
@Avra_b Жыл бұрын
Hi , there can be number of ways to implement such functionality. ATM - what comes to my mind is like - the select all check box , has an on click function - which swaps the value of other check boxes ( the other check boxes got it’s value stored in session state ) . In short - look for the implementation of session state and on click function . Hope this helps .
@hamzaahmad564
@hamzaahmad564 2 жыл бұрын
Yoo, is there a way to programatically update the value of a widget? (for example update the value of a slider through the code)
@Avra_b
@Avra_b 2 жыл бұрын
Apologies for my late reply . Yes it’s value , by assigning a value to the widgets , for instance incase of slider .
@sal6436
@sal6436 3 жыл бұрын
If we're want to run only part of code after clicking the widget , and that part of code uses the variables of other part of code that we don't want to rerun , then what should we do?
@Avra_b
@Avra_b 3 жыл бұрын
If I understood you correctly, wrapping those part of code within a Cache functions would do the trick. st.cache() or st.experimental_memo(). You can refer to the last part of my Blog Post where I mentioned about this - medium.com/@avra42/streamlit-python-tips-how-to-avoid-your-app-from-rerunning-on-every-widget-click-cae99c5189eb I hope this solves, otherwise apologies but please mention an use-case, which will help me to understand your question better. Stay In touch and let me know :)
@arturgomes1654
@arturgomes1654 Жыл бұрын
Amazing video, it helped me so much! Thanks!
@Avra_b
@Avra_b Жыл бұрын
Very happy to hear ☺️
@parobe6167
@parobe6167 10 ай бұрын
Hi! Amazing video, but for me it's not working. I've a multipage app and in one page I want to implement a neasted button. I have something like: if "Run PK Analysis" not in st.session_state: st.session_state["Run PK Analysis"] = False if st.button("Run PK Analysis", key="pk_button") or st.session_state['Run PK Analysis']: st.session_state['Run PK Analysis']=True with st.spinner("Building graphs..."): time.sleep(5) if 'df_result' in st.session_state: #code if st.button("PK interpretation", key="inter"): # Display PK interpretation content here st.write("PK interpretation content goes here." elif 'df_upload' in st.session_state: #code when I press second button ('pk interpretation') the page is refreshing... Could you help me?
@Avra_b
@Avra_b 4 ай бұрын
Hmm interesting. I’ve to give it a spin . Not sure atm
@PiyushSingh-ef1sh
@PiyushSingh-ef1sh 7 ай бұрын
dont know how this works but it works !!! thanks!
@Avra_b
@Avra_b 4 ай бұрын
That all matters ! Cheers
@zbynekba
@zbynekba Жыл бұрын
Hi Avra, Thank you for sharing your knowledge with us. BTW, what application do you use for drawing your diagrams? It looks like hand-written, but I guess it is not.
@Avra_b
@Avra_b Жыл бұрын
Hi thanks 🙏🏽 usually I use exclidraw or tldraw online tools .
@otherside_ofqila
@otherside_ofqila 3 жыл бұрын
Very informative video 😁 I am currently working on with streamlit, and I can't wait to implement these infos.. Thanks 😁 I also would like to see if you can make buttons that after you click, it can call other python scripts from other page into the current page.. Thank you in advance 😁
@Avra_b
@Avra_b 3 жыл бұрын
Hey thank you for your feedback. I’m glad that you liked this video. Your suggestion seems interesting, can you please elaborate further with an use case may be ? Thanks . Let’s stay in touch and please always feel free to share your feedbacks :)
@kirupaagar6674
@kirupaagar6674 11 ай бұрын
Bro you saved my 2 days of work
@Avra_b
@Avra_b 10 ай бұрын
❤️
@beyblade600
@beyblade600 2 жыл бұрын
Thanks for an excellent tutorial, however I am still struggling with how to store pyplots in session_state. As whenever i update any widget, my rendered image reloads again, even when its the same image. I have tried storing pyplot instance in sessions but its still not working, any idea how do I avoid that?
@Avra_b
@Avra_b 4 ай бұрын
Was your issue resolved ?
@SaravananB-d4n
@SaravananB-d4n Жыл бұрын
Very helpful video, thank you bro ❤️
@Avra_b
@Avra_b Жыл бұрын
Very happy to hear ☺️
@jyoti04411
@jyoti04411 Жыл бұрын
How is different than cache data features
@Avra_b
@Avra_b 4 ай бұрын
Which part ?
@swastisunder
@swastisunder 25 күн бұрын
i want when i clicked a button my page have to rerun from start
@nikhil141088
@nikhil141088 2 жыл бұрын
great video. Kudos to you!
@Avra_b
@Avra_b 2 жыл бұрын
Hey thanks Nikhil for such kind word 🤗
@dishydez
@dishydez 2 жыл бұрын
As always great tutorial. Isbit possible to do the user authentication again but with session state included as well as st. Experimental params? Would be good to mesh these together. Thanks anyway!
@Avra_b
@Avra_b 2 жыл бұрын
Hi that’s indeed a great suggestion ! I’m planning to review few more Streamlit Components which covers user authentication. I’ll update you once I finish that . Stay in touch :)
@genesistorrico343
@genesistorrico343 2 жыл бұрын
Thank you very much, your video helped me a lot. Excellent explanation thanks!
@Avra_b
@Avra_b 2 жыл бұрын
Thank you for your feedback! Very kind of you , this undoubtedly motivates me to create more content and share with you all . Cheers
@t4n_shahin
@t4n_shahin 3 ай бұрын
you are a life saver
@Avra_b
@Avra_b 3 ай бұрын
Your comment is my positivity boost on a Sunday Morning , cheers !
@minnie3569
@minnie3569 2 ай бұрын
thank you so muchhhhh i love youuu it was so useful
@Avra_b
@Avra_b 2 ай бұрын
🫶🏽
@bhaskarturkar2863
@bhaskarturkar2863 Жыл бұрын
Great video , Thanks
@Avra_b
@Avra_b Жыл бұрын
Happy to hear 🤗
@whitename7764
@whitename7764 Жыл бұрын
Great!!!
@Avra_b
@Avra_b Жыл бұрын
☺️
@AnkurSingh-kj9wu
@AnkurSingh-kj9wu Жыл бұрын
You are great! Thanks a lot! :-)
@Avra_b
@Avra_b Жыл бұрын
Hey Ankur! You being too kind , thanks anyways 🤗
@AnkurSingh-kj9wu
@AnkurSingh-kj9wu Жыл бұрын
@@Avra_b Just because of you, The error I was trying since yesterday got solved in less than a minute. 😄
@Avra_b
@Avra_b Жыл бұрын
Happy to hear 🤗💛
@アルズぺイマサマン
@アルズぺイマサマン 2 жыл бұрын
brilliant!
@Avra_b
@Avra_b 2 жыл бұрын
Thank you 🤗
@kugann3421
@kugann3421 2 жыл бұрын
Thank you
@Avra_b
@Avra_b 2 жыл бұрын
Hey you are welcome 🤗
@123xxxify
@123xxxify 2 жыл бұрын
Nice sir, from Doge Vietnam
@Avra_b
@Avra_b 2 жыл бұрын
Glad to see you here . Stay in touch 🤗
@thghtfl
@thghtfl 3 жыл бұрын
that actually does NOT stop streamlit from rerunning the app, you just don’t see that is happening due to small amount of initializing data
@Avra_b
@Avra_b 3 жыл бұрын
Hi @Igor , thanks for your feedback. I would like to understand more clearly this issue , can you please provide me with your use case ? As far as it goes, the video mainly indicates the workaround with the widgets active state. Data loading at every run can be ignored as well, for that wrapping within a function is necessary ( mentioned in the blog post )
@Kinematician30
@Kinematician30 3 жыл бұрын
HEY! Avra can I get your Linkedin profile?
@Avra_b
@Avra_b 3 жыл бұрын
You can find me here - www.linkedin.com/in/avratanu-biswas-708616b7
@kunalr_ai
@kunalr_ai 7 ай бұрын
Watching today in 17 jun 2024 😂😂
@Avra_b
@Avra_b 4 ай бұрын
Wdyt?
@kunalr_ai
@kunalr_ai 4 ай бұрын
@@Avra_b what is the question?
@scankomp241
@scankomp241 2 жыл бұрын
Что здесь происходит )
@photon2724
@photon2724 Жыл бұрын
Streamlit should be burned for this! like how is this ever a good feature?!
@Avra_b
@Avra_b Жыл бұрын
It’s a trade I would say . We get the ease of development and prototyping quickly , trading with such inefficient state of widgets. There are frameworks nice niceGUI / Reflex / Solara - better in dealing with it
@isaquedavid4064
@isaquedavid4064 2 жыл бұрын
@Avra_b
@Avra_b 2 жыл бұрын
Thank you David ! Stay in touch 🤗
Жездуха 42-серия
29:26
Million Show
Рет қаралды 2,6 МЛН
Война Семей - ВСЕ СЕРИИ, 1 сезон (серии 1-20)
7:40:31
Семейные Сериалы
Рет қаралды 1,6 МЛН
요즘유행 찍는법
0:34
오마이비키 OMV
Рет қаралды 12 МЛН
Streamlit: The Fastest Way To Build Python Apps?
11:57
pixegami
Рет қаралды 172 М.
Data Dashboard GUI App with Taipy Scenarios -  Step by Step Python Tutorial
1:15:57
Build a Python Website in 15 Minutes With Streamlit
18:37
Tech With Tim
Рет қаралды 94 М.
EPIC Google Sheets to Interactive Dashboard in Python ft. Streamlit / CSS
27:41
5 Things I Wish I Knew Before Learning Streamlit
21:34
Fanilo Andrianasolo
Рет қаралды 39 М.
Streamlit Elements You Should Know About in 2023
14:31
Mısra Turp
Рет қаралды 113 М.
OpenAI's nightmare: Deepseek R1 on a Raspberry Pi
4:18
Jeff Geerling
Рет қаралды 1,6 МЛН
Structuring and Organising Streamlit Apps
12:08
Andy McDonald
Рет қаралды 2,1 М.
Жездуха 42-серия
29:26
Million Show
Рет қаралды 2,6 МЛН