- About
- Examples
- Goal
- Why This Project Matters
- Technologies | Stack
- Data Source
- Key Features
- Use Case
- Quickstart
- Run the notebook
- Project Structure
- Testing
- License & Data Usage
- My role
- What I Learned / Built Here
- Author
- Development Plans
This project explores open datasets on radioactive emissions and discharges from
nuclear power plants (NPPs) in Ukraine. Using Python, Pandas, and Plotly, we
analyze environmental indicators across several stations and visualize quarterly
changes over time.
All data is retrieved from publicly available government sources.
Better understand trends in emission levels and present the data in an
accessible, interactive format.
Ukraine's energy sector, especially nuclear energy, is vital and sensitive.
However, public data on its status is often fragmented or not easily accessible.
This project makes Ukrainian NPP (Nuclear Power Plant) data:
- π Accessible β parsed and structured from open government sources
- π Usable β cleaned and pre-processed for analysis
- π Reusable β exposes data for other developers, analysts, or watchdogs
By offering an interface (API and visuals in the future), this tool can help:
- Analysts monitor energy safety and trends
- NGOs use this data for transparency reports
- Developers integrate it into educational or civic tech tools
- Backend: Python, Request
- Data Analysis: Pandas, Plotly
- Development Tools: Poetry, Ruff, Black
- Testing: Unittest, Pytest
- Notebooks: Jupyter Notebook
- Fetch real-time datasets
- Process Excel reports into structured DataFrames
- Build interactive, filterable visualizations (Plotly)
- Analyze radioactive emissions, discharges, and thresholds
- Modular structure and reusable components
This project allows researchers and developers to explore environmental metrics
such as:
- Inert radioactive gas emissions (IRG)
- Iodine radionuclides index
- Long-living isotopes
- Cs-137 and Co-60 emissions/discharges
- Quarterly and annual release indexes
Follow these steps to set up and run the project:
- Python 3.12+
- Poetry
-
Clone the repository:
git clone https://github.com/Asbuga/Ukrainian-NPPs.git cd Ukrainian-NPPs
-
Create and activate your environment with Poetry:
poetry install
Now you're ready to explore the project!
To analyze data or visualize results, you can use Jupyter Notebook. Follow these
steps:
Run Jupyter Notebook:
poetry run jupyter notebookNow you can explore and analyze the data interactively!
β
ββββ.github # GitHub-specific configuration folder
β ββββworkflows
β ci.yml # GitHub Actions CI workflow (e.g., for testing, linting)
ββββcommon # Core Python modules for shared logic
β β client.py # Likely contains client logic
β β translate_text.py # Module for text translation functionality
β β utils.py # Utility/helper functions
β
ββββdocs # Project documentation
β ββββimg # Images used in READMI.md
β co_60_dump_all_stations.png
β index_radioactive_releas_all_stations.png
β
ββββnotebook # Jupyter notebooks for research and prototyping
β research.ipynb # Analytical notebook
β
ββββtests # Test suite for the project
β ββββunit
β test_client.py # Tests for the `client.py` module
β test_data_format.py # Tests for data formatting logic
β test_translat # Tests for translate text.
β
β .pre-commit-config.yaml # Configuration for pre-commit hooks
β LICENSE
β poetry.lock # Locked versions of dependencies (used by Poetry)
β pyproject.toml # Project configuration and dependency definitions (Poetry)
β README.md # Project overview and instructionsTo ensure the project is working correctly, you can run the test suite. Follow
these steps:
-
Activate the virtual environment.
-
Run the tests using pytest:
poetry run pytest
For a more detailed output, use the verbose mode:
poetry run pytest -v
This will execute all unit and integration tests and provide a summary of the
results.
All datasets are sourced from data.gov.ua and distributed under the Creative
Commons Attribution 4.0 License (CC BY 4.0).
Make sure to attribute the original source if you reuse the data.
This project was created as a part of my learning path and personal interest in
open data and energy infrastructure in Ukraine.
My main responsibilities and skills demonstrated here include:
- π§ Data Processing: Data parsing, cleaning, transformation using Python
& Pandas - π Data Analysis: Exploratory data analysis of NPP metrics, preparing it for
visualization - π§± Project Structure: Organizing code for clarity, scalability, and future
API integration
- Processing open government data: collection, cleaning, transformation
- Working with tabular sources (CSV, XLSX) using Pandas
- Building graphs/visualizations using Plotly
- Organizing the project structure for scaling
Andrii Buha
Python Backend Developer | Django & FastAPI | Data Processing
If you're interested in collaboration, feedback, or hiring β feel free to
reach out:
- REST API
- Tests
- Deploy

