Releases: tconbeer/textual-fastdatatable
Releases · tconbeer/textual-fastdatatable
v0.11.0
Changelog
All notable changes to this project will be documented in this file.
Unreleased
0.11.0 - 2024-12-19
- Drops support for Python 3.8
- Adds support for Python 3.13
0.10.0 - 2024-10-31
- Adds an optional parameter to DataTable to disable rendering of string data as Rich Markup.
- Fixes a bug where None could be casted to a string and displayed as "None" (tconbeer/harlequin#658)
0.9.0 - 2024-07-23
- Adds a PolarsBackend implementation of DataTableBackend. You must have
polars
installed to use the PolarsBackend. You can install it using thepolars
extra for this package. - Fixes a crash from the ArrowBackend when attempting to instantiate negative datetimes after a timezone conversion.
0.8.0 - 2024-07-10
- Fixes a crash when cell contents contained bad Rich Markdown (tconbeer/harlequin#569).
- Improves the appearance of data tooltips.
0.7.1 - 2024-02-09
- Adds a
backend.source_data
property to exposue the underlying Arrow table, before slicing.
0.7.0 - 2024-02-07
Breaking Changes
- Removes the NumpyBackend (#78).
Features
- Values are now formatted based on their type. Numbers have separators based on the locale, and numbers, dates/times/etc., and bools are right-aligned (#70).
Bug Fixes
- Fixes bug that caused either a crash or an empty table from initializing a table
from_records
orfrom_pydict
with mixed (widening or narrowing) types in one column.
0.6.3 - 2024-01-09
Bug Fixes
- Widens acceptable types for create_backend to accept a sequence of any iterable, not just iterables that are instances of typing.Iterable.
0.6.2 - 2024-01-08
Bug Fixes
- Adds the tzdata package as a dependency for Windows installs, since Windows does not ship with a built-in tzdata database.
0.6.1 - 2024-01-05
Bug Fixes
- Fixes the behavior of tab and shift+tab to cycle to the next/prev row if at the end/start of a row or table.
- Fixes a crash from pressing ctrl+c when the cursor type is column.
0.6.0 - 2024-01-05
Features
- Adds keybindings for navigating the cursor in the data table. ctrl+right/left/up/down/home/end (with shift variants), tab, shift+tab, ctrl+a now all do roughly what they do in Excel (if the cursor type is
range
).
0.5.1 - 2024-01-05
Bug Fixes
- Adds a dependency on pytz for Python <3.9 for timezone support.
- Fixes a bug where Arrow crashes while casting timestamptz to string (tconbeer/harlequin#382).
Performance
- Vectorizes fallback string casting for datatypes unsupported by
pc.cast
(#8)
0.5.0 - 2023-12-21
Features
- Adds a
range
cursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopied
message, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_width
parameter to DataTable. If set, DataTable will truncate values longer than the width, but show the full value in a tooltip on hover.
0.4.1 - 2023-12-14
- Fixes a crash caused by calling
create_backend
with an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backend
with a sequence of iterables, the default behavior now assumes the data does not contain headers. You can restore the old behavior withcreate_backend(has_headers=True)
. - When calling
DataTable(data=...)
with a sequence of iterables, the first row is treated as a header only ifcolumn_labels
is not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rows
kwarg; if provided, backends will only store the firstmax_rows
and the DataTable will only presentmax_rows
. The original row count of the data source is available as DataTable().source_row_count (tconbeer/harlequin#281).
API Changes
- Backends must now accept a
max_rows
kwarg on initialization.
0.2.1 - 2023-11-10
Bug Fixes
- Tables with the ArrowBackend no longer display incorrect output when column labels are duplicated (#26).
0.2.0 - 2023-11-08
Features
- Adds a
null_rep: str
argument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackend
that uses Numpy Record Arrays; this backend is marginally slower than theArrowBackend
in most scenarios (#23).
Bug Fixes
- Fixes a crash when using
ArrowBackend.from_records(has_header=False)
.
Performance
- Drastically improves performance for tables that are much wider than the viewport (#12).
Benchmarks
- Improves benchmarks to exclude data load times, disable garbage collection, and include more information about first paint and scroll performance.
0.1.4 - 2023-11-06
- Fixes a crash when computing the widths of columns with no rows (#19).
0.1.3 - 2023-10-09
- Fixes a crash when creating a column from a null or complex type.
0.1.2 - 2023-10-02
0.1.1 - 2023-09-29
- Fixes a crash when rows were added to an empty table.
0.1.0 - 2023-09-29
- Initial release. Adds DataTable and ArrowBackend, which is 1000x faster for datasets of 500k records or more.
v0.10.0
Changelog
All notable changes to this project will be documented in this file.
Unreleased
0.10.0 - 2024-10-31
- Adds an optional parameter to DataTable to disable rendering of string data as Rich Markup.
- Fixes a bug where None could be casted to a string and displayed as "None" (tconbeer/harlequin#658)
0.9.0 - 2024-07-23
- Adds a PolarsBackend implementation of DataTableBackend. You must have
polars
installed to use the PolarsBackend. You can install it using thepolars
extra for this package. - Fixes a crash from the ArrowBackend when attempting to instantiate negative datetimes after a timezone conversion.
0.8.0 - 2024-07-10
- Fixes a crash when cell contents contained bad Rich Markdown (tconbeer/harlequin#569).
- Improves the appearance of data tooltips.
0.7.1 - 2024-02-09
- Adds a
backend.source_data
property to exposue the underlying Arrow table, before slicing.
0.7.0 - 2024-02-07
Breaking Changes
- Removes the NumpyBackend (#78).
Features
- Values are now formatted based on their type. Numbers have separators based on the locale, and numbers, dates/times/etc., and bools are right-aligned (#70).
Bug Fixes
- Fixes bug that caused either a crash or an empty table from initializing a table
from_records
orfrom_pydict
with mixed (widening or narrowing) types in one column.
0.6.3 - 2024-01-09
Bug Fixes
- Widens acceptable types for create_backend to accept a sequence of any iterable, not just iterables that are instances of typing.Iterable.
0.6.2 - 2024-01-08
Bug Fixes
- Adds the tzdata package as a dependency for Windows installs, since Windows does not ship with a built-in tzdata database.
0.6.1 - 2024-01-05
Bug Fixes
- Fixes the behavior of tab and shift+tab to cycle to the next/prev row if at the end/start of a row or table.
- Fixes a crash from pressing ctrl+c when the cursor type is column.
0.6.0 - 2024-01-05
Features
- Adds keybindings for navigating the cursor in the data table. ctrl+right/left/up/down/home/end (with shift variants), tab, shift+tab, ctrl+a now all do roughly what they do in Excel (if the cursor type is
range
).
0.5.1 - 2024-01-05
Bug Fixes
- Adds a dependency on pytz for Python <3.9 for timezone support.
- Fixes a bug where Arrow crashes while casting timestamptz to string (tconbeer/harlequin#382).
Performance
- Vectorizes fallback string casting for datatypes unsupported by
pc.cast
(#8)
0.5.0 - 2023-12-21
Features
- Adds a
range
cursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopied
message, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_width
parameter to DataTable. If set, DataTable will truncate values longer than the width, but show the full value in a tooltip on hover.
0.4.1 - 2023-12-14
- Fixes a crash caused by calling
create_backend
with an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backend
with a sequence of iterables, the default behavior now assumes the data does not contain headers. You can restore the old behavior withcreate_backend(has_headers=True)
. - When calling
DataTable(data=...)
with a sequence of iterables, the first row is treated as a header only ifcolumn_labels
is not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rows
kwarg; if provided, backends will only store the firstmax_rows
and the DataTable will only presentmax_rows
. The original row count of the data source is available as DataTable().source_row_count (tconbeer/harlequin#281).
API Changes
- Backends must now accept a
max_rows
kwarg on initialization.
0.2.1 - 2023-11-10
Bug Fixes
- Tables with the ArrowBackend no longer display incorrect output when column labels are duplicated (#26).
0.2.0 - 2023-11-08
Features
- Adds a
null_rep: str
argument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackend
that uses Numpy Record Arrays; this backend is marginally slower than theArrowBackend
in most scenarios (#23).
Bug Fixes
- Fixes a crash when using
ArrowBackend.from_records(has_header=False)
.
Performance
- Drastically improves performance for tables that are much wider than the viewport (#12).
Benchmarks
- Improves benchmarks to exclude data load times, disable garbage collection, and include more information about first paint and scroll performance.
0.1.4 - 2023-11-06
- Fixes a crash when computing the widths of columns with no rows (#19).
0.1.3 - 2023-10-09
- Fixes a crash when creating a column from a null or complex type.
0.1.2 - 2023-10-02
0.1.1 - 2023-09-29
- Fixes a crash when rows were added to an empty table.
0.1.0 - 2023-09-29
- Initial release. Adds DataTable and ArrowBackend, which is 1000x faster for datasets of 500k records or more.
v0.9.0
Changelog
All notable changes to this project will be documented in this file.
Unreleased
0.9.0 - 2024-07-23
- Adds a PolarsBackend implementation of DataTableBackend. You must have
polars
installed to use the PolarsBackend. You can install it using thepolars
extra for this package. - Fixes a crash from the ArrowBackend when attempting to instantiate negative datetimes after a timezone conversion.
0.8.0 - 2024-07-10
- Fixes a crash when cell contents contained bad Rich Markdown (tconbeer/harlequin#569).
- Improves the appearance of data tooltips.
0.7.1 - 2024-02-09
- Adds a
backend.source_data
property to exposue the underlying Arrow table, before slicing.
0.7.0 - 2024-02-07
Breaking Changes
- Removes the NumpyBackend (#78).
Features
- Values are now formatted based on their type. Numbers have separators based on the locale, and numbers, dates/times/etc., and bools are right-aligned (#70).
Bug Fixes
- Fixes bug that caused either a crash or an empty table from initializing a table
from_records
orfrom_pydict
with mixed (widening or narrowing) types in one column.
0.6.3 - 2024-01-09
Bug Fixes
- Widens acceptable types for create_backend to accept a sequence of any iterable, not just iterables that are instances of typing.Iterable.
0.6.2 - 2024-01-08
Bug Fixes
- Adds the tzdata package as a dependency for Windows installs, since Windows does not ship with a built-in tzdata database.
0.6.1 - 2024-01-05
Bug Fixes
- Fixes the behavior of tab and shift+tab to cycle to the next/prev row if at the end/start of a row or table.
- Fixes a crash from pressing ctrl+c when the cursor type is column.
0.6.0 - 2024-01-05
Features
- Adds keybindings for navigating the cursor in the data table. ctrl+right/left/up/down/home/end (with shift variants), tab, shift+tab, ctrl+a now all do roughly what they do in Excel (if the cursor type is
range
).
0.5.1 - 2024-01-05
Bug Fixes
- Adds a dependency on pytz for Python <3.9 for timezone support.
- Fixes a bug where Arrow crashes while casting timestamptz to string (tconbeer/harlequin#382).
Performance
- Vectorizes fallback string casting for datatypes unsupported by
pc.cast
(#8)
0.5.0 - 2023-12-21
Features
- Adds a
range
cursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopied
message, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_width
parameter to DataTable. If set, DataTable will truncate values longer than the width, but show the full value in a tooltip on hover.
0.4.1 - 2023-12-14
- Fixes a crash caused by calling
create_backend
with an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backend
with a sequence of iterables, the default behavior now assumes the data does not contain headers. You can restore the old behavior withcreate_backend(has_headers=True)
. - When calling
DataTable(data=...)
with a sequence of iterables, the first row is treated as a header only ifcolumn_labels
is not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rows
kwarg; if provided, backends will only store the firstmax_rows
and the DataTable will only presentmax_rows
. The original row count of the data source is available as DataTable().source_row_count (tconbeer/harlequin#281).
API Changes
- Backends must now accept a
max_rows
kwarg on initialization.
0.2.1 - 2023-11-10
Bug Fixes
- Tables with the ArrowBackend no longer display incorrect output when column labels are duplicated (#26).
0.2.0 - 2023-11-08
Features
- Adds a
null_rep: str
argument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackend
that uses Numpy Record Arrays; this backend is marginally slower than theArrowBackend
in most scenarios (#23).
Bug Fixes
- Fixes a crash when using
ArrowBackend.from_records(has_header=False)
.
Performance
- Drastically improves performance for tables that are much wider than the viewport (#12).
Benchmarks
- Improves benchmarks to exclude data load times, disable garbage collection, and include more information about first paint and scroll performance.
0.1.4 - 2023-11-06
- Fixes a crash when computing the widths of columns with no rows (#19).
0.1.3 - 2023-10-09
- Fixes a crash when creating a column from a null or complex type.
0.1.2 - 2023-10-02
0.1.1 - 2023-09-29
- Fixes a crash when rows were added to an empty table.
0.1.0 - 2023-09-29
- Initial release. Adds DataTable and ArrowBackend, which is 1000x faster for datasets of 500k records or more.
v0.8.0
Changelog
All notable changes to this project will be documented in this file.
Unreleased
0.8.0 - 2024-07-10
- Fixes a crash when cell contents contained bad Rich Markdown (tconbeer/harlequin#569).
- Improves the appearance of data tooltips.
0.7.1 - 2024-02-09
- Adds a
backend.source_data
property to exposue the underlying Arrow table, before slicing.
0.7.0 - 2024-02-07
Breaking Changes
- Removes the NumpyBackend (#78).
Features
- Values are now formatted based on their type. Numbers have separators based on the locale, and numbers, dates/times/etc., and bools are right-aligned (#70).
Bug Fixes
- Fixes bug that caused either a crash or an empty table from initializing a table
from_records
orfrom_pydict
with mixed (widening or narrowing) types in one column.
0.6.3 - 2024-01-09
Bug Fixes
- Widens acceptable types for create_backend to accept a sequence of any iterable, not just iterables that are instances of typing.Iterable.
0.6.2 - 2024-01-08
Bug Fixes
- Adds the tzdata package as a dependency for Windows installs, since Windows does not ship with a built-in tzdata database.
0.6.1 - 2024-01-05
Bug Fixes
- Fixes the behavior of tab and shift+tab to cycle to the next/prev row if at the end/start of a row or table.
- Fixes a crash from pressing ctrl+c when the cursor type is column.
0.6.0 - 2024-01-05
Features
- Adds keybindings for navigating the cursor in the data table. ctrl+right/left/up/down/home/end (with shift variants), tab, shift+tab, ctrl+a now all do roughly what they do in Excel (if the cursor type is
range
).
0.5.1 - 2024-01-05
Bug Fixes
- Adds a dependency on pytz for Python <3.9 for timezone support.
- Fixes a bug where Arrow crashes while casting timestamptz to string (tconbeer/harlequin#382).
Performance
- Vectorizes fallback string casting for datatypes unsupported by
pc.cast
(#8)
0.5.0 - 2023-12-21
Features
- Adds a
range
cursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopied
message, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_width
parameter to DataTable. If set, DataTable will truncate values longer than the width, but show the full value in a tooltip on hover.
0.4.1 - 2023-12-14
- Fixes a crash caused by calling
create_backend
with an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backend
with a sequence of iterables, the default behavior now assumes the data does not contain headers. You can restore the old behavior withcreate_backend(has_headers=True)
. - When calling
DataTable(data=...)
with a sequence of iterables, the first row is treated as a header only ifcolumn_labels
is not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rows
kwarg; if provided, backends will only store the firstmax_rows
and the DataTable will only presentmax_rows
. The original row count of the data source is available as DataTable().source_row_count (tconbeer/harlequin#281).
API Changes
- Backends must now accept a
max_rows
kwarg on initialization.
0.2.1 - 2023-11-10
Bug Fixes
- Tables with the ArrowBackend no longer display incorrect output when column labels are duplicated (#26).
0.2.0 - 2023-11-08
Features
- Adds a
null_rep: str
argument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackend
that uses Numpy Record Arrays; this backend is marginally slower than theArrowBackend
in most scenarios (#23).
Bug Fixes
- Fixes a crash when using
ArrowBackend.from_records(has_header=False)
.
Performance
- Drastically improves performance for tables that are much wider than the viewport (#12).
Benchmarks
- Improves benchmarks to exclude data load times, disable garbage collection, and include more information about first paint and scroll performance.
0.1.4 - 2023-11-06
- Fixes a crash when computing the widths of columns with no rows (#19).
0.1.3 - 2023-10-09
- Fixes a crash when creating a column from a null or complex type.
0.1.2 - 2023-10-02
0.1.1 - 2023-09-29
- Fixes a crash when rows were added to an empty table.
0.1.0 - 2023-09-29
- Initial release. Adds DataTable and ArrowBackend, which is 1000x faster for datasets of 500k records or more.
v0.7.1
Changelog
All notable changes to this project will be documented in this file.
Unreleased
0.7.1 - 2024-02-09
- Adds a
backend.source_data
property to exposue the underlying Arrow table, before slicing.
0.7.0 - 2024-02-07
Breaking Changes
- Removes the NumpyBackend (#78).
Features
- Values are now formatted based on their type. Numbers have separators based on the locale, and numbers, dates/times/etc., and bools are right-aligned (#70).
Bug Fixes
- Fixes bug that caused either a crash or an empty table from initializing a table
from_records
orfrom_pydict
with mixed (widening or narrowing) types in one column.
0.6.3 - 2024-01-09
Bug Fixes
- Widens acceptable types for create_backend to accept a sequence of any iterable, not just iterables that are instances of typing.Iterable.
0.6.2 - 2024-01-08
Bug Fixes
- Adds the tzdata package as a dependency for Windows installs, since Windows does not ship with a built-in tzdata database.
0.6.1 - 2024-01-05
Bug Fixes
- Fixes the behavior of tab and shift+tab to cycle to the next/prev row if at the end/start of a row or table.
- Fixes a crash from pressing ctrl+c when the cursor type is column.
0.6.0 - 2024-01-05
Features
- Adds keybindings for navigating the cursor in the data table. ctrl+right/left/up/down/home/end (with shift variants), tab, shift+tab, ctrl+a now all do roughly what they do in Excel (if the cursor type is
range
).
0.5.1 - 2024-01-05
Bug Fixes
- Adds a dependency on pytz for Python <3.9 for timezone support.
- Fixes a bug where Arrow crashes while casting timestamptz to string (tconbeer/harlequin#382).
Performance
- Vectorizes fallback string casting for datatypes unsupported by
pc.cast
(#8)
0.5.0 - 2023-12-21
Features
- Adds a
range
cursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopied
message, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_width
parameter to DataTable. If set, DataTable will truncate values longer than the width, but show the full value in a tooltip on hover.
0.4.1 - 2023-12-14
- Fixes a crash caused by calling
create_backend
with an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backend
with a sequence of iterables, the default behavior now assumes the data does not contain headers. You can restore the old behavior withcreate_backend(has_headers=True)
. - When calling
DataTable(data=...)
with a sequence of iterables, the first row is treated as a header only ifcolumn_labels
is not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rows
kwarg; if provided, backends will only store the firstmax_rows
and the DataTable will only presentmax_rows
. The original row count of the data source is available as DataTable().source_row_count (tconbeer/harlequin#281).
API Changes
- Backends must now accept a
max_rows
kwarg on initialization.
0.2.1 - 2023-11-10
Bug Fixes
- Tables with the ArrowBackend no longer display incorrect output when column labels are duplicated (#26).
0.2.0 - 2023-11-08
Features
- Adds a
null_rep: str
argument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackend
that uses Numpy Record Arrays; this backend is marginally slower than theArrowBackend
in most scenarios (#23).
Bug Fixes
- Fixes a crash when using
ArrowBackend.from_records(has_header=False)
.
Performance
- Drastically improves performance for tables that are much wider than the viewport (#12).
Benchmarks
- Improves benchmarks to exclude data load times, disable garbage collection, and include more information about first paint and scroll performance.
0.1.4 - 2023-11-06
- Fixes a crash when computing the widths of columns with no rows (#19).
0.1.3 - 2023-10-09
- Fixes a crash when creating a column from a null or complex type.
0.1.2 - 2023-10-02
0.1.1 - 2023-09-29
- Fixes a crash when rows were added to an empty table.
0.1.0 - 2023-09-29
- Initial release. Adds DataTable and ArrowBackend, which is 1000x faster for datasets of 500k records or more.
v0.7.0
Changelog
All notable changes to this project will be documented in this file.
Unreleased
0.7.0 - 2024-02-07
Breaking Changes
- Removes the NumpyBackend (#78).
Features
- Values are now formatted based on their type. Numbers have separators based on the locale, and numbers, dates/times/etc., and bools are right-aligned (#70).
Bug Fixes
- Fixes bug that caused either a crash or an empty table from initializing a table
from_records
orfrom_pydict
with mixed (widening or narrowing) types in one column.
0.6.3 - 2024-01-09
Bug Fixes
- Widens acceptable types for create_backend to accept a sequence of any iterable, not just iterables that are instances of typing.Iterable.
0.6.2 - 2024-01-08
Bug Fixes
- Adds the tzdata package as a dependency for Windows installs, since Windows does not ship with a built-in tzdata database.
0.6.1 - 2024-01-05
Bug Fixes
- Fixes the behavior of tab and shift+tab to cycle to the next/prev row if at the end/start of a row or table.
- Fixes a crash from pressing ctrl+c when the cursor type is column.
0.6.0 - 2024-01-05
Features
- Adds keybindings for navigating the cursor in the data table. ctrl+right/left/up/down/home/end (with shift variants), tab, shift+tab, ctrl+a now all do roughly what they do in Excel (if the cursor type is
range
).
0.5.1 - 2024-01-05
Bug Fixes
- Adds a dependency on pytz for Python <3.9 for timezone support.
- Fixes a bug where Arrow crashes while casting timestamptz to string (tconbeer/harlequin#382).
Performance
- Vectorizes fallback string casting for datatypes unsupported by
pc.cast
(#8)
0.5.0 - 2023-12-21
Features
- Adds a
range
cursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopied
message, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_width
parameter to DataTable. If set, DataTable will truncate values longer than the width, but show the full value in a tooltip on hover.
0.4.1 - 2023-12-14
- Fixes a crash caused by calling
create_backend
with an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backend
with a sequence of iterables, the default behavior now assumes the data does not contain headers. You can restore the old behavior withcreate_backend(has_headers=True)
. - When calling
DataTable(data=...)
with a sequence of iterables, the first row is treated as a header only ifcolumn_labels
is not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rows
kwarg; if provided, backends will only store the firstmax_rows
and the DataTable will only presentmax_rows
. The original row count of the data source is available as DataTable().source_row_count (tconbeer/harlequin#281).
API Changes
- Backends must now accept a
max_rows
kwarg on initialization.
0.2.1 - 2023-11-10
Bug Fixes
- Tables with the ArrowBackend no longer display incorrect output when column labels are duplicated (#26).
0.2.0 - 2023-11-08
Features
- Adds a
null_rep: str
argument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackend
that uses Numpy Record Arrays; this backend is marginally slower than theArrowBackend
in most scenarios (#23).
Bug Fixes
- Fixes a crash when using
ArrowBackend.from_records(has_header=False)
.
Performance
- Drastically improves performance for tables that are much wider than the viewport (#12).
Benchmarks
- Improves benchmarks to exclude data load times, disable garbage collection, and include more information about first paint and scroll performance.
0.1.4 - 2023-11-06
- Fixes a crash when computing the widths of columns with no rows (#19).
0.1.3 - 2023-10-09
- Fixes a crash when creating a column from a null or complex type.
0.1.2 - 2023-10-02
0.1.1 - 2023-09-29
- Fixes a crash when rows were added to an empty table.
0.1.0 - 2023-09-29
- Initial release. Adds DataTable and ArrowBackend, which is 1000x faster for datasets of 500k records or more.
v0.6.3
Changelog
All notable changes to this project will be documented in this file.
Unreleased
0.6.3 - 2024-01-09
Bug Fixes
- Widens acceptable types for create_backend to accept a sequence of any iterable, not just iterables that are instances of typing.Iterable.
0.6.2 - 2024-01-08
Bug Fixes
- Adds the tzdata package as a dependency for Windows installs, since Windows does not ship with a built-in tzdata database.
0.6.1 - 2024-01-05
Bug Fixes
- Fixes the behavior of tab and shift+tab to cycle to the next/prev row if at the end/start of a row or table.
- Fixes a crash from pressing ctrl+c when the cursor type is column.
0.6.0 - 2024-01-05
Features
- Adds keybindings for navigating the cursor in the data table. ctrl+right/left/up/down/home/end (with shift variants), tab, shift+tab, ctrl+a now all do roughly what they do in Excel (if the cursor type is
range
).
0.5.1 - 2024-01-05
Bug Fixes
- Adds a dependency on pytz for Python <3.9 for timezone support.
- Fixes a bug where Arrow crashes while casting timestamptz to string (tconbeer/harlequin#382).
Performance
- Vectorizes fallback string casting for datatypes unsupported by
pc.cast
(#8)
0.5.0 - 2023-12-21
Features
- Adds a
range
cursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopied
message, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_width
parameter to DataTable. If set, DataTable will truncate values longer than the width, but show the full value in a tooltip on hover.
0.4.1 - 2023-12-14
- Fixes a crash caused by calling
create_backend
with an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backend
with a sequence of iterables, the default behavior now assumes the data does not contain headers. You can restore the old behavior withcreate_backend(has_headers=True)
. - When calling
DataTable(data=...)
with a sequence of iterables, the first row is treated as a header only ifcolumn_labels
is not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rows
kwarg; if provided, backends will only store the firstmax_rows
and the DataTable will only presentmax_rows
. The original row count of the data source is available as DataTable().source_row_count (tconbeer/harlequin#281).
API Changes
- Backends must now accept a
max_rows
kwarg on initialization.
0.2.1 - 2023-11-10
Bug Fixes
- Tables with the ArrowBackend no longer display incorrect output when column labels are duplicated (#26).
0.2.0 - 2023-11-08
Features
- Adds a
null_rep: str
argument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackend
that uses Numpy Record Arrays; this backend is marginally slower than theArrowBackend
in most scenarios (#23).
Bug Fixes
- Fixes a crash when using
ArrowBackend.from_records(has_header=False)
.
Performance
- Drastically improves performance for tables that are much wider than the viewport (#12).
Benchmarks
- Improves benchmarks to exclude data load times, disable garbage collection, and include more information about first paint and scroll performance.
0.1.4 - 2023-11-06
- Fixes a crash when computing the widths of columns with no rows (#19).
0.1.3 - 2023-10-09
- Fixes a crash when creating a column from a null or complex type.
0.1.2 - 2023-10-02
0.1.1 - 2023-09-29
- Fixes a crash when rows were added to an empty table.
0.1.0 - 2023-09-29
- Initial release. Adds DataTable and ArrowBackend, which is 1000x faster for datasets of 500k records or more.
v0.6.2
Changelog
All notable changes to this project will be documented in this file.
Unreleased
0.6.2 - 2024-01-08
Bug Fixes
- Adds the tzdata package as a dependency for Windows installs, since Windows does not ship with a built-in tzdata database.
0.6.1 - 2024-01-05
Bug Fixes
- Fixes the behavior of tab and shift+tab to cycle to the next/prev row if at the end/start of a row or table.
- Fixes a crash from pressing ctrl+c when the cursor type is column.
0.6.0 - 2024-01-05
Features
- Adds keybindings for navigating the cursor in the data table. ctrl+right/left/up/down/home/end (with shift variants), tab, shift+tab, ctrl+a now all do roughly what they do in Excel (if the cursor type is
range
).
0.5.1 - 2024-01-05
Bug Fixes
- Adds a dependency on pytz for Python <3.9 for timezone support.
- Fixes a bug where Arrow crashes while casting timestamptz to string (tconbeer/harlequin#382).
Performance
- Vectorizes fallback string casting for datatypes unsupported by
pc.cast
(#8)
0.5.0 - 2023-12-21
Features
- Adds a
range
cursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopied
message, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_width
parameter to DataTable. If set, DataTable will truncate values longer than the width, but show the full value in a tooltip on hover.
0.4.1 - 2023-12-14
- Fixes a crash caused by calling
create_backend
with an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backend
with a sequence of iterables, the default behavior now assumes the data does not contain headers. You can restore the old behavior withcreate_backend(has_headers=True)
. - When calling
DataTable(data=...)
with a sequence of iterables, the first row is treated as a header only ifcolumn_labels
is not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rows
kwarg; if provided, backends will only store the firstmax_rows
and the DataTable will only presentmax_rows
. The original row count of the data source is available as DataTable().source_row_count (tconbeer/harlequin#281).
API Changes
- Backends must now accept a
max_rows
kwarg on initialization.
0.2.1 - 2023-11-10
Bug Fixes
- Tables with the ArrowBackend no longer display incorrect output when column labels are duplicated (#26).
0.2.0 - 2023-11-08
Features
- Adds a
null_rep: str
argument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackend
that uses Numpy Record Arrays; this backend is marginally slower than theArrowBackend
in most scenarios (#23).
Bug Fixes
- Fixes a crash when using
ArrowBackend.from_records(has_header=False)
.
Performance
- Drastically improves performance for tables that are much wider than the viewport (#12).
Benchmarks
- Improves benchmarks to exclude data load times, disable garbage collection, and include more information about first paint and scroll performance.
0.1.4 - 2023-11-06
- Fixes a crash when computing the widths of columns with no rows (#19).
0.1.3 - 2023-10-09
- Fixes a crash when creating a column from a null or complex type.
0.1.2 - 2023-10-02
0.1.1 - 2023-09-29
- Fixes a crash when rows were added to an empty table.
0.1.0 - 2023-09-29
- Initial release. Adds DataTable and ArrowBackend, which is 1000x faster for datasets of 500k records or more.
v0.6.1
Changelog
All notable changes to this project will be documented in this file.
Unreleased
0.6.1 - 2024-01-05
Bug Fixes
- Fixes the behavior of tab and shift+tab to cycle to the next/prev row if at the end/start of a row or table.
- Fixes a crash from pressing ctrl+c when the cursor type is column.
0.6.0 - 2024-01-05
Features
- Adds keybindings for navigating the cursor in the data table. ctrl+right/left/up/down/home/end (with shift variants), tab, shift+tab, ctrl+a now all do roughly what they do in Excel (if the cursor type is
range
).
0.5.1 - 2024-01-05
Bug Fixes
- Adds a dependency on pytz for Python <3.9 for timezone support.
- Fixes a bug where Arrow crashes while casting timestamptz to string (tconbeer/harlequin#382).
Performance
- Vectorizes fallback string casting for datatypes unsupported by
pc.cast
(#8)
0.5.0 - 2023-12-21
Features
- Adds a
range
cursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopied
message, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_width
parameter to DataTable. If set, DataTable will truncate values longer than the width, but show the full value in a tooltip on hover.
0.4.1 - 2023-12-14
- Fixes a crash caused by calling
create_backend
with an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backend
with a sequence of iterables, the default behavior now assumes the data does not contain headers. You can restore the old behavior withcreate_backend(has_headers=True)
. - When calling
DataTable(data=...)
with a sequence of iterables, the first row is treated as a header only ifcolumn_labels
is not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rows
kwarg; if provided, backends will only store the firstmax_rows
and the DataTable will only presentmax_rows
. The original row count of the data source is available as DataTable().source_row_count (tconbeer/harlequin#281).
API Changes
- Backends must now accept a
max_rows
kwarg on initialization.
0.2.1 - 2023-11-10
Bug Fixes
- Tables with the ArrowBackend no longer display incorrect output when column labels are duplicated (#26).
0.2.0 - 2023-11-08
Features
- Adds a
null_rep: str
argument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackend
that uses Numpy Record Arrays; this backend is marginally slower than theArrowBackend
in most scenarios (#23).
Bug Fixes
- Fixes a crash when using
ArrowBackend.from_records(has_header=False)
.
Performance
- Drastically improves performance for tables that are much wider than the viewport (#12).
Benchmarks
- Improves benchmarks to exclude data load times, disable garbage collection, and include more information about first paint and scroll performance.
0.1.4 - 2023-11-06
- Fixes a crash when computing the widths of columns with no rows (#19).
0.1.3 - 2023-10-09
- Fixes a crash when creating a column from a null or complex type.
0.1.2 - 2023-10-02
0.1.1 - 2023-09-29
- Fixes a crash when rows were added to an empty table.
0.1.0 - 2023-09-29
- Initial release. Adds DataTable and ArrowBackend, which is 1000x faster for datasets of 500k records or more.
v0.6.0
Changelog
All notable changes to this project will be documented in this file.
Unreleased
0.6.0 - 2024-01-05
Features
- Adds keybindings for navigating the cursor in the data table. ctrl+right/left/up/down/home/end (with shift variants), tab, shift+tab, ctrl+a now all do roughly what they do in Excel (if the cursor type is
range
).
0.5.1 - 2024-01-05
Bug Fixes
- Adds a dependency on pytz for Python <3.9 for timezone support.
- Fixes a bug where Arrow crashes while casting timestamptz to string (tconbeer/harlequin#382).
Performance
- Vectorizes fallback string casting for datatypes unsupported by
pc.cast
(#8)
0.5.0 - 2023-12-21
Features
- Adds a
range
cursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopied
message, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_width
parameter to DataTable. If set, DataTable will truncate values longer than the width, but show the full value in a tooltip on hover.
0.4.1 - 2023-12-14
- Fixes a crash caused by calling
create_backend
with an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backend
with a sequence of iterables, the default behavior now assumes the data does not contain headers. You can restore the old behavior withcreate_backend(has_headers=True)
. - When calling
DataTable(data=...)
with a sequence of iterables, the first row is treated as a header only ifcolumn_labels
is not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rows
kwarg; if provided, backends will only store the firstmax_rows
and the DataTable will only presentmax_rows
. The original row count of the data source is available as DataTable().source_row_count (tconbeer/harlequin#281).
API Changes
- Backends must now accept a
max_rows
kwarg on initialization.
0.2.1 - 2023-11-10
Bug Fixes
- Tables with the ArrowBackend no longer display incorrect output when column labels are duplicated (#26).
0.2.0 - 2023-11-08
Features
- Adds a
null_rep: str
argument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackend
that uses Numpy Record Arrays; this backend is marginally slower than theArrowBackend
in most scenarios (#23).
Bug Fixes
- Fixes a crash when using
ArrowBackend.from_records(has_header=False)
.
Performance
- Drastically improves performance for tables that are much wider than the viewport (#12).
Benchmarks
- Improves benchmarks to exclude data load times, disable garbage collection, and include more information about first paint and scroll performance.
0.1.4 - 2023-11-06
- Fixes a crash when computing the widths of columns with no rows (#19).
0.1.3 - 2023-10-09
- Fixes a crash when creating a column from a null or complex type.
0.1.2 - 2023-10-02
0.1.1 - 2023-09-29
- Fixes a crash when rows were added to an empty table.
0.1.0 - 2023-09-29
- Initial release. Adds DataTable and ArrowBackend, which is 1000x faster for datasets of 500k records or more.