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.
- Handle non-string destinations when reading e.g. Excel.
TableDataFrame
now produces less warning messages when pandas methods are called.
- #139
ParseFixer
has new option to allow for non-strict types.
- Now allows to write tables with NaNs to JSON
- Support for Pandas 2.0.
- Important: this changes how dates are interpreted by default! Now strings in the format AA/BB/YYYY will be interpreted as MM/DD/YYYY, following the Pandas default.
- Now allows for constructing new Table object with different metadata
- Bug causing types of columns in DataFrame not to be checked.
str
destinations inTableMetadata
constructor will now be transformed into aset
. This means thatdestinations="abc"
is interpreted as destination "abc" instead of destinations "a", "b", and "c".
- Bug causing
write_excel
with xlsxwriter crashing when writing empty transposed tables.
- Bug causing
write_excel
engine_kwargs
arguments to not be passed on to the engine.
- Support for writing Excel files with
xlsxwriter
.
- Can now read empty tables (tables with only name and origin, no column or unit information).
- Fixes deprecation warning related to numpy type
- Fixes warning when calling
groupby
method
- Issue in
make_table_dataframe
when usingunit_map
.
- [#106] Support for detailed origin information in table metadata.
- [#106] Support for loading complete input sets.
- Table origin information has been moved from
TableMetadata
to an aggregate object. - The error type raised by the
fixer
has been changed to integrate withload
framework.
- In response to a Numpy deprecation warning, changed one
dtype
argument from deprecatednumpy.str
to its designated successor, built-instr
.
write_excel()
parameterstyle
renamed tostyles
.- Optionally specify custom styles in
write_excel()
by passing to parameterstyles
a JSON-like structure of dicts. - When
write_excel()
parameterstyles
is truthy, transposed tables' column units and values are horizontally centered by default. This default is overridden by any horizontal alignment specified explicitly instyles
. write_excel()
parameternum_blank_rows_between_tables
renamed tosep_lines
for conciseness.
- Replaced the one remaining reference to
numpy.bool
(now deprecated from numpy) with its designated successor, plain ol' built-inbool
.
- PR #95
write_excel()
with new parameterstyle=True
applies hard-coded styles to table blocks in output workbook.
- #92
write_excel()
can write to multiple sheets in a workbook. - #85 CSV and Excel writers can write transposed tables.
- #42 Don't show dummy index when Table rendered as string.
- Invalid attribute access to
TableBundle
(e.g.bundle["nonexistent_table"]
) raised a dubiousKeyError
; now raises a more appropriateAttributeError
.
- Enable
in
-operator for TableBundle. Example:assert "some_table_name" in bundle
- #87 Parser fails on tables with zero rows. (Edge case not explicitly ruled out in the StarTable specification.)
- For convenience,
Column
proxy is is now iterable. For example,list(table["some_col"])
now works, whereas previously you had to access the backingTableDataFrame
aslist(table.df["some_col"])
. Saving 3 chars FTW. - CI pipeline now auto releases to PyPI on pushed tags starting with a "v".
- #82:
read_excel()
fails on formulas
- Major ergonomics improvement: The reader functions now output helpful error messages when parsing stops due to errors in the input table blocks.
write_excel()
parameterpath
renamed toto
, reflecting the fact that it can write not only to file but also to binary stream; and by the same token, harmonizing its API withread_csv()
.
- 77: Harmful assert in
read_excel()
prevented reading from certain kinds of streams; now removed.
- Read transposed tables
- More robust propagation of
ComplementaryTableInfo
(i.e. StarTable-specific metadata) when operating onTableDataFrame
s via the pandas API.
First public release.