modusa 0.3.59__tar.gz → 0.3.61__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.59 → modusa-0.3.61}/PKG-INFO +1 -1
  2. {modusa-0.3.59 → modusa-0.3.61}/pyproject.toml +1 -1
  3. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/plotter.py +8 -7
  4. {modusa-0.3.59 → modusa-0.3.61}/LICENSE.md +0 -0
  5. {modusa-0.3.59 → modusa-0.3.61}/README.md +0 -0
  6. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/.DS_Store +0 -0
  7. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/__init__.py +0 -0
  8. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/config.py +0 -0
  9. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/decorators.py +0 -0
  10. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/generate_docs_source.py +0 -0
  11. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/generate_template.py +0 -0
  12. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/list_authors.py +0 -0
  13. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/list_plugins.py +0 -0
  14. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/main.py +0 -0
  15. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/templates/generator.py +0 -0
  16. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/templates/io.py +0 -0
  17. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/templates/model.py +0 -0
  18. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/templates/plugin.py +0 -0
  19. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/templates/test.py +0 -0
  20. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/devtools/templates/tool.py +0 -0
  21. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/fonts/NotoSansDevanagari-Regular.ttf +0 -0
  22. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/generators/__init__.py +0 -0
  23. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/generators/audio.py +0 -0
  24. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/generators/audio_waveforms.py +0 -0
  25. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/generators/base.py +0 -0
  26. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/generators/ftds.py +0 -0
  27. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/generators/s1d.py +0 -0
  28. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/generators/s2d.py +0 -0
  29. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/generators/s_ax.py +0 -0
  30. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/generators/t_ax.py +0 -0
  31. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/generators/tds.py +0 -0
  32. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/__init__.py +0 -0
  33. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/__pycache__/signal1D.cpython-312.pyc.4443461152 +0 -0
  34. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/audio.py +0 -0
  35. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/base.py +0 -0
  36. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/data.py +0 -0
  37. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/ftds.py +0 -0
  38. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/s1d.py +0 -0
  39. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/s2d.py +0 -0
  40. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/s_ax.py +0 -0
  41. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/t_ax.py +0 -0
  42. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/models/tds.py +0 -0
  43. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/plugins/__init__.py +0 -0
  44. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/plugins/base.py +0 -0
  45. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/__init__.py +0 -0
  46. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/_plotter_old.py +0 -0
  47. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/ann_loader.py +0 -0
  48. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/audio_converter.py +0 -0
  49. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/audio_loader.py +0 -0
  50. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/audio_player.py +0 -0
  51. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/audio_recorder.py +0 -0
  52. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/base.py +0 -0
  53. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/math_ops.py +0 -0
  54. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/tools/youtube_downloader.py +0 -0
  55. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/utils/.DS_Store +0 -0
  56. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/utils/__init__.py +0 -0
  57. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/utils/config.py +0 -0
  58. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/utils/excp.py +0 -0
  59. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/utils/logger.py +0 -0
  60. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/utils/np_func_cat.py +0 -0
  61. {modusa-0.3.59 → modusa-0.3.61}/src/modusa/utils/plot.py +0 -0
  62. {modusa-0.3.59 → modusa-0.3.61}/tests/__init__.py +0 -0
  63. {modusa-0.3.59 → modusa-0.3.61}/tests/data/song1.mp3 +0 -0
  64. {modusa-0.3.59 → modusa-0.3.61}/tests/data/song1.wav +0 -0
  65. {modusa-0.3.59 → modusa-0.3.61}/tests/test_generators/audio_waveform.py +0 -0
  66. {modusa-0.3.59 → modusa-0.3.61}/tests/test_generators/test_audio.py +0 -0
  67. {modusa-0.3.59 → modusa-0.3.61}/tests/test_generators/test_ftds.py +0 -0
  68. {modusa-0.3.59 → modusa-0.3.61}/tests/test_generators/test_s1d.py +0 -0
  69. {modusa-0.3.59 → modusa-0.3.61}/tests/test_generators/test_s2d.py +0 -0
  70. {modusa-0.3.59 → modusa-0.3.61}/tests/test_generators/test_s_ax.py +0 -0
  71. {modusa-0.3.59 → modusa-0.3.61}/tests/test_generators/test_signal.py +0 -0
  72. {modusa-0.3.59 → modusa-0.3.61}/tests/test_generators/test_signal_generator.py +0 -0
  73. {modusa-0.3.59 → modusa-0.3.61}/tests/test_generators/test_t_ax.py +0 -0
  74. {modusa-0.3.59 → modusa-0.3.61}/tests/test_generators/test_tds.py +0 -0
  75. {modusa-0.3.59 → modusa-0.3.61}/tests/test_io/audio_player.py +0 -0
  76. {modusa-0.3.59 → modusa-0.3.61}/tests/test_io/plotter.py +0 -0
  77. {modusa-0.3.59 → modusa-0.3.61}/tests/test_models/test_data.py +0 -0
  78. {modusa-0.3.59 → modusa-0.3.61}/tests/test_models/test_t_ax.py +0 -0
  79. {modusa-0.3.59 → modusa-0.3.61}/tests/test_plugins/youtube_audio_loader.py +0 -0
  80. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/frequency_domain_signal.py +0 -0
  81. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/spectrogram.py +0 -0
  82. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/test_axis.py +0 -0
  83. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/test_feature_time_domain_signal.py +0 -0
  84. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/test_frequency_time_domain_signal.py +0 -0
  85. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/test_signal1D.py +0 -0
  86. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/test_signal2D.py +0 -0
  87. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/test_time_domain_signal.py +0 -0
  88. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/test_u_ax.py +0 -0
  89. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/test_window_signal.py +0 -0
  90. {modusa-0.3.59 → modusa-0.3.61}/tests/test_signals/time_domain_signal.py +0 -0
  91. {modusa-0.3.59 → modusa-0.3.61}/tests/test_tools/test_audio_converter.py +0 -0
  92. {modusa-0.3.59 → modusa-0.3.61}/tests/test_tools/test_fourier_tranform.py +0 -0
  93. {modusa-0.3.59 → modusa-0.3.61}/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.59
3
+ Version: 0.3.61
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.59"
3
+ version = "0.3.61"
4
4
  description = "A modular signal analysis python library."
5
5
  authors = [
6
6
  { name = "Ankit Anand", email = "ankit0.anand0@gmail.com" },
@@ -354,22 +354,23 @@ class Fig:
354
354
  xlim = self._xlim
355
355
 
356
356
  if isinstance(patterns, str): patterns = [patterns]
357
+ ann_copy = ann.copy()
357
358
 
358
359
  if patterns is not None:
359
- for i, (start, end, tag) in enumerate(ann):
360
+ for i, (start, end, tag) in enumerate(ann_copy):
361
+ group = None
360
362
  for j, pattern in enumerate(patterns):
361
363
  if fnmatch.fnmatch(tag, pattern):
362
- ann[i] = (start, end, tag, j)
364
+ group = j
363
365
  break
364
- else:
365
- ann[i] = (start, end, tag, None)
366
+ ann_copy[i] = (start, end, tag, group)
366
367
  else:
367
- for i, (start, end, tag) in enumerate(ann):
368
- ann[i] = (start, end, tag, None)
368
+ for i, (start, end, tag) in enumerate(ann_copy):
369
+ ann_copy[i] = (start, end, tag, None)
369
370
 
370
371
  colors = plt.rcParams['axes.prop_cycle'].by_key()['color']
371
372
 
372
- for i, (start, end, tag, group) in enumerate(ann):
373
+ for i, (start, end, tag, group) in enumerate(ann_copy):
373
374
  # We make sure that we only plot annotation that are within the x range of the current view
374
375
  if xlim is not None:
375
376
  if start >= xlim[1] or end <= xlim[0]:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes