Open dectoplate opened 4 months ago
@okld is this repo still mantained?
we love your library and use it extensively throughout our projects Unfortunately this issue prevents us from upgrading Streamlit 😣
Thanks! 😀
Bump
Bump x2 @okld it would be great if you could update it, Thank You.
Bump @okld please!
Hello!
This issue is related to the refactoring of streamlit in using custom components.
It is possible to restore the previous functionality by replacing in the file /streamlit_elements/core/callback.py:
# from streamlit.components.v1 import components
- OLD
from streamlit.components.v1 import custom_component as components
- NEW
However, I hope the streamlit developers will fix this issue in future releases.
Thanks @KhabarovaNina a lot!
I made a small script to patch it automatically (needed for our Docker builds), hope it helps other people :)
import os
import streamlit_elements
import re
def patch_streamlit_elements():
# issue: https://github.com/okld/streamlit-elements/issues/35
relative_file_path = 'core/callback.py'
library_root = list(streamlit_elements.__path__)[0]
file_path = os.path.join(library_root, relative_file_path)
# Read broken file
with open(file_path, 'r') as file:
lines = file.readlines()
broken_import = 'from streamlit.components.v1 import components'
fixed_import = 'from streamlit.components.v1 import custom_component as components\n'
# Fix broken import line
for index, line in enumerate(lines):
if re.match(broken_import, line):
print(f'Replaced broken import in {file_path}')
lines[index] = fixed_import
# Update broken file with fix
with open(file_path, 'w') as file:
file.writelines(lines)
if __name__ == "__main__":
patch_streamlit_elements()
onChange event is not working after Streamlit 1.34 release.