{"id":14959619,"url":"https://github.com/voznik/streamlit-textcomplete","last_synced_at":"2026-03-02T16:35:41.569Z","repository":{"id":248270123,"uuid":"828240853","full_name":"voznik/streamlit-textcomplete","owner":"voznik","description":"Streamlit Textcomplete - Autocomplete text in any textarea (HTMLTextAreaElement)","archived":false,"fork":false,"pushed_at":"2024-10-16T20:10:59.000Z","size":1038,"stargazers_count":16,"open_issues_count":5,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-04T04:58:43.404Z","etag":null,"topics":["autocomplete","component","streamlit"],"latest_commit_sha":null,"homepage":"https://textcomplete.streamlit.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voznik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-13T14:35:33.000Z","updated_at":"2025-08-29T09:52:55.000Z","dependencies_parsed_at":"2024-09-02T16:37:25.372Z","dependency_job_id":"5f83581e-64d1-4183-a389-595fa81819de","html_url":"https://github.com/voznik/streamlit-textcomplete","commit_stats":{"total_commits":9,"total_committers":3,"mean_commits":3.0,"dds":0.5555555555555556,"last_synced_commit":"aae2fdc5fb1b077ab23015789ca3779603bbfc28"},"previous_names":["voznik/streamlit-textcomplete"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/voznik/streamlit-textcomplete","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voznik%2Fstreamlit-textcomplete","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voznik%2Fstreamlit-textcomplete/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voznik%2Fstreamlit-textcomplete/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voznik%2Fstreamlit-textcomplete/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voznik","download_url":"https://codeload.github.com/voznik/streamlit-textcomplete/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voznik%2Fstreamlit-textcomplete/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30009576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T15:15:59.058Z","status":"ssl_error","status_checked_at":"2026-03-02T15:15:58.758Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autocomplete","component","streamlit"],"created_at":"2024-09-24T13:20:15.328Z","updated_at":"2026-03-02T16:35:41.552Z","avatar_url":"https://github.com/voznik.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Streamlit Textcomplete - Autocomplete text in any textarea\n\nStreamlit Textcomplete is a custom Streamlit component designed to enhance text input fields with autocomplete functionality. It leverages the powerful `textcomplete` library to provide users with a seamless and intuitive autocomplete experience within Streamlit applications.\n\n## Demo\n\n[demo](https://textcomplete.streamlit.app/)\n\n![Example Screencast](https://github.com/voznik/streamlit-textcomplete/blob/2277ab7b1589f2dd15b53e564e29b7c2e95191d0/screencast.gif?raw=true)\n\n\n## Features\n\n- **Autocomplete for Text Areas**: Enhance textarea in Streamlit with autocomplete functionality, making data input faster and more accurate.\n- **Customizable Strategies**: Define your own strategies for text autocomplete, including username mentions, emoji suggestions, and more.\n- **Easy Integration**: Seamlessly integrates with existing Streamlit applications with minimal setup.\n- **Flexible and Extensible**: Easily extend the component to support additional autocomplete strategies as per your application's needs.\n\n## Installation\n\nTo install Streamlit Textcomplete, run the following command in your terminal:\n\n```sh\npip install streamlit-textcomplete\n```\n\n## Usage\n\nTo use Streamlit Textcomplete in your Streamlit application, follow these steps:\n\n1. Import the [`textcomplete`] function from the package.\n2. Define your autocomplete (multiple) strategies.\n3. Define standard streamlit textarea but give it a defined label\n4. Initialize the textcomplete component with this label \u0026 your strategies.\n\nExample:\n\n```python\nimport streamlit as st\nfrom textcomplete import textcomplete, StrategyProps\n\noriginal_label: str = \"Textcomplete Example\"\ntxt: str = st.text_area(\n    label=original_label,\n    key=\"st_text_area_1\",\n)\n# Define your autocomplete strategies\nusername_strategy = StrategyProps(\n    id=\"userFullName\",\n    match=\"\\\\B@(\\\\w*)$\",\n    search=async_search_function,  # Define your async search function as JS string\n    replace=\"([fullName]) =\u003e `${fullName}`\",\n    template=\"([fullName]) =\u003e `🧑🏻 ${fullName}`\",\n)\n\n# Initialize the textcomplete component\ntextcomplete(\n    area_label=original_label,\n    strategies=[username_strategy],\n    max_count=5,\n    # Additional options ...\n)\n```\n\n## Development\n\nTo contribute to the development of Streamlit Textcomplete, you can set up a development environment by cloning the repository and installing the dependencies.\n\n```sh\ngit clone https://github.com/voznik/streamlit-textcomplete.git\ncd streamlit-textcomplete\npip install -r requirements.txt\n```\n\n## Testing\n\nRun the tests to ensure everything is working as expected:\n\n```sh\npytest\n```\n\n## License\n\nStreamlit Textcomplete is MIT licensed, as found in the [LICENSE](LICENSE) file.\n\n## Acknowledgments\n\n- This project is built using the [Textcomplete](https://yuku.takahashi.coffee/textcomplete/) library.\n- Special thanks to the Streamlit community for their support and contributions.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoznik%2Fstreamlit-textcomplete","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoznik%2Fstreamlit-textcomplete","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoznik%2Fstreamlit-textcomplete/lists"}