Electrical-Engineering-for-Python
Python Libraries with functions and constants related to electrical engineering.
The functions and constants that make up these modules represent a library of material compiled with the intent of being used primarily for research, development, education, and exploration in the realm of electrical engineering.
Check out our full documentation: https://electricpy.readthedocs.io/en/latest/
Documentation has recently been updated to use ReadTheDocs
GitHub Pages are still active, and will continue to be for the forseeable future, but they're intended for developmental updates rather than primary documentation.
- Extensive set of common functions and formulas for electrical engineering and electronics.
- Support for LaTeX math generation (use this in conjunction with your Jupyter notebooks!)
- Generate focussed and simple plots, diagrams, and figures.
Phasor Plot | Power Triangle | Induction Motor Circle |
---|---|---|
RLC Frequency Response | Receiving Power Circle | |
---|---|---|
- ElectricPy has a few basic installation options for use with
pip
. For most common users, use the following command to install ElectricPy withpip
pip install electricpy[full]
- Check installation success in Python environment:
import electricpy
electricpy._version_
- Start using the electrical engineering formulas
>>> import electricpy as ep
>>> voltage = ep.phasor(67, 120) # 67 volts at angle 120 degrees
>>> voltage
(-33.499999999999986+58.02370205355739j)
>>> ep.cprint(voltage)
67.0 ∠ 120.0°
If you're looking to get the "latest and greatest" from electricpy, you'll want
to install directly from GitHub, you can do that one of two ways, the easiest of
which is to simply issue the following command for pip
pip install git+https://github.com/engineerjoe440/ElectricPy.git
Alternatively, you can do it the "old fashioned way" by cloning the repository and installing locally.
- Clone/Download Source Code from GitHub Repository
- Open Terminal and Navigate to Folder with
cd
Commands:
cd <path\to\containing\folder>\electricpy
- Use Python to Install Module from
setup.py
:
pip install .
For numerical analysis (install with pip install electricpy[numerical]
):
For fault analysis (install with pip install electricpy[fault]
)
If you're interested in contributing, we'd love to see your support in a number of ways!
- Write Tests - We're really lacking in this area. We've recently added simple GitHub actions to test installation, but that's about it. We hope that someday we can test all functions in this module for verification.
- Contribute New Electrical Engineering Functions - If you've got a new function related to electrical engineering that you'd like to see added, we'd love to throw it into this module. Our goal is that this module can become the comprehensive electrical engineering toolkit in Python. Drop us a note, or create a pull request!
- Report Issues - We don't want issues to go unnoticed. Please help us track bugs in our issues and resolve them!
- Get the Word Out - This project is still in its infancy, so please share it with your friends and colleagues. We want to make sure that everyone has the opportunity to take advantage of this project.
Check out the contribution guide
- Stephen Weeks | Student - U of Idaho
- Jeremy Perhac | Student - U of Idaho
- Daniel Allen | Student - Universtiy of Idaho
- Dr. Dennis Sullivan | Proffessor - U of Idaho
- Dr. Brian Johnson | Proffessor - U of Idaho
- Dr. Joe Law | Proffessor - U of Idaho
- StackOverflow user gg349
- Shaurya Uppal | Online Code Contributor
- Paul Ortman | Power Quality Engineer - Idaho Power | Instructor - U of Idaho
and
For more information regarding this resource, please contact Joe Stanley
ElectricPy is licensed under the standard MIT license, and as such, you are permitted to use this resource as you see fit. Please feel free to ask questions, suggest edits and report bugs or other issues.