Skip to main content

Occupancy analysis tool for systems having time of day and day of week effects

Project description

github actions pytest python versions PyPI version status

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

  • 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 for details on latest and older versions.

Where to get it

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 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 for more details.

Learn more about the history of hillmaker

See the History page at the hillmaker docs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hillmaker-0.8.1.tar.gz (39.2 kB view details)

Uploaded Source

Built Distribution

hillmaker-0.8.1-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

Details for the file hillmaker-0.8.1.tar.gz.

File metadata

  • Download URL: hillmaker-0.8.1.tar.gz
  • Upload date:
  • Size: 39.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for hillmaker-0.8.1.tar.gz
Algorithm Hash digest
SHA256 f2f144eb442336e3882fb68d4cf5420c3eca95e7fc57e5b2fe2a5fd5418c3245
MD5 eb53a62376ce2bd07e4e91a42e759362
BLAKE2b-256 2e4cb0ab260dd56cd1a35c2c73445008ce69d7d9fdb924c7a03d5d77dcc1513a

See more details on using hashes here.

File details

Details for the file hillmaker-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: hillmaker-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 40.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for hillmaker-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 26c4344277455314d2e3efd037427719fb51291ff79d12f4e64bd4bb81fa7ebb
MD5 8013f53c57c6a20714dc4b28f7d5d367
BLAKE2b-256 f29b6bc4b3cf16cc14f5b7fd43cc0ee44544baf9ce1ae3a77e2a5d31a042f890

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page