{"id":44350985,"url":"https://github.com/radlab-dev-group/radlab-playground-ui","last_synced_at":"2026-02-11T15:05:58.456Z","repository":{"id":314585647,"uuid":"1054773334","full_name":"radlab-dev-group/radlab-playground-ui","owner":"radlab-dev-group","description":"radlab‑playground‑ui is a Streamlit‑based interactive playground that lets users explore information, graphs, browse generated news, interact with generative chat models, and monitor system status. All UI elements are localisation‑aware, so the interface can be presented in multiple languages with a single configuration step.","archived":false,"fork":false,"pushed_at":"2025-12-27T17:15:13.000Z","size":1897,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-29T15:30:10.988Z","etag":null,"topics":["playground","radlab","streamlit"],"latest_commit_sha":null,"homepage":"https://playground.radlab.dev/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radlab-dev-group.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-11T10:04:11.000Z","updated_at":"2025-12-27T17:15:19.000Z","dependencies_parsed_at":"2025-09-13T12:57:06.711Z","dependency_job_id":"1bf45168-33fb-4ca9-b5c6-9edd7a7bdda6","html_url":"https://github.com/radlab-dev-group/radlab-playground-ui","commit_stats":null,"previous_names":["radlab-dev-group/radlab-playground-ui"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/radlab-dev-group/radlab-playground-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radlab-dev-group%2Fradlab-playground-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radlab-dev-group%2Fradlab-playground-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radlab-dev-group%2Fradlab-playground-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radlab-dev-group%2Fradlab-playground-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radlab-dev-group","download_url":"https://codeload.github.com/radlab-dev-group/radlab-playground-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radlab-dev-group%2Fradlab-playground-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29336093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T14:34:07.188Z","status":"ssl_error","status_checked_at":"2026-02-11T14:34:06.809Z","response_time":97,"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":["playground","radlab","streamlit"],"created_at":"2026-02-11T15:05:57.823Z","updated_at":"2026-02-11T15:05:58.450Z","avatar_url":"https://github.com/radlab-dev-group.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# radlab-playground-ui\n\nradlab‑playground‑ui is a Streamlit‑based interactive playground that lets users explore information,\nbrowse generated summaries, interact with generative chat models, and monitor system status.\n\nThe interface is fully localisation‑aware, supporting multiple languages out‑of‑the‑box, \nand is publicly available at https://playground.radlab.dev.\n\n\nAll interactions are performed through a set of thin wrapper APIs (`src/api_public.py`)\nthat communicate with the backend services. The interface is fully configurable\nvia JSON and Excel files, making it easy to adapt to new languages, logos, or data sources.\n\n---  \n\n## Pages Overview\n\nThe **`streamlit_ui/pages/`** directory contains the individual Streamlit pages that make up the UI. Below is a short\ndescription of each page:\n\n| File                 | Description                                                                                                                    |\n|----------------------|--------------------------------------------------------------------------------------------------------------------------------|\n| `administration.py`  | Administrative tools for system settings, and monitoring backend health.                                                       |\n| `creator_actual.py`  | Interface for creating article from indexed summaries based on the user query (RAG)                                            |\n| `home.py`            | The landing page that introduces the playground, provides quick links to all other sections, and displays general information. |\n| `info_explorator.py` | Explores informational graphs, showing examples, explanations, and how the explorer works.                                     |\n| `news_browser.py`    | Browse generated items, filter by topics or dates, and view full articles.                                                     |\n| `news_stream.py`     | Real‑time news indexing mechanism, showing the latest generated headlines and summaries.                                       |\n| `public_chat.py`     | Public chat interface that connects to the generative chat model for interactive conversations.                                |\n| `statistics.py`      | Displays statistics, metrics.                                                                                                  |\n\n---  \n\n## Running the Interface\n\nThe UI is deployed and can be accessed publicly at:\n\n**https://playground.radlab.dev**\n\nVisit the URL above to explore the playground without any local setup.\n\n---\n\n## Installation\n\n1. **Prerequisites**\n    * Python \u003e= 3.9\n    * `git` (to clone the repo)\n\n2. **Clone the repository**\n\n```shell script\ngit clone https://github.com/your-org/radlab-playground-ui.git\n   cd radlab-playground-ui\n```\n\n3. **Create a virtual environment (optional but recommended)**\n\n```shell script\npython -m venv .venv\nsource .venv/bin/activate\\\n```\n\n4. **Install dependencies**\n\n```shell script\npip install --upgrade pip\npip install -r requirements.txt\n```\n\n5. **Verify the resources**\n\n    * `resources/configs/ui-configuration.json` – UI defaults.\n    * `resources/language/ui_lang_def.xlsx` – translation strings.\n    * `resources/images/` – logos and graphics used throughout the UI.\n\nIf you need to customise any of these files, edit them directly; the UI reads them at start‑up.\n\n---  \n\n## Running the app\n\nThe repository ships a tiny wrapper script that launches Streamlit with the correct entry point:\n\n```shell script\n./run.sh\n```\n\n`run.sh` simply executes:\n\n```shell script\nstreamlit run streamlit_ui/app.py\n```\n\nYou can also start the app manually:\n\n```shell script\nstreamlit run streamlit_ui/app.py\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradlab-dev-group%2Fradlab-playground-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradlab-dev-group%2Fradlab-playground-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradlab-dev-group%2Fradlab-playground-ui/lists"}