Changelog¶
All notable changes to the master branch of this project should be documented clearly in this file. In progress (or intended changes) can also be listed below under Unreleased.
The changelog format is based on Keep a Changelog, and this project tries its very best to adhere to Semantic Versioning.
Unreleased¶
Released (PyPI)¶
v1.1.0¶
- Date
2022-07-27
Added
New tests for
gptables
Validation for tables with null or whitespace rows, cells or column names
Support for note references in
GPTable.instructions
attributeAccessibility checklist based on Analysis Function guidance and a11ytables documentation
Contributers page in documentation
Changed
Validation of GPTable text attributes. Error will be raised if
title
orinstructions
isNone
, or if an entry in thesubtitle
orlegend
lists isNone
.Running package tests now requires pytest 6.2.5+, to support Python 3.10
CI configuration to run tests on both Linux and Windows with Python 3.6-3.10 and calculate coverage based on core functionality and utilites
Restructure and rewording of changelog
Package author and maintainer information
Deprecated
contentsheet
parameter ofwrite_workbook
will be removed in v2 of gptables. Please usecontentsheet_label
instead.Ability to reference notes within
GPTable.table.columns
will be removed in v2 of gptables. Please useGPTable.table_notes
to ensure references are correctly placed and ordered.
Fixed
contentsheet_label
parameter added towrite_workbook
. Previously parameter was included in documentation but was misnamed in function.auto_width
now functions as expected for columns with links or rich text columns using Python 3.6 and 3.7, as well as for numeric columns using Python 3.6+Trailing whitespace is no longer added when
units
ortable_notes
are added to column headersProviding
table_notes
will no longer break additional formattingRich text in
instructions
property will no longer raise an errorNote order now takes into account custom
description_order
inTheme
Special character only cell validation now includes underscores
Image alt text appears when building user documentation
CI deploys documentation in full
v1.0.0¶
- Date
2022-06-04
Added
Cover:
links formatted using the markdown format of
"[display text](link)"
will be rendered with the display text showing and the link applying for the corresponding cell. Links must start withhttp://
,https://
,ftp://
,mailto:
,internal:
orexternal:
Table of contents:
contents page added to workbook by default. Can be disabled or customised by supplying
contentsheet_label
andcontentsheet_options
parameters toproduce_workbook
orwrite_workbook
.links can be used in text elements passed to
contentsheet_options
, see above
Notes:
notes page added to workbook if
notes_table
is provided. Can be customised by supplyingnotesheet_label
andnotesheet_options
parameters toproduce_workbook
orwrite_workbook
.links can be used in
notes_table
and text elements passed tonotesheet_options
, see above
Data tables:
GPTable.table
will be marked up as a worksheet table in Exceltable_name
property added toGPTable
class. This must be provided for accessibility.instructions
property added toGPTable
class. If this is not provided, a default value will be used.table_notes
property added toGPTable
class. This allows note references to be added to the column header row. If used, they will be positioned below the column name and units.validation for
GPTable.table
column names - all columns must be named and the names must be uniquelinks can be used in
GPTable.table
and text elements
Theme:
instructions_format
added toTheme
. This can be used to customise the format of theGPTable.instructions
element.
Examples:
example added to demonstrate the use of a custom theme YAML
Changed
API functions:
auto_width
property ofproduce_workbook
andwrite_workbook
now defaults toTrue
rather thanFalse
Notes:
notes are now numbered according to position in workbook, starting from cell A1 of the first data sheet. Previously, notes were ordered independently for each worksheet
note references in text elements are moved to the end of the text. This is to make them more accessible and avoid disrupting the text.
Data tables:
units
are now written on a new line with the the corresponding column heading cell, instead of above the tableunits
property ofGPTable
is now optional, and should be provided asdict
(str
no longer supported)scope
property ofGPTable
is now optional, as this information may be included in title or subtitlessource
property ofGPTable
is now optional, as this information should be included in cover sheet if it is the same across sheetslegend
property asGPTable
is now optional
Theme:
default theme changed to be more accessible, inparticular, font sizes increased to at least 12pt and font colour set to automatic. Note: compatibility issues with LibreOffice and automatic font colour
footer_order
property ofTheme
replaced bydescription_order
, as corresponding metadata have been moved from below to above table. Valid elements are nowinstructions
,source
,legend
andscope
.
Examples:
examples updated to reflect new functionality
Removed
API functions:
quick_and_dirty
function removed, as it is inaccessible and does not demonstrate good practicedisable_footer_parentheses
removed, as footer is inaccessible and parenetheses not good practice
Cover:
additional_elements
property removed fromCover
class. This is because table of contents is now generated on contentsheet not cover.
Notes:
notes
andannotations
properties removed fromGPTable
class. Notes are no longer displayed on data worksheets
Data tables:
include_index_column_headings
property removed fromGPTable
class, index column headers now always written, for accessibility
Theme:
annotations_format
andnotes_format
options removed fromTheme
, asannotations
andnotes
no longer written to data worksheetsmissing_value
option removed fromTheme
. Unavailable or white-space table entries are now written as blank cells, and the user is invited to consider the GSS guidance on symbols and shorthand in spreadsheets
Fixed
incorrect version numbers in changelog
minor typos in docs
v0.4.0¶
- Date
2021-01-30
Fixed
bug where setting a GPTable’s scope to
None
resulted in the units also not being displayeddepreciation warning when running tests
Added
include_index_column_headings
option toGPTable
, so that users can display index column headers if they wish. Defaults toFalse
for backwards compatibility.
v0.3.2¶
- Date
2020-08-24
Fixed
bug in Cover post_init where
additional_elements
is None (it’s default value…)more minor typos in docs
incorrect version numbers in changelog
v0.3.1¶
- Date
2020-08-24
Fixed
incorrect
if __name__ == "__main__"
in example filesminor typos in docs
v0.3.0¶
- Date
2020-08-24
Added
Cover
dataclass, to provide text elements for cover pages. Provided viacover
parameter of API functions.write_cover
and associatedGPWorksheet
methods, for writing a cover page as the first sheet in a GPWorkbookadditional
Theme
attributes forCover
text elementsdocumentation for
Cover
class and example usage
Fixed
loads of typos in documentation
broken CI deployment of docs - code includes were not working
v0.2.0¶
- Date
2020-07-10
Fixed
stacking of parentheses around footer elements when a
GPTable
was used more than onceduplication of
missing_value
in legend when multiple missing values were presentrst syntax in docs and readme (some bits of Markdown were hanging around)
Added
“quick and dirty” API function, for when you just want tables and you want them now
functionality to automatically determine column widths - available via
auto_width
parameter in API functionsability to disable addition of parenetheses to footer element text
Changed
removed
num_format
property fromdata
element of default themeUpdated documentation of examples
Completely updated online documentation, so that the package might actually be usable
v0.1.3¶
- Date
2020-03-06
Fixed
missing files in binary distribution. v0.1.1 and v0.1.2 will be deleted from PyPI to prevent use of broken distributions.
Added
this changelog to the documentation!
Changed
README to reflect description of package. Dropped developer install instructions.
v0.1.1¶
- Date
2020-03-05
Added
gptables package - see README and documentation for usage
build and deployment of documentation
deployment to PyPI