listpick 0.1.15.0__tar.gz → 0.1.15.2__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.

Potentially problematic release.


This version of listpick might be problematic. Click here for more details.

Files changed (63) hide show
  1. {listpick-0.1.15.0 → listpick-0.1.15.2}/CHANGELOG.md +6 -2
  2. {listpick-0.1.15.0/src/listpick.egg-info → listpick-0.1.15.2}/PKG-INFO +2 -1
  3. {listpick-0.1.15.0 → listpick-0.1.15.2}/TODO.md +8 -0
  4. {listpick-0.1.15.0 → listpick-0.1.15.2}/setup.py +2 -1
  5. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/listpick_app.py +14 -7
  6. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/pane/pane_utils.py +0 -1
  7. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/ui/build_help.py +10 -4
  8. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/ui/keys.py +3 -0
  9. {listpick-0.1.15.0 → listpick-0.1.15.2/src/listpick.egg-info}/PKG-INFO +2 -1
  10. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick.egg-info/requires.txt +1 -0
  11. {listpick-0.1.15.0 → listpick-0.1.15.2}/.gitignore +0 -0
  12. {listpick-0.1.15.0 → listpick-0.1.15.2}/LICENSE.txt +0 -0
  13. {listpick-0.1.15.0 → listpick-0.1.15.2}/README.md +0 -0
  14. {listpick-0.1.15.0 → listpick-0.1.15.2}/assets/aria2tui_screenshot.png +0 -0
  15. {listpick-0.1.15.0 → listpick-0.1.15.2}/assets/file_compare.png +0 -0
  16. {listpick-0.1.15.0 → listpick-0.1.15.2}/assets/lpfman.png +0 -0
  17. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/data_generation/list_files.toml +0 -0
  18. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/data_generation/list_files_empty.toml +0 -0
  19. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/data_generation/video_duplicates.toml +0 -0
  20. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/data_generation/video_mediainfo.toml +0 -0
  21. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/input_files/polynomials.tsv +0 -0
  22. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/input_guides/gnuplot_graph.md +0 -0
  23. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/picker/auxiallary_files/2024-25_Premier_League.pkl +0 -0
  24. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/picker/footer_string_example.py +0 -0
  25. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/picker/picker_example.py +0 -0
  26. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/picker/template.py +0 -0
  27. {listpick-0.1.15.0 → listpick-0.1.15.2}/examples/picker/wikipedia_table.py +0 -0
  28. {listpick-0.1.15.0 → listpick-0.1.15.2}/listpick.py +0 -0
  29. {listpick-0.1.15.0 → listpick-0.1.15.2}/requirements.txt +0 -0
  30. {listpick-0.1.15.0 → listpick-0.1.15.2}/setup.cfg +0 -0
  31. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/__init__.py +0 -0
  32. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/__main__.py +0 -0
  33. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/pane/__init__.py +0 -0
  34. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/pane/get_data.py +0 -0
  35. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/pane/pane_functions.py +0 -0
  36. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/ui/__init__.py +0 -0
  37. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/ui/footer.py +0 -0
  38. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/ui/help_screen.py +0 -0
  39. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/ui/input_field.py +0 -0
  40. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/ui/picker_colours.py +0 -0
  41. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/__init__.py +0 -0
  42. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/clipboard_operations.py +0 -0
  43. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/config.py +0 -0
  44. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/dump.py +0 -0
  45. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/filtering.py +0 -0
  46. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/generate_data.py +0 -0
  47. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/graphing.py +0 -0
  48. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/keycodes.py +0 -0
  49. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/options_selectors.py +0 -0
  50. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/paste_operations.py +0 -0
  51. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/picker_log.py +0 -0
  52. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/search_and_filter_utils.py +0 -0
  53. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/searching.py +0 -0
  54. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/sorting.py +0 -0
  55. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/table_to_list_of_lists.py +0 -0
  56. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/user_input.py +0 -0
  57. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick/utils/utils.py +0 -0
  58. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick.egg-info/SOURCES.txt +0 -0
  59. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick.egg-info/dependency_links.txt +0 -0
  60. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick.egg-info/entry_points.txt +0 -0
  61. {listpick-0.1.15.0 → listpick-0.1.15.2}/src/listpick.egg-info/top_level.txt +0 -0
  62. {listpick-0.1.15.0 → listpick-0.1.15.2}/tests/kitty_control.sh +0 -0
  63. {listpick-0.1.15.0 → listpick-0.1.15.2}/tests/sorting_dates.csv +0 -0
@@ -1,12 +1,16 @@
1
1
  # CHANGELOG.md
2
2
  Note that the changes between 0.1.11.0 and 1.1.12.0 are listed under 0.1.11
3
3
 
4
- ## [0.1.16] 2025-??-??
4
+ ## [0.1.15.1] 2025-07-27
5
+ - Added key to toggle right pane.
6
+ - Improved appearance of help screen.
7
+
8
+ ## [0.1.15.0] 2025-07-27
5
9
  - Feature added: support for dynamic data display in a right pane.
6
10
  - Bugs fixed:
7
11
  - Fixed ipython not working when data is piped into the picker.
8
12
 
9
- ## [0.1.15] 2025-08-27
13
+ ## [0.1.14.0] - [0.1.14.14] 2025-08-24
10
14
  - Added info screen to display all information on the running Picker.
11
15
  - Added keys for file_next and file_prev
12
16
  - Added __sizeof__() function for the Picker class.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: listpick
3
- Version: 0.1.15.0
3
+ Version: 0.1.15.2
4
4
  Summary: Listpick is a powerful TUI data tool for creating TUI apps or viewing/comparing tabulated data.
5
5
  Home-page: https://github.com/grimandgreedy/listpick
6
6
  Author: Grim
@@ -27,6 +27,7 @@ Requires-Dist: pyperclip; extra == "full"
27
27
  Requires-Dist: toml; extra == "full"
28
28
  Requires-Dist: traitlets; extra == "full"
29
29
  Requires-Dist: odfpy; extra == "full"
30
+ Requires-Dist: plotille; extra == "full"
30
31
  Dynamic: author
31
32
  Dynamic: author-email
32
33
  Dynamic: classifier
@@ -143,6 +143,14 @@ ASAP
143
143
  > - [x] Allow data to be piped into listpick.
144
144
  > - [x] When data is piped in it links stdin with the pipe...
145
145
  > - [x] Rather than getting user input from stdin we can get it by getting a fd for /dev/tty and reading chars from there.
146
+ > - [ ] Implement panes which can display various data
147
+ > - [x] Right pane
148
+ > - [ ] Types of data:
149
+ > - [x] Lists
150
+ > - [x] Graphs
151
+ > - [ ] Left pane
152
+ > - [ ] top/bottom panes?
153
+
146
154
 
147
155
 
148
156
 
@@ -16,7 +16,7 @@ with open("README.md", "r", encoding = "utf-8") as fh:
16
16
 
17
17
  setuptools.setup(
18
18
  name = "listpick",
19
- version = "0.1.15.0",
19
+ version = "0.1.15.2",
20
20
  author = "Grim",
21
21
  author_email = "grimandgreedy@protonmail.com",
22
22
  description = "Listpick is a powerful TUI data tool for creating TUI apps or viewing/comparing tabulated data.",
@@ -60,6 +60,7 @@ setuptools.setup(
60
60
  "toml",
61
61
  "traitlets",
62
62
  "odfpy",
63
+ "plotille",
63
64
  ]
64
65
  },
65
66
 
@@ -2365,7 +2365,8 @@ class Picker:
2365
2365
  self.footer_string = self.footer_string_refresh_function()
2366
2366
  initial_time_footer = time.time()
2367
2367
  self.draw_screen(self.indexed_items, self.highlights)
2368
- if self.split_right_auto_refresh and ((time.time() - initial_split_time) > self.split_right_refresh_data_timer):
2368
+
2369
+ if self.split_right and self.split_right_auto_refresh and ((time.time() - initial_split_time) > self.split_right_refresh_data_timer):
2369
2370
  self.split_right_data = self.split_right_refresh_data(self.split_right_data, self.get_function_data())
2370
2371
  initial_split_time = time.time()
2371
2372
 
@@ -2386,7 +2387,7 @@ class Picker:
2386
2387
  "highlight_full_row": True,
2387
2388
  "top_gap": 0,
2388
2389
  "paginate": self.paginate,
2389
- "centre_in_terminal": True,
2390
+ "centre_in_terminal": False,
2390
2391
  "centre_in_terminal_vertical": True,
2391
2392
  "hidden_columns": [],
2392
2393
  "reset_colours": False,
@@ -3222,6 +3223,9 @@ class Picker:
3222
3223
  elif self.check_key("file_prev", key, self.keys_dict):
3223
3224
  self.switch_file(increment=-1)
3224
3225
 
3226
+ elif self.check_key("toggle_right_pane", key, self.keys_dict):
3227
+ self.toggle_right_pane()
3228
+
3225
3229
  elif self.check_key("pipe_input", key, self.keys_dict):
3226
3230
  self.logger.info(f"key_function pipe_input")
3227
3231
  # usrtxt = "xargs -d '\n' -I{} "
@@ -3744,17 +3748,20 @@ def main() -> None:
3744
3748
  # function_data["paginate"] = True
3745
3749
  # function_data["debug"] = True
3746
3750
  # function_data["debug_level"] = 1
3747
- # function_data["split_right"] = True
3748
- # function_data["split_right_proportion"] = 2/3
3749
- # function_data["split_right_refresh_data"] = data_refresh_randint_title
3751
+
3752
+ function_data["split_right"] = True
3753
+ function_data["split_right_proportion"] = 2/3
3754
+ function_data["split_right_refresh_data"] = data_refresh_randint_title
3755
+ function_data["split_right_function"] = right_split_display_list
3756
+ function_data["split_right_data"] = ["Files", [str(x) for x in range(100)]]
3757
+
3758
+
3750
3759
  # function_data["split_right_refresh_data"] = get_dl
3751
3760
 
3752
3761
 
3753
3762
  # function_data["split_right_function"] = right_split_file_attributes
3754
3763
  # function_data["split_right_auto_refresh"] = True
3755
3764
  # function_data["split_right_function"] = right_split_graph
3756
- # function_data["split_right_function"] = right_split_display_list
3757
- # function_data["split_right_data"] = ["Files", [str(x) for x in range(100)]]
3758
3765
 
3759
3766
  stdscr = start_curses()
3760
3767
  try:
@@ -27,7 +27,6 @@ def get_graph_string(x_vals, y_vals, width=50, height=20, title=None, x_label=No
27
27
  fig.plot(x_vals, y_vals)
28
28
 
29
29
  # Set the dimensions of the graph
30
- fig.title = "hi"
31
30
  fig.width = width-10
32
31
  fig.height = height-4
33
32
  fig.x_ticks_fkt = lambda x, _: f"{int(x)}s"
@@ -142,14 +142,15 @@ def build_help_rows(keys_dict: dict, debug: bool = False) -> list[list[str]]:
142
142
  "file_prev": "Go to the previous open file.",
143
143
  "sheet_next": "Go to the next sheet.",
144
144
  "sheet_prev": "Go to the previous sheet.",
145
+ "toggle_right_pane": "Toggle the right pane",
145
146
  }
146
147
  sections = {
147
148
  "Navigation:": [ "cursor_down", "cursor_up", "half_page_up", "half_page_down", "page_up", "page_down", "cursor_bottom", "cursor_top", "five_up", "five_down", "scroll_right", "scroll_left", "scroll_far_right", "scroll_far_left" ],
148
149
  "Selection:": [ "toggle_select", "select_all", "select_none", "visual_selection_toggle", "visual_deselection_toggle", "enter" ],
149
- "UI:": [ "toggle_footer", "redraw_screen", "decrease_lines_per_page", "increase_lines_per_page", "increase_column_width", "decrease_column_width", "notification_toggle" ],
150
+ "UI:": [ "toggle_footer", "redraw_screen", "decrease_lines_per_page", "increase_lines_per_page", "increase_column_width", "decrease_column_width", "notification_toggle", "toggle_right_pane"],
150
151
  "Sort:": [ "cycle_sort_method", "cycle_sort_method_reverse", "cycle_sort_order", ] ,
151
152
  "Data manipulation:": [ "delete", "delete_column", "edit", "edit_picker", "edit_ipython", "add_column_before", "add_column_after", "add_row_before", "add_row_after"],
152
- "Filter and sort:": [ "filter_input", "x", "search_input", "continue_search_forward", "continue_search_backward", ] ,
153
+ "Filter and sort:": [ "filter_input", "search_input", "continue_search_forward", "continue_search_backward", ] ,
153
154
  "Settings:": [ "settings_input", "settings_options" ],
154
155
  "Cancel:": [ "opts_input", "opts_select", "mode_next", "mode_prev", "pipe_input", "reset_opts", "col_select", "col_select_next", "col_select_prev", "col_hide" ],
155
156
  "Save, load, copy and paste:": [ "save", "load", "open", "copy", "paste" ],
@@ -197,15 +198,20 @@ def build_help_rows(keys_dict: dict, debug: bool = False) -> list[list[str]]:
197
198
  row = [f" {str(keys)[1:-1]}", description]
198
199
  section_rows.append(row)
199
200
  if section_rows:
200
- items.append([section_name, ""])
201
+ items.append([f" {section_name}", ""])
201
202
  items += section_rows
202
203
  items.append(["",""])
203
204
 
205
+ if debug:
206
+ for operation in keys_dict:
207
+ if operation not in help_descriptions:
208
+ print(f"Note that {operation} is not in the help_descriptions")
209
+
204
210
  return items
205
211
 
206
212
  if __name__ == "__main__":
207
213
  items = build_help_rows(picker_keys, debug=True)
208
- items = build_help_rows(notification_keys, debug=True)
214
+ # items = build_help_rows(notification_keys, debug=True)
209
215
 
210
216
  # from listpick.listpick_app import Picker, start_curses, close_curses
211
217
  # stdscr = start_curses()
@@ -84,6 +84,9 @@ picker_keys = {
84
84
  "info": [ord('i')],
85
85
  "file_next": [ord('}')],
86
86
  "file_prev": [ord('{')],
87
+ # "sheet_next": [],
88
+ # "sheet_prev": [],
89
+ "toggle_right_pane": [ord("'")],
87
90
  }
88
91
 
89
92
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: listpick
3
- Version: 0.1.15.0
3
+ Version: 0.1.15.2
4
4
  Summary: Listpick is a powerful TUI data tool for creating TUI apps or viewing/comparing tabulated data.
5
5
  Home-page: https://github.com/grimandgreedy/listpick
6
6
  Author: Grim
@@ -27,6 +27,7 @@ Requires-Dist: pyperclip; extra == "full"
27
27
  Requires-Dist: toml; extra == "full"
28
28
  Requires-Dist: traitlets; extra == "full"
29
29
  Requires-Dist: odfpy; extra == "full"
30
+ Requires-Dist: plotille; extra == "full"
30
31
  Dynamic: author
31
32
  Dynamic: author-email
32
33
  Dynamic: classifier
@@ -14,3 +14,4 @@ pyperclip
14
14
  toml
15
15
  traitlets
16
16
  odfpy
17
+ plotille
File without changes
File without changes
File without changes
File without changes
File without changes