A Python3 library for:
- Data science
- Electronics Engineering
- Specialized algorithms
- Physics which contains a collection of functions I haven't found elsewhere. Some algorithms have also been accepted on my blog https://techoverflow.net/
Pull requests and bugreports of any kind are happily accepted.
Run this command on your favourite shell:
sudo pip3 install git+https://github.com/ulikoehler/UliEngineering.git
We highly recommend you also install scipy:
sudo pip3 install scipy
(you can also use sudo apt install python3-scipy
on Debian-based Linux distros).
While scipy is technically optional and listed as an optional dependency, many UliEngineering modules can't be used without it, including (might not be complete!):
- UliEngineering.Length
- UliEngineering.SignalProcessing.Interpolation
- UliEngineering.SignalProcessing.Correlation
- UliEngineering.Physics.JohnsonNyquistNoise
- Some functions in UliEngineering.SignalProcessing.Simulation
- Some functions in UliEngineering.SignalProcessing.Selection
After that you can use UliEngineering from any Python3 instance. Example:
$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from UliEngineering.EngineerIO import *
>>> format_value(0.015, "V")
'15.0 mV'
On my blog, I've posted several easy-to-use examples on how to solve real-world problems using UliEngineering:
- Normalizing electronics engineering value notations using Python
- Finding the nearest E96 resistor value in Python
- Easy zero crossing detection in Python using UliEngineering
- Easily generate sine/cosine wave test data in Python using UliEngineering
- Easily generate square/triangle/sawtooth/inverse sawtooth waveform data in Python using UliEngineering
- Easily compute & visualize FFTs in Python using UliEngineering