@@ -4,7 +4,10 @@ New features
44^^^^^^^^^^^^
55
66* allow displaying *many* more different kinds of objects, and not only arrays
7- from larray. We only support displaying (not editing) all those types so far:
7+ from larray. One specific goal when developing this new feature was speed.
8+ All these viewers should be fast (when at all possible), even on (very) large
9+ datasets. We only support displaying (not editing) all the new types.
10+ The following types are supported so far (but adding more is relatively easy):
811 * Python builtin objects:
912 - tuple, list (sequences), dict (mappings), dict views, memoryview, array
1013 - text and binary files
@@ -18,55 +21,50 @@ New features
1821 - sqlite3.Connection (and their tables)
1922 - pstats.Stats (results of Python' s profiler)
2023 - zipfile.ZipFile and zipfile.Path
21- * other objects from LArray:
22- - Axis
23- - Excel Workbook (what you get from larray.open_excel()), Sheets and Range
24- * Pandas:
25- - DataFrame
26- - Series
27- * Numpy:
28- - ndarray
29- * pyarrow:
30- - Array
31- - Table
32- - RecordBatchFileReader (reader object for feather files)
33- - ParquetFile
34- * Polars:
35- - DataFrame
36- - LazyFrame
37- * Narwhals:
38- - DataFrame
39- - LazyFrame
40- * IODE:
41- - Variables
42- - Table
43- - Comments
44- - Identities
45- - Lists
46- - Tables
47- - Scalars
48- - Equations
49- * PyTables:
50- - Table
51- * IBIS:
52- - Table
53- * DuckDB:
54- - DuckDBPyConnection
55- - DuckDBPyRelation (what you receive from any query)
24+ * new objects from LArray: Axis, Excel Workbook (what you get from
25+ larray.open_excel()), Sheets and Range
26+ * Pandas: DataFrame and Series
27+ * Numpy: ndarray
28+ * PyArrow: Array, Table, RecordBatchFileReader (reader object for feather
29+ files) and ParquetFile
30+ * Polars: DataFrame and LazyFrame
31+ * Narwhals: DataFrame and LazyFrame
32+ * IODE "collections" objects: Comments, Equations, Identities, Lists, Tables,
33+ Scalars and Variables, as well as Table objects
34+ * PyTables: File, Group (with special support for Pandas DataFrames written
35+ in HDF files), Array and Table
36+ * IBIS: Table
37+ * DuckDB: DuckDBPyConnection and DuckDBPyRelation (what you receive from any
38+ query)
5639
5740 File types (extensions) currently supported:
58- - Iode files: .ac, .ae, .ai, .al, .as, .at, .av, .cmt, .eqs, .idt, .lst, .scl, .tbl, .var
41+ - Iode files: .ac, .ae, .ai, .al, .as, .at, .av, .cmt, .eqs, .idt, .lst,
42+ .scl, .tbl, .var
5943 - Text files: .bat, .cfg, .md, .py, .rst, .sh, .toml, .txt, .yaml, .yml
44+ - HDF5 files: .h5, .hdf
6045 - Parquet files: .parquet
6146 - CSV files: .csv
47+ - Gzipped CSV files: .csv.gz
6248 - Excel files: .xls, .xlsx
6349 - Zip files: .zip
6450 - DuckDB files: .ddb, .duckdb
6551 - SAS files: .sas7bdat
6652
53+ * the editor now features a new "File Explorer" (accessible from the "File"
54+ menu) so that one can more easily make use of all the above file viewers.
55+
56+ * allow sorting objects by column by pressing on an horizontal label.
57+ This is currently implemented for the following objects:
58+ - python built-in sequences (e.g. tuples and lists)
59+ - python pathlib.Path objects representing directories
60+ - LArray (only for 2D arrays)
61+ - Pandas DataFrame
62+ - Polars DataFrame and LazyFrame
63+ - Narwhals LazyFrame
64+
6765* allow comparing arrays/sessions with different axes in :py:obj:`compare()`.
68- The function gained ``align`` and ``fill_value`` arguments and the interface has a new
69- combobox to change the alignment method during the comparison:
66+ The function gained ``align`` and ``fill_value`` arguments and the interface
67+ has a new combobox to change the alignment method during the comparison:
7068 - outer: will use a label if it is in any array (ordered like the first array).
7169 This is the default as it results in no information loss.
7270 - inner: will use a label if it is in all arrays (ordered like the first array).
@@ -75,29 +73,30 @@ New features
7573 - exact: raise an error when axes are not equal.
7674 Closes :editor_issue:`214` and :editor_issue:`251`.
7775
78- * double-clicking on an array name in the list will open it in a new window
76+ * double-clicking on a name in the variable list will open it in a new window
7977 (closes :editor_issue:`143`).
8078
8179
8280Miscellaneous improvements
8381^^^^^^^^^^^^^^^^^^^^^^^^^^
8482
85- * made the editor interruptible by an outside program (i.e. made PyCharm stop & restart buttons work directly
86- instead of only when the editor receives the focus again). Closes :editor_issue:`257`.
83+ * made the editor interruptible by an outside program (i.e. made PyCharm stop &
84+ restart buttons work directly instead of only when the editor receives the
85+ focus again). Closes :editor_issue:`257`.
8786
8887* resize axes and vertical label columns automatically
8988
9089* string values are left aligned instead of right aligned
9190
92- * when comparing sessions via :py:obj:`compare()`, the color of arrays in the list is now updated depending
93- on the tolerance. To reflect that the tolerance widget moved to the top of the interface.
94- Closes :editor_issue:`201`.
91+ * when comparing sessions via :py:obj:`compare()`, the color of arrays in the
92+ list is now updated depending on the tolerance. To reflect that the tolerance
93+ widget moved to the top of the interface. Closes :editor_issue:`201`.
9594
9695* :py:obj:`compare()` max difference is colored red when the difference is not 0
9796
98- * typing the name of a variable holding a matplotlib figure (or axes) in the console shows it
99- (previously, only expressions were displayed and *not* simple variables).
100- For example: ::
97+ * typing the name of a variable holding a matplotlib figure (or axes) in the
98+ console shows it (previously, only expressions were displayed and *not*
99+ simple variables). For example: ::
101100
102101 >>> arr.plot()
103102
0 commit comments