skip to content

Search

Installing Python Power Electronics on Mac

8 min read

A guide installing Python Power Electronics on My Mac

# python
# mac
Not in series

I am a Computer Science student currently enrolled in a Computational Physics & Biology course this semester. We have been assigned a project that requires us to use Python Power Electronics for simulations. I’ve written this article as a reference, hoping it will be useful to you!

Requirements

Preparation

Make sure Python3

the first step we need to make sure we have python3 on our mac by executing python3 --version

# example output if we have python3
python3 --version
Python 3.12.3

Install Miniconda

we can install miniconda using homebrew here miniconda — Homebrew Formulae

# install miniconda using homebrew
brew install --cask miniconda

Wait the until finish and success, it should looks like below

brew install --cask miniconda
==> Downloading https://formulae.brew.sh/api/cask.jws.json
################################################################################################################### 100.0%
==> Caveats
Please run the following to setup your shell:
  conda init "$(basename "${SHELL}")"
 
Alternatively, manually add the following to your shell init:
  eval "$(conda "shell.$(basename "${SHELL}")" hook)"
 
==> Downloading https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-MacOSX-arm64.sh
Already downloaded: /Users/andhikayuana/Library/Caches/Homebrew/downloads/a3573c116dca0b2cf49b2f46ba56719b90491d1e4ee454dafaa52a8bf89a60f8--Miniconda3-py312_24.4.0-0-MacOSX-arm64.sh
==> Installing Cask miniconda
==> Running installer script 'Miniconda3-py312_24.4.0-0-MacOSX-arm64.sh'
PREFIX=/opt/homebrew/Caskroom/miniconda/base
Unpacking payload ...
 
Installing base environment...
 
Preparing transaction: ...working... done
Executing transaction: ...working...
done
installation finished.
==> Linking Binary 'conda' to '/opt/homebrew/bin/conda'
🍺  miniconda was successfully installed!

then you need to execute conda init "$(basename "${SHELL}")"

# sample output
conda init "$(basename "${SHELL}")"
no change     /opt/homebrew/Caskroom/miniconda/base/condabin/conda
no change     /opt/homebrew/Caskroom/miniconda/base/bin/conda
no change     /opt/homebrew/Caskroom/miniconda/base/bin/conda-env
no change     /opt/homebrew/Caskroom/miniconda/base/bin/activate
no change     /opt/homebrew/Caskroom/miniconda/base/bin/deactivate
no change     /opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh
no change     /opt/homebrew/Caskroom/miniconda/base/etc/fish/conf.d/conda.fish
no change     /opt/homebrew/Caskroom/miniconda/base/shell/condabin/Conda.psm1
no change     /opt/homebrew/Caskroom/miniconda/base/shell/condabin/conda-hook.ps1
no change     /opt/homebrew/Caskroom/miniconda/base/lib/python3.12/site-packages/xontrib/conda.xsh
no change     /opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.csh
modified      /Users/andhikayuana/.zshrc
 
==> For changes to take effect, close and re-open your current shell. <==

Make sure Miniconda installed

Restart your terminal first, then you can execute conda --version to make sure miniconda installed properly

# sample output
conda --version
conda 24.4.0

and check our envs using conda list --envs

# sample output
conda info --envs
# conda environments:
#
base                  *  /opt/homebrew/Caskroom/miniconda/base

add conda-forge channel

Download & Extract Python Power Electronics

You can download Python Power Electronics here (Python Power Electronics), choose webapp and choose .zip .

Go to your downloaded zip file then you can extract the zip file using unzip command

unzip ppe_webapp_py3_4_4_0.zip

sample of the output

unzip ppe_webapp_py3_4_4_0.zip
Archive:  ppe_webapp_py3_4_4_0.zip
  inflating: ppe_webapp_py3_4_4_0/requirements.txt
   creating: ppe_webapp_py3_4_4_0/simulator_interface/
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/LICENSE.txt
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/manage.py
   creating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/
 extracting: ppe_webapp_py3_4_4_0/simulator_interface/simulations/__init__.py
 extracting: ppe_webapp_py3_4_4_0/simulator_interface/simulations/admin.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/apps.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/circuit_elements.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/circuit_exceptions.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/circuit_solver.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/LICENSE.txt
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/matrix.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/models.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/network_reader.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/solver.py
   creating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/add_control_files.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/base_framework.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/config_control_files.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/contact.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/documentation.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/edit_circuit_parameters.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/edit_circuit_schematic.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/edit_simulation.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/index.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/list_simulation.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/main_circuit_components.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/new_simulation.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/templates/output_interface.html
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests.py
   creating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/
   creating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/__pycache__/
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/__pycache__/__init__.cpython-37.pyc
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/__pycache__/test_network_reader.cpython-37.pyc
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/__pycache__/test_network_reader.cpython-37-pytest-5.3.0.pyc
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/__pycache__/test_network_reader.cpython-37-pytest-6.2.5.pyc
   creating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/test_network_reader/
   creating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/test_network_reader/__pycache__/
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/test_network_reader/__pycache__/__init__.cpython-37.pyc
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/test_network_reader/__pycache__/test_csv_manipulations.cpython-37-pytest-6.2.5.pyc
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/test_network_reader/__pycache__/test_jump.cpython-37-pytest-6.2.5.pyc
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/tests/test_network_reader/__pycache__/test_nodes_branches.cpython-37-pytest-6.2.5.pyc
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulations/views.py
   creating: ppe_webapp_py3_4_4_0/simulator_interface/simulator_interface/
 extracting: ppe_webapp_py3_4_4_0/simulator_interface/simulator_interface/__init__.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulator_interface/settings.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulator_interface/urls.py
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/simulator_interface/wsgi.py
   creating: ppe_webapp_py3_4_4_0/simulator_interface/static/
   creating: ppe_webapp_py3_4_4_0/simulator_interface/static/css/
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/static/css/style.css
   creating: ppe_webapp_py3_4_4_0/simulator_interface/static/js/
  inflating: ppe_webapp_py3_4_4_0/simulator_interface/static/js/forms.js

replace all contents of requirements.txt with the below

# requirements.txt
certifi==2019.6.16
cycler==0.10.0
Django==2.2.1
kiwisolver==1.4.5
matplotlib==3.8.4
numpy==2.0.0
pyparsing==2.4.0
python-dateutil==2.8.0
pytz==2019.1
six==1.16.0
sqlparse==0.3.0
tornado==6.0.3

pip install

pip install -r requirements.txt
Collecting certifi==2019.6.16 (from -r requirements.txt (line 1))
  Using cached certifi-2019.6.16-py2.py3-none-any.whl.metadata (2.5 kB)
Collecting cycler==0.10.0 (from -r requirements.txt (line 2))
  Using cached cycler-0.10.0-py2.py3-none-any.whl.metadata (722 bytes)
Collecting Django==2.2.1 (from -r requirements.txt (line 3))
  Using cached Django-2.2.1-py3-none-any.whl.metadata (3.5 kB)
Collecting kiwisolver==1.4.5 (from -r requirements.txt (line 5))
  Using cached kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl.metadata (6.4 kB)
Collecting matplotlib==3.8.4 (from -r requirements.txt (line 7))
  Downloading matplotlib-3.8.4-cp312-cp312-macosx_11_0_arm64.whl.metadata (5.8 kB)
Collecting numpy==2.0.0 (from -r requirements.txt (line 9))
  Using cached numpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl.metadata (60 kB)
Collecting pyparsing==2.4.0 (from -r requirements.txt (line 10))
  Using cached pyparsing-2.4.0-py2.py3-none-any.whl.metadata (1.1 kB)
Collecting python-dateutil==2.8.0 (from -r requirements.txt (line 11))
  Using cached python_dateutil-2.8.0-py2.py3-none-any.whl.metadata (7.6 kB)
Collecting pytz==2019.1 (from -r requirements.txt (line 12))
  Using cached pytz-2019.1-py2.py3-none-any.whl.metadata (20 kB)
Collecting six==1.16.0 (from -r requirements.txt (line 13))
  Using cached six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
Collecting sqlparse==0.3.0 (from -r requirements.txt (line 14))
  Using cached sqlparse-0.3.0-py2.py3-none-any.whl.metadata (2.3 kB)
Collecting tornado==6.0.3 (from -r requirements.txt (line 15))
  Using cached tornado-6.0.3-cp312-cp312-macosx_11_0_arm64.whl
Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Caskroom/miniconda/base/envs/ppe/lib/python3.12/site-packages (from matplotlib==3.8.4->-r requirements.txt (line 7)) (1.2.1)
Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Caskroom/miniconda/base/envs/ppe/lib/python3.12/site-packages (from matplotlib==3.8.4->-r requirements.txt (line 7)) (4.53.0)
Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Caskroom/miniconda/base/envs/ppe/lib/python3.12/site-packages (from matplotlib==3.8.4->-r requirements.txt (line 7)) (24.1)
Requirement already satisfied: pillow>=8 in /opt/homebrew/Caskroom/miniconda/base/envs/ppe/lib/python3.12/site-packages (from matplotlib==3.8.4->-r requirements.txt (line 7)) (10.3.0)
Using cached certifi-2019.6.16-py2.py3-none-any.whl (157 kB)
Using cached cycler-0.10.0-py2.py3-none-any.whl (6.5 kB)
Using cached Django-2.2.1-py3-none-any.whl (7.4 MB)
Using cached kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl (64 kB)
Downloading matplotlib-3.8.4-cp312-cp312-macosx_11_0_arm64.whl (7.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.5/7.5 MB 1.5 MB/s eta 0:00:00
Using cached numpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl (5.0 MB)
Using cached pyparsing-2.4.0-py2.py3-none-any.whl (62 kB)
Using cached python_dateutil-2.8.0-py2.py3-none-any.whl (226 kB)
Using cached pytz-2019.1-py2.py3-none-any.whl (510 kB)
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Using cached sqlparse-0.3.0-py2.py3-none-any.whl (39 kB)
Installing collected packages: pytz, certifi, tornado, sqlparse, six, pyparsing, numpy, kiwisolver, python-dateutil, Django, cycler, matplotlib
  Attempting uninstall: six
    Found existing installation: six 1.12.0
    Uninstalling six-1.12.0:
      Successfully uninstalled six-1.12.0
Successfully installed Django-2.2.1 certifi-2019.6.16 cycler-0.10.0 kiwisolver-1.4.5 matplotlib-3.8.4 numpy-2.0.0 pyparsing-2.4.0 python-dateutil-2.8.0 pytz-2019.1 six-1.16.0 sqlparse-0.3.0 tornado-6.0.3

Django system check

python simulator_interface/manage.py check
System check identified no issues (0 silenced).

Migrations

python simulator_interface/manage.py makemigrations simulations
Migrations for 'simulations':
  simulator_interface/simulations/migrations/0001_initial.py
    - Create model CircuitPlot
    - Create model CircuitSchematics
    - Create model ControlFile
    - Create model SimulationCase
    - Create model Voltmeter
    - Create model Voltage_Source
    - Create model VariableResistor
    - Create model VariableInductor
    - Create model Thyristor
    - Create model Switch
    - Create model Resistor
    - Create model PlotLines
    - Create model MeterComponents
    - Create model Inductor
    - Create model Diode
    - Create model ControlVariableStorage
    - Create model ControlTimeEvent
    - Create model ControlStaticVariable
    - Create model ControlOutputs
    - Create model Controlled_Voltage_Source
    - Create model ControllableComponents
    - Create model ControlInputs
    - Add field sim_case to controlfile
    - Create model CircuitWaveforms
    - Add field ckt_sim_case to circuitschematics
    - Add field sim_case to circuitplot
    - Create model CircuitComponents
    - Create model Capacitor
    - Create model Ammeter

python simulator_interface/manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions, simulations
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying sessions.0001_initial... OK
  Applying simulations.0001_initial... OK

Install django & matplotlib

Create, Activate & Deactivate Conda Env

to create Conda Environment you can use conda create --name <yourname> , you can find more details here Environments — Anaconda documentation

# example
conda create --name ppe
Channels:
 - defaults
Platform: osx-arm64
Collecting package metadata (repodata.json): done
Solving environment: done
 
## Package Plan ##
 
  environment location: /opt/homebrew/Caskroom/miniconda/base/envs/ppe
 
Proceed ([y]/n)?
 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate ppe
#
# To deactivate an active environment, use
#
#     $ conda deactivate

You can activate the our ppe conda env using conda activate ppe and for deactivate you can use conda deactivate

Terminal Screenshot before execute conda activate ppe

Screenshot 2024-06-22 at 09.43.04.png

Terminal Screenshot after execute conda activate ppe

Screenshot 2024-06-22 at 09.44.13.png

Install packages using Conda

conda install django matplotlib
Channels:
 - defaults
Platform: osx-arm64
Collecting package metadata (repodata.json): done
Solving environment: done
 
## Package Plan ##
 
  environment location: /opt/homebrew/Caskroom/miniconda/base/envs/ppe
 
  added / updated specs:
    - django
    - matplotlib
 
The following packages will be downloaded:
 
    package                    |            build
    ---------------------------|-----------------
    asgiref-3.5.2              |  py312hca03da5_0          47 KB
    blas-1.0                   |         openblas          10 KB
    brotli-1.0.9               |       h80987f9_8          20 KB
    brotli-bin-1.0.9           |       h80987f9_8          18 KB
    contourpy-1.2.0            |  py312h48ca7d4_0         228 KB
    cycler-0.11.0              |     pyhd3eb1b0_0          12 KB
    django-4.1                 |  py312hca03da5_0         5.2 MB
    fonttools-4.51.0           |  py312h80987f9_0         2.8 MB
    freetype-2.12.1            |       h1192e45_0         570 KB
    jpeg-9e                    |       h80987f9_1         248 KB
    kiwisolver-1.4.4           |  py312h313beb8_0          54 KB
    lcms2-2.12                 |       hba8e193_0         273 KB
    lerc-3.0                   |       hc377ac9_0         115 KB
    libbrotlicommon-1.0.9      |       h80987f9_8          70 KB
    libbrotlidec-1.0.9         |       h80987f9_8          29 KB
    libbrotlienc-1.0.9         |       h80987f9_8         291 KB
    libdeflate-1.17            |       h80987f9_1          55 KB
    libgfortran-5.0.0          |11_3_0_hca03da5_28         142 KB
    libgfortran5-11.3.0        |      h009349e_28         1.0 MB
    libopenblas-0.3.21         |       h269037a_0         3.3 MB
    libpng-1.6.39              |       h80987f9_0         283 KB
    libtiff-4.5.1              |       h313beb8_0         496 KB
    libwebp-base-1.3.2         |       h80987f9_0         297 KB
    llvm-openmp-14.0.6         |       hc6e5704_0         253 KB
    matplotlib-3.8.4           |  py312hca03da5_0           9 KB
    matplotlib-base-3.8.4      |  py312hd77ebd4_0         7.6 MB
    numpy-1.26.4               |  py312h7f4fdc5_0          12 KB
    numpy-base-1.26.4          |  py312he047099_0         6.3 MB
    openjpeg-2.3.0             |       h7a6adac_2         274 KB
    openssl-3.0.14             |       h80987f9_0         4.3 MB
    pillow-10.3.0              |  py312h80987f9_0         854 KB
    pyparsing-3.0.9            |  py312hca03da5_0         197 KB
    python-3.12.4              |       h99e199e_1        14.0 MB
    python-dateutil-2.9.0post0 |  py312hca03da5_2         320 KB
    six-1.16.0                 |     pyhd3eb1b0_1          18 KB
    sqlparse-0.4.4             |  py312hca03da5_0          89 KB
    tornado-6.4.1              |  py312h80987f9_0         866 KB
    unicodedata2-15.1.0        |  py312h80987f9_0         532 KB
    ------------------------------------------------------------
                                           Total:        51.1 MB
 
The following NEW packages will be INSTALLED:
 
  asgiref            pkgs/main/osx-arm64::asgiref-3.5.2-py312hca03da5_0
  blas               pkgs/main/osx-arm64::blas-1.0-openblas
  brotli             pkgs/main/osx-arm64::brotli-1.0.9-h80987f9_8
  brotli-bin         pkgs/main/osx-arm64::brotli-bin-1.0.9-h80987f9_8
  bzip2              pkgs/main/osx-arm64::bzip2-1.0.8-h80987f9_6
  ca-certificates    pkgs/main/osx-arm64::ca-certificates-2024.3.11-hca03da5_0
  contourpy          pkgs/main/osx-arm64::contourpy-1.2.0-py312h48ca7d4_0
  cycler             pkgs/main/noarch::cycler-0.11.0-pyhd3eb1b0_0
  django             pkgs/main/osx-arm64::django-4.1-py312hca03da5_0
  expat              pkgs/main/osx-arm64::expat-2.6.2-h313beb8_0
  fonttools          pkgs/main/osx-arm64::fonttools-4.51.0-py312h80987f9_0
  freetype           pkgs/main/osx-arm64::freetype-2.12.1-h1192e45_0
  jpeg               pkgs/main/osx-arm64::jpeg-9e-h80987f9_1
  kiwisolver         pkgs/main/osx-arm64::kiwisolver-1.4.4-py312h313beb8_0
  lcms2              pkgs/main/osx-arm64::lcms2-2.12-hba8e193_0
  lerc               pkgs/main/osx-arm64::lerc-3.0-hc377ac9_0
  libbrotlicommon    pkgs/main/osx-arm64::libbrotlicommon-1.0.9-h80987f9_8
  libbrotlidec       pkgs/main/osx-arm64::libbrotlidec-1.0.9-h80987f9_8
  libbrotlienc       pkgs/main/osx-arm64::libbrotlienc-1.0.9-h80987f9_8
  libcxx             pkgs/main/osx-arm64::libcxx-14.0.6-h848a8c0_0
  libdeflate         pkgs/main/osx-arm64::libdeflate-1.17-h80987f9_1
  libffi             pkgs/main/osx-arm64::libffi-3.4.4-hca03da5_1
  libgfortran        pkgs/main/osx-arm64::libgfortran-5.0.0-11_3_0_hca03da5_28
  libgfortran5       pkgs/main/osx-arm64::libgfortran5-11.3.0-h009349e_28
  libopenblas        pkgs/main/osx-arm64::libopenblas-0.3.21-h269037a_0
  libpng             pkgs/main/osx-arm64::libpng-1.6.39-h80987f9_0
  libtiff            pkgs/main/osx-arm64::libtiff-4.5.1-h313beb8_0
  libwebp-base       pkgs/main/osx-arm64::libwebp-base-1.3.2-h80987f9_0
  llvm-openmp        pkgs/main/osx-arm64::llvm-openmp-14.0.6-hc6e5704_0
  lz4-c              pkgs/main/osx-arm64::lz4-c-1.9.4-h313beb8_1
  matplotlib         pkgs/main/osx-arm64::matplotlib-3.8.4-py312hca03da5_0
  matplotlib-base    pkgs/main/osx-arm64::matplotlib-base-3.8.4-py312hd77ebd4_0
  ncurses            pkgs/main/osx-arm64::ncurses-6.4-h313beb8_0
  numpy              pkgs/main/osx-arm64::numpy-1.26.4-py312h7f4fdc5_0
  numpy-base         pkgs/main/osx-arm64::numpy-base-1.26.4-py312he047099_0
  openjpeg           pkgs/main/osx-arm64::openjpeg-2.3.0-h7a6adac_2
  openssl            pkgs/main/osx-arm64::openssl-3.0.14-h80987f9_0
  packaging          pkgs/main/osx-arm64::packaging-23.2-py312hca03da5_0
  pillow             pkgs/main/osx-arm64::pillow-10.3.0-py312h80987f9_0
  pip                pkgs/main/osx-arm64::pip-24.0-py312hca03da5_0
  pyparsing          pkgs/main/osx-arm64::pyparsing-3.0.9-py312hca03da5_0
  python             pkgs/main/osx-arm64::python-3.12.4-h99e199e_1
  python-dateutil    pkgs/main/osx-arm64::python-dateutil-2.9.0post0-py312hca03da5_2
  readline           pkgs/main/osx-arm64::readline-8.2-h1a28f6b_0
  setuptools         pkgs/main/osx-arm64::setuptools-69.5.1-py312hca03da5_0
  six                pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_1
  sqlite             pkgs/main/osx-arm64::sqlite-3.45.3-h80987f9_0
  sqlparse           pkgs/main/osx-arm64::sqlparse-0.4.4-py312hca03da5_0
  tk                 pkgs/main/osx-arm64::tk-8.6.14-h6ba3021_0
  tornado            pkgs/main/osx-arm64::tornado-6.4.1-py312h80987f9_0
  tzdata             pkgs/main/noarch::tzdata-2024a-h04d1e81_0
  unicodedata2       pkgs/main/osx-arm64::unicodedata2-15.1.0-py312h80987f9_0
  wheel              pkgs/main/osx-arm64::wheel-0.43.0-py312hca03da5_0
  xz                 pkgs/main/osx-arm64::xz-5.4.6-h80987f9_1
  zlib               pkgs/main/osx-arm64::zlib-1.2.13-h18a0788_1
  zstd               pkgs/main/osx-arm64::zstd-1.5.5-hd90d995_2
 
Proceed ([y]/n)? y
 
Downloading and Extracting Packages:
 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

Launching Python Power Electronics

Run Web Server

python simulator_interface/manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
 
System check identified no issues (0 silenced).
June 22, 2024 - 04:06:45
Django version 2.2.1, using settings 'simulator_interface.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Open with Web Browser

please open http://127.0.0.1:8000/ or localhost:8000 on your web browser

Screenshot 2024-06-29 at 06.10.34.png