{"id":14970837,"url":"https://github.com/supern8ent/st-mui-multiselect","last_synced_at":"2025-07-03T05:04:09.640Z","repository":{"id":60234298,"uuid":"536011734","full_name":"supern8ent/st-mui-multiselect","owner":"supern8ent","description":"Multiselect component for Streamlit using Material UI's tool","archived":false,"fork":false,"pushed_at":"2022-09-27T02:06:37.000Z","size":2889,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-31T13:36:11.236Z","etag":null,"topics":["streamlit-component"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/supern8ent.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}},"created_at":"2022-09-13T07:36:11.000Z","updated_at":"2025-02-08T20:21:35.000Z","dependencies_parsed_at":"2022-09-27T02:40:22.327Z","dependency_job_id":null,"html_url":"https://github.com/supern8ent/st-mui-multiselect","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/supern8ent/st-mui-multiselect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supern8ent%2Fst-mui-multiselect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supern8ent%2Fst-mui-multiselect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supern8ent%2Fst-mui-multiselect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supern8ent%2Fst-mui-multiselect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supern8ent","download_url":"https://codeload.github.com/supern8ent/st-mui-multiselect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supern8ent%2Fst-mui-multiselect/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263264641,"owners_count":23439247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["streamlit-component"],"created_at":"2024-09-24T13:44:13.232Z","updated_at":"2025-07-03T05:04:09.617Z","avatar_url":"https://github.com/supern8ent.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Material UI Multiselect component for Streamlit\n\n\u003e Multiselect component for Streamlit using Material UI's tool.\n\n### Installation\n\n```\n$ pip install st-mui-multiselect\n```\n\n### Usage\n\n```\nimport streamlit as st\nfrom st_mui_multiselect import st_mui_multiselect\n\noptions = [\"Mayo\", \"Lettuce\", \"Pickles\", \"Tomatoes\", \"Onions\", \"Mushrooms\", \"Ketchup\", \"Jalapeños\"]\nselections = st_mui_multiselect(options, size=5)\nst.markdown(\"You selected %s\" % \", \".join(selections))\n```\n\n## Development\n\nWhile developing the component, it can be served from npm. Once it's ready the component should be\nbuilt using npm.\n\nThe entrypoint for the component's typescript code is the `StMuiMultiselect` class. For more\nbackground check out the following:\n- [Streamlit - Components API Reference](https://docs.streamlit.io/library/components/components-api)\n- [Streamlit - Create a Component](https://docs.streamlit.io/library/components/create)\n\n### Prerequisites\n\n- [Python 3.9](https://www.python.org)\n- [Node.js 16](https://nodejs.org)\n- [Poetry](https://python-poetry.org)\n\n### Setup\n\n```\n$ poetry install\n$ cd st_mui_multiselect/frontend\n$ npm install\n$ poetry run pre-commit install\n$ poetry run pre-commit install -t pre-push\n```\n\n### Run dev\n\nYou need to run *both* npm dev server for the JS component frontend as well as streamlit\n```\n$ cd st_mui_multiselect/frontend\n$ npm run start\n```\n```\n$ ST_CG_SERVE=1 poetry run streamlit run demo_app.py\n```\nSetting environment variable `ST_CG_SERVE=1` tells the component to serve from npm.\n\n### Build component\n\n```\n$ cd st_mui_multiselect/frontend\n$ npm run build\n```\nTo test the built component, run the demo app without setting the environment variable:\n```\n$ poetry run streamlit run demo_app.py\n```\n\n### Publish\n\n```\n$ poetry build\n$ poetry publish\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupern8ent%2Fst-mui-multiselect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupern8ent%2Fst-mui-multiselect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupern8ent%2Fst-mui-multiselect/lists"}