{"id":27954398,"url":"https://github.com/ebu/ebu_cs","last_synced_at":"2026-01-23T12:56:40.235Z","repository":{"id":285371592,"uuid":"957875349","full_name":"ebu/ebu_cs","owner":"ebu","description":"EBU metadata reference data and classification schemes","archived":false,"fork":false,"pushed_at":"2025-04-01T13:48:20.000Z","size":459,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-07T17:29:09.578Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/ebu.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":"2025-03-31T09:29:53.000Z","updated_at":"2025-04-02T12:57:45.000Z","dependencies_parsed_at":"2025-03-31T11:24:37.728Z","dependency_job_id":"742f0413-008e-4da6-b636-bf1715d2edd1","html_url":"https://github.com/ebu/ebu_cs","commit_stats":null,"previous_names":["ebu/ebu_cs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ebu/ebu_cs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebu%2Febu_cs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebu%2Febu_cs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebu%2Febu_cs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebu%2Febu_cs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ebu","download_url":"https://codeload.github.com/ebu/ebu_cs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebu%2Febu_cs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28692453,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T11:01:27.039Z","status":"ssl_error","status_checked_at":"2026-01-23T11:00:26.909Z","response_time":59,"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":[],"created_at":"2025-05-07T17:28:19.149Z","updated_at":"2026-01-23T12:56:40.221Z","avatar_url":"https://github.com/ebu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EBU Classification Scheme Viewer\n\nThis repository contains the [EBU Metadata Classification Schemes](https://tech.ebu.ch/MetadataReferenceData) in XML format, along with tools to explore and navigate them using a visual interface.\n\n---\n\n## Context\n\nThe European Broadcasting Union (EBU) provides a set of reference classification schemes for metadata modeling, standardization, and data interoperability across media organizations.\n\nThe XML files in the metadata repository represent controlled vocabularies for terms such as roles, media types, content genres, rights, and more.\n\n---\n\n## Repository Structure\n\nThe project is organized into two repositories:\n\n- **Metadata repository**: Contains XML files that define a `ClassificationScheme` and a structured hierarchy of `Term` elements.\n- **Code repository**: Provides tools to browse and search the metadata content.\n\n---\n\n## How to Use the Online Viewer\n\n\u003cimg width=\"1496\" alt=\"XMLTreeViewer\" src=\"https://github.com/user-attachments/assets/c6a02e15-075f-4464-8971-f7ae27c6ec15\" /\u003e\n\n\n👉 Open the app: [ebu-cs-xml.streamlit.app](https://ebu-cs-xml.streamlit.app/)\n\n### Features:\n- Browse all XML classification schemes grouped by repository.\n- Filter files and search within terms by label or definition.\n- Click terms to explore hierarchical children and read definitions.\n\nNo installation required. Just visit the URL!\n\n---\n\n## How to Run Locally\n\n### Python Version Requirement\n\nThe local Streamlit XML viewer requires **Python 3.12 or higher** due to features and compatibility with Streamlit and XML processing libraries.\n\nYou can check your current Python version by running:\n\n```bash\npython --version\n```\n\nIf your version is lower than 3.12, follow these instructions to upgrade:\n\n#### macOS (with Homebrew)\n\n```bash\nbrew install python@3.12\nbrew link --overwrite python@3.12\n```\n\n#### Ubuntu / Debian\n\n```bash\nsudo add-apt-repository ppa:deadsnakes/ppa\nsudo apt update\nsudo apt install python3.12 python3.12-venv python3.12-dev\n```\n\n#### Windows\n\nDownload and install the latest Python 3.12.x from the official website:  \n👉 https://www.python.org/downloads/windows/\n\n\u003e ⚠️ After installation, make sure `python` and `pip` point to the new version. You might need to run:\n\u003e\n\u003e ```bash\n\u003e python3.12 -m pip install --upgrade pip\n\u003e ```\n\nOnce Python 3.12+ is installed and available, you can set up and run the project locally using:\n\n\n### 🟩 Option 1: Run the Tkinter Command-Line App\n\nThis version uses a GUI built with `tkinter` to browse and search XML classification schemes.\n\n📁 Source code: [`code/cmd`](https://github.com/ebu/ebu_cs/tree/main/code/cmd)\n\n#### ✅ Requirements\n\n- Python **3.12 or higher** is required (due to improved `tkinter` behavior).\n- `tkinter` must be installed (already included in most Python 3.12 installs).\n\n#### 🚀 To run:\n\n```bash\ncd code/cmd\npython run.py\n```\n\n📝 By default, it loads XML files from `../../metadata/cs` or lets you browse your own.\n\n---\n\n### 🟩 Option 2: Run the Streamlit Web App Locally\n\nThis version provides a modern browser-based interface using [Streamlit](https://streamlit.io/).\n\n📁 Source code: [`code/streamlit`](https://github.com/ebu/ebu_cs/tree/main/code/streamlit)\n\n#### ✅ Setup steps:\n\n1. **Navigate to the app directory**:\n\n```bash\ncd code/streamlit\n```\n\n2. **Create and activate a virtual environment** (recommended):\n\n```bash\npython3 -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n```\n\n3. **Install required packages**:\n\n```bash\npip install -r requirements.txt\n```\n\n4. **Launch the app**:\n\n```bash\nstreamlit run xml_streamlit_viewer.py\n```\n\nThe app will open at: [http://localhost:8501](http://localhost:8501)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febu%2Febu_cs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Febu%2Febu_cs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febu%2Febu_cs/lists"}