import os import streamlit.components.v1 as components # Declare the component with a path to index.html mycomponent = components.declare_component( "mycomponent", path=os.path.dirname(os.path.abspath(__file__)) ) # Python function to interact with the component def speech_component(default_value=""): """ A custom Streamlit component for continuous speech recognition. Args: default_value (str): Initial value to display in the input field. Returns: dict: The latest transcript data from the component. """ # Pass the default value to the component and receive data back component_value = mycomponent(my_input_value=default_value, key="speech_component") # If no value is returned yet, return an empty dict if component_value is None: return {"value": ""} # Return the component value (expecting a dict with 'value' key) return component_value if __name__ == "__main__": # Test the component standalone value = speech_component("Say something...") st.write("Received from component:", value)