Metadata-Version: 2.4
Name: physics-utils
Version: 0.3.4
Summary: Helpers for empirical data handling and plotting
Author-email: Jahan Rashidi <hiimjahan@gmail.com>
License-Expression: GPL-3.0-only
Project-URL: Homepage, https://github.com/ImNotJahan/PhysicsTools
Project-URL: Source, https://github.com/ImNotJahan/PhysicsTools
Project-URL: Issues, https://github.com/ImNotJahan/PhysicsTools/issues
Project-URL: Documentation, https://physics-utils.readthedocs.io
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy~=2.3.1
Requires-Dist: matplotlib~=3.10.6
Requires-Dist: pandas~=2.3.2
Requires-Dist: antlr4-python3-runtime~=4.13.0
Dynamic: license-file

[![PyPI - Version](https://img.shields.io/pypi/v/physics-utils)](https://pypi.org/project/physics-utils/)
[![Static Badge](https://img.shields.io/badge/docs-blue)](https://physics-utils.readthedocs.io)
[![Python Tests](https://github.com/ImNotJahan/PhysicsTools/actions/workflows/python-tests.yml/badge.svg)](https://github.com/ImNotJahan/PhysicsTools/actions/workflows/python-tests.yml)

# PhysicsTools
This is a library for dealing with some tedious tasks for basic physics labs.

## Features
* Automatic uncertainty propagation on basic arithmetic and trigonometric operations
* Generated LaTeX steps of any calculations done with the `MeasuredData` class
* A physics scripting language for fast usage of the library
* Graping wrappers that take numbers with uncertainty for automatic error bars
* LaTeX data table generators

## Installation
Look under the examples folder to see the library in use.

`physics_utils` can be installed straight from PyPI using pip, like so:
```batch
python3 -m pip install physics-utils
```

## Usage
To get started with using the library, you can import `MeasuredData` from `physics_utils` and begin doing
calculations like normal once your numbers are wrapped:
```python
from physics_utils import MeasuredData

print(MeasuredData(2, 0.5) * MeasuredData(3, 0.4)) # 6±2.
```

To start using the scripting language, you can type `python3 -m physics_utils.script` in your terminal to start the
interpreter, or `python3 -m physics_utils.script <filename>` to run a file. To do the same as the example above in the
physics script interpreter, you'd just need to type this:
```
>>> 2~0.5 * 3~0.4
6±2.
```

And there are a number of other helpful features built into the language.

For more information on using the package, take a look at the [documentation](https://physics-utils.readthedocs.io) and
[examples](https://github.com/ImNotJahan/PhysicsTools/tree/main/examples).
