dataframe-textual 2.4.1__tar.gz → 2.4.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/PKG-INFO +4 -4
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/README.md +3 -3
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/pyproject.toml +1 -1
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/common.py +2 -4
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/data_frame_table.py +1 -1
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/data_frame_viewer.py +5 -2
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/yes_no_screen.py +1 -1
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/uv.lock +1 -1
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/.gitignore +0 -0
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/1811.csv.gz +0 -0
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/LICENSE +0 -0
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/large_malformed.tsv.gz +0 -0
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/main.py +0 -0
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/__init__.py +0 -0
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/__main__.py +0 -0
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/data_frame_help_panel.py +0 -0
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/sql_screen.py +0 -0
- {dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/table_screen.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dataframe-textual
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.3
|
|
4
4
|
Summary: Interactive terminal viewer/editor for tabular data
|
|
5
5
|
Project-URL: Homepage, https://github.com/need47/dataframe-textual
|
|
6
6
|
Project-URL: Repository, https://github.com/need47/dataframe-textual.git
|
|
@@ -167,7 +167,7 @@ When multiple files are opened:
|
|
|
167
167
|
## Command Line Options
|
|
168
168
|
|
|
169
169
|
```
|
|
170
|
-
usage: dv [-h] [-V] [-f {csv,json,
|
|
170
|
+
usage: dv [-h] [-V] [-f {csv,json,xlsx,xls,ndjson,psv,parquet,tsv}] [-H] [-I] [-t] [-E] [-c [COMMENT_PREFIX]] [-q [QUOTE_CHAR]] [-l SKIP_LINES] [-a SKIP_ROWS_AFTER_HEADER] [-n NULL [NULL ...]] [files ...]
|
|
171
171
|
|
|
172
172
|
Interactive terminal based viewer/editor for tabular data (e.g., CSV/Excel).
|
|
173
173
|
|
|
@@ -177,8 +177,8 @@ positional arguments:
|
|
|
177
177
|
options:
|
|
178
178
|
-h, --help show this help message and exit
|
|
179
179
|
-V, --version show program's version number and exit
|
|
180
|
-
-f, --format {csv,json,
|
|
181
|
-
Specify the format of the input files (csv,
|
|
180
|
+
-f, --format {csv,json,xlsx,xls,ndjson,psv,parquet,tsv}
|
|
181
|
+
Specify the format of the input files (csv, tsv etc.)
|
|
182
182
|
-H, --no-header Specify that input files have no header row when reading CSV/TSV
|
|
183
183
|
-I, --no-inference Do not infer data types when reading CSV/TSV
|
|
184
184
|
-t, --truncate-ragged-lines
|
|
@@ -128,7 +128,7 @@ When multiple files are opened:
|
|
|
128
128
|
## Command Line Options
|
|
129
129
|
|
|
130
130
|
```
|
|
131
|
-
usage: dv [-h] [-V] [-f {csv,json,
|
|
131
|
+
usage: dv [-h] [-V] [-f {csv,json,xlsx,xls,ndjson,psv,parquet,tsv}] [-H] [-I] [-t] [-E] [-c [COMMENT_PREFIX]] [-q [QUOTE_CHAR]] [-l SKIP_LINES] [-a SKIP_ROWS_AFTER_HEADER] [-n NULL [NULL ...]] [files ...]
|
|
132
132
|
|
|
133
133
|
Interactive terminal based viewer/editor for tabular data (e.g., CSV/Excel).
|
|
134
134
|
|
|
@@ -138,8 +138,8 @@ positional arguments:
|
|
|
138
138
|
options:
|
|
139
139
|
-h, --help show this help message and exit
|
|
140
140
|
-V, --version show program's version number and exit
|
|
141
|
-
-f, --format {csv,json,
|
|
142
|
-
Specify the format of the input files (csv,
|
|
141
|
+
-f, --format {csv,json,xlsx,xls,ndjson,psv,parquet,tsv}
|
|
142
|
+
Specify the format of the input files (csv, tsv etc.)
|
|
143
143
|
-H, --no-header Specify that input files have no header row when reading CSV/TSV
|
|
144
144
|
-I, --no-inference Do not infer data types when reading CSV/TSV
|
|
145
145
|
-t, --truncate-ragged-lines
|
|
@@ -12,7 +12,7 @@ import polars as pl
|
|
|
12
12
|
from rich.text import Text
|
|
13
13
|
|
|
14
14
|
# Supported file formats
|
|
15
|
-
SUPPORTED_FORMATS = ["tsv", "csv", "psv", "
|
|
15
|
+
SUPPORTED_FORMATS = ["tsv", "csv", "psv", "xlsx", "xls", "parquet", "json", "ndjson"]
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
# Boolean string mappings
|
|
@@ -531,8 +531,6 @@ def load_dataframe(
|
|
|
531
531
|
ext = Path(filename).with_suffix("").suffix.lower()
|
|
532
532
|
|
|
533
533
|
fmt = ext.removeprefix(".")
|
|
534
|
-
if fmt in ("xls", "xlsx"):
|
|
535
|
-
fmt = "excel"
|
|
536
534
|
|
|
537
535
|
# Default to TSV
|
|
538
536
|
if not fmt or fmt not in SUPPORTED_FORMATS:
|
|
@@ -688,7 +686,7 @@ def load_file(
|
|
|
688
686
|
truncate_ragged_lines=truncate_ragged_lines,
|
|
689
687
|
)
|
|
690
688
|
data.append(Source(lf, filename, filepath.stem))
|
|
691
|
-
elif file_format
|
|
689
|
+
elif file_format in ("xlsx", "xls"):
|
|
692
690
|
if first_sheet:
|
|
693
691
|
# Read only the first sheet for multiple files
|
|
694
692
|
lf = pl.read_excel(source).lazy()
|
{dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/data_frame_table.py
RENAMED
|
@@ -3783,7 +3783,7 @@ class DataFrameTable(DataTable):
|
|
|
3783
3783
|
"""Open screen to save file."""
|
|
3784
3784
|
self._task_after_save = task_after_save
|
|
3785
3785
|
tab_count = len(self.app.tabs)
|
|
3786
|
-
save_all =
|
|
3786
|
+
save_all = all_tabs is not False
|
|
3787
3787
|
|
|
3788
3788
|
filepath = Path(self.filename)
|
|
3789
3789
|
if save_all:
|
{dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/data_frame_viewer.py
RENAMED
|
@@ -263,8 +263,11 @@ class DataFrameViewer(App):
|
|
|
263
263
|
def action_save_current_tab_overwrite(self) -> None:
|
|
264
264
|
"""Save the currently active tab to file, overwriting if it exists."""
|
|
265
265
|
if table := self.get_active_table():
|
|
266
|
-
|
|
267
|
-
|
|
266
|
+
if len(self.tabs) > 1:
|
|
267
|
+
filepath = Path(table.filename)
|
|
268
|
+
filename = filepath.with_stem(table.tabname)
|
|
269
|
+
else:
|
|
270
|
+
filename = table.filename
|
|
268
271
|
table.save_to_file((filename, False, False))
|
|
269
272
|
|
|
270
273
|
def action_save_all_tabs_overwrite(self) -> None:
|
|
@@ -298,7 +298,7 @@ class SaveFileScreen(YesNoScreen):
|
|
|
298
298
|
title="Save to File",
|
|
299
299
|
label="Filename",
|
|
300
300
|
input=filename,
|
|
301
|
-
yes=f"Save {tab_count}
|
|
301
|
+
yes=f"Save {tab_count} Tab(s)" if self.save_all else "Save Current Tab" if tab_count > 1 else "Save",
|
|
302
302
|
no="Cancel",
|
|
303
303
|
on_yes_callback=self.handle_save,
|
|
304
304
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dataframe_textual-2.4.1 → dataframe_textual-2.4.3}/src/dataframe_textual/data_frame_help_panel.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|