modusa 0.4.23__py3-none-any.whl → 0.4.25__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.4.23"
11
+ __version__ = "0.4.25"
@@ -99,12 +99,19 @@ def load(path, sr=None, trim=None, ch=None):
99
99
  File name stem.
100
100
  """
101
101
  path = Path(path)
102
- ffmpeg_exe = ffmpeg.get_ffmpeg_exe()
103
-
104
- yt = False # Is the path a youtube URL
105
102
 
103
+ # If the path is a YouTube URL, turn on the yt flag
104
+ yt = False # By default, set to false
106
105
  if ".youtube" in str(path):
107
106
  yt = True
107
+
108
+ # For local files, check if the audio exists
109
+ elif not path.exists():
110
+ raise FileExistsError(f"{path} does not exist")
111
+
112
+ ffmpeg_exe = ffmpeg.get_ffmpeg_exe()
113
+
114
+ if yt:
108
115
  try:
109
116
  path: Path = _load_audio_from_youtube(url=str(path))
110
117
  except Exception as e:
modusa/tools/plotter.py CHANGED
@@ -31,7 +31,7 @@ def _load_devanagari_font():
31
31
  hindi_font = fm.FontProperties(fname=str(font_path))
32
32
 
33
33
  # Set as default rcParam
34
- mpl.rcParams['font.family'] = hindi_font.get_name()
34
+ mpl.rcParams['font.family'] = [hindi_font.get_name(), 'DejaVu Sans'] # Fallback to DejaVu Sans
35
35
 
36
36
  #==============
37
37
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modusa
3
- Version: 0.4.23
3
+ Version: 0.4.25
4
4
  Summary: A modular signal analysis python library.
5
5
  Author-Email: Ankit Anand <ankit0.anand0@gmail.com>
6
6
  License: MIT
@@ -9,6 +9,7 @@ Requires-Dist: numpy>=2.2.6
9
9
  Requires-Dist: matplotlib>=3.10.3
10
10
  Requires-Dist: yt-dlp==2025.9.23
11
11
  Requires-Dist: IPython>=9.5.0
12
+ Requires-Dist: sounddevice>=0.5.2
12
13
  Requires-Dist: ipywidgets>=8.1.7
13
14
  Requires-Dist: imageio-ffmpeg>=0.6.0
14
15
  Description-Content-Type: text/markdown
@@ -1,9 +1,9 @@
1
- modusa-0.4.23.dist-info/METADATA,sha256=VcG0sWHvNgl2n0jMCiKiWM2BAeGHUJorSp0pFogxx90,1408
2
- modusa-0.4.23.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
- modusa-0.4.23.dist-info/entry_points.txt,sha256=fmKpleVXj6CdaBVL14WoEy6xx7JQCs85jvzwTi3lePM,73
4
- modusa-0.4.23.dist-info/licenses/LICENSE.md,sha256=JTaXAjx5awk76VArKCx5dUW8vmLEWsL_ZlR7-umaHbA,1078
1
+ modusa-0.4.25.dist-info/METADATA,sha256=NlSdwR81-YMVd8sOyrytDh6RzXwnjYUHBECChHTAn0o,1442
2
+ modusa-0.4.25.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
+ modusa-0.4.25.dist-info/entry_points.txt,sha256=fmKpleVXj6CdaBVL14WoEy6xx7JQCs85jvzwTi3lePM,73
4
+ modusa-0.4.25.dist-info/licenses/LICENSE.md,sha256=JTaXAjx5awk76VArKCx5dUW8vmLEWsL_ZlR7-umaHbA,1078
5
5
  modusa/.DS_Store,sha256=hHecruWmea5u7ITMSdq62sVVdvT2I5lTN20gTfD3Btk,8196
6
- modusa/__init__.py,sha256=90isCiArafICPkaTgChbljh2F5o_iDKhqMz1gArlDOE,324
6
+ modusa/__init__.py,sha256=2HUuTuFsuxQvtu2QJf_kMraFcF5nPUcUIf9iOFm297o,324
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
@@ -45,13 +45,13 @@ modusa/tools/__init__.py,sha256=S7P1uYckyUdkha2UX9uj4P7mqpF6cc5SHqiW6NEupgs,342
45
45
  modusa/tools/_plotter_old.py,sha256=KGow7mihA2H1WNq7s5bpivhCgGo2qVIeDaO6iabpsrg,19294
46
46
  modusa/tools/ann_loader.py,sha256=m6Qu6jXnQ8LfUhKItoHSaHlGxUyzUJlGEyu4_50qJ8w,3099
47
47
  modusa/tools/audio_converter.py,sha256=415qBoPm2sBIuBSI7m1XBKm0AbmVmPydIPPr-uO8D3c,1778
48
- modusa/tools/audio_loader.py,sha256=nQl-E8xM1wdoYzZ3yGw25FJY8EogbqIZzPSMFt4Fv1E,3899
48
+ modusa/tools/audio_loader.py,sha256=xmeodrJqJV5j9-lrUPk3W9-bdEA4-6RvTAn8pIErUN0,4084
49
49
  modusa/tools/audio_player.py,sha256=kyBUnodkOE9Ox-hKHkfPeGAQ1RPTddbZYXO1ezz6-9w,2494
50
50
  modusa/tools/audio_recorder.py,sha256=K_LGqsPdjTdf3figEZTSQLmgMzYWgz18HTO8C1j5fE4,2788
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=RrELZYgnyUVhGzcNfpTvyZvVTmZ6dvQmN9YSQoUjmaM,30860
54
+ modusa/tools/plotter.py,sha256=xXHibXf3cnFjgf_Hc_PM22yjC8W1s3160TjD7OTutcc,30903
55
55
  modusa/tools/youtube_downloader.py,sha256=hB_X8-7nOHXOlxg6vv3wyhBLoAsWyomrULP6_uCQL7s,1698
56
56
  modusa/utils/__init__.py,sha256=1oLL20yLB1GL9IbFiZD8OReDqiCpFr-yetIR6x1cNkI,23
57
57
  modusa/utils/config.py,sha256=cuGbqbovx5WDQq5rw3hIKcv3CnE5NttjacSOWnP1yu4,576
@@ -59,4 +59,4 @@ modusa/utils/excp.py,sha256=L9vhaGjKpv9viJYdmC9n5ndmk2GVbUBuFyZyhAQZmWY,906
59
59
  modusa/utils/logger.py,sha256=K0rsnObeNKCxlNeSnVnJeRhgfmob6riB2uyU7h3dDmA,571
60
60
  modusa/utils/np_func_cat.py,sha256=TyIFgRc6bARRMDnZxlVURO5Z0I-GWhxRONYyIv-Vwxs,1007
61
61
  modusa/utils/plot.py,sha256=s_vNdxvKfwxEngvJPgrF1PcmxZNnNaaXPViHWjyjJ-c,5335
62
- modusa-0.4.23.dist-info/RECORD,,
62
+ modusa-0.4.25.dist-info/RECORD,,