All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- PyPalettes library dependency, providing 2500+ palettes.
- Colormap reverse flag parameter added to dataclock function.
- Chart polar spine color parameter added to dataclock.
- Chart polar grid color parameter added to dataclock.
- Wedge label logic moved to
dataclocklib.utility.add_wedge_labels
. - Temporal aggregation logic moved to
dataclocklib.utility.aggregate_temporal_columns
.
- Basic overview guide on documentation site
- Dynamic 'optimal' figure size calculation based on total wedge count.
- Dynamic chart annotation font scaling & spacing adjustment.
- Dynamic polar axis label font scaling based on number of rings.
- Configuration files (
dataclocklib/config/
) for default chart title & subtitle creation. - Dataclock kwargs
**fg_kw
added, which aligns withpyplot.subplots
.- Figure size (figsize) parameter will be overwritten and must be modified with the returned Figure object.
- Moved custom types to
dataclocklib.typing
.ColorMap
type changed toCmapNames
.
- Moved colorbar logic to
dataclocklib.utility.add_colorbar
. - Dataclock arguments;
chart_title
,chart_subtitle
,chart_period
,chart_source
are keyword only.
- Extra unit tests:
- Test aggregation values for different chart modes.
- Test figure generation for different chart modes.
- Test custom chart annotation text values.
- Error handling for empty DataFrame & wrong data type.
- Parameter 'default_text' triggers default chart title and subtitle annotations if chart_title & chart_subtitle are None.
- Parameter 'chart_period' for optional annotation below subtitle for dataset reporting period.
- Raises ValueError if data[date_column] Series does not have not a 'datetime64[ns]' data type.
- Raises ValueError if data is an empty DataFrame.
- Ring & wedge value generation inefficiencies (~75% improvement).
- Redundant inner loop for wedge bar creation.
- Divide by zero error when passed an empty DataFrame.
- Leap year ring values changed from 53 to 52 in 'YEAR_WEEK' mode.
- Tutorial updates & improvements.
- Jupyter Notebook Tutorial for documentation.
- PyPI deployment.
- Pytest functions added.
- README documentation.
- GitHub action for GitHub page deployment.
- Astral uv workflow job added to actions.
- Sphinx documentation.
- GitHub action for GitHub page deployment.
- Matplotlib colormap use instead of custom colormap.
- DOW_HOUR chart mode. Chart rings are Monday - Sunday and wedges are 24 hour periods.
- Pytest functionality for matplotlib chart generation.
- Wedge labels rotate around polar axis.
- Initial data clock chart.