Metadata-Version: 2.4
Name: numshooter
Version: 0.1.4
Summary: A modular mathematics library for fast and structured numerical operations in Python.
Author: Eduardo Amorim Pereira
License: MIT
Project-URL: Homepage, https://github.com/numshooter/numshooter
Project-URL: Repository, https://github.com/numshooter/numshooter
Project-URL: Issues, https://github.com/numshooter/numshooter/issues
Keywords: math,numerical,arithmetic,library,python
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# `numshooter`

![numshooter's logo](assets/logo.png)

**`numshooter`** is a modular math library for Python that provides fast, organized, and extensible numerical operations.

Designed to be simple and lightweight, `numshooter` separates functionality into clear modules such as arithmetic, powers, and root operations, making it easy to maintain and scale.

## Overview

`numshooter` is:
- A modular Python library
- Engine to solve math operations
- Anything you can imagine about numbers!


## Installation

Run:

```bash
pip install numshooter
```

In the [features section](#features), you can see how to run each function.


## Features

### Add

Adds multiple numbers together using a flexible variadic interface.

- Accepts any number of arguments (`*args`)
- Returns `0` if no arguments are provided (additive identity)
- Uses left-to-right accumulation
- Supports integers and floats

Example:
```python
add(1, 2, 3)  # 6
add()         # 0
```

### Sub

Performs sequential subtraction from the first value.

- First value is treated as the base
- Each subsequent value is subtracted in order
- Returns the single value if only one argument is given

Example:

```Python
sub(10, 2, 3)  # 5
sub(7)         # 7
```


### Mul

Multiplies all provided numbers together.

- Accepts any number of arguments
- Returns 1 if no arguments are provided (multiplicative identity)
- Uses iterative multiplication
Example:

```Python
mul(2, 3, 4)  # 24
mul()         # 1
```


### Div

Performs sequential division from left to right.

- First value is the numerator base
- Each next value divides the current result
- Raises ZeroDivisionError if any divisor is zero

Example:

```Python
div(8, 2, 2)  # 2.0
div(9)        # 9
```


## Philosophy

`numshooter` prioritizes:

- Simplicity over complexity

- Modular design over monoliths

- Readability over over-optimization

- Extensibility for future math domains

## License

`numshooter` uses MIT license. See more details at [our license file.](LICENSE)


