<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.comfac.net/index.php?action=history&amp;feed=atom&amp;title=Pandapower_Architecture</id>
	<title>Pandapower Architecture - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.comfac.net/index.php?action=history&amp;feed=atom&amp;title=Pandapower_Architecture"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.comfac.net/index.php?title=Pandapower_Architecture&amp;action=history"/>
	<updated>2026-06-05T10:59:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mediawiki.comfac.net/index.php?title=Pandapower_Architecture&amp;diff=187&amp;oldid=prev</id>
		<title>Justinaquino: &quot;Add Pandapower and ONLYOFFICE Nextcloud analysis pages&quot;</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.comfac.net/index.php?title=Pandapower_Architecture&amp;diff=187&amp;oldid=prev"/>
		<updated>2026-03-09T16:22:25Z</updated>

		<summary type="html">&lt;p&gt;&amp;quot;Add Pandapower and ONLYOFFICE Nextcloud analysis pages&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Pandapower Architecture &amp;amp; Codebase Guide =&lt;br /&gt;
&lt;br /&gt;
{{Quote|A newcomer&amp;#039;s guide to understanding how pandapower is organized and how to build a web-based GUI on top of it.}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 1. What Is Pandapower? ==&lt;br /&gt;
&lt;br /&gt;
Pandapower is a Python library for &amp;#039;&amp;#039;&amp;#039;power system modeling and analysis&amp;#039;&amp;#039;&amp;#039;. It lets you:&lt;br /&gt;
&lt;br /&gt;
* Build electrical network models (buses, lines, transformers, generators, loads, etc.)&lt;br /&gt;
* Run simulations (power flow, optimal power flow, short-circuit, state estimation, time series)&lt;br /&gt;
* Visualize results (static plots, interactive Plotly maps)&lt;br /&gt;
* Import/export networks (JSON, Excel, SQL, MATPOWER, CIM, PowerFactory)&lt;br /&gt;
&lt;br /&gt;
Everything is built on &amp;#039;&amp;#039;&amp;#039;pandas DataFrames&amp;#039;&amp;#039;&amp;#039; — each network element type is a table, indexed by element ID. This makes it straightforward to serialize to/from JSON for a web API.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 2. Project Root Layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
pandapower/&lt;br /&gt;
├── pandapower/          # Main Python package (the library itself)&lt;br /&gt;
├── tutorials/           # 60 Jupyter notebooks — examples &amp;amp; learning material&lt;br /&gt;
├── doc/                 # Sphinx RST documentation&lt;br /&gt;
├── .github/             # CI/CD workflows&lt;br /&gt;
├── pyproject.toml       # Dependencies, build config, Python 3.10–3.14&lt;br /&gt;
├── setup.py             # Minimal setuptools entry&lt;br /&gt;
├── README.rst&lt;br /&gt;
├── CHANGELOG.rst&lt;br /&gt;
├── AUTHORS&lt;br /&gt;
├── CITATION.bib&lt;br /&gt;
├── architecture.md      # ← This file&lt;br /&gt;
└── GUI_PRD.md           # Functional requirements for the web GUI&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 3. Core Package Structure (&amp;lt;code&amp;gt;pandapower/pandapower/&amp;lt;/code&amp;gt;) ==&lt;br /&gt;
&lt;br /&gt;
=== 3.1 Network Creation &amp;amp; Data Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Path !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/&amp;lt;/code&amp;gt; || Element creation functions — one file per element type&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/__init__.py&amp;lt;/code&amp;gt; || Re-exports all &amp;lt;code&amp;gt;create_*()&amp;lt;/code&amp;gt; functions&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/bus_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_bus()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;create_buses()&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/line_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_line()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;create_line_from_parameters()&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/gen_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_gen()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;create_gens()&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/load_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_load()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;create_loads()&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/sgen_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_sgen()&amp;lt;/code&amp;gt; — static generators (solar/wind)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/ext_grid_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_ext_grid()&amp;lt;/code&amp;gt; — slack/reference bus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/impedance_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_impedance()&amp;lt;/code&amp;gt; — series impedance&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/shunt_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_shunt()&amp;lt;/code&amp;gt; — capacitor banks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/switch_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_switch()&amp;lt;/code&amp;gt; — breakers/isolators&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/storage_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_storage()&amp;lt;/code&amp;gt; — batteries&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/motor_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_motor()&amp;lt;/code&amp;gt; — async motors&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/cost_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_poly_cost()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;create_pwl_cost()&amp;lt;/code&amp;gt; — OPF costs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/measurement_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_measurement()&amp;lt;/code&amp;gt; — for state estimation&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/network_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_empty_network()&amp;lt;/code&amp;gt; — the starting point&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/group_create.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;create_group()&amp;lt;/code&amp;gt; — element grouping&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create/source_create.py&amp;lt;/code&amp;gt; || DC elements, FACTS (SVC, TCSC, SSC, VSC)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Key concept:&amp;#039;&amp;#039;&amp;#039; A &amp;lt;code&amp;gt;pandapowerNet&amp;lt;/code&amp;gt; is a dict-like object where each key (e.g., &amp;lt;code&amp;gt;net.bus&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.line&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.load&amp;lt;/code&amp;gt;) is a pandas DataFrame. Results go into &amp;lt;code&amp;gt;net.res_bus&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.res_line&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Analysis Engines ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Path !! Function !! What It Does&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;run.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;runpp()&amp;lt;/code&amp;gt; || &amp;#039;&amp;#039;&amp;#039;AC Power Flow&amp;#039;&amp;#039;&amp;#039; — the most-used function&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;run.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;rundcpp()&amp;lt;/code&amp;gt; || DC Power Flow (linearized approximation)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;run.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;runopp()&amp;lt;/code&amp;gt; || AC Optimal Power Flow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;run.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;rundcopp()&amp;lt;/code&amp;gt; || DC Optimal Power Flow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;run.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;runpp_3ph()&amp;lt;/code&amp;gt; || Three-phase unbalanced power flow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;run.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;runpp_pgm()&amp;lt;/code&amp;gt; || Power flow via C++ PowerGridModel backend&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;powerflow.py&amp;lt;/code&amp;gt; || Internal || Power flow orchestration&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;optimal_powerflow.py&amp;lt;/code&amp;gt; || Internal || OPF orchestration&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pf/&amp;lt;/code&amp;gt; || Internal || Newton-Raphson, backward-forward sweep, Gauss-Seidel, fast-decoupled solvers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;shortcircuit/&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;calc_sc()&amp;lt;/code&amp;gt; || Short-circuit analysis (IEC 60909)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;estimation/&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;estimate()&amp;lt;/code&amp;gt; || State estimation (WLS, IRWLS, LP)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;timeseries/&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;run_time_series()&amp;lt;/code&amp;gt; || Multi-timestep simulation&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;contingency/&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;run_contingency()&amp;lt;/code&amp;gt; || N-1 contingency analysis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;opf/&amp;lt;/code&amp;gt; || Internal || OPF via PYPOWER / PowerModels.jl&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Path !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;results.py&amp;lt;/code&amp;gt; || Main result extraction orchestrator&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;results_bus.py&amp;lt;/code&amp;gt; || Bus results: voltage magnitude/angle, P/Q injection&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;results_branch.py&amp;lt;/code&amp;gt; || Line &amp;amp; trafo results: loading%, current, losses&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;results_gen.py&amp;lt;/code&amp;gt; || Generator results: P/Q output&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Result tables populated after analysis:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Table !! Key Columns&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;net.res_bus&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;vm_pu&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;va_degree&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;p_mw&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;q_mvar&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;net.res_line&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;loading_percent&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;i_from_ka&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;i_to_ka&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pl_mw&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ql_mvar&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;net.res_trafo&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;loading_percent&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pl_mw&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ql_mvar&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;net.res_load&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;p_mw&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;q_mvar&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;net.res_gen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;p_mw&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;q_mvar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm_pu&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;net.res_sgen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;p_mw&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;q_mvar&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;net.res_bus_sc&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;ikss_ka&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ip_ka&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ith_ka&amp;lt;/code&amp;gt; (short-circuit)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;net.res_bus_est&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;vm_pu&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;va_degree&amp;lt;/code&amp;gt; (state estimation)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3.4 I/O &amp;amp; Converters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Path !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;file_io.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;to_json()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;from_json()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;to_excel()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;from_excel()&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sql_io.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;to_sql()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;from_sql()&amp;lt;/code&amp;gt; — PostgreSQL, SQLite&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;io_utils.py&amp;lt;/code&amp;gt; || Serialization helpers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;converter/matpower/&amp;lt;/code&amp;gt; || MATPOWER format import/export&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;converter/pypower/&amp;lt;/code&amp;gt; || PYPOWER format&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;converter/cim/&amp;lt;/code&amp;gt; || IEC Common Information Model&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;converter/powerfactory/&amp;lt;/code&amp;gt; || DIgSILENT PowerFactory&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;converter/ucte/&amp;lt;/code&amp;gt; || UCTE exchange format&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;converter/jao/&amp;lt;/code&amp;gt; || JAO format&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;converter/pandamodels/&amp;lt;/code&amp;gt; || Julia PowerModels.jl bridge&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Visualization &amp;amp; Plotting ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Path !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plotting/simple_plot.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;simple_plot()&amp;lt;/code&amp;gt; — Matplotlib static plots&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plotting/collections.py&amp;lt;/code&amp;gt; || Styled element collections (buses, lines, trafos)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plotting/powerflow_results.py&amp;lt;/code&amp;gt; || Color-coded result overlays&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plotting/geo.py&amp;lt;/code&amp;gt; || Geographic coordinate handling&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plotting/to_html.py&amp;lt;/code&amp;gt; || Export to standalone HTML&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plotting/plotly/&amp;lt;/code&amp;gt; || &amp;#039;&amp;#039;&amp;#039;Interactive Plotly plots&amp;#039;&amp;#039;&amp;#039; (most relevant for web GUI)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plotting/plotly/simple_plotly.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;simple_plotly()&amp;lt;/code&amp;gt; — interactive network diagram&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plotting/plotly/mapbox_plot.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;mapbox_plot()&amp;lt;/code&amp;gt; — geographic map overlay&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plotting/plotly/pf_res_plotly.py&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;pf_res_plotly()&amp;lt;/code&amp;gt; — interactive results&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3.6 Topology &amp;amp; Diagnostics ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Path !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;topology/create_graph.py&amp;lt;/code&amp;gt; || Convert network to NetworkX graph&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;topology/graph_searches.py&amp;lt;/code&amp;gt; || Connected components, shortest paths, unsupplied buses&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;diagnostic/&amp;lt;/code&amp;gt; || Network validation: isolated buses, duplicate lines, impossible configs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3.7 Advanced Features ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Path !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;control/&amp;lt;/code&amp;gt; || Controller framework — tap changers, DER, shunt, PQ control&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;protection/&amp;lt;/code&amp;gt; || Protection device modeling — fuses, relays&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;grid_equivalents/&amp;lt;/code&amp;gt; || Network reduction (REI, Ward equivalents)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;groups.py&amp;lt;/code&amp;gt; || Batch operations on element groups&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std_types.py&amp;lt;/code&amp;gt; || Standard component library (line types, trafo types)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;toolbox/&amp;lt;/code&amp;gt; || Grid modification, element selection, data manipulation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3.8 Internal Infrastructure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Path !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;__init__.py&amp;lt;/code&amp;gt; || Public API — imports everything users need&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;auxiliary.py&amp;lt;/code&amp;gt; || Helpers, ADict class, logging&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;build_bus.py&amp;lt;/code&amp;gt; || Internal bus matrix construction&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;build_branch.py&amp;lt;/code&amp;gt; || Internal branch matrix construction&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;build_gen.py&amp;lt;/code&amp;gt; || Internal generator matrix construction&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pd2ppc.py&amp;lt;/code&amp;gt; || Convert pandapower → PYPOWER internal format&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;convert_format.py&amp;lt;/code&amp;gt; || Version migration between pandapower versions&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;network_schema/&amp;lt;/code&amp;gt; || Pandera DataFrame validation schemas&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pypower/&amp;lt;/code&amp;gt; || Embedded PYPOWER solver algorithms&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 4. Built-In Test Networks (&amp;lt;code&amp;gt;pandapower/networks/&amp;lt;/code&amp;gt;) ==&lt;br /&gt;
&lt;br /&gt;
These are ready-made networks useful for testing the GUI:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Function !! Description !! Size&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;simple_four_bus_system()&amp;lt;/code&amp;gt; || Tiny test network || 4 buses&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;panda_four_load_branch()&amp;lt;/code&amp;gt; || Small LV feeder || ~10 buses&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;case_ieee30()&amp;lt;/code&amp;gt; || IEEE 30-bus test case || 30 buses&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;case118()&amp;lt;/code&amp;gt; || IEEE 118-bus test case || 118 buses&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;case300()&amp;lt;/code&amp;gt; || IEEE 300-bus test case || 300 buses&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mv_oberrhein()&amp;lt;/code&amp;gt; || Real German MV grid || ~300 buses&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create_cigre_network_mv()&amp;lt;/code&amp;gt; || CIGRE MV benchmark || ~15 buses&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;create_kerber_*()&amp;lt;/code&amp;gt; || Synthetic LV grids || Various&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 5. Tutorials (&amp;lt;code&amp;gt;tutorials/&amp;lt;/code&amp;gt;) ==&lt;br /&gt;
&lt;br /&gt;
60 Jupyter notebooks organized by topic:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Category !! Key Notebooks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Getting Started&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;minimal_example.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;create_simple.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;create_advanced.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Power Flow&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;powerflow.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;convergence_powerflow.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;three_phase_loadflow_tutorial_simple.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;OPF&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;opf_basic.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;opf_curtail.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;opf_dcline.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Short Circuit&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;shortcircuit.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;State Estimation&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;state_estimation.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Time Series&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;time_series.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;time_series_advanced_output.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Contingency&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;contingency_analysis.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Visualization&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;plotting_basic.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;plotly_built-in.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;plotly_maps.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Controls&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;control_loop.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;building_a_controller.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DER_control_tutorial.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Protection&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;protection/fuse.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;protection/oc_relay.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Converters&amp;#039;&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;cim2pp.ipynb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;converter_powerfactory.ipynb&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 6. Dependencies ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Core (always required):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pandas ~= 2.3&amp;lt;/code&amp;gt; — DataFrames (the foundation)&lt;br /&gt;
* &amp;lt;code&amp;gt;numpy &amp;gt;= 1.26&amp;lt;/code&amp;gt; — Numerical arrays&lt;br /&gt;
* &amp;lt;code&amp;gt;scipy &amp;lt; 1.17&amp;lt;/code&amp;gt; — Sparse matrices, solvers&lt;br /&gt;
* &amp;lt;code&amp;gt;networkx ~= 3.4&amp;lt;/code&amp;gt; — Graph/topology algorithms&lt;br /&gt;
* &amp;lt;code&amp;gt;tqdm ~= 4.67&amp;lt;/code&amp;gt; — Progress bars&lt;br /&gt;
* &amp;lt;code&amp;gt;geojson ~= 3.2&amp;lt;/code&amp;gt; — GeoJSON support&lt;br /&gt;
* &amp;lt;code&amp;gt;pandera ~= 0.26&amp;lt;/code&amp;gt; — DataFrame validation&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Visualization (relevant for GUI):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;plotly ~= 6.3&amp;lt;/code&amp;gt; — Interactive web-based plots&lt;br /&gt;
* &amp;lt;code&amp;gt;matplotlib ~= 3.10&amp;lt;/code&amp;gt; — Static plots&lt;br /&gt;
* &amp;lt;code&amp;gt;geopandas ~= 1.1&amp;lt;/code&amp;gt; — Geographic data&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Performance:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;numba ~= 0.61&amp;lt;/code&amp;gt; — JIT-compiled solvers&lt;br /&gt;
* &amp;lt;code&amp;gt;lightsim2grid ~= 0.12&amp;lt;/code&amp;gt; — C++ power flow backend&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;I/O:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;xlsxwriter&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;openpyxl&amp;lt;/code&amp;gt; — Excel&lt;br /&gt;
* &amp;lt;code&amp;gt;psycopg ~= 3.2&amp;lt;/code&amp;gt; — PostgreSQL&lt;br /&gt;
* &amp;lt;code&amp;gt;lxml ~= 6.0&amp;lt;/code&amp;gt; — XML parsing&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 7. How Pandapower Works (The Computation Flow) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
┌─────────────────────────────────────────────────────┐&lt;br /&gt;
│  1. CREATE NETWORK                                  │&lt;br /&gt;
│     net = pp.create_empty_network()                 │&lt;br /&gt;
│     pp.create_bus(net, vn_kv=110)                   │&lt;br /&gt;
│     pp.create_line(net, from_bus=0, to_bus=1, ...)  │&lt;br /&gt;
│     pp.create_load(net, bus=1, p_mw=10)             │&lt;br /&gt;
│     ...                                             │&lt;br /&gt;
│     → net.bus, net.line, net.load are DataFrames    │&lt;br /&gt;
└───────────────────────┬─────────────────────────────┘&lt;br /&gt;
                        │&lt;br /&gt;
                        ▼&lt;br /&gt;
┌─────────────────────────────────────────────────────┐&lt;br /&gt;
│  2. RUN ANALYSIS                                    │&lt;br /&gt;
│     pp.runpp(net)           # Power flow            │&lt;br /&gt;
│     pp.runopp(net)          # Optimal power flow    │&lt;br /&gt;
│     pp.shortcircuit.calc_sc(net)  # Short circuit   │&lt;br /&gt;
│     pp.estimation.estimate(net)   # State est.      │&lt;br /&gt;
│                                                     │&lt;br /&gt;
│     → Internally: DataFrames → sparse matrices →    │&lt;br /&gt;
│       solver → results back to DataFrames           │&lt;br /&gt;
└───────────────────────┬─────────────────────────────┘&lt;br /&gt;
                        │&lt;br /&gt;
                        ▼&lt;br /&gt;
┌─────────────────────────────────────────────────────┐&lt;br /&gt;
│  3. READ RESULTS                                    │&lt;br /&gt;
│     net.res_bus      → voltage, power at each bus   │&lt;br /&gt;
│     net.res_line     → loading, current, losses     │&lt;br /&gt;
│     net.res_trafo    → loading, losses              │&lt;br /&gt;
│     net.converged    → True/False                   │&lt;br /&gt;
│                                                     │&lt;br /&gt;
│     → All results are pandas DataFrames             │&lt;br /&gt;
└───────────────────────┬─────────────────────────────┘&lt;br /&gt;
                        │&lt;br /&gt;
                        ▼&lt;br /&gt;
┌─────────────────────────────────────────────────────┐&lt;br /&gt;
│  4. VISUALIZE / EXPORT                              │&lt;br /&gt;
│     pp.plotting.simple_plotly(net)   # Web plot     │&lt;br /&gt;
│     pp.to_json(net)                  # Serialize    │&lt;br /&gt;
│     pp.to_excel(net, &amp;quot;network.xlsx&amp;quot;) # Export       │&lt;br /&gt;
└─────────────────────────────────────────────────────┘&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 8. Key Architecture Facts for GUI Developers ==&lt;br /&gt;
&lt;br /&gt;
=== 8.1 Everything Is a DataFrame ===&lt;br /&gt;
* Input data: &amp;lt;code&amp;gt;net.bus&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.line&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.trafo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.load&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.gen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.sgen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.ext_grid&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.switch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.shunt&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.storage&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
* Result data: &amp;lt;code&amp;gt;net.res_bus&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.res_line&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.res_trafo&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
* Both are pandas DataFrames — trivially convertible to JSON via &amp;lt;code&amp;gt;.to_dict(orient=&amp;quot;records&amp;quot;)&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.to_json()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 8.2 JSON Serialization Is Built In ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
json_str = pp.to_json(net)       # Network → JSON string&lt;br /&gt;
net = pp.from_json(json_str)     # JSON string → Network&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This is the natural transport format for a REST API.&lt;br /&gt;
&lt;br /&gt;
=== 8.3 Analysis Is Stateless (Almost) ===&lt;br /&gt;
* Call &amp;lt;code&amp;gt;runpp(net)&amp;lt;/code&amp;gt; → results appear in &amp;lt;code&amp;gt;net.res_*&amp;lt;/code&amp;gt; tables&lt;br /&gt;
* Call it again → previous results are overwritten&lt;br /&gt;
* The &amp;lt;code&amp;gt;net&amp;lt;/code&amp;gt; object carries all state — pass it around as the single source of truth&lt;br /&gt;
&lt;br /&gt;
=== 8.4 Plotly Is Already Web-Ready ===&lt;br /&gt;
* &amp;lt;code&amp;gt;pandapower.plotting.plotly&amp;lt;/code&amp;gt; generates Plotly figures&lt;br /&gt;
* Plotly figures serialize to JSON natively&lt;br /&gt;
* They can be rendered directly in a browser via &amp;lt;code&amp;gt;plotly.js&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8.5 Standard Types Are a Built-In Library ===&lt;br /&gt;
* &amp;lt;code&amp;gt;net.std_types[&amp;quot;line&amp;quot;]&amp;lt;/code&amp;gt; — DataFrame of line types with impedance/capacity data&lt;br /&gt;
* &amp;lt;code&amp;gt;net.std_types[&amp;quot;trafo&amp;quot;]&amp;lt;/code&amp;gt; — DataFrame of transformer types&lt;br /&gt;
* When creating elements, pass &amp;lt;code&amp;gt;std_type=&amp;quot;NAYY 4x50 SE&amp;quot;&amp;lt;/code&amp;gt; to auto-populate parameters&lt;br /&gt;
* GUI should present these as dropdowns&lt;br /&gt;
&lt;br /&gt;
=== 8.6 Controllers Run Inside Power Flow ===&lt;br /&gt;
* &amp;lt;code&amp;gt;runpp(net, run_control=True)&amp;lt;/code&amp;gt; activates the controller loop&lt;br /&gt;
* Controllers (tap changers, DER control) iterate until convergence&lt;br /&gt;
* For the GUI: expose controller configuration as a settings panel&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 9. Recommended Web GUI Tech Stack ==&lt;br /&gt;
&lt;br /&gt;
For a Python-backend web GUI wrapping pandapower:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
┌──────────────────────────────────────┐&lt;br /&gt;
│  Frontend (Browser)                  │&lt;br /&gt;
│  - React / Vue / Svelte              │&lt;br /&gt;
│  - Plotly.js for network diagrams    │&lt;br /&gt;
│  - AG Grid or similar for tables     │&lt;br /&gt;
│  - PDF generation (jsPDF / pdfmake)  │&lt;br /&gt;
└──────────────┬───────────────────────┘&lt;br /&gt;
               │ REST / WebSocket&lt;br /&gt;
               ▼&lt;br /&gt;
┌──────────────────────────────────────┐&lt;br /&gt;
│  Backend (Python)                    │&lt;br /&gt;
│  - FastAPI or Flask                  │&lt;br /&gt;
│  - pandapower as the engine          │&lt;br /&gt;
│  - Endpoints for CRUD + analysis     │&lt;br /&gt;
│  - Session/project management        │&lt;br /&gt;
└──────────────────────────────────────┘&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;API Design Sketch:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Endpoint !! Method !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/network&amp;lt;/code&amp;gt; || POST || Create new empty network&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/network&amp;lt;/code&amp;gt; || GET || Get current network as JSON&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/network/import&amp;lt;/code&amp;gt; || POST || Import from JSON/Excel/MATPOWER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/network/export&amp;lt;/code&amp;gt; || GET || Export to JSON/Excel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/element/{type}&amp;lt;/code&amp;gt; || POST || Create element (bus, line, load...)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/element/{type}/{id}&amp;lt;/code&amp;gt; || PUT || Update element parameters&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/element/{type}/{id}&amp;lt;/code&amp;gt; || DELETE || Remove element&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/analysis/powerflow&amp;lt;/code&amp;gt; || POST || Run power flow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/analysis/opf&amp;lt;/code&amp;gt; || POST || Run optimal power flow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/analysis/shortcircuit&amp;lt;/code&amp;gt; || POST || Run short-circuit analysis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/analysis/estimation&amp;lt;/code&amp;gt; || POST || Run state estimation&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/analysis/timeseries&amp;lt;/code&amp;gt; || POST || Run time series&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/analysis/contingency&amp;lt;/code&amp;gt; || POST || Run contingency analysis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/results/{type}&amp;lt;/code&amp;gt; || GET || Get result tables&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/plot/network&amp;lt;/code&amp;gt; || GET || Get Plotly figure JSON&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/report/{type}&amp;lt;/code&amp;gt; || GET || Generate PDF report&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/stdtypes/{element}&amp;lt;/code&amp;gt; || GET || List standard types&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/diagnostic&amp;lt;/code&amp;gt; || POST || Run network diagnostics&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/topology&amp;lt;/code&amp;gt; || GET || Get topology info&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 10. Quick Reference: Most Important Files ==&lt;br /&gt;
&lt;br /&gt;
If you&amp;#039;re building a GUI and need to understand pandapower, read these files in order:&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;pandapower/__init__.py&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — See every public function&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;pandapower/run.py&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — Power flow &amp;amp; OPF entry points&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;pandapower/create/__init__.py&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — All element creation functions&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;pandapower/file_io.py&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — JSON/Excel serialization&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;pandapower/results.py&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — How results are extracted&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;pandapower/plotting/plotly/simple_plotly.py&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — Interactive visualization&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;pandapower/shortcircuit/calc_sc.py&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — Short-circuit entry point&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;pandapower/estimation/state_estimation.py&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — State estimation entry point&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;pandapower/timeseries/run_time_series.py&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — Time series entry point&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;pandapower/networks/power_system_test_cases.py&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — Built-in test networks&lt;br /&gt;
&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software Analysis]]&lt;br /&gt;
[[Category:Pandapower]]&lt;/div&gt;</summary>
		<author><name>Justinaquino</name></author>
	</entry>
</feed>