Metadata-Version: 2.4
Name: physics-utils
Version: 0.4.0
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.

Be warned that, as this project is still in heavy development, backwards compatability can be broken between 0.x.0 versions. This is
avoided as much as possible, but make sure to watch out for it when updating your installation.

## 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).
