Metadata-Version: 2.1
Name: forecast-tools
Version: 0.2.1
Summary: Tools to support the forecasting process in Python
Home-page: https://github.com/TomMonks/forecast-tools
Author: Thomas Monks
Author-email: forecast_tools@gmail.com
License: The MIT License (MIT)
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib>=3.1.3
Requires-Dist: numpy>=1.18.1
Requires-Dist: pandas>=1.0.1
Requires-Dist: scipy>=1.4.1
Requires-Dist: seaborn>=0.10.0
Requires-Dist: joblib>=0.14.1

# `forecast-tools`: fundamental tools to support the forecasting process in python.

[![DOI](https://zenodo.org/badge/250494795.svg)](https://zenodo.org/badge/latestdoi/250494795)
[![ORCID: Monks](https://img.shields.io/badge/ORCID-0000--0003--2631--4481-brightgreen)](https://orcid.org/0000-0003-2631-4481)
[![PyPI version fury.io](https://badge.fury.io/py/forecast-tools.svg)](https://pypi.python.org/pypi/forecast-tools/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TomMonks/forecast-tools/master)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/release/python-380+/)
[![Read the Docs](https://readthedocs.org/projects/pip/badge/?version=latest)](https://tommonks.github.io/forecast-tools/)

 forecast-tools has been developed to support forecasting education and applied forecasting research.  It is MIT licensed and freely available to practitioners, students and researchers via PyPi.  There is a long term plan to make forecast-tools available via conda-forge.

 ## Vision for forecast-tools

 1. Deliver high quality reliable code for forecasting education and practice with full documentation and unit testing.
 2. Provide a simple to use pythonic interface that users of `statsmodels` and `sklearn` will recognise.
 3. To improve the quality of Machine Learning time series forecasting and encourage the use of best practice.

## Features:

1. Implementation of classic naive forecast benchmarks such as Naive Forecast 1 along with prediction intervals
2. Implementation of scale-dependent, relative and scaled forecast errors.
3. Implementation of scale-dependent and relative metrics to evaluate forecast prediction intervals
4. Rolling forecast origin and sliding window for time series cross validation
5. Built in daily level datasets

## Two simple ways to explore forecast-tools

1. `pip install forecast-tools`
2. Click on the launch-binder at the top of this readme. This will open example Jupyter notebooks in the cloud via Binder.
3. Read our [documentation on GitHub pages](https://tommonks.github.io/forecast-tools/)

## Citation

If you use forecast-tools for research, a practical report, education or any reason please include the following citation.

> Monks, Thomas. (2020). forecast-tools: fundamental tools to support the forecasting process in python. Zenodo. http://doi.org/10.5281/zenodo.3969789

```tex
@software{forecast_tools_3969789,
  author       = {Thomas Monks},
  title        = {forecast-tools: fundamental tools to support the forecasting process in python},
  year         = 2020,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.3969789},
  url          = {https://doi.org/10.5281/zenodo.3969789}
}
```

## Contributing to forecast-tools

Please fork Dev, make your modifications, run the unit tests and submit a pull request for review.

Development environment:

```
conda env create -f binder/environment.yml
```

```
conda activate forecast_dev
```

Unit tests are provided and can be run from the command `pytest` and its coverage extension.  Run the following in the terminal.

```
pytest --cov=forecast_tools tests/
```

**All contributions are welcome and must include unit tests!**
