hillmaker

hillmaker: A Python package for occupancy analysis in discrete entity flow systems - Published in JOSS (2024)

https://github.com/misken/hillmaker

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    2 of 6 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 6 months ago · JSON representation ·

Repository

Occupancy analysis by time of day and day of week, with Python

Basic Info
  • Host: GitHub
  • Owner: misken
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 37.1 MB
Statistics
  • Stars: 6
  • Watchers: 3
  • Forks: 4
  • Open Issues: 13
  • Releases: 11
Created over 11 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Authors

README.md

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

  • 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 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.

Owner

  • Name: Mark Isken
  • Login: misken
  • Kind: user
  • Location: Michigan
  • Company: Oakland University

JOSS Publication

hillmaker: A Python package for occupancy analysis in discrete entity flow systems
Published
January 30, 2024
Volume 9, Issue 93, Page 6154
Authors
Mark W. Isken ORCID
School of Business Administration, Oakland University, United States of America
Jacob W. Norman
UNC Health Rex, Raleigh, United States of America
Editor
Marcel Stimberg ORCID
Tags
occupancy analysis capacity planning healthcare

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Isken
  given-names: Mark W.
  orcid: "https://orcid.org/0000-0001-8471-9116"
- family-names: Norman
  given-names: Jacob W.
doi: 10.5281/zenodo.10530420
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Isken
    given-names: Mark W.
    orcid: "https://orcid.org/0000-0001-8471-9116"
  - family-names: Norman
    given-names: Jacob W.
  date-published: 2024-01-30
  doi: 10.21105/joss.06154
  issn: 2475-9066
  issue: 93
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6154
  title: "hillmaker: A Python package for occupancy analysis in discrete
    entity flow systems"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06154"
  volume: 9
title: "hillmaker: A Python package for occupancy analysis in discrete
  entity flow systems"

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 482
  • Total Committers: 6
  • Avg Commits per committer: 80.333
  • Development Distribution Score (DDS): 0.249
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
misken i****w@g****m 362
mark d****i@g****m 92
jwnorm n****b@g****m 19
Mark W. Isken i****n@a****u 4
Marcel Stimberg m****g@s****r 3
Lasse l****0@g****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 62
  • Total pull requests: 17
  • Average time to close issues: over 1 year
  • Average time to close pull requests: 1 day
  • Total issue authors: 3
  • Total pull request authors: 4
  • Average comments per issue: 1.26
  • Average comments per pull request: 0.71
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • misken (49)
  • jwnorm (8)
  • HLasse (2)
Pull Request Authors
  • jwnorm (10)
  • HLasse (4)
  • misken (3)
  • mstimberg (2)
Top Labels
Issue Labels
enhancement (16) core (8) doc (7) bug (6) feature (5) design (5) question (2) workflow (1)
Pull Request Labels

Dependencies

requirements.txt pypi
  • numpy *
  • pandas *
  • setuptools *
  • tomli >=1.1.0
setup.py pypi
  • numpy >=1.22
  • pandas >=1.4.0