modusa 0.3.65__tar.gz → 0.3.67__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 (93) hide show
  1. {modusa-0.3.65 → modusa-0.3.67}/PKG-INFO +1 -1
  2. {modusa-0.3.65 → modusa-0.3.67}/pyproject.toml +1 -1
  3. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/plotter.py +33 -1
  4. {modusa-0.3.65 → modusa-0.3.67}/LICENSE.md +0 -0
  5. {modusa-0.3.65 → modusa-0.3.67}/README.md +0 -0
  6. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/.DS_Store +0 -0
  7. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/__init__.py +0 -0
  8. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/config.py +0 -0
  9. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/decorators.py +0 -0
  10. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/generate_docs_source.py +0 -0
  11. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/generate_template.py +0 -0
  12. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/list_authors.py +0 -0
  13. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/list_plugins.py +0 -0
  14. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/main.py +0 -0
  15. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/templates/generator.py +0 -0
  16. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/templates/io.py +0 -0
  17. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/templates/model.py +0 -0
  18. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/templates/plugin.py +0 -0
  19. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/templates/test.py +0 -0
  20. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/devtools/templates/tool.py +0 -0
  21. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/fonts/NotoSansDevanagari-Regular.ttf +0 -0
  22. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/generators/__init__.py +0 -0
  23. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/generators/audio.py +0 -0
  24. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/generators/audio_waveforms.py +0 -0
  25. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/generators/base.py +0 -0
  26. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/generators/ftds.py +0 -0
  27. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/generators/s1d.py +0 -0
  28. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/generators/s2d.py +0 -0
  29. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/generators/s_ax.py +0 -0
  30. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/generators/t_ax.py +0 -0
  31. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/generators/tds.py +0 -0
  32. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/__init__.py +0 -0
  33. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/__pycache__/signal1D.cpython-312.pyc.4443461152 +0 -0
  34. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/audio.py +0 -0
  35. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/base.py +0 -0
  36. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/data.py +0 -0
  37. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/ftds.py +0 -0
  38. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/s1d.py +0 -0
  39. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/s2d.py +0 -0
  40. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/s_ax.py +0 -0
  41. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/t_ax.py +0 -0
  42. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/models/tds.py +0 -0
  43. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/plugins/__init__.py +0 -0
  44. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/plugins/base.py +0 -0
  45. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/__init__.py +0 -0
  46. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/_plotter_old.py +0 -0
  47. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/ann_loader.py +0 -0
  48. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/audio_converter.py +0 -0
  49. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/audio_loader.py +0 -0
  50. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/audio_player.py +0 -0
  51. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/audio_recorder.py +0 -0
  52. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/base.py +0 -0
  53. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/math_ops.py +0 -0
  54. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/tools/youtube_downloader.py +0 -0
  55. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/utils/.DS_Store +0 -0
  56. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/utils/__init__.py +0 -0
  57. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/utils/config.py +0 -0
  58. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/utils/excp.py +0 -0
  59. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/utils/logger.py +0 -0
  60. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/utils/np_func_cat.py +0 -0
  61. {modusa-0.3.65 → modusa-0.3.67}/src/modusa/utils/plot.py +0 -0
  62. {modusa-0.3.65 → modusa-0.3.67}/tests/__init__.py +0 -0
  63. {modusa-0.3.65 → modusa-0.3.67}/tests/data/song1.mp3 +0 -0
  64. {modusa-0.3.65 → modusa-0.3.67}/tests/data/song1.wav +0 -0
  65. {modusa-0.3.65 → modusa-0.3.67}/tests/test_generators/audio_waveform.py +0 -0
  66. {modusa-0.3.65 → modusa-0.3.67}/tests/test_generators/test_audio.py +0 -0
  67. {modusa-0.3.65 → modusa-0.3.67}/tests/test_generators/test_ftds.py +0 -0
  68. {modusa-0.3.65 → modusa-0.3.67}/tests/test_generators/test_s1d.py +0 -0
  69. {modusa-0.3.65 → modusa-0.3.67}/tests/test_generators/test_s2d.py +0 -0
  70. {modusa-0.3.65 → modusa-0.3.67}/tests/test_generators/test_s_ax.py +0 -0
  71. {modusa-0.3.65 → modusa-0.3.67}/tests/test_generators/test_signal.py +0 -0
  72. {modusa-0.3.65 → modusa-0.3.67}/tests/test_generators/test_signal_generator.py +0 -0
  73. {modusa-0.3.65 → modusa-0.3.67}/tests/test_generators/test_t_ax.py +0 -0
  74. {modusa-0.3.65 → modusa-0.3.67}/tests/test_generators/test_tds.py +0 -0
  75. {modusa-0.3.65 → modusa-0.3.67}/tests/test_io/audio_player.py +0 -0
  76. {modusa-0.3.65 → modusa-0.3.67}/tests/test_io/plotter.py +0 -0
  77. {modusa-0.3.65 → modusa-0.3.67}/tests/test_models/test_data.py +0 -0
  78. {modusa-0.3.65 → modusa-0.3.67}/tests/test_models/test_t_ax.py +0 -0
  79. {modusa-0.3.65 → modusa-0.3.67}/tests/test_plugins/youtube_audio_loader.py +0 -0
  80. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/frequency_domain_signal.py +0 -0
  81. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/spectrogram.py +0 -0
  82. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/test_axis.py +0 -0
  83. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/test_feature_time_domain_signal.py +0 -0
  84. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/test_frequency_time_domain_signal.py +0 -0
  85. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/test_signal1D.py +0 -0
  86. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/test_signal2D.py +0 -0
  87. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/test_time_domain_signal.py +0 -0
  88. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/test_u_ax.py +0 -0
  89. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/test_window_signal.py +0 -0
  90. {modusa-0.3.65 → modusa-0.3.67}/tests/test_signals/time_domain_signal.py +0 -0
  91. {modusa-0.3.65 → modusa-0.3.67}/tests/test_tools/test_audio_converter.py +0 -0
  92. {modusa-0.3.65 → modusa-0.3.67}/tests/test_tools/test_fourier_tranform.py +0 -0
  93. {modusa-0.3.65 → modusa-0.3.67}/tests/test_tools/test_math_ops.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modusa
3
- Version: 0.3.65
3
+ Version: 0.3.67
4
4
  Summary: A modular signal analysis python library.
5
5
  Author-Email: Ankit Anand <ankit0.anand0@gmail.com>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "modusa"
3
- version = "0.3.65"
3
+ version = "0.3.67"
4
4
  description = "A modular signal analysis python library."
5
5
  authors = [
6
6
  { name = "Ankit Anand", email = "ankit0.anand0@gmail.com" },
@@ -41,9 +41,41 @@ class Fig:
41
41
  A utility class that provides easy-to-use API for
42
42
  plotting 1D/2D signals along with clean representations
43
43
  of annotations, events.
44
+
45
+ Parameters
46
+ ----------
47
+ arrangement: str
48
+ - Arrangement of the subplots you want in the figure.
49
+ - "a" for aux plot which is good for adding annotations and events onto.
50
+ - "s" for signal plot which is good for 1D array.
51
+ - "m" for matrix plot which is good for 2D array.
52
+ - E.g., "asm" or "aasm" or "saams", ...
53
+ - Default: "asm"
54
+ xlim: tuple[number, number] | None
55
+ - Since all the subplots share x-axis, we set the x limit while creating the figure.
56
+ - Default: None
57
+ width: number
58
+ - Width of the figure
59
+ - Default: 16
60
+ dark_mode: bool
61
+ - Do you want dark mode?
62
+ - Default: True
44
63
  """
45
64
 
46
- def __init__(self, arrangement="asm", xlim=None, width=16):
65
+ def __init__(self, arrangement="asm", xlim=None, width=16, dark_mode=True):
66
+
67
+ if dark_mode:
68
+ plt.style.use("dark_background")
69
+ else: # We do not reset to default as it changes other params leading to unexpected behaviour
70
+ color_keys = [
71
+ "axes.facecolor", "axes.edgecolor", "axes.labelcolor",
72
+ "xtick.color", "ytick.color", "text.color",
73
+ "figure.facecolor", "figure.edgecolor",
74
+ "legend.facecolor", "legend.edgecolor",
75
+ "axes.prop_cycle", # This is to make sure that the plots colors are brighter in light mode
76
+ ]
77
+ for k in color_keys:
78
+ mpl.rcParams[k] = mpl.rcParamsDefault[k]
47
79
 
48
80
  self._xlim = xlim
49
81
  self._curr_row_idx = 1 # Starting from 1 because row 0 is reserved for reference subplot
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes