Skip to main content

Example PyPI (Python Package Index) Package

Project description

LabPartner - A Tool for Undergraduate Physics Students

PyPI package version number Actions Status License

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 Quadratic ANY 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labpartner_uom-0.1.0.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

labpartner_uom-0.1.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

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

Hashes for labpartner_uom-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1e59f88f65e76db0e1d3fe58c3052f42281d1938757658a15f4be62b2ce6bdae
MD5 bd8c27a61529487e41e189b0a0dc9223
BLAKE2b-256 b57fd687c6054b5fe95a049dec30ab576bafad6d028c47bcc1153cc7833af523

See more details on using hashes here.

File details

Details for the file labpartner_uom-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for labpartner_uom-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4b4be954eb939c12d647b62fbbc97aaa4dbae94ee79ac1a79b771b051efa3aa
MD5 c32eb2c55b1ea346d1411aaebc47ef4c
BLAKE2b-256 a25ad8bc8af82545eb644ad5c84b8aa7c100d1a5f37223fee4e4aeee61fa1e6e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page