Example PyPI (Python Package Index) Package
Project description
LabPartner - A Tool for Undergraduate Physics Students
Struggling with Lab? Me too!
Over the course of my undergraduate studies at the University of Manchester, UK, I had three years of lab. Now, as someone who teaches those labs alongside my PhD, I thought it would be useful to automate some of the more painful parts of lab, so the students can just focus on understanding the physics and assessing their results.
This Python is Package can:
- Propagate Errors for any Function
- Apply
Linear and QuadraticANY fit to a set of Data - Plot Results in the style of Lab Reports
It is important to acknowledge that there are other very useful tools (OriginPro, LSFR, your own code). I just wanted to try making something that works as an all-in-one system, effectively acting as a Lab Partner!
Installation
This should be working in a few weeks time. To install this package, simply type:
pip install labpartner_uom
Usage
The code is based on Numpy, Sympy and Matplotlib. Try to have your x, y and y error data as Numpy arrays.
Error Propagation
import labpartner_uom as lp
prop = lp.errorpropagator.propagate_error(func, vars)
# Example
prop = lp.errorpropagator.propagate_error("A*x**2 + B*y + C", ["x", "y"])
Function Fitting
import labpartner_uom as lp
fit = lp.fit.do_fit(lp.fit.do_fit(x, y, func, p0=p0, yerr=yerr)
# Example
my_func = "a * sin(x) + b"
fit = lp.fit.do_fit([1, 2, 3], [4, 5, 6], my_func, p0=[1, 1], yerr=[1, 1, 1])
(OLD) Linear and Quadratic Fit
import labpartner_uom as lp
fit = lp.linfit.do_linear_fit(x, y, yerr)
fit = lp.quadfit.do_quadratic_fit(x, y, yerr)
# Example
fit = lp.linfit.do_linear_fit([1, 2, 3], [4, 5, 6], [0.2, 0.2, 0.3])
fit = lp.quadfit.do_quadratic_fit([1, 2, 3], [4, 5, 6], [0.2, 0.2, 0.3])
Plotting
import labpartner_uom as lp
lp.plotter.plot(x, y, yerr=None, xlabel="x axis", ylabel="y axis", title=None, label="data", fit_type=None, figsize=(4, 3))
# Example
lp.plotter.plot([1, 2, 3], [4, 5, 6], [0.2, 0.2, 0.3])
Siddharth Sule, 2024
Based On Tom Chen's Example Package: https://github.com/tomchen/example_pypi_package
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
File details
Details for the file labpartner_uom-0.1.0.tar.gz
.
File metadata
- Download URL: labpartner_uom-0.1.0.tar.gz
- Upload date:
- Size: 20.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e59f88f65e76db0e1d3fe58c3052f42281d1938757658a15f4be62b2ce6bdae |
|
MD5 | bd8c27a61529487e41e189b0a0dc9223 |
|
BLAKE2b-256 | b57fd687c6054b5fe95a049dec30ab576bafad6d028c47bcc1153cc7833af523 |
File details
Details for the file labpartner_uom-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: labpartner_uom-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4b4be954eb939c12d647b62fbbc97aaa4dbae94ee79ac1a79b771b051efa3aa |
|
MD5 | c32eb2c55b1ea346d1411aaebc47ef4c |
|
BLAKE2b-256 | a25ad8bc8af82545eb644ad5c84b8aa7c100d1a5f37223fee4e4aeee61fa1e6e |