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.
- {batplot-1.8.33/batplot.egg-info → batplot-1.8.34}/PKG-INFO +1 -1
- {batplot-1.8.33 → batplot-1.8.34}/batplot/__init__.py +1 -1
- {batplot-1.8.33 → batplot-1.8.34}/batplot/data/CHANGELOG.md +4 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/electrochem_interactive.py +0 -20
- {batplot-1.8.33 → batplot-1.8.34/batplot.egg-info}/PKG-INFO +1 -1
- {batplot-1.8.33 → batplot-1.8.34}/pyproject.toml +1 -1
- {batplot-1.8.33 → batplot-1.8.34}/LICENSE +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/MANIFEST.in +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/NOTICE +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/README.md +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/args.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/batch.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/batplot.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/canvas_interactive.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/cif.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/cli.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/color_utils.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/config.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/converters.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/cpc_interactive.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/data/USER_MANUAL.md +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/dev_upgrade.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/interactive.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/manual.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/modes.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/operando.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/operando_ec_interactive.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/plotting.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/readers.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/session.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/showcol.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/style.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/ui.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/utils.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot/version_check.py +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot.egg-info/SOURCES.txt +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot.egg-info/dependency_links.txt +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot.egg-info/entry_points.txt +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot.egg-info/requires.txt +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/batplot.egg-info/top_level.txt +0 -0
- {batplot-1.8.33 → batplot-1.8.34}/setup.cfg +0 -0
- {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.
|
|
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
|
|
@@ -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.
|
|
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.
|
|
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
|
|
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
|