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
rangecursor type that will highlight a range of selected cells, like Excel. - ctrl+c now posts a
SelectionCopiedmessage, with a values attribute that conttains a list of tuples of values from the data table. - Adds a
max_column_content_widthparameter 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_backendwith an empty sequence.
0.4.0 - 2023-11-14
Breaking API Changes
- When calling
create_backendwith 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_labelsis not provided.
0.3.0 - 2023-11-11
Features
- The DataTable now accepts a
max_rowskwarg; if provided, backends will only store the firstmax_rowsand 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_rowskwarg 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: strargument when initializing the data table; this string will be used to replace missing data. - Adds a
NumpyBackendthat uses Numpy Record Arrays; this backend is marginally slower than theArrowBackendin 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.