{"id":37083098,"url":"https://github.com/gabriel-msilva/streamlit-arborist","last_synced_at":"2026-01-14T10:03:29.025Z","repository":{"id":311083049,"uuid":"828354827","full_name":"gabriel-msilva/streamlit-arborist","owner":"gabriel-msilva","description":"Streamlit component for creating tree views.","archived":false,"fork":false,"pushed_at":"2025-08-22T01:58:04.000Z","size":486,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-22T03:28:36.390Z","etag":null,"topics":["streamlit","streamlit-component"],"latest_commit_sha":null,"homepage":"https://streamlit-arborist.readthedocs.io","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/gabriel-msilva.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,"zenodo":null}},"created_at":"2024-07-13T22:08:16.000Z","updated_at":"2025-08-22T02:16:14.000Z","dependencies_parsed_at":"2025-08-22T03:28:52.832Z","dependency_job_id":"842ef76b-3aac-41d2-ae79-591d77b6de42","html_url":"https://github.com/gabriel-msilva/streamlit-arborist","commit_stats":null,"previous_names":["gabriel-msilva/streamlit-arborist"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/gabriel-msilva/streamlit-arborist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabriel-msilva%2Fstreamlit-arborist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabriel-msilva%2Fstreamlit-arborist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabriel-msilva%2Fstreamlit-arborist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabriel-msilva%2Fstreamlit-arborist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabriel-msilva","download_url":"https://codeload.github.com/gabriel-msilva/streamlit-arborist/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabriel-msilva%2Fstreamlit-arborist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28416513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T08:38:59.149Z","status":"ssl_error","status_checked_at":"2026-01-14T08:38:43.588Z","response_time":107,"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":["streamlit","streamlit-component"],"created_at":"2026-01-14T10:03:28.103Z","updated_at":"2026-01-14T10:03:28.998Z","avatar_url":"https://github.com/gabriel-msilva.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# streamlit-arborist\n\n[![CI - Test, Build and Release](https://github.com/gabriel-msilva/streamlit-arborist/actions/workflows/test-build-release.yaml/badge.svg)](https://github.com/gabriel-msilva/streamlit-arborist/actions/workflows/test-build-release.yaml)\n![PyPI - Version](https://img.shields.io/pypi/v/streamlit-arborist)\n![PyPI - License](https://img.shields.io/pypi/l/streamlit-arborist)\n\n_streamlit-arborist_ is a [Streamlit](https://streamlit.io) component based on\n[react-arborist](https://github.com/brimdata/react-arborist) for visualizing\nhierarchical data structures as interactive tree views.\n\n- Demo application: [st-arborist-example.streamlit.app](https://st-arborist-example.streamlit.app/)\n- Documentation: [streamlit-arborist.readthedocs.io](https://streamlit-arborist.readthedocs.io/)\n\n## Installation\n\n```sh\npip install streamlit-arborist\n```\n\n## Basic usage\n\nA minimal `app.py` file with sample data:\n\n```python\nfrom streamlit_arborist import tree_view\n\ndata = [\n   {\n      \"id\": \"1\",\n      \"name\": \"Parent 1\",\n      \"children\": [\n         {\"id\": \"1.1\", \"name\": \"Child 1\"},\n         {\"id\": \"1.2\", \"name\": \"Child 2\"}\n      ]\n   },\n   {\n      \"id\": \"2\",\n      \"name\": \"Parent 2\",\n      \"children\": [\n         {\"id\": \"2.1\", \"name\": \"Child 3\"},\n         {\"id\": \"2.2\", \"name\": \"Child 4\"}\n      ]\n   }\n]\n\ntree_view(data)\n```\n\nRun Streamlit:\n\n```sh\nstreamlit run app.py\n```\n\n## Development\n\nThis repository is based on\n[streamlit/component-template](https://github.com/streamlit/component-template) template.\nFind details about\n[custom components](https://docs.streamlit.io/develop/concepts/custom-components)\nin Streamlit documentation.\n\nThe development environment requires\n[uv](https://docs.astral.sh/uv/getting-started/installation/)\nand [Node.js + npm](https://nodejs.org/en/download/current) installed.\n\n### Setup\n\nInstall the `dev` Python environment defined in [pyproject.toml](./pyproject.toml)\nand `npm` packages in [streamlit_arborist/frontend](./streamlit_arborist/frontend/):\n\n```sh\nmake setup\n```\n\n### Running\n\nWhile developing the frontend, set `_RELEASE = False` in [`__init__.py`](./streamlit_arborist/__init__.py).\n\n1. Run the [app/example.py](./app/example.py) app file with Streamlit:\n\n   ```sh\n   make backend\n   ```\n\n2. Start the component's frontend server:\n\n   ```sh\n   make frontend\n   ```\n\nOpen the app running at \u003chttp://localhost:8501\u003e.\n\n### Build\n\nSet `_RELEASE = True` in [`__init__.py`](./streamlit_arborist/__init__.py) and run:\n\n```sh\nmake build\n```\n\n### Documentation\n\nThe documentation files are located in [docs/](./docs/) directory and written with\n[Sphinx](https://www.sphinx-doc.org/en/).\n\n```sh\nmake docs\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabriel-msilva%2Fstreamlit-arborist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabriel-msilva%2Fstreamlit-arborist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabriel-msilva%2Fstreamlit-arborist/lists"}