.. image:: https://travis-ci.org/KevinFasusi/supplychainpy.svg?branch=master
    :target: https://travis-ci.org/KevinFasusi/supplychainpy

.. image:: https://readthedocs.org/projects/supplychainpy/badge/?version=latest
    :target: http://supplychainpy.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://coveralls.io/repos/github/KevinFasusi/supplychainpy/badge.svg?branch=master
    :target: https://coveralls.io/github/KevinFasusi/supplychainpy?branch=master


.. image:: https://badge.fury.io/py/supplychainpy.svg
    :target: https://badge.fury.io/py/supplychainpy

Supplychainpy is a Python library for supply chain analysis, modeling and simulation. The library is currently in early stages of development, so not ready for use in production. For quick exploration, please see the **Quick Guide** below.

Changelog
=========

0.0.5
-----

Application
^^^^^^^^^^^
-   [Bug Fix] Using Flask's web server for the Dashboard on a public route on a standalone server (--host 0.0.0.0)
-   [Bug Fix] Javascript error while loading dashboard.
-   [New Feature] Basic ability to run Monte Carlo Simulation and view summarised results in reporting suite.
-   [Update] Load scripts use multi-processing for forecast calculations when processing data file.
-   [Update] Load scripts using batch process.
-   [Update] Debug commandline argument for viewing logging output `--debug`.
-   [Update] Use Chat Bot from commandline with `-c` flag. EXPERIMENTAL
-   [Update] Recommendation generator takes into account forecasts
-   [Update] Flask Blueprints used for reporting views.


Documentation
^^^^^^^^^^^^^
-   [New] Wiki started on GitHub for more responsive updates to documentation including changes to source during development.
-   [Update] Tutorial.


0.0.4
^^^^^
Release 0.0.4 has breaking API changes. Namespaces have changed in this release. All the modules previously in the
"demand" package are now inside the "inventory" package. If you have been using the "model_inventory" module, then nothing has
changed, and there will not be any break in contracts.

Application
-----------

-   [New Feature] Analytic Hierarchy Process.
-   [New Feature] API supports Pandas `DataFrame`.
-   [New Feature] Browser based reporting suite, with charts, data summaries and integrated chat bot.
-   [New Feature] Dash Bot, a basic chat bot assistant for the data in the reporting suite. Query data using natural language.
-   [New Feature] Command line interface for processing .csv to database, launching reports and chat bot.
-   [New Feature] "Model_Demand" module containing simple exponential smoothing and holts trend corrected exponential smoothing.
-   [New Feature] Summarise and filter your analysis.
-   [New Feature] Holts Trend Corrected Exponential Smoothing Forecast and optimised variant (evolutionary algorithm for optimised alpha and gamma)
-   [New Feature] Simple Exponential Smoothing (evolutionary algorithm for optimised alpha).
-   [New Feature] Evolutionary Algorithms for Smoothing Level Constants (converges on better smoothing levels using genetic algorithm)
-   [New Feature] SKU and inventory profile recommendations generator.
-   [Update] Explicit internal and public API.
-   [Update] Excess, shortages added to the UncertainDemand order_summary.
-   [Update] Moved abc_xyz.py, analyse_uncertain_demand.py, economic_order_quantity.py and eoq.pyx from "demand" to "inventory" package
-   [Update] "Demand" package now contains: evolutionary_algorithms.py, forecast_demand.py and regression.py
-   [Update] retail_price added to `model_inventory.analyse_orders`.
-   [Update] backlog added to the data format for loading into the analysis.
-   [Update] Unit Tests.
-   [Update] Docstrings.

Documentation
----------------

-   [New] Reporting Suite Walk Through.
-   [New] Declare public API explicitly. describe and document each module and function, give an example also add to website tutorial as Jupyter notebook.
-   [New] Docker for supplychainpy quick guide.
-   [New] Analytic Hierarchy Process quick guide.
-   [New] Inventory Modeling.
-   [New] Demand Planning with Pandas.
-   [Update] Tutorial.
-   [Update] Quick Guide.

0.0.3
^^^^^

Application
-----------

-   [Update] Compiled Cython (eoq and simulation modules) for OS X, Windows and Linux.
-   [Update] Removed z_value, file_type, file_path and reorder_cost parameters from simulate.run_monte_carlo.

Documentation
-------------

-   [Update] Update Quick Guide

0.0.2
^^^^^

Application
-----------

-   [New] Added monte carlo simulation and simulation summary using Cython optimisation.
-   [New] Added orders analysis optimisation, based on results of the monte carlo simulation.
-   [New] Added simulate module to api.
-   [New] Added weighted moving average forecast.
-   [New] Added moving average forecast.
-   [New] Added mean absolute deviation.
-   [Update] Updated economic order quantity using Cython optimisation.
-   [Update] Updated unit tests.

Documentation
-------------

-   [New] Added Formulas and Equations.
-   [Update] Updates Quick Guide.
-   [Update] Updated Tutorial.
-   [Update] Updated README.md
-   [Update] Updated data.csv.

0.0.1
^^^^^

Application
-----------

-   [New] Added inventory analysis for uncertain demand. Analyse orders from .csv, .txt or from dict.
-   [New] Added inventory analysis summary for uncertain demand. ABC XYZ, economic order quantity (EOQ), reorder level (ROL),
    demand variability and safety stock.

Documentation
-------------

-   [New] Added Quick Guide.
-   [New] Added Tutorial.
-   [New] Added Installation.
