batplot 1.8.33__tar.gz → 1.8.34__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.
Files changed (42) hide show
  1. {batplot-1.8.33/batplot.egg-info → batplot-1.8.34}/PKG-INFO +1 -1
  2. {batplot-1.8.33 → batplot-1.8.34}/batplot/__init__.py +1 -1
  3. {batplot-1.8.33 → batplot-1.8.34}/batplot/data/CHANGELOG.md +4 -0
  4. {batplot-1.8.33 → batplot-1.8.34}/batplot/electrochem_interactive.py +0 -20
  5. {batplot-1.8.33 → batplot-1.8.34/batplot.egg-info}/PKG-INFO +1 -1
  6. {batplot-1.8.33 → batplot-1.8.34}/pyproject.toml +1 -1
  7. {batplot-1.8.33 → batplot-1.8.34}/LICENSE +0 -0
  8. {batplot-1.8.33 → batplot-1.8.34}/MANIFEST.in +0 -0
  9. {batplot-1.8.33 → batplot-1.8.34}/NOTICE +0 -0
  10. {batplot-1.8.33 → batplot-1.8.34}/README.md +0 -0
  11. {batplot-1.8.33 → batplot-1.8.34}/batplot/args.py +0 -0
  12. {batplot-1.8.33 → batplot-1.8.34}/batplot/batch.py +0 -0
  13. {batplot-1.8.33 → batplot-1.8.34}/batplot/batplot.py +0 -0
  14. {batplot-1.8.33 → batplot-1.8.34}/batplot/canvas_interactive.py +0 -0
  15. {batplot-1.8.33 → batplot-1.8.34}/batplot/cif.py +0 -0
  16. {batplot-1.8.33 → batplot-1.8.34}/batplot/cli.py +0 -0
  17. {batplot-1.8.33 → batplot-1.8.34}/batplot/color_utils.py +0 -0
  18. {batplot-1.8.33 → batplot-1.8.34}/batplot/config.py +0 -0
  19. {batplot-1.8.33 → batplot-1.8.34}/batplot/converters.py +0 -0
  20. {batplot-1.8.33 → batplot-1.8.34}/batplot/cpc_interactive.py +0 -0
  21. {batplot-1.8.33 → batplot-1.8.34}/batplot/data/USER_MANUAL.md +0 -0
  22. {batplot-1.8.33 → batplot-1.8.34}/batplot/dev_upgrade.py +0 -0
  23. {batplot-1.8.33 → batplot-1.8.34}/batplot/interactive.py +0 -0
  24. {batplot-1.8.33 → batplot-1.8.34}/batplot/manual.py +0 -0
  25. {batplot-1.8.33 → batplot-1.8.34}/batplot/modes.py +0 -0
  26. {batplot-1.8.33 → batplot-1.8.34}/batplot/operando.py +0 -0
  27. {batplot-1.8.33 → batplot-1.8.34}/batplot/operando_ec_interactive.py +0 -0
  28. {batplot-1.8.33 → batplot-1.8.34}/batplot/plotting.py +0 -0
  29. {batplot-1.8.33 → batplot-1.8.34}/batplot/readers.py +0 -0
  30. {batplot-1.8.33 → batplot-1.8.34}/batplot/session.py +0 -0
  31. {batplot-1.8.33 → batplot-1.8.34}/batplot/showcol.py +0 -0
  32. {batplot-1.8.33 → batplot-1.8.34}/batplot/style.py +0 -0
  33. {batplot-1.8.33 → batplot-1.8.34}/batplot/ui.py +0 -0
  34. {batplot-1.8.33 → batplot-1.8.34}/batplot/utils.py +0 -0
  35. {batplot-1.8.33 → batplot-1.8.34}/batplot/version_check.py +0 -0
  36. {batplot-1.8.33 → batplot-1.8.34}/batplot.egg-info/SOURCES.txt +0 -0
  37. {batplot-1.8.33 → batplot-1.8.34}/batplot.egg-info/dependency_links.txt +0 -0
  38. {batplot-1.8.33 → batplot-1.8.34}/batplot.egg-info/entry_points.txt +0 -0
  39. {batplot-1.8.33 → batplot-1.8.34}/batplot.egg-info/requires.txt +0 -0
  40. {batplot-1.8.33 → batplot-1.8.34}/batplot.egg-info/top_level.txt +0 -0
  41. {batplot-1.8.33 → batplot-1.8.34}/setup.cfg +0 -0
  42. {batplot-1.8.33 → batplot-1.8.34}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: batplot
3
- Version: 1.8.33
3
+ Version: 1.8.34
4
4
  Summary: Interactive plotting tool for material science (1D plot) and electrochemistry (GC, CV, dQ/dV, CPC, operando) with batch processing
5
5
  Author-email: Tian Dai <tianda@uio.no>
6
6
  License: MIT License
@@ -1,5 +1,5 @@
1
1
  """batplot: Interactive plotting for battery data visualization."""
2
2
 
3
- __version__ = "1.8.33"
3
+ __version__ = "1.8.34"
4
4
 
5
5
  __all__ = ["__version__"]
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.8.34] - 2026-03-24
4
+ - Bug fixes
5
+
6
+
3
7
  ## [1.8.32] - 2026-03-24
4
8
  - Improved multi-file support for EC mode
5
9
 
@@ -904,11 +904,6 @@ def _format_cycles_compact(cycles: List[int]) -> str:
904
904
  return ", ".join(parts)
905
905
 
906
906
 
907
- def _print_ec_main_menu_options_tip():
908
- """Reminder shown in top-level EC submenus: main menu includes p/i/s/b."""
909
- print(" " + _colorize_menu("Tip: q → main menu (p i s b: export/import style, save session, undo)"))
910
-
911
-
912
907
  def _parse_cycle_tokens(tokens: List[str], fig=None) -> Tuple[str, List[int], dict, Optional[str], bool]:
913
908
  """Classify and parse tokens for the cycle command.
914
909
 
@@ -2370,7 +2365,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
2370
2365
  print(" " + _colorize_menu("d: show only discharge curves (hide charge)"))
2371
2366
  print(" " + _colorize_menu("b: show both charge and discharge"))
2372
2367
  print(" " + _colorize_menu("Which cycles are shown & colors: main menu c (e.g. 2-30 1 = cycles 2–30, palette 1 / tab10)"))
2373
- _print_ec_main_menu_options_tip()
2374
2368
  print(" " + _colorize_menu("q: back"))
2375
2369
  sub = _safe_input(_colorize_prompt("Display (c/d/b/q): ")).strip().lower()
2376
2370
  if not sub or sub == 'q':
@@ -2602,7 +2596,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
2602
2596
  print("Legend:")
2603
2597
  print(" " + _colorize_menu("t: toggle"))
2604
2598
  print(" " + _colorize_menu("p: set position"))
2605
- _print_ec_main_menu_options_tip()
2606
2599
  print(" " + _colorize_menu("q: back"))
2607
2600
  sub = _safe_input(_colorize_prompt("Legend (t/p/q): ")).strip().lower()
2608
2601
  if not sub:
@@ -2805,7 +2798,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
2805
2798
  cfg = _get_style_snapshot(fig, ax, cycle_lines, tick_state, file_data=file_data if is_multi_file else None)
2806
2799
  cfg['kind'] = 'ec_style' # Default, will be updated if psg is chosen
2807
2800
  _print_style_snapshot(cfg)
2808
- _print_ec_main_menu_options_tip()
2809
2801
 
2810
2802
  # List available style files (.bps, .bpsg, .bpcfg) in Styles/ subdirectory
2811
2803
  style_file_list = list_files_in_subdirectory(('.bps', '.bpsg', '.bpcfg'), 'style')
@@ -3545,7 +3537,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
3545
3537
  print(f" {_colorize_menu('l : show only lines (no markers) for all curves')}")
3546
3538
  print(f" {_colorize_menu('ld : show line and dots (markers) for all curves')}")
3547
3539
  print(f" {_colorize_menu('d : show only dots (no connecting line) for all curves')}")
3548
- _print_ec_main_menu_options_tip()
3549
3540
  print(f" {_colorize_menu('q : return')}")
3550
3541
  sub = _safe_input(_colorize_prompt("Choose (c/f/g/l/ld/d/q): ")).strip().lower()
3551
3542
  if not sub:
@@ -3740,7 +3731,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
3740
3731
  for idx, color in enumerate(user_colors, 1):
3741
3732
  print(" " + _colorize_menu(f"{idx}: {color_block(color)} {color}"))
3742
3733
  print(" " + _colorize_menu("u: edit saved colors"))
3743
- _print_ec_main_menu_options_tip()
3744
3734
  print(" " + _colorize_menu("q: back to main menu"))
3745
3735
  line = _safe_input(_colorize_prompt("Enter mappings (e.g., a:red d:blue, q=back): ")).strip()
3746
3736
  if not line or line.lower() == 'q':
@@ -3831,7 +3821,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
3831
3821
  print(" " + _colorize_menu("y: y-axis"))
3832
3822
  if file_data:
3833
3823
  print(" " + _colorize_menu("f: file names (legend)"))
3834
- _print_ec_main_menu_options_tip()
3835
3824
  print(" " + _colorize_menu("q: back"))
3836
3825
  opts = "x/y" + ("/tx" if (is_dual_xaxis and secax) else "") + ("/f" if file_data else "") + "/q"
3837
3826
  sub = _safe_input(_colorize_prompt(f"Rename ({opts}): ")).strip().lower()
@@ -3962,7 +3951,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
3962
3951
  continue
3963
3952
  while True:
3964
3953
  _print_file_list(file_data)
3965
- _print_ec_main_menu_options_tip()
3966
3954
  print("Current legend order (top to bottom):")
3967
3955
  order = getattr(fig, '_ec_legend_file_order', None) or list(range(len(file_data)))
3968
3956
  for i, idx in enumerate(order):
@@ -4167,7 +4155,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
4167
4155
  print(f" Minor count : {_C}m{_R}=minor ticks per interval e.g. {_C}x 4{_R} {_C}y 1{_R} {_C}all 0{_R}=off {_C}x auto{_R}")
4168
4156
  print(f" Title offsets : {_C}p{_R}=adjust ({_C}w{_R}=top {_C}s{_R}=bottom {_C}a{_R}=left {_C}d{_R}=right)")
4169
4157
  print(f" Other : {_C}list{_R}=show state {_C}q{_R}=back")
4170
- _print_ec_main_menu_options_tip()
4171
4158
  while True:
4172
4159
  cmd = _safe_input(_colorize_prompt("Enter code(s): ")).strip().lower()
4173
4160
  if not cmd:
@@ -4521,7 +4508,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
4521
4508
  for idx, color in enumerate(user_colors, 1):
4522
4509
  print(" " + _colorize_menu(f"{idx}: {color_block(color)} {color}"))
4523
4510
  print(" " + _colorize_menu("u: edit saved colors before assigning"))
4524
- _print_ec_main_menu_options_tip()
4525
4511
  print(" " + _colorize_menu("q: back"))
4526
4512
  line = _safe_input(_colorize_prompt("Selection: ")).strip()
4527
4513
  if not line or line.lower() == 'q':
@@ -4827,7 +4813,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
4827
4813
  print(" " + _colorize_menu("s : swap axes (switch top/bottom)"))
4828
4814
  if c_th:
4829
4815
  print(" " + _colorize_menu("u : update theoretical capacity"))
4830
- _print_ec_main_menu_options_tip()
4831
4816
  print(" " + _colorize_menu("q : back to main menu"))
4832
4817
 
4833
4818
  sub = _safe_input("X> ").strip().lower()
@@ -5367,7 +5352,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
5367
5352
  print(f"\nFont (current: family='{cur_family}', size={cur_size})")
5368
5353
  print(" " + _colorize_menu("f: family"))
5369
5354
  print(" " + _colorize_menu("s: size"))
5370
- _print_ec_main_menu_options_tip()
5371
5355
  print(" " + _colorize_menu("q: back"))
5372
5356
  sub = _safe_input(_colorize_prompt("Font (f/s/q): ")).strip().lower()
5373
5357
  if not sub:
@@ -5442,7 +5426,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
5442
5426
  print(" " + _colorize_menu("w: upper only"))
5443
5427
  print(" " + _colorize_menu("s: lower only"))
5444
5428
  print(" " + _colorize_menu("a: auto (restore original)"))
5445
- _print_ec_main_menu_options_tip()
5446
5429
  print(" " + _colorize_menu("q: back"))
5447
5430
  lim = _safe_input(_colorize_prompt("X (w/s/a/q): ")).strip()
5448
5431
  if not lim or lim.lower() == 'q':
@@ -5532,7 +5515,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
5532
5515
  print(" " + _colorize_menu("w: upper only"))
5533
5516
  print(" " + _colorize_menu("s: lower only"))
5534
5517
  print(" " + _colorize_menu("a: auto (restore original)"))
5535
- _print_ec_main_menu_options_tip()
5536
5518
  print(" " + _colorize_menu("q: back"))
5537
5519
  lim = _safe_input(_colorize_prompt("Y (w/s/a/q): ")).strip()
5538
5520
  if not lim or lim.lower() == 'q':
@@ -5623,7 +5605,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
5623
5605
  while True:
5624
5606
  print(" " + _colorize_menu("p: plot frame size"))
5625
5607
  print(" " + _colorize_menu("c: canvas size"))
5626
- _print_ec_main_menu_options_tip()
5627
5608
  print(" " + _colorize_menu("q: back"))
5628
5609
  sub = _safe_input(_colorize_prompt("Geom (p/c/q): ")).strip().lower()
5629
5610
  if not sub:
@@ -5685,7 +5666,6 @@ def electrochem_interactive_menu(fig, ax, cycle_lines: Optional[Dict[int, Dict[s
5685
5666
  print(" " + _colorize_menu("d: DiffCap smooth (≥1 mV ΔV + Savitzky–Golay, order 3, window 9)"))
5686
5667
  print(" " + _colorize_menu("o: remove outliers (removes abrupt dQ/dV spikes)"))
5687
5668
  print(" " + _colorize_menu("r: reset to original data"))
5688
- _print_ec_main_menu_options_tip()
5689
5669
  print(" " + _colorize_menu("q: back to main menu"))
5690
5670
  sub = _safe_input(_colorize_prompt("dQ/dV (a/d/o/r/q): ")).strip().lower()
5691
5671
  if not sub:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: batplot
3
- Version: 1.8.33
3
+ Version: 1.8.34
4
4
  Summary: Interactive plotting tool for material science (1D plot) and electrochemistry (GC, CV, dQ/dV, CPC, operando) with batch processing
5
5
  Author-email: Tian Dai <tianda@uio.no>
6
6
  License: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "batplot"
7
- version = "1.8.33"
7
+ version = "1.8.34"
8
8
  description = "Interactive plotting tool for material science (1D plot) and electrochemistry (GC, CV, dQ/dV, CPC, operando) with batch processing"
9
9
  authors = [
10
10
  { name = "Tian Dai", email = "tianda@uio.no" }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes