[Notes] Installing Python Power Electronics on Mac

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

  • Homebrew ā€” The Missing Package Manager for macOS (or Linux)
  • Python3
  • Miniconda ā€” Anaconda documentation
  • Web Browser
  • Python Power Electronics
  • Preparation

    Make sure Python3

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

    1 2 3 # example output if we have python3 python3 --version Python 3.12.3

    Install Miniconda

    we can install miniconda using homebrew here miniconda ā€” Homebrew Formulae

    1 2 # install miniconda using homebrew brew install --cask miniconda

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

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 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}")"

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 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

    1 2 3 # sample output conda --version conda 24.4.0

    and check our envs using conda list --envs

    1 2 3 4 5 # 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

    1 unzip ppe_webapp_py3_4_4_0.zip

    sample of the output

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 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

    1 2 3 4 5 6 7 8 9 10 11 12 13 # 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

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 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

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

    Migrations

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 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

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 # 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

    Terminal Screenshot after execute conda activate ppe

    Install packages using Conda

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 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

    1 2 3 4 5 6 7 8 9 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

    ā† Go home