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
- How to compute the exact weight of single-strand DNA using Python
- Plotting microstrip impedance vs width using UliEngineering
- How to generate periodic ramps in Python using UliEngineering
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
Metadata
Release files for UliEngineering 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| uliengineering-1.1.3.tar.gz | 130.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uliengineering-1.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 306.9 kB
Release files / uliengineering-1.1.3.tar.gz
| Download URL | uliengineering-1.1.3.tar.gz |
|---|---|
| Size | 130.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7438be1e1232c2211dd5c20aff3d6b201ac7e1abd849d902f5d8f2f80318dcc3
|
|
BLAKE2b-256 checksum How to use checksums |
dc74a94a9ec02efc31dc5d0f07a37896d1529222c36a2c20a4ac69bda6346823
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.1 CPython/3.12.3 Linux/6.8.0-110-generic
|
Release files / uliengineering-1.1.3-py3-none-any.whl
| Download URL | uliengineering-1.1.3-py3-none-any.whl |
|---|---|
| Size | 176.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1b6e91309af53b6ca0a8761f692b1c0ec322344b9acd75961dd56b39cffb54ac
|
|
BLAKE2b-256 checksum How to use checksums |
1e515538fa75f52e94db9c54a2c58be84d128deae51b5a8525c386ffd836d104
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.1 CPython/3.12.3 Linux/6.8.0-110-generic
|