eouTools 0.1.1
eouTools adds new ease-of-use features to python!
Requires Python: >=3.10

# eouTools
## Requirements
- python >= 3.10 (Required)
- python >= 3.12 (Suggested)
- numpy (Suggested)
- Deprecated (Required)
## eouTools.numbers
### isPositive
Syntax: isPositive(n: int | float) -> bool<br>
Alternative: `not isNegative(n)`<br>
Documentation: "Returns whether `n` is positive or not"

### isNegative
Syntax: `isNegative(n: int | float) -> bool`<br>
Alternative: `not isPositive(n)`<br>
Documentation: "Returns whether `n` is negative or not"

### isZero
Syntax: `isZero(n: int | float) -> bool`<br>
Alternative: `n == 0`<br>
Documentation: "Returns whether `n` is zero or not"

## eouTools.decorators
### rename_on_init
Syntax: `@rename_on_init(name: str)`<br>
Documentation: "Rename a function when it is initialized. This may raise unexpected behavior, however"

### retry
Syntax: `@retry(amount: Optional[int], stop_at: Optional[Tuple[Exception]])`<br>
Documentation: "Try calling the functon `amount` amount of times, but stop if the exception raised is in `stop_at` or if the function did not raise an error"

### cache
Syntax: `@cache`<br>
Documentation: "Create a cache of all results given by a function. run the `.clear_cache()` function to delete the cache. Can be used to speed up certain algorithms such as recursive Fibonacci sequence"

## eouTools.benchmarking.decorators
### time_func
Syntax: `@time_func`<br>
Documentation: "Time a function. Parse in the keyworded argument `_no_time = True` to get the return instead of the time it took to execute"

## eouTools.arithmetic_equations.integers
### factorial
Syntax: `factorial(n: int) -> int`<br>
Documentation: "Calculate the factorial of a number"<br>
Requirements: `numpy`

## eouTools.arithmetic_equations.integrals
### integrate
Syntax: `integrate(func: Callable, start: Optional[int | float], end: Optional[int | float], dx: Optional[int | float]) -> float`<br>
Documentation: [Self-Explanatory]<br>
Used Builtins: `multiprocessing`

### fib
Syntax: `fib(n: int) -> int`<br>
Documentation: `Calculate the fibonacci sequence for a number recursively`<br>
Requirements:
- numpy (suggested)

## eouTools.rng.random
### seed
Syntax: `seed(a: Optional[int | float | bytes | bytearray)`
Documentation: `To be used as a context manager`
Requirements:
- numpy (suggested)

### aseed
Syntax: `aseed(a: Optional[int | float | bytes | bytearray)`
Documentation: `To be used as an asynchronous context manager`
###### _69 lines, nice!_
Requirements:
- numpy (suggested)

## eouTools.constants
### Constant
Syntax: `Constant(value: Any)`
Documentation: `A constant, read-only value.`

## Commandline
### Commands
- `-V`: Show the installation version
- `--install-requirements`: Install all requirements
- `--upgrade`: Update to the newest version of eouTools

### Usage
```commandline
python -m eouTools <command>
```
# eouTools Installation Guide
## 1 - Requirements
Make sure you meet the following requirements:
- python >= 3.10 (required)
- python >= 3.12 (suggested)
- pip >= 20.3.1 (suggested?)
- numpy<=1.26.4 (suggested?)
- numpy (suggested)
- Deprecated (required)

## 2 - Requirements Installation
How to install certain requirements if your system does not already meet them
### pip >= 20.3.1
```commandline
python -m pip install --upgrade pip>=20.3.1
```

### numpy<=1.26.4
```commandline
python -m pip install --upgrade numpy<=1.26.4
```

### numpy
```commandline
python -m pip install --upgrade numpy
```

## Deprecated
```commandline
python -m pip install --upgrade Deprecated
```

## 3 - Installation
To install eouTools, please run:
```commandline
python -m pip install eouTools
```

## 4 - Updates
If you wish to upgrade to the latest version of eouTools when new releases come out, run:
```commandline
python -m pip install --upgrade eouTools
```

## 5 - Removal
If you wish to uninstall eouTools, run:
```commandline
python -m pip uninstall eouTools
```
And please leave us a feedback with what drove you to uninstall it