{"id":18293520,"url":"https://github.com/kuranez/eu-energy-map","last_synced_at":"2026-05-05T12:31:44.054Z","repository":{"id":258786106,"uuid":"875410901","full_name":"kuranez/eu-energy-map","owner":"kuranez","description":"Dashboard visualizing renewable energy trends in the European Union.  ","archived":false,"fork":false,"pushed_at":"2025-11-18T15:07:46.000Z","size":19263,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-18T17:08:38.219Z","etag":null,"topics":["dashboard","dashboards","data-analysis","data-visualization","energy-data","european-union","geopandas","green-energy","interactive-map","map","pandas","plotly","python","renewable-energy","renewables","web-app"],"latest_commit_sha":null,"homepage":"https://apps.kuracodez.space/eu-energy-map/","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/kuranez.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-19T22:38:48.000Z","updated_at":"2025-06-29T19:44:35.000Z","dependencies_parsed_at":"2025-06-28T10:28:37.026Z","dependency_job_id":"12758d72-14d8-49c6-844f-6ffa3f36c8b8","html_url":"https://github.com/kuranez/eu-energy-map","commit_stats":null,"previous_names":["kuranez/eu-energy-map"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/kuranez/eu-energy-map","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuranez%2Feu-energy-map","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuranez%2Feu-energy-map/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuranez%2Feu-energy-map/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuranez%2Feu-energy-map/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kuranez","download_url":"https://codeload.github.com/kuranez/eu-energy-map/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuranez%2Feu-energy-map/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32649520,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["dashboard","dashboards","data-analysis","data-visualization","energy-data","european-union","geopandas","green-energy","interactive-map","map","pandas","plotly","python","renewable-energy","renewables","web-app"],"created_at":"2024-11-05T14:24:53.776Z","updated_at":"2026-05-05T12:31:44.043Z","avatar_url":"https://github.com/kuranez.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EU Energy Map\n\n\u003cp align=\"left\"\u003e\n    \u003ca href=\"https://www.python.org/\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white\" alt=\"Python\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pandas.pydata.org/\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Pandas-150458?style=for-the-badge\u0026logo=pandas\u0026logoColor=white\" alt=\"Pandas\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://geopandas.org/\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Geopandas-008000?style=for-the-badge\u0026logo=geopandas\u0026logoColor=white\" alt=\"Geopandas\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://panel.holoviz.org/\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Holoviz%20Panel-0094A9?style=for-the-badge\" alt=\"Holoviz Panel\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://jupyter.org/\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Jupyter-F37626?style=for-the-badge\u0026logo=jupyter\u0026logoColor=white\" alt=\"Jupyter\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://docs.docker.com/\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white\" alt=\"Docker\"/\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\nAn interactive dashboard that visualizes Eurostat data on renewable energy developments across European countries. Built with Python and Panel, the web app provides an intuitive interface to explore renewable energy trends from 2004 to 2022.\n\n## 🌐 Web App\n\n\u003e [![Live Demo](https://img.shields.io/badge/🟢%20Live%20App-%20EU--Energy--Map-0057B7?style=for-the-badge)](https://apps.kuracodez.space/eu-energy-map/app)\n\u003e\n\u003e **Try the app - explore renewable energy data for Europe directly in your browser.**\n\n## Screenshot\n\n\u003e ![https://raw.githubusercontent.com/kuranez/EU-Energy-Map/refs/heads/main/extra/images/screenshots/app.png](https://raw.githubusercontent.com/kuranez/EU-Energy-Map/refs/heads/main/extra/images/screenshots/app.png)\n\n---\n\n## ⚙️ Features\n\n- Interactive dashboard powered by **Panel** and **Plotly**\n    \n- Time-series visualization of renewable energy shares by country and category\n    \n- Geospatial mapping using **GeoJSON** and **GeoPandas**\n    \n- Downloadable datasets and smooth filtering options\n    \n\n###  Example Charts\n---\n\n#### ➤ Renewable Energy Share Per Year\n---\n![https://raw.githubusercontent.com/kuranez/EU-Energy-Map/refs/heads/main/extra/images/screenshots/year_chart.png](https://raw.githubusercontent.com/kuranez/EU-Energy-Map/refs/heads/main/extra/images/screenshots/year_chart.png)\n\n---\n#### ➤ Renewable Energy Share Per Country\n---\n![https://raw.githubusercontent.com/kuranez/EU-Energy-Map/refs/heads/main/extra/images/screenshots/country_chart.png](https://raw.githubusercontent.com/kuranez/EU-Energy-Map/refs/heads/main/extra/images/screenshots/country_chart.png)\n\n---\n### Recent Changes\n---\n\n**Bar Charts**\n- Unified display of **EU Total Average** across all charts, with a toggle option to show/hide it.\n- Minor improvements to hover templates and trace labels.\n\t \n**Map**\n- Implemented hover templates displaying **country flags and data**.\n- Recentered map and adjusted zoom.\n- Added layout spacers for improved alignment.\n\n**Description**\n- Added basic **usage instructions** to the dashboard.\n- Added emojis and graphics.\n\n**Layout \u0026 Dashboard**\n- Reorganized dashboard components for **better clarity and user experience**.\n- Minor improvements to scaling.\n\n**File Structure**\n- Reorganization of file structure to me more **modular and easier to expand**.\n\n---\n\n## 📦 Python Dependencies\n\n- **Core:** `os`, `json`\n    \n- **Data Handling:** `pandas`, `geopandas`\n    \n- **Visualization:** `plotly.express`, `plotly.graph_objects`, `plotly.io`\n    \n- **Dashboard UI:** `panel`\n    \n\n---\n\n## 📊 Datasets\n\n### 1. Renewable Energy Data (Eurostat)\n\n- **File:** `nrg_ind_ren_linear.csv`\n    \n- **Source:** [Eurostat – Renewable Energy](https://ec.europa.eu/eurostat/databrowser/view/nrg_ind_ren/default/table?lang=en)\n    \n- **Years:** 2004–2022\n    \n- **Columns:** Country codes, energy type, unit, value (%), flags\n    \n- **Categories:** Total renewables, electricity, heating/cooling, transport\n    \n\n### 2. Geographic Boundaries (GISCO - Eurostat)\n\n- **File:** `europe.geojson`\n    \n- **Source:** [GISCO – Eurostat](https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units/countries)\n    \n- **Year:** 2024\n    \n- **Format:** GeoJSON (EPSG:4326), scale 1:20M\n    \n\n---\n\n## 📁 File Structure\n\n```yaml\nEU-Energy-Map/\n├── app.py                   # Main dashboard entry point\n├── config.py                # Configurations (tokens, paths, etc)\n├── data/\n│   ├── loader.py            # Loads and merges CSV/GeoJSON data\n│   ├── filters.py           # Preprocessing and filtering logic\n│   └── nrg_ind_ren_linear.csv   # Eurostat renewable energy data\n├── components/\n│   ├── charts/\n│   │   ├── bar_chart_by_country.py  # Bar chart: Country vsU\n│   │   └── bar_chart_by_year.py     # Bar chart: All countries by year\n│   ├── map.py                # Interactive choropleth map\n│   └── widgets.py            # Dashboard widgets (sliders, selectors)\n├── layout/\n│   └── dashboard.py          # Layout composition for Panel\n├── utils/                    # Helper functions\n│   ├── colors.py             # Color scales \u0026 conversion\n│   └── flags.py              # ISO2 code → emoji flag\n├── assets/\n│   ├── europe-renewables-500px.png  # Dashboard image\n│   └─── logo-500px.png               # Logo\n└── geo/\n    └── europe.geojson        # European country boundaries (GeoJSON)\n```\n\n---\n\n## 📙 Documentation\n\n**Code documentation is provided as a Jupyter notebook.**  \nYou can view it here: [documentation.ipynb](documentation.ipynb) \n\n\n## 📕 Resources\n\n\u003e - [Holoviz Panel](https://panel.holoviz.org/) – A powerful Python framework for creating interactive web apps and dashboards, used for the UI in this project.\n\u003e - [Pandas](https://pandas.pydata.org/) – Essential for data manipulation and analysis, enabling efficient handling of Eurostat datasets.\n\u003e - [Geopandas](https://geopandas.org/) – Extends pandas to support geospatial data, making it easy to work with geographic boundaries and mapping.\n\u003e - [Jupyter](https://jupyter.org/) - An interactive environment for running Python code in notebooks, ideal for experimentation, documentation, and prototyping scripts.\n\u003e - [Docker Documentation](https://docs.docker.com/) -  Official guides for containerizing, deploying, and running this app consistently across different environments.\n\n## 📘 License\n\nThis project is open source and available under the **MIT License**. \nYou may modify, distribute, and use it freely in your own projects.\n\n---\n\n## 📓 Jupyter Notebook Version (Previous Release)\n\nA standalone Jupyter Notebook version of the EU Energy Map dashboard is available from a previous release:\n\n\u003e [**Download Notebook Release v1.1**](https://github.com/kuranez/eu-energy-map/releases/tag/nb-1.1)\n\n- Run the notebook locally to explore and visualize Eurostat renewable energy data without setting up the full web app.\n- Includes interactive charts and geospatial mapping using the same datasets.\n- Ideal for experimentation, prototyping, or educational use.\n\n\n---\n\n## 🔗 Related Projects\n\nIf you're working with Eurostat TSV datasets and need a tool for quick conversion to CSV, check out my companion project:\n\n➡️ **[TSV-CSV Converter](https://github.com/kuranez/TSV-CSV-Converter)** – A lightweight utility to convert Eurostat-style `.tsv` files into clean `.csv` format.\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuranez%2Feu-energy-map","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkuranez%2Feu-energy-map","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuranez%2Feu-energy-map/lists"}