Metadata-Version: 2.1
Name: odhpy
Version: 0.2.4
Summary: A collection of splashings to master that which has no form and count that which is uncountable.
Home-page: https://bitbucket.org/odhydrology/odhpy.git
Author: Chas Egan
Author-email: chas@odhydrology.com
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: altair>=5.0.1
Requires-Dist: folium>=0.14
Requires-Dist: matplotlib>=3.8.3
Requires-Dist: numpy>=1.26.4
Requires-Dist: pandas>=2.2.0
Requires-Dist: plotly>=5.18.0

# odhpy

## Installation

This package may be installed using pip from Bitbucket (requires authentication), or directly from PyPi (public), or from a .tar.gz. Examples are shown below.

```bash
pip install git+https://bitbucket.org/odhydrology/odhpy.git
```

```bash
pip install odhpy
```

```bash
pip install .\dist\odhpy-0.0.32.tar.gz
```

## Usage

```python
import odhpy

# returns the package version
odhpy.__version__

# prints 'Hello world!' to the console
odhpy.hello_world()
```

## Build and Upload to PyPi

First build a distribution from an anaconda prompt in the root of your project, and then upload the dist to PyPi using Twine.

```bash
python setup.py sdist
```

```bash
twine upload dist\odhpy-0.0.32.tar.gz
```

As of Nov 2023, PyPi uses an API token instead of a conventional password. You can still use Twine, but the username is "__token__", and password is the API token which is very long string starting with "pypi-". 

``` bash
username = __token__
password = pypi-#####################################################################################
```

Where can I find the API token password? Chas has it in his emails. It is also here on the network at *.\ODH working files\Professional development, reading, etc\Software\ODHSoftware\ODHPy\PyPi_password_and_instructions.txt*.

How do I make a new API token? Go to your PyPi account settings, and click on "API tokens". Then click on "Add API token", and give it a name. The token will be displayed on the next screen.

## Unit Tests

WARNING: Run unit tests from an anaconda environment with compatable dependencies!

Install the nose2 test-runner framework. 

```bash
pip install nose2
```

Then from the root project folder run the nose2 module. You can do this as a python modules, or just direcly from the anaconda prompt (both examples given below). This will automatically find and run tests in any modules named "test_*".

```bash
python -m nose2
```

```bash
nose2
```

You can run specific tests by specifying the module name. Example below.

```bash
nose2 src.odhpy.stats.tests
```

## License

None.
