modusa 0.4.10__tar.gz → 0.4.11__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 (95) hide show
  1. {modusa-0.4.10 → modusa-0.4.11}/PKG-INFO +1 -1
  2. {modusa-0.4.10 → modusa-0.4.11}/pyproject.toml +1 -1
  3. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/.DS_Store +0 -0
  4. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/__init__.py +1 -1
  5. modusa-0.4.11/tests/.DS_Store +0 -0
  6. modusa-0.4.10/tests/data/song1.mp3 +0 -0
  7. modusa-0.4.10/tests/data/song1.wav +0 -0
  8. modusa-0.4.10/tests/test_generators/audio_waveform.py +0 -11
  9. modusa-0.4.10/tests/test_generators/test_audio.py +0 -10
  10. modusa-0.4.10/tests/test_generators/test_ftds.py +0 -10
  11. modusa-0.4.10/tests/test_generators/test_s1d.py +0 -10
  12. modusa-0.4.10/tests/test_generators/test_s2d.py +0 -10
  13. modusa-0.4.10/tests/test_generators/test_s_ax.py +0 -10
  14. modusa-0.4.10/tests/test_generators/test_signal.py +0 -10
  15. modusa-0.4.10/tests/test_generators/test_signal_generator.py +0 -10
  16. modusa-0.4.10/tests/test_generators/test_t_ax.py +0 -10
  17. modusa-0.4.10/tests/test_generators/test_tds.py +0 -10
  18. modusa-0.4.10/tests/test_io/audio_player.py +0 -11
  19. modusa-0.4.10/tests/test_io/plotter.py +0 -11
  20. modusa-0.4.10/tests/test_models/test_data.py +0 -10
  21. modusa-0.4.10/tests/test_models/test_t_ax.py +0 -10
  22. modusa-0.4.10/tests/test_plugins/youtube_audio_loader.py +0 -11
  23. modusa-0.4.10/tests/test_signals/frequency_domain_signal.py +0 -11
  24. modusa-0.4.10/tests/test_signals/spectrogram.py +0 -11
  25. modusa-0.4.10/tests/test_signals/test_axis.py +0 -10
  26. modusa-0.4.10/tests/test_signals/test_feature_time_domain_signal.py +0 -10
  27. modusa-0.4.10/tests/test_signals/test_frequency_time_domain_signal.py +0 -10
  28. modusa-0.4.10/tests/test_signals/test_signal1D.py +0 -10
  29. modusa-0.4.10/tests/test_signals/test_signal2D.py +0 -10
  30. modusa-0.4.10/tests/test_signals/test_time_domain_signal.py +0 -10
  31. modusa-0.4.10/tests/test_signals/test_u_ax.py +0 -10
  32. modusa-0.4.10/tests/test_signals/test_window_signal.py +0 -10
  33. modusa-0.4.10/tests/test_signals/time_domain_signal.py +0 -11
  34. modusa-0.4.10/tests/test_tools/test_audio_converter.py +0 -48
  35. modusa-0.4.10/tests/test_tools/test_fourier_tranform.py +0 -10
  36. modusa-0.4.10/tests/test_tools/test_math_ops.py +0 -687
  37. {modusa-0.4.10 → modusa-0.4.11}/LICENSE.md +0 -0
  38. {modusa-0.4.10 → modusa-0.4.11}/README.md +0 -0
  39. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/config.py +0 -0
  40. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/decorators.py +0 -0
  41. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/generate_docs_source.py +0 -0
  42. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/generate_template.py +0 -0
  43. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/list_authors.py +0 -0
  44. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/list_plugins.py +0 -0
  45. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/main.py +0 -0
  46. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/templates/generator.py +0 -0
  47. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/templates/io.py +0 -0
  48. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/templates/model.py +0 -0
  49. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/templates/plugin.py +0 -0
  50. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/templates/test.py +0 -0
  51. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/devtools/templates/tool.py +0 -0
  52. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/fonts/NotoSansDevanagari-Regular.ttf +0 -0
  53. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/generators/__init__.py +0 -0
  54. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/generators/audio.py +0 -0
  55. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/generators/audio_waveforms.py +0 -0
  56. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/generators/base.py +0 -0
  57. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/generators/ftds.py +0 -0
  58. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/generators/s1d.py +0 -0
  59. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/generators/s2d.py +0 -0
  60. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/generators/s_ax.py +0 -0
  61. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/generators/t_ax.py +0 -0
  62. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/generators/tds.py +0 -0
  63. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/__init__.py +0 -0
  64. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/__pycache__/signal1D.cpython-312.pyc.4443461152 +0 -0
  65. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/audio.py +0 -0
  66. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/base.py +0 -0
  67. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/data.py +0 -0
  68. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/ftds.py +0 -0
  69. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/s1d.py +0 -0
  70. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/s2d.py +0 -0
  71. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/s_ax.py +0 -0
  72. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/t_ax.py +0 -0
  73. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/models/tds.py +0 -0
  74. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/plugins/__init__.py +0 -0
  75. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/plugins/base.py +0 -0
  76. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/__init__.py +0 -0
  77. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/_plotter_old.py +0 -0
  78. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/ann_loader.py +0 -0
  79. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/audio_converter.py +0 -0
  80. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/audio_loader.py +0 -0
  81. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/audio_player.py +0 -0
  82. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/audio_recorder.py +0 -0
  83. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/audio_saver.py +0 -0
  84. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/base.py +0 -0
  85. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/math_ops.py +0 -0
  86. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/plotter.py +0 -0
  87. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/tools/youtube_downloader.py +0 -0
  88. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/utils/.DS_Store +0 -0
  89. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/utils/__init__.py +0 -0
  90. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/utils/config.py +0 -0
  91. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/utils/excp.py +0 -0
  92. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/utils/logger.py +0 -0
  93. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/utils/np_func_cat.py +0 -0
  94. {modusa-0.4.10 → modusa-0.4.11}/src/modusa/utils/plot.py +0 -0
  95. {modusa-0.4.10 → modusa-0.4.11}/tests/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modusa
3
- Version: 0.4.10
3
+ Version: 0.4.11
4
4
  Summary: A modular signal analysis python library.
5
5
  Author-Email: Ankit Anand <ankit0.anand0@gmail.com>
6
6
  License: MIT
@@ -16,7 +16,7 @@ dependencies = [
16
16
  ]
17
17
  requires-python = ">=3.10"
18
18
  readme = "README.md"
19
- version = "0.4.10"
19
+ version = "0.4.11"
20
20
 
21
21
  [project.license]
22
22
  text = "MIT"
@@ -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.10"
11
+ __version__ = "0.4.11"
Binary file
Binary file
Binary file
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
-
4
- #--------Meta Information----------
5
- _class_name = "AudioWaveformGenerator"
6
- _author_name = "Ankit Anand"
7
- _author_email = "ankit0.anand0@gmail.com"
8
- _created_at = "2025-07-07"
9
- #----------------------------------
10
-
11
- from modusa.generators import AudioWaveformGenerator
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "AudioGen"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-27"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "FTDSGen"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-27"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "S1DGen"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-27"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "S2DGen"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-27"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "SAx"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-25"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "Signal"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-25"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "SignalGenerator"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-25"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "TAxGenerator"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-26"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "TDSGen"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-27"
10
- #----------------------------------
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
-
4
- #--------Meta Information----------
5
- _class_name = "AudioPlayer"
6
- _author_name = "Ankit Anand"
7
- _author_email = "ankit0.anand0@gmail.com"
8
- _created_at = "2025-07-08"
9
- #----------------------------------
10
-
11
- from modusa.ios import AudioPlayer
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
-
4
- #--------Meta Information----------
5
- class_name = "Plotter"
6
- author_name = "Ankit Anand"
7
- author_email = "ankit0.anand0@gmail.com"
8
- created_at = "2025-07-06"
9
- #----------------------------------
10
-
11
- from modusa.ios import Plotter
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "Data"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-27"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "TAx"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-26"
10
- #----------------------------------
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
-
4
- #--------Meta Information----------
5
- class_name = "YoutubeAudioLoaderPlugin"
6
- author_name = "Ankit Anand"
7
- author_email = "ankit0.anand0@gmail.com"
8
- created_at = "2025-07-05"
9
- #----------------------------------
10
-
11
- from modusa.plugins import YoutubeAudioLoaderPlugin
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
-
4
- #--------Meta Information----------
5
- _class_name = "FrequencyDomainSignal"
6
- _author_name = "Ankit Anand"
7
- _author_email = "ankit0.anand0@gmail.com"
8
- _created_at = "2025-07-09"
9
- #----------------------------------
10
-
11
- from modusa.signals import FrequencyDomainSignal
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
-
4
- #--------Meta Information----------
5
- _class_name = "Spectrogram"
6
- _author_name = "Ankit Anand"
7
- _author_email = "ankit0.anand0@gmail.com"
8
- _created_at = "2025-07-07"
9
- #----------------------------------
10
-
11
- from modusa.signals import Spectrogram
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "Axis"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-20"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "FeatureTimeDomainSignal"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-21"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "FrequencyTimeDomainSignal"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-20"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "Signal1D"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-20"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "Signal2D"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-20"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "TimeDomainSignal"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-20"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "UAx"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-24"
10
- #----------------------------------
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- from modusa import excp
4
-
5
- #--------Meta Information----------
6
- _class_name = "WindowSignal"
7
- _author_name = "Ankit Anand"
8
- _author_email = "ankit0.anand0@gmail.com"
9
- _created_at = "2025-07-19"
10
- #----------------------------------
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
-
4
- #--------Meta Information----------
5
- _class_name = "TimeDomainSignal"
6
- _author_name = "Ankit Anand"
7
- _author_email = "ankit0.anand0@gmail.com"
8
- _created_at = "2025-07-09"
9
- #----------------------------------
10
-
11
- from modusa.signals import TimeDomainSignal
@@ -1,48 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
-
4
- #--------Meta Information----------
5
- _class_name = "AudioConverter"
6
- _author_name = "Ankit Anand"
7
- _author_email = "ankit0.anand0@gmail.com"
8
- _created_at = "2025-07-11"
9
- #----------------------------------
10
-
11
-
12
- from modusa import excp
13
- from modusa.tools.audio_converter import AudioConverter
14
- import pytest
15
- from pathlib import Path
16
- import shutil
17
-
18
- TEST_DP = Path(__file__).parents[1].resolve()
19
- TMP_DP = TEST_DP / "tmp" # To store exported files
20
-
21
- @pytest.fixture(scope="module", autouse=True)
22
- def cleanup_dne_dir():
23
- """
24
- This makes sure that the directory after the test
25
- is automatically deleted.
26
- """
27
- yield
28
- dne_dir = TEST_DP / "tmp"
29
- if dne_dir.exists():
30
- shutil.rmtree(dne_dir)
31
-
32
- def test_convert_non_exixiting_file():
33
- with pytest.raises(excp.FileNotFoundError):
34
- AudioConverter.convert("../dne.wav", "./dne.mp3")
35
-
36
- def test_convert_non_existing_output_dir():
37
- AudioConverter.convert(TEST_DP / "data" / "song1.mp3", TEST_DP / "tmp" / "song1.wav")
38
-
39
- def test_convert_to_same_format():
40
- AudioConverter.convert(TEST_DP / "data" / "song1.mp3", TEST_DP / "tmp" / "song1.mp3")
41
-
42
- def test_when_input_fp_same_output_fp():
43
- with pytest.raises(excp.InputValueError):
44
- AudioConverter.convert(TEST_DP / "data" / "song1.mp3", TEST_DP / "data" / "song1.mp3")
45
-
46
- def test_with_none():
47
- with pytest.raises(excp.InputTypeError):
48
- AudioConverter.convert(None, None)
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
-
4
- #--------Meta Information----------
5
- _class_name = "FourierTransform"
6
- _author_name = "Ankit Anand"
7
- _author_email = "ankit0.anand0@gmail.com"
8
- _created_at = "2025-07-11"
9
- #----------------------------------
10
-