hillmaker


Namehillmaker JSON
Version 0.8.1 PyPI version JSON
download
home_pagehttp://github.com/misken/hillmaker/
SummaryOccupancy analysis tool for systems having time of day and day of week effects
upload_time2024-01-18 21:28:33
maintainer
docs_urlNone
authorMark Isken
requires_python
license
keywords
VCS
bugtrack_url
requirements pandas numpy tomli matplotlib pydantic seaborn Jinja2 pytest flake8 ipykernel jupyter-book
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!-- [![github actions docs](https://github.com/misken/hillmaker/actions/workflows/documentation.yml/badge.svg)](https://hillmaker.readthedocs.io/en/latest/intro.html) -->
[![github actions pytest](https://github.com/misken/hillmaker/actions/workflows/develop-test.yml/badge.svg)](https://github.com/misken/hillmaker/actions)
[![python versions](https://img.shields.io/pypi/pyversions/hillmaker)](https://img.shields.io/pypi/pyversions/hillmaker)
[![PyPI version](https://badge.fury.io/py/hillmaker.svg)](https://pypi.org/project/hillmaker/)
[![status](https://joss.theoj.org/papers/cd579f0843aedb47cea2ddc6cd2be666/status.svg)](https://joss.theoj.org/papers/cd579f0843aedb47cea2ddc6cd2be666)
# hillmaker



**hillmaker** is a Python package that computes time of day and day of week specific
occupancy statistics from transaction data containing arrival and departure
timestamps. Typical use is for capacity planning problems in places like
hospital emergency departments, surgical recovery rooms or any system in which
entities arrive, occupy capacity for some amount of time, and then depart. It
gets its name from the hill-like nature of plots based on temporal occupancy
statistics.

![hillmaker Screenshot](docs/images/example1_occupancy_week.png "hillmaker screenshot")

- usable via a CLI, a function based API and and objected oriented API
- takes a pandas DataFrame or csv file as the input data type
- computes arrival, departure and occupancy summary statistics
  by time of day, day of week, and entity category based on a dataframe containing one
  record per visit.
- computes arrival, departure and occupancy for each datetime bin in a specified date range
- select any time bin size (minutes) that divides evenly into a day.
- output statistics includes sample size, mean, min, max, standard deviation,
  coefficient of variation, standard error, skew, kurtosis, and percentiles.
- weekly and day of week plots can be created by default or on demand; numerous plot related input parameters are available,
- summary report for length of stay automatically created
- outputs are stored in a dictionary containing pandas dataframes and as matplotlib figures. These can be accessed by methods for further post-processing or for exporting to external files.
- Requires Python >= 3.10, pandas >= 1.5.0, numpy >= 1.22, pydantic >= 2.1.1, seaborn >= 0.12.2, matplotlib >= 3.7.1, and tomli >= 2.0.1 (if not using Python 3.11)
- MIT License

See [the CHANGELOG](https://github.com/misken/hillmaker/blob/develop/CHANGELOG.md) for details on latest and older versions.

Where to get it
---------------

* Project repo: http://github.com/misken/hillmaker
* PyPI: https://pypi.python.org/pypi/hillmaker
* Documentation: https://hillmaker.readthedocs.io/en/latest/intro.html
* More Examples: See notebooks and scripts at http://github.com/misken/hillmaker-examples

Installation
-------------

You can install using pip:

    pip install hillmaker
    
You should also be able to install hillmaker from conda-forge shortly (?) into a virtual environment.

    conda config --add channels conda-forge
    conda config --set channel_priority strict
    conda install hillmaker 
    
If you want to get the latest update which is not yet on PyPI or conda-forge, you can install from the GitHub repo's `develop` branch:

    pip install git+https://github.com/misken/hillmaker@develop

Quick Start
-----------

See the [Getting Started](https://hillmaker.readthedocs.io/en/latest/getting_started.html) page in the hillmaker docs.

How to contribute
-----------------

Use the GitHub issue tracking system to report problems with the software, seek support, or suggest improvements. 
Code contributions can be suggested using GitHub pull requests. 
  
See [CONTRIBUTING.rst](https://github.com/misken/hillmaker/blob/main/CONTRIBUTING.rst) for more details.

Learn more about the history of hillmaker
-----------------------------------------

See the [History](https://hillmaker.readthedocs.io/en/latest/history.html) page at the hillmaker docs.

            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/misken/hillmaker/",
    "name": "hillmaker",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Mark Isken",
    "author_email": "isken@oakland.edu",
    "download_url": "https://files.pythonhosted.org/packages/2e/4c/b0ab260dd56cd1a35c2c73445008ce69d7d9fdb924c7a03d5d77dcc1513a/hillmaker-0.8.1.tar.gz",
    "platform": "any",
    "description": "<!-- [![github actions docs](https://github.com/misken/hillmaker/actions/workflows/documentation.yml/badge.svg)](https://hillmaker.readthedocs.io/en/latest/intro.html) -->\n[![github actions pytest](https://github.com/misken/hillmaker/actions/workflows/develop-test.yml/badge.svg)](https://github.com/misken/hillmaker/actions)\n[![python versions](https://img.shields.io/pypi/pyversions/hillmaker)](https://img.shields.io/pypi/pyversions/hillmaker)\n[![PyPI version](https://badge.fury.io/py/hillmaker.svg)](https://pypi.org/project/hillmaker/)\n[![status](https://joss.theoj.org/papers/cd579f0843aedb47cea2ddc6cd2be666/status.svg)](https://joss.theoj.org/papers/cd579f0843aedb47cea2ddc6cd2be666)\n# hillmaker\n\n\n\n**hillmaker** is a Python package that computes time of day and day of week specific\noccupancy statistics from transaction data containing arrival and departure\ntimestamps. Typical use is for capacity planning problems in places like\nhospital emergency departments, surgical recovery rooms or any system in which\nentities arrive, occupy capacity for some amount of time, and then depart. It\ngets its name from the hill-like nature of plots based on temporal occupancy\nstatistics.\n\n![hillmaker Screenshot](docs/images/example1_occupancy_week.png \"hillmaker screenshot\")\n\n- usable via a CLI, a function based API and and objected oriented API\n- takes a pandas DataFrame or csv file as the input data type\n- computes arrival, departure and occupancy summary statistics\n  by time of day, day of week, and entity category based on a dataframe containing one\n  record per visit.\n- computes arrival, departure and occupancy for each datetime bin in a specified date range\n- select any time bin size (minutes) that divides evenly into a day.\n- output statistics includes sample size, mean, min, max, standard deviation,\n  coefficient of variation, standard error, skew, kurtosis, and percentiles.\n- weekly and day of week plots can be created by default or on demand; numerous plot related input parameters are available,\n- summary report for length of stay automatically created\n- outputs are stored in a dictionary containing pandas dataframes and as matplotlib figures. These can be accessed by methods for further post-processing or for exporting to external files.\n- Requires Python >= 3.10, pandas >= 1.5.0, numpy >= 1.22, pydantic >= 2.1.1, seaborn >= 0.12.2, matplotlib >= 3.7.1, and tomli >= 2.0.1 (if not using Python 3.11)\n- MIT License\n\nSee [the CHANGELOG](https://github.com/misken/hillmaker/blob/develop/CHANGELOG.md) for details on latest and older versions.\n\nWhere to get it\n---------------\n\n* Project repo: http://github.com/misken/hillmaker\n* PyPI: https://pypi.python.org/pypi/hillmaker\n* Documentation: https://hillmaker.readthedocs.io/en/latest/intro.html\n* More Examples: See notebooks and scripts at http://github.com/misken/hillmaker-examples\n\nInstallation\n-------------\n\nYou can install using pip:\n\n    pip install hillmaker\n    \nYou should also be able to install hillmaker from conda-forge shortly (?) into a virtual environment.\n\n    conda config --add channels conda-forge\n    conda config --set channel_priority strict\n    conda install hillmaker \n    \nIf you want to get the latest update which is not yet on PyPI or conda-forge, you can install from the GitHub repo's `develop` branch:\n\n    pip install git+https://github.com/misken/hillmaker@develop\n\nQuick Start\n-----------\n\nSee the [Getting Started](https://hillmaker.readthedocs.io/en/latest/getting_started.html) page in the hillmaker docs.\n\nHow to contribute\n-----------------\n\nUse the GitHub issue tracking system to report problems with the software, seek support, or suggest improvements. \nCode contributions can be suggested using GitHub pull requests. \n  \nSee [CONTRIBUTING.rst](https://github.com/misken/hillmaker/blob/main/CONTRIBUTING.rst) for more details.\n\nLearn more about the history of hillmaker\n-----------------------------------------\n\nSee the [History](https://hillmaker.readthedocs.io/en/latest/history.html) page at the hillmaker docs.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Occupancy analysis tool for systems having time of day and day of week effects",
    "version": "0.8.1",
    "project_urls": {
        "Examples": "https://github.com/misken/hillmaker-examples",
        "Homepage": "http://github.com/misken/hillmaker/",
        "Source": "http://github.com/misken/hillmaker"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f29b6bc4b3cf16cc14f5b7fd43cc0ee44544baf9ce1ae3a77e2a5d31a042f890",
                "md5": "8013f53c57c6a20714dc4b28f7d5d367",
                "sha256": "26c4344277455314d2e3efd037427719fb51291ff79d12f4e64bd4bb81fa7ebb"
            },
            "downloads": -1,
            "filename": "hillmaker-0.8.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8013f53c57c6a20714dc4b28f7d5d367",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 40011,
            "upload_time": "2024-01-18T21:28:31",
            "upload_time_iso_8601": "2024-01-18T21:28:31.646839Z",
            "url": "https://files.pythonhosted.org/packages/f2/9b/6bc4b3cf16cc14f5b7fd43cc0ee44544baf9ce1ae3a77e2a5d31a042f890/hillmaker-0.8.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e4cb0ab260dd56cd1a35c2c73445008ce69d7d9fdb924c7a03d5d77dcc1513a",
                "md5": "eb53a62376ce2bd07e4e91a42e759362",
                "sha256": "f2f144eb442336e3882fb68d4cf5420c3eca95e7fc57e5b2fe2a5fd5418c3245"
            },
            "downloads": -1,
            "filename": "hillmaker-0.8.1.tar.gz",
            "has_sig": false,
            "md5_digest": "eb53a62376ce2bd07e4e91a42e759362",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 39152,
            "upload_time": "2024-01-18T21:28:33",
            "upload_time_iso_8601": "2024-01-18T21:28:33.469127Z",
            "url": "https://files.pythonhosted.org/packages/2e/4c/b0ab260dd56cd1a35c2c73445008ce69d7d9fdb924c7a03d5d77dcc1513a/hillmaker-0.8.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-18 21:28:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "misken",
    "github_project": "hillmaker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.22"
                ]
            ]
        },
        {
            "name": "tomli",
            "specs": [
                [
                    ">=",
                    "2.0.1"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.7.1"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    ">=",
                    "2.1.1"
                ]
            ]
        },
        {
            "name": "seaborn",
            "specs": [
                [
                    ">=",
                    "0.12.2"
                ]
            ]
        },
        {
            "name": "Jinja2",
            "specs": []
        },
        {
            "name": "pytest",
            "specs": []
        },
        {
            "name": "flake8",
            "specs": []
        },
        {
            "name": "ipykernel",
            "specs": []
        },
        {
            "name": "jupyter-book",
            "specs": []
        }
    ],
    "lcname": "hillmaker"
}
        
Elapsed time: 0.35617s