modusa 0.3.84__py3-none-any.whl → 0.3.86__py3-none-any.whl

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.
modusa/__init__.py CHANGED
@@ -8,4 +8,4 @@ from modusa.tools import play, convert, record, save
8
8
  from modusa.tools import download
9
9
  from modusa.tools import load, load_ann
10
10
 
11
- __version__ = "0.3.84"
11
+ __version__ = "0.3.86"
modusa/tools/plotter.py CHANGED
@@ -60,9 +60,12 @@ class Fig:
60
60
  dark_mode: bool
61
61
  - Do you want dark mode?
62
62
  - Default: True
63
+ abc: bool
64
+ - Adds a, b, c, ... to the subplots for easier referencing.
65
+ - Default: False
63
66
  """
64
67
 
65
- def __init__(self, arrangement="asm", xlim=None, width=16, dark_mode=True):
68
+ def __init__(self, arrangement="asm", xlim=None, width=16, dark_mode=True, abc=False):
66
69
 
67
70
  if dark_mode:
68
71
  plt.style.use("dark_background")
@@ -80,6 +83,7 @@ class Fig:
80
83
  self._xlim = xlim
81
84
  self._curr_row_idx = 1 # Starting from 1 because row 0 is reserved for reference subplot
82
85
  self._curr_color_idx = 0 # So that we have different color across all the subplots to avoid legend confusion
86
+ self._abc = abc # This tells whether to add a, b, c, ... to the subplots for better referencing
83
87
 
84
88
  # Subplot setup
85
89
  self._fig, self._axs = self._generate_subplots(arrangement, width) # This will fill in the all the above variables
@@ -184,6 +188,15 @@ class Fig:
184
188
 
185
189
  axs[i, 0].sharex(axs[0, 0])
186
190
 
191
+ if self._abc is True:
192
+ # Add subplot labels (a, b, c, d, ...) for better referencing.
193
+ label_counter = 0
194
+ for i, char in enumerate(arrangement):
195
+ if char != "r": # Skip the reference subplot
196
+ label = chr(97 + label_counter) # 97 is ASCII for 'a'
197
+ axs[i, 0].text(-0.05, 0.5, f'({label})', transform=axs[i, 0].transAxes, fontsize=12, fontweight='bold', va='center', ha='right')
198
+ label_counter += 1
199
+
187
200
  axs[-1, 0].tick_params(bottom=True, labelbottom=True)
188
201
 
189
202
  # xlim should be applied on reference subplot, rest all subplots will automatically adjust
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modusa
3
- Version: 0.3.84
3
+ Version: 0.3.86
4
4
  Summary: A modular signal analysis python library.
5
5
  Author-Email: Ankit Anand <ankit0.anand0@gmail.com>
6
6
  License: MIT
7
7
  Requires-Python: >=3.10
8
8
  Requires-Dist: numpy>=2.2.6
9
9
  Requires-Dist: matplotlib>=3.10.3
10
- Requires-Dist: yt-dlp>=2025.8.22
10
+ Requires-Dist: yt-dlp==2025.9.23
11
11
  Requires-Dist: librosa==0.11.0
12
12
  Requires-Dist: IPython>=8.0.0
13
13
  Requires-Dist: sounddevice>=0.5.2
@@ -1,9 +1,9 @@
1
- modusa-0.3.84.dist-info/METADATA,sha256=G0bs_GchmbcaZ8YKrOTfdJfOc3qF8MOtsZ-IlC6wcV0,1436
2
- modusa-0.3.84.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
- modusa-0.3.84.dist-info/entry_points.txt,sha256=fmKpleVXj6CdaBVL14WoEy6xx7JQCs85jvzwTi3lePM,73
4
- modusa-0.3.84.dist-info/licenses/LICENSE.md,sha256=JTaXAjx5awk76VArKCx5dUW8vmLEWsL_ZlR7-umaHbA,1078
1
+ modusa-0.3.86.dist-info/METADATA,sha256=PFP5sgtnzneOUlb7Vgqh0qd1o63900FEFVA5PDUUqNU,1436
2
+ modusa-0.3.86.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
+ modusa-0.3.86.dist-info/entry_points.txt,sha256=fmKpleVXj6CdaBVL14WoEy6xx7JQCs85jvzwTi3lePM,73
4
+ modusa-0.3.86.dist-info/licenses/LICENSE.md,sha256=JTaXAjx5awk76VArKCx5dUW8vmLEWsL_ZlR7-umaHbA,1078
5
5
  modusa/.DS_Store,sha256=_gm6qJREwfMi8dE7n5S89_RG46u5t3xHyD-smNhtNoM,6148
6
- modusa/__init__.py,sha256=OnLvxrtQ9Czq7oQXJ8HjxN_kUtaoZYqmhaN5UJ9x4qk,307
6
+ modusa/__init__.py,sha256=2OyuVE0ZqTnIo4tGSBsGN3sWs-WELwgsBYs3zi3Z174,307
7
7
  modusa/config.py,sha256=bTqK4t00FZqERVITrxW_q284aDDJAa9aMSfFknfR-oU,280
8
8
  modusa/decorators.py,sha256=8zeNX_wE37O6Vp0ysR4-WCZaEL8mq8dyCF_I5DHOzks,5905
9
9
  modusa/devtools/generate_docs_source.py,sha256=UDflHsk-Yh9-3YJTVBzKL32y8hcxiRgAlFEBTMiDqwM,3301
@@ -51,7 +51,7 @@ modusa/tools/audio_recorder.py,sha256=K_LGqsPdjTdf3figEZTSQLmgMzYWgz18HTO8C1j5fE
51
51
  modusa/tools/audio_saver.py,sha256=ldzfr_AydsHTnKbxmBLJblN-hLzTmOlppOm306xI4Ug,510
52
52
  modusa/tools/base.py,sha256=C0ESJ0mIfjjRlAkRbSetNtMoOfS6IrHBjexRp3l_Mh4,1293
53
53
  modusa/tools/math_ops.py,sha256=ZZ7U4DgqT7cOeE7_Lzi_Qq-48WYfwR9_osbZwTmE9eg,8690
54
- modusa/tools/plotter.py,sha256=AZz7y0lkZ-zYxGVjeGghTFI7RIxWHiqX-26mKm781gA,23790
54
+ modusa/tools/plotter.py,sha256=OhWLI3MaZzPtE8wnc6vXqi42aSzjEwGd5uVfgOMLhRw,24415
55
55
  modusa/tools/youtube_downloader.py,sha256=hB_X8-7nOHXOlxg6vv3wyhBLoAsWyomrULP6_uCQL7s,1698
56
56
  modusa/utils/.DS_Store,sha256=nLXMwF7QJNuglLI_Gk74F7vl5Dyus2Wd74Mgowijmdo,6148
57
57
  modusa/utils/__init__.py,sha256=1oLL20yLB1GL9IbFiZD8OReDqiCpFr-yetIR6x1cNkI,23
@@ -60,4 +60,4 @@ modusa/utils/excp.py,sha256=L9vhaGjKpv9viJYdmC9n5ndmk2GVbUBuFyZyhAQZmWY,906
60
60
  modusa/utils/logger.py,sha256=K0rsnObeNKCxlNeSnVnJeRhgfmob6riB2uyU7h3dDmA,571
61
61
  modusa/utils/np_func_cat.py,sha256=TyIFgRc6bARRMDnZxlVURO5Z0I-GWhxRONYyIv-Vwxs,1007
62
62
  modusa/utils/plot.py,sha256=s_vNdxvKfwxEngvJPgrF1PcmxZNnNaaXPViHWjyjJ-c,5335
63
- modusa-0.3.84.dist-info/RECORD,,
63
+ modusa-0.3.86.dist-info/RECORD,,