Metadata-Version: 2.4
Name: normtransform
Version: 0.2.1
Summary: Transformation for normalising data
Author-email: Andrew Schepen <andrew.schepen@csiro.au>
License: MIT
Requires-Python: <3.14,>=3.11
Description-Content-Type: text/markdown
Requires-Dist: numpy>=2.2.5
Requires-Dist: cython>=3.0.12
Requires-Dist: pandas>=2.2.3
Requires-Dist: scipy>=1.15.2
Requires-Dist: setuptools>=79.0.1
Requires-Dist: pytest<9.0.0,>=8.3.5
Requires-Dist: twine<7.0.0,>=6.1.0
Requires-Dist: cibuildwheel<3.0.0,>=2.23.3
Requires-Dist: matplotlib<4.0.0,>=3.10.3
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"

# Transformation

Transformation tools to normalise and stabilise the variance of non-normal data. 

![Build Status](https://img.shields.io/badge/build-passing-brightgreen)

## Table of Contents
- [Overview](#overview)
  - [Installation](#installation)
  - [Demonstration](#example-usage)
  - [Contributing](#contributing)
  - [License](#license)
  - [Contact](#contact)
  

  ---
## Overview

[**normtransform**](https://pypi.org/project/normtransform/) is a high-performance Python package (with Cython/C++ backend) for fitting univariate transformed normal distributions using maximum likelihood or maxium a posteriori (MAP) estimation, with support for left and right censoring. 
Typically, norm-transform is used to transform variables/data so that they can be used in modelling that assumed normality. The ability to handle scenarios where data may be treated as partially observed (e.g. rainfall) allows significant flexibility in applications.

---

## Interactive Demonstration of normtransform

You can explore an interactive demonstration of the normtransform tool [here](https://mybinder.org/v2/gh/csiro-hydroinformatics/hydro-forecasting-demonstrations/HEAD?urlpath=%2Fdoc%2Ftree%2F%2Fnotebooks%2Fnormtransform-demonstration.ipynb).  This link opens a Jupyter Notebook hosted on the MyBinder platform. Once it loads, click **Run-->Run All Cells** to execute the code and see the demonstration in action.

---

## Installation

A [Python virtual environment](https://packaging.python.org/en/latest/specifications/virtual-environments/) is a self-contained directory that includes a specific Python version and any additional packages you install. It helps you isolate dependencies for different projects, ensuring that changes in one environment don’t affect others. This makes it easier to manage project-specific requirements and maintain a clean development setup.

Use the package manager pip to install normtransform.

```bash
python -m venv venv # Create a virtual environment
source venv/bin/activate  # Activate the virtual enviroment, on Windows use `venv\Scripts\activate`
pip install normtransform #install normtransform
```
Once installed users can start with mimicking the [demonstration](#interactive-demonstration-of-normtransform) found above within their own environment.

---

## Contributing

Requests are welcome. Please contact the authors below.

---
## License

[MIT](https://choosealicense.com/licenses/mit/) 

---
## Contact

- Andrew Schepen - andrew.schepen@csiro.au
- David Robertson - david.robertson@csiro.au
