Skip to content

Releases: tconbeer/textual-fastdatatable

v0.11.0

19 Dec 23:22
2c48769
Compare
Choose a tag to compare

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 the polars 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 or from_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 with create_backend(has_headers=True).
  • When calling DataTable(data=...) with a sequence of iterables, the first row is treated as a header only if column_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 first max_rows and the DataTable will only present max_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 the ArrowBackend 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

31 Oct 19:17
29d4923
Compare
Choose a tag to compare

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 the polars 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 or from_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 with create_backend(has_headers=True).
  • When calling DataTable(data=...) with a sequence of iterables, the first row is treated as a header only if column_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 first max_rows and the DataTable will only present max_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 the ArrowBackend 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

23 Jul 14:48
739a8ee
Compare
Choose a tag to compare

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 the polars 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 or from_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 with create_backend(has_headers=True).
  • When calling DataTable(data=...) with a sequence of iterables, the first row is treated as a header only if column_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 first max_rows and the DataTable will only present max_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 the ArrowBackend 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

10 Jul 21:49
1ed8c9e
Compare
Choose a tag to compare

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 or from_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 with create_backend(has_headers=True).
  • When calling DataTable(data=...) with a sequence of iterables, the first row is treated as a header only if column_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 first max_rows and the DataTable will only present max_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 the ArrowBackend 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

09 Feb 21:54
7f18fc6
Compare
Choose a tag to compare

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 or from_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 with create_backend(has_headers=True).
  • When calling DataTable(data=...) with a sequence of iterables, the first row is treated as a header only if column_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 first max_rows and the DataTable will only present max_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 the ArrowBackend 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

07 Feb 21:54
4039fd6
Compare
Choose a tag to compare

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 or from_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 with create_backend(has_headers=True).
  • When calling DataTable(data=...) with a sequence of iterables, the first row is treated as a header only if column_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 first max_rows and the DataTable will only present max_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 the ArrowBackend 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

09 Jan 19:58
5421321
Compare
Choose a tag to compare

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 with create_backend(has_headers=True).
  • When calling DataTable(data=...) with a sequence of iterables, the first row is treated as a header only if column_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 first max_rows and the DataTable will only present max_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 the ArrowBackend 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

08 Jan 17:23
e4fd408
Compare
Choose a tag to compare

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 with create_backend(has_headers=True).
  • When calling DataTable(data=...) with a sequence of iterables, the first row is treated as a header only if column_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 first max_rows and the DataTable will only present max_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 the ArrowBackend 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

05 Jan 20:28
ec66dda
Compare
Choose a tag to compare

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 with create_backend(has_headers=True).
  • When calling DataTable(data=...) with a sequence of iterables, the first row is treated as a header only if column_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 first max_rows and the DataTable will only present max_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 the ArrowBackend 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

05 Jan 19:17
f307d00
Compare
Choose a tag to compare

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 with create_backend(has_headers=True).
  • When calling DataTable(data=...) with a sequence of iterables, the first row is treated as a header only if column_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 first max_rows and the DataTable will only present max_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 the ArrowBackend 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.