This is the list of notable changes to hillmaker between each release.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- published hillmaker paper in JOSS
- added more detail to occupancy computations documentation
- object oriented API (#37)
- many input parameters for controlling hillmaker computations and outputs (#50 #51, #54)
- can specify inputs via TOML formatted config file if desired (#33)
- length of stay summary report (#26)
- input validation handled via a pydantic model, (#34)
- documentation at https://hillmaker.readthedocs.io/en/latest/intro.html (#9)
- unit tests for occupancy computations (#14)
- added extensive conservation of flow checks (#25)
- detailed logging (#21)
- CLI input arguments for controlling hillmaker computations and outputs (#55)
- function based API input arguments for controlling hillmaker computations and outputs (#55)
- enhanced plotting capabilities (#36)
- added examples to docstrings for API related elements (#56)
- removed option to treat missing departure timestamps as censored data.
- edge_bins = 2 (entire bin) was being treated as edge_bins = 1 (fractional arrival and departure bins) (#43)
- if no category field is specified, the plots were not being generated. (#42)
- moved examples folder to project root
- updated dependencies to python>=3.9, pandas>=1.4, numpy>=1.22
- updated paths in ad-hoc tests to reflect new folder layout
- weekly and dow plots of arrivals, departures, occupancy
- can use TOML formatted config file for command line args
- added percentiles to CLI
- renamed verbose argument to verbosity
- Added option to treat missing departure timestamps as censored data.
- disallowed missing entry timestamps
- date range sanity check had copy paste error with start and end variables
- removed old licensing references
- fixed typos in basic usage notebook
- added hillmaker related blog post links to readme
- basic usage explainer notebook
- adjusted arrivals and departures by bin arrays to account for stops with arrivals or departures outside the analysis range
- CLI
- flow conservation checks
- logging
- Greatly improved speed by moving many computations into numpy arrays and vectorization.
- deprecated use of multiple category fields and reverted to previous functionallity of a single (optional) category field. Multiple categories are best handled with composite keys.
- replaced call to deprecated time.clock() with time.process_time()
-
Added
edge_bins
parameter to control how occupancy contribution is computed for arrival and departure bins. 1=fractional contribution (default), 2=whole bin -
Multiple category fields allowed. (#17)
-
Can specify a field to use as occupancy weights. This can be useful for building plots of workload instead of occupancy.
- Replace deprecated sortlevel() by sort_index() (#20)
- Removed duplicate output of category, bin of day and day of week fields (#18)
This is the first Python based release for hillmaker.
- Takes a pandas DataFrame as the input data type
- Functions for computing arrival, departure and occupancy summary statistics by time bin of day and day of week based on a pandas DataFrame containing one record per visit.
- Functions for computing arrival, departure and occupancy for each datetime bin in the analysis period.
- Select any time bin size (minutes) that divides evenly into a day.
- Optionally specify one or more categories to ignore in the analysis.
- Output statistics includes sample size, mean, min, max, standard deviation, coefficient of variation, standard error, skew, kurtosis, and a whole slew of percentiles (50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 97.5, 99).
- Output CSV files are written by default but can be supressed.
- Optionally capture outputs as a dictionary of pandas DataFrames for further post-processing (e.g. plot creation).