{"id":19153219,"url":"https://github.com/jeandemanged/yagat","last_synced_at":"2026-07-27T11:31:40.018Z","repository":{"id":260796903,"uuid":"882335890","full_name":"jeandemanged/yagat","owner":"jeandemanged","description":"Yet Another Grid Analysis Tool","archived":false,"fork":false,"pushed_at":"2025-01-18T16:50:24.000Z","size":344,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-25T17:19:22.966Z","etag":null,"topics":["desktop-application","graphical-user-interface","load-flow","power-flow","power-system","power-system-analysis","powsybl","pypowsybl","simulation"],"latest_commit_sha":null,"homepage":"https://github.com/jeandemanged/yagat/wiki","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeandemanged.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-11-02T14:56:12.000Z","updated_at":"2025-01-18T16:50:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"e5cc0732-9cb2-4ccf-934a-40b8fe9f0e3d","html_url":"https://github.com/jeandemanged/yagat","commit_stats":null,"previous_names":["jeandemanged/yagat"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/jeandemanged/yagat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeandemanged%2Fyagat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeandemanged%2Fyagat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeandemanged%2Fyagat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeandemanged%2Fyagat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeandemanged","download_url":"https://codeload.github.com/jeandemanged/yagat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeandemanged%2Fyagat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35950362,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-27T02:00:06.776Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["desktop-application","graphical-user-interface","load-flow","power-flow","power-system","power-system-analysis","powsybl","pypowsybl","simulation"],"created_at":"2024-11-09T08:22:16.589Z","updated_at":"2026-07-27T11:31:39.994Z","avatar_url":"https://github.com/jeandemanged.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YAGAT\n\n**Y**et **A**nother **G**rid **A**nalysis **T**ool\n\n[![Actions Status](https://github.com/jeandemanged/yagat/workflows/CI/badge.svg)](https://github.com/jeandemanged/yagat/actions)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=jeandemanged_yagat\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=jeandemanged_yagat)\n\n[![Release](https://img.shields.io/github/v/release/jeandemanged/yagat)](https://github.com/jeandemanged/yagat/releases/latest)\n\n## Overview\n\nYAGAT provides a graphical user interface built on top of the fantastic [PowSyBl](https://www.powsybl.org) open source\ngrid analysis libraries.\n\nWith YAGAT, no programming skills are required: just download, unzip, and run – you're all set!\n\nToday with YAGAT you can:\n\n- Load grid models from the various formats supported by [PowSyBl](https://www.powsybl.org):\n    - PowSyBl native iIDM format\n    - CIM/CGMES\n    - UCTE-DEF\n    - IEEE-CDF\n    - MATPOWER\n    - Siemens PSS®E\n- Display and navigate the grid model:\n    - with electrical buses represented in tabular form\n    - with per-equipment lists\n- Modify generator, load, etc. active power\n- Run a Load Flow, visualize solved bus voltages and branch flows\n\n### Rationale\n\nYAGAT was created to address key limitations found in existing open-source grid analysis tools, making it more\naccessible for users without programming expertise or advanced technical setups. Here's why YAGAT stands out:\n\n1. **Graphical User Interfaces (GUIs):**  \n   Many existing grid analysis tools are command-line-based or require custom scripting. This can be intimidating for\n   users unfamiliar with programming. YAGAT fills this gap by offering a user-friendly GUI, allowing users to interact\n   with grid models visually and intuitively, without writing a single line of code.\n\n2. **Technical Barriers:**  \n   Some tools require extensive programming knowledge or familiarity with complex APIs to perform basic operations like\n   running load flow calculations or modifying grid parameters. YAGAT eliminates this barrier, enabling users to perform\n   these tasks with just a few clicks.\n\n3. **Complicated Installation Processes:**  \n   Installations for many tools often involve dependency management, environment setup, or specific system\n   requirements, making it difficult for non-technical users. YAGAT simplifies this process with pre-packaged binaries\n   for Windows, Linux, and macOS. Installation is as simple as downloading, unzipping, and running the application.\n\nBy addressing these pain points, YAGAT empowers engineers, analysts, and researchers to focus on their work rather than\nwrestling with software setup or programming challenges. It democratizes grid analysis, making it accessible to a\nbroader audience with diverse technical backgrounds.\n\n## Installation\n\nBinary releases are provided for Windows, Linux and macOS on\nthe [releases page](https://github.com/jeandemanged/yagat/releases).  \nNo additional software is required for installation.  \nDownload and extract the zip archive for your platform, then run YAGAT.\n\nNote that YAGAT's author does not own a Mac, please report any issue found running YAGAT on macOS.\n\n## Quick Start\n\n- **Open a sample network**: Go to `File` | `Open Sample network` | `IEEE 9 Bus` to load a sample grid model.\n- **Navigate the grid**: Use the tree view on the left to browse through the network model and its elements.\n- **Run the Load Flow**: Select `Run` | `Load Flow` to execute the analysis.\n    - Once completed, review the solved bus voltages and branch flows.\n\n![yagat quickstart](https://github.com/user-attachments/assets/a5ef2a20-13a8-44f5-b927-8d090d173d73)\n\n## Building from source\n\nWith Python 3.12 and e.g. using a Virtual Environment and `pip`.\n\n```bash\n# clone the git repository\ngit clone https://github.com/jeandemanged/yagat.git\ncd yagat\n```\n\n```bash\n# create a virtual environment and install requirements\npython -m venv venv\n. venv/bin/activate\npip install -r requirements.txt\n```\n\n```bash\n# build the application\npyinstaller -y yagat.spec\n```\n\nYAGAT is then available for your platform in the `dist` directory.\n\n## Roadmap\n\nYAGAT today lacks many features, but you may already find it useful. What is planned for the future is:\n\n### Short-Term to Mid-Term Plans:\n\n- **Grid Import**:\n    - modify format-specific import options\n- **Grid Export**:\n    - modify format-specific export options\n- **Grid views**:\n    - overall cleanup\n    - add tables for grid element parameters (e.g. lines R, X, etc.) display and update\n    - add navigation between the different views\n- **Grid Topology Updates**:\n    - modify switches open/close status, modify equipment connected status\n- **Load Flow**:\n    - Add ability to save/load the Load Flow parameters\n- **Reports**:\n    - View Grid import and Load Flow reports in order to troubleshoot e.g. non-convergence\n\n### Future Plans:\n\n- **Security Analysis**:\n    - Configure a list of contingencies to simulate\n    - Run contingency analysis\n    - View contingency violations\n\n## Under the Hood\n\nYAGAT is:\n\n- **Written in Python**: a high-level, general-purpose programming language.\n- **Using [PyPowSyBl](https://pypowsybl.readthedocs.io/en/latest/index.html)**: Provides the core grid analysis\n  functionalities.\n- **Using [Tkinter](https://wiki.python.org/moin/TkInter)**: Supplies the graphical user interface.\n- **Using [Tksheet](https://github.com/ragardner/tksheet)**: An amazing tkinter table widget.\n- **Using [PyInstaller](https://pyinstaller.org/en/stable/)**: Packages the application.\n\n## Data Confidentiality\n\nWe take data confidentiality seriously.\nAll data processed by the application remains on the user's local machine and is not transmitted to any external\nservers.\nThis ensures complete data privacy for users working with sensitive grid models.\n\n## Contributing and Support\n\nShould you encounter any issues with YAGAT, please let us know.  \nWe welcome contributions, ideas, and feedback. Please open an [issue](https://github.com/jeandemanged/yagat/issues)\nor [pull request](https://github.com/jeandemanged/yagat/pulls) to get involved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeandemanged%2Fyagat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeandemanged%2Fyagat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeandemanged%2Fyagat/lists"}