# -*- coding: utf-8 -*-
from setuptools import setup

packages = \
['staircase',
 'staircase.core',
 'staircase.core.collections',
 'staircase.core.ops',
 'staircase.core.poly',
 'staircase.core.stats',
 'staircase.core.tools',
 'staircase.docstrings',
 'staircase.util']

package_data = \
{'': ['*']}

install_requires = \
['matplotlib>=2',
 'numpy>=1.12,<2.0',
 'pandas>=0.24,<2',
 'pytz',
 'sortedcontainers>=2,<3']

setup_kwargs = {
    'name': 'staircase',
    'version': '1.6.3',
    'description': 'Facilitating the modelling, manipulation and analysis of data with (mathematical) step functions',
    'long_description': '<p align="center"><a href="https://github.com/venaturum/staircase"><img src="https://github.com/venaturum/staircase/blob/master/docs/img/staircase.png?raw=true" title="staircase logo" alt="staircase logo"></a></p>\n\n\n<p align="center">\n\t<a href="https://pepy.tech/project/staircase/" alt="PyPI downloads">\n        <img src="https://pepy.tech/badge/staircase" /></a>\n    <a href="https://www.python.org/" alt="Python version">\n        <img src="https://img.shields.io/pypi/pyversions/staircase" /></a>\n    <a href="https://pypi.org/project/staircase/" alt="PyPI version">\n        <img src="https://img.shields.io/pypi/v/staircase" /></a>\n    <a href="https://anaconda.org/conda-forge/staircase" alt="Conda Forge version">\n        <img src="https://anaconda.org/conda-forge/staircase/badges/version.svg?branch=master&kill_cache=1" /></a>\n    <a href="https://staircase.mit-license.org/" alt="License">\n        <img src="http://img.shields.io/:license-mit-blue.svg?style=flat-square"></a>\n</p>\n<p align="center">\n\t<a href="https://travis-ci.com/github/venaturum/staircase" alt"Travis CI">\n\t\t<img src="https://travis-ci.com/venaturum/staircase.svg"/></a>\n    <a href="https://railing.readthedocs.io/en/latest/" alt="Read the Docs">\n        <img src="https://readthedocs.org/projects/railing/badge/?version=latest" /></a>\n\t<a href="https://www.codacy.com/gh/venaturum/staircase/dashboard" alt="Codacy Grade">\n        <img src="https://app.codacy.com/project/badge/Grade/04eb9240feec4b4e95b20b96d060d38c" /></a>\t\n\t<a href="https://codecov.io/gh/venaturum/staircase"  alt="Codecov coverage">\n\t\t<img src="https://codecov.io/gh/venaturum/staircase/branch/master/graph/badge.svg"/></a>\n</p>\n<p align="center">\n\t<a href="https://mybinder.org/v2/gh/venaturum/staircase/master?filepath=docs%2Fexamples" alt="Binder">\n        <img src="https://mybinder.org/badge_logo.svg" /></a>\t\n\t<a href="https://colab.research.google.com/github/venaturum/staircase/blob/master/docs/examples/Index.ipynb" alt="Colab">\n        <img src="https://colab.research.google.com/assets/colab-badge.svg" /></a>\t\t\n</p>\n\nThe leading use-case for the staircase package is for the creation and analysis of step functions.\n\nPretty exciting huh.\n\nBut don\'t hit the close button on the browser just yet.  Let us convince you that much of the world around you can be modelled as step functions.\n\nFor example, the number of users viewing this page over time can be modelled as a step function.  The value of the function increases by 1 every time a user arrives at the page, and decreases by 1 every time a user leaves the page.  Let\'s say we have this data in vector format (i.e. tuple, list, numpy array, pandas series).  Specifically, assume *arrive* and *leave* are vectors of times, expressed as minutes past midnight, for all page views occuring yesterday.  Creating the corresponding step function is simple.  To achieve it we use the *[Stairs](https://railing.readthedocs.io/en/latest/Stairs.html)* class:\n\n```python\n>>> import staircase as sc\n\n>>> views = sc.Stairs()\n>>> views.layer(arrive,leave)\n```\n\nWe can visualise the function with the plot function:\n```python\n>>> views.plot()\n```\n<p align="left"><img src="https://github.com/venaturum/staircase/blob/master/docs/img/pageviews.png?raw=true" title="pageviews example" alt="pageviews example"></p>\n\nWe can find the total time in minutes the page was viewed:\n```python\n>>> views.integrate(0,1440)\n9297.94622521079\n```\n\nWe can find the average number of viewers:\n```python\n>>> views.mean(0,1440)\n6.4569071008408265\n```\n\nWe can find the average number of viewers, per hour of the day, and plot:\n```python\n>>> pd.Series([views.mean(60*i, 60*(i+1)) for i in range(24)]).plot()\n```\n<p align="left"><img src="https://github.com/venaturum/staircase/blob/master/docs/img/meanperhour.png?raw=true" title="mean page views per hour" alt="mean page views per hour"></p>\n\nWe can find the maximum concurrent views:\n```python\n>>> views.max(0,1440)\n16\n```\n\nWe can create histogram data showing relative frequency of concurrent viewers (and plot it):\n```python\n>>> views.hist(0,1440).plot.bar()\n```\n<p align="left"><img src="https://github.com/venaturum/staircase/blob/master/docs/img/pageviewshist.png?raw=true" title="concurrent viewers histogram" alt="concurrent viewers histogram"></p>\n\n\nPlotting is based on [matplotlib](https://matplotlib.org) and it requires relatively little effort to take the previous chart and improve the aesthetics:\n<p align="left"><img src="https://github.com/venaturum/staircase/blob/master/docs/img/pageviewshistpretty.png?raw=true" title="concurrent viewers histogram (aesthetic)" alt="concurrent viewers histogram (aesthetic)"></p>\n\n\nThere is plenty more analysis that could be done.  The staircase package provides a rich variety of [arithmetic operations](https://railing.readthedocs.io/en/latest/Stairs.html#arithmetic-operators), [relational operations](https://railing.readthedocs.io/en/latest/Stairs.html#relational-operators), [logical operations](https://railing.readthedocs.io/en/latest/Stairs.html#logical-operators), [statistical operations](https://railing.readthedocs.io/en/latest/Stairs.html#statistical-operators), for use with *Stairs*, in addition to functions for [univariate analysis](https://railing.readthedocs.io/en/latest/Stairs.html#summary-statistics), [aggregations](https://railing.readthedocs.io/en/latest/module_funcs.html) and compatibility with [pandas.Timestamp](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timestamp.html).\n\n\n## Installation\n\nStaircase can be installed from PyPI:\n\n```bash\npython -m pip install staircase\n```\n\nor also with conda:\n\n```bash\nconda install -c conda-forge staircase\n```\n\n## Documentation\nThe complete guide to using staircase can be found at [Read the Docs](https://railing.readthedocs.io/en/latest/index.html)\n\n\n## Need help?\nPost your question on [Stack Overflow](https://stackoverflow.com/) and use the tag **staircase**.\n\n\n## Contributing\nThere are many ways in which contributions can be made - the first and foremost being *using staircase and giving feedback*.\n\nBug reports, feature requests and ideas can be submitted via the [Github issue tracker](https://github.com/venaturum/staircase/issues).\n\nAdditionally, bug fixes. enhancements, and improvements to the code and documentation are also appreciated and can be done via pull requests.\nTake a look at the current issues and if there is one you would like to work on please leave a comment to that effect.\n\nSee this [beginner\'s guide to contributing](https://github.com/firstcontributions/first-contributions), or [Pandas\' guide to contributing](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html), to learn more about the process.\n\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/venaturum/staircase/tags). \n\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://staircase.mit-license.org/) file for details\n\n## Acknowledgments\n\n* This project is heavily reliant on [sorted containers](http://www.grantjenks.com/docs/sortedcontainers/).  Grant Jenks has done a great job bringing this functionality to Python at lightning fast speeds.\n* staircase began development from within the Hunter Valley Coal Chain Coordinator.  Thanks for the support!',
    'author': 'Riley Clement',
    'author_email': 'venaturum@gmail.com',
    'maintainer': 'Riley Clement',
    'maintainer_email': 'venaturum@gmail.com',
    'url': 'https://github.com/venaturum/staircase',
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'python_requires': '>=3.6,<4.0',
}


setup(**setup_kwargs)
