Computational tools for electronics engineering
Project description
UliEngineering
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.
Installation
Run this command on your favourite shell:
sudo pip3 install UliEngineering
In order to install the latest bleeding-edge version, use:
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'
Getting started
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
- Computing resistor power dissipation in Python using UliEngineering
- Computing crystal load capacitance using Python & UliEngineering
- How to convert Celsius/Fahrenheit/Kelvin temperatures in Python using UliEngineering
- How to get unit/resolution of NumPy np.timedelta64 object
- How to get unit/resolution of NumPy np.datetime64 object
- How to iterate all days of year using Python
- How to get number of days in month in Python
- How to compute candelas from lumens by apex angle
- How to compute resistor voltage divider ratio using Python
- How to generate datetime for every hour on a given day in Python
- How to generate datetime for every minute on a given day in Python
- How to generate datetime for every second on a given day in Python
- How to compute MRI Larmor frequency for a given magnetic field using Pythonf
- How to compute voltage divider output voltage using Python
- How to format axis as dB (decibel) using matplotlib
- How to compute Buck/Boost/LDO output voltage by feedback resistors using Python
- How to compute the weight of a titanium or stainless steel rod using UliEngineering in Python
- How to compute non-inverting OpAmp amplifier gain using UliEngineering in Python
- How to generate filename with date & time in Python
Testing
In order to run the unit tests, first install tox:
pip install --user tox
and then just run it in the root directory of the cloned repository
tox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for uliengineering-0.4.18-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14b01ed7576c8ba054525c0e7428654c58125254638aa10a570f8fb910c17cff |
|
MD5 | cfa70ab909d17f7463e65c1292a1b88c |
|
BLAKE2b-256 | 543d22ebe1ffd1e97a40c18e2e67b768c06e1308cdd1cd0a162e069f6fe824cc |