Braindecode 1.5.0.dev990__tar.gz → 1.5.0.dev997__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 (172) hide show
  1. {braindecode-1.5.0.dev990/braindecode.egg-info → braindecode-1.5.0.dev997}/PKG-INFO +1 -2
  2. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/base.py +4 -16
  3. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/preprocessing/preprocess.py +17 -38
  4. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/preprocessing/windowers.py +3 -9
  5. braindecode-1.5.0.dev997/braindecode/version.py +1 -0
  6. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997/braindecode.egg-info}/PKG-INFO +1 -2
  7. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode.egg-info/requires.txt +0 -1
  8. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/cite.rst +2 -2
  9. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/conf.py +2 -34
  10. braindecode-1.5.0.dev997/docs/index.rst +48 -0
  11. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/whats_new.rst +0 -24
  12. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/pyproject.toml +0 -1
  13. braindecode-1.5.0.dev990/braindecode/version.py +0 -1
  14. braindecode-1.5.0.dev990/docs/index.rst +0 -749
  15. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/LICENSE.txt +0 -0
  16. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/MANIFEST.in +0 -0
  17. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/NOTICE.txt +0 -0
  18. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/README.rst +0 -0
  19. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/__init__.py +0 -0
  20. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/augmentation/__init__.py +0 -0
  21. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/augmentation/base.py +0 -0
  22. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/augmentation/functional.py +0 -0
  23. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/augmentation/transforms.py +0 -0
  24. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/classifier.py +0 -0
  25. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/__init__.py +0 -0
  26. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/base.py +0 -0
  27. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/bbci.py +0 -0
  28. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/bcicomp.py +0 -0
  29. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/bids/__init__.py +0 -0
  30. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/bids/datasets.py +0 -0
  31. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/bids/format.py +0 -0
  32. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/bids/hub.py +0 -0
  33. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/bids/hub_format.py +0 -0
  34. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/bids/hub_io.py +0 -0
  35. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/bids/hub_validation.py +0 -0
  36. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/bids/iterable.py +0 -0
  37. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/chb_mit.py +0 -0
  38. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/mne.py +0 -0
  39. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/moabb.py +0 -0
  40. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/nmt.py +0 -0
  41. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/registry.py +0 -0
  42. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/siena.py +0 -0
  43. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
  44. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/sleep_physionet.py +0 -0
  45. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/tuh.py +0 -0
  46. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/utils.py +0 -0
  47. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datasets/xy.py +0 -0
  48. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datautil/__init__.py +0 -0
  49. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datautil/channel_utils.py +0 -0
  50. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datautil/hub_formats.py +0 -0
  51. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datautil/serialization.py +0 -0
  52. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/datautil/util.py +0 -0
  53. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/eegneuralnet.py +0 -0
  54. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/functional/__init__.py +0 -0
  55. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/functional/functions.py +0 -0
  56. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/functional/initialization.py +0 -0
  57. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/__init__.py +0 -0
  58. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/atcnet.py +0 -0
  59. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/attentionbasenet.py +0 -0
  60. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/attn_sleep.py +0 -0
  61. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/bendr.py +0 -0
  62. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/biot.py +0 -0
  63. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/brainmodule.py +0 -0
  64. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/cbramod.py +0 -0
  65. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/codebrain.py +0 -0
  66. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/config.py +0 -0
  67. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/contrawr.py +0 -0
  68. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/ctnet.py +0 -0
  69. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/deep4.py +0 -0
  70. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/deepsleepnet.py +0 -0
  71. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/dgcnn.py +0 -0
  72. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eegconformer.py +0 -0
  73. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eeginception_erp.py +0 -0
  74. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eeginception_mi.py +0 -0
  75. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eegitnet.py +0 -0
  76. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eegminer.py +0 -0
  77. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eegnet.py +0 -0
  78. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eegnex.py +0 -0
  79. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eegpt.py +0 -0
  80. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eegsimpleconv.py +0 -0
  81. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eegsym.py +0 -0
  82. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/eegtcnet.py +0 -0
  83. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/emg2qwerty.py +0 -0
  84. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/fbcnet.py +0 -0
  85. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/fblightconvnet.py +0 -0
  86. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/fbmsnet.py +0 -0
  87. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/hybrid.py +0 -0
  88. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/ifnet.py +0 -0
  89. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/interpolated.py +0 -0
  90. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/labram.py +0 -0
  91. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/luna.py +0 -0
  92. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/medformer.py +0 -0
  93. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/meta_neuromotor.py +0 -0
  94. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/msvtnet.py +0 -0
  95. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/patchedtransformer.py +0 -0
  96. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/reve.py +0 -0
  97. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/sccnet.py +0 -0
  98. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/shallow_fbcsp.py +0 -0
  99. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/signal_jepa.py +0 -0
  100. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/sinc_shallow.py +0 -0
  101. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
  102. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
  103. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/sparcnet.py +0 -0
  104. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/sstdpn.py +0 -0
  105. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/summary.csv +0 -0
  106. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/syncnet.py +0 -0
  107. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/tcn.py +0 -0
  108. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/tidnet.py +0 -0
  109. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/tsinception.py +0 -0
  110. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/usleep.py +0 -0
  111. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/models/util.py +0 -0
  112. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/__init__.py +0 -0
  113. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/activation.py +0 -0
  114. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/attention.py +0 -0
  115. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/blocks.py +0 -0
  116. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/convolution.py +0 -0
  117. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/filter.py +0 -0
  118. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/interpolation.py +0 -0
  119. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/layers.py +0 -0
  120. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/linear.py +0 -0
  121. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/parametrization.py +0 -0
  122. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/stats.py +0 -0
  123. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/util.py +0 -0
  124. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/modules/wrapper.py +0 -0
  125. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/preprocessing/__init__.py +0 -0
  126. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
  127. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/preprocessing/mne_preprocess.py +0 -0
  128. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/preprocessing/util.py +0 -0
  129. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/regressor.py +0 -0
  130. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/samplers/__init__.py +0 -0
  131. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/samplers/base.py +0 -0
  132. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/samplers/ssl.py +0 -0
  133. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/training/__init__.py +0 -0
  134. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/training/callbacks.py +0 -0
  135. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/training/losses.py +0 -0
  136. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/training/scoring.py +0 -0
  137. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/util.py +0 -0
  138. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/visualization/__init__.py +0 -0
  139. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/visualization/attribution.py +0 -0
  140. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/visualization/confusion_matrices.py +0 -0
  141. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/visualization/frequency.py +0 -0
  142. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/visualization/metrics.py +0 -0
  143. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/visualization/sanity.py +0 -0
  144. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode/visualization/topology.py +0 -0
  145. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode.egg-info/SOURCES.txt +0 -0
  146. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode.egg-info/dependency_links.txt +0 -0
  147. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/braindecode.egg-info/top_level.txt +0 -0
  148. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/Makefile +0 -0
  149. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/_templates/autosummary/class.rst +0 -0
  150. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
  151. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/_templates/autosummary/function.rst +0 -0
  152. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
  153. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/api.rst +0 -0
  154. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/help.rst +0 -0
  155. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/install/install.rst +0 -0
  156. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/install/install_pip.rst +0 -0
  157. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/install/install_source.rst +0 -0
  158. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/categorization/attention.rst +0 -0
  159. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/categorization/channel.rst +0 -0
  160. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/categorization/convolution.rst +0 -0
  161. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/categorization/filterbank.rst +0 -0
  162. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/categorization/gnn.rst +0 -0
  163. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/categorization/interpretable.rst +0 -0
  164. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/categorization/lbm.rst +0 -0
  165. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/categorization/recurrent.rst +0 -0
  166. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/categorization/spd.rst +0 -0
  167. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/models.rst +0 -0
  168. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/models_categorization.rst +0 -0
  169. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/models_table.rst +0 -0
  170. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/models/models_visualization.rst +0 -0
  171. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/docs/sg_execution_times.rst +0 -0
  172. {braindecode-1.5.0.dev990 → braindecode-1.5.0.dev997}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.5.0.dev990
3
+ Version: 1.5.0.dev997
4
4
  Summary: Deep learning software to decode EEG, ECG or MEG signals
5
5
  Author-email: Robin Tibor Schirrmeister <robintibor@gmail.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Alexandre Gramfort <agramfort@meta.com>
6
6
  Maintainer-email: Alexandre Gramfort <agramfort@meta.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Robin Tibor Schirrmeister <robintibor@gmail.com>
@@ -63,7 +63,6 @@ Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
63
63
  Requires-Dist: sphinx-autobuild; extra == "docs"
64
64
  Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
65
65
  Requires-Dist: sphinx_sitemap; extra == "docs"
66
- Requires-Dist: sphinxext-opengraph; extra == "docs"
67
66
  Requires-Dist: pydata_sphinx_theme; extra == "docs"
68
67
  Requires-Dist: numpydoc; extra == "docs"
69
68
  Requires-Dist: memory_profiler; extra == "docs"
@@ -33,25 +33,13 @@ huggingface_hub = _soft_import(
33
33
  HAS_HF_HUB = huggingface_hub is not False
34
34
 
35
35
 
36
- _HF_INSTALL_HINT = (
37
- "requires the `huggingface_hub` package. "
38
- "Install with: pip install 'braindecode[hub]'"
39
- )
40
-
41
-
42
- class _BaseHubMixinStub:
43
- @classmethod
44
- def from_pretrained(cls, *args, **kwargs):
45
- raise ImportError(f"{cls.__name__}.from_pretrained() {_HF_INSTALL_HINT}")
46
-
47
- def push_to_hub(self, *args, **kwargs):
48
- raise ImportError(f"{type(self).__name__}.push_to_hub() {_HF_INSTALL_HINT}")
36
+ class _BaseHubMixin:
37
+ pass
49
38
 
50
39
 
51
40
  # Define base class for hub mixin
52
- _BaseHubMixin: Type = (
53
- huggingface_hub.PyTorchModelHubMixin if HAS_HF_HUB else _BaseHubMixinStub
54
- )
41
+ if HAS_HF_HUB:
42
+ _BaseHubMixin: Type = huggingface_hub.PyTorchModelHubMixin # type: ignore
55
43
 
56
44
 
57
45
  def deprecated_args(obj, *old_new_args):
@@ -6,7 +6,6 @@
6
6
  # David Sabbagh <dav.sabbagh@gmail.com>
7
7
  # Bruno Aristimunha <b.aristimunha@gmail.com>
8
8
  # Léo Burgund <leo.burgund@gmail.com>
9
- # Sarthak Tayal <sarthaktayal2@gmail.com>
10
9
  #
11
10
  # License: BSD (3-clause)
12
11
 
@@ -218,7 +217,6 @@ def preprocess(
218
217
  offset: int = 0,
219
218
  copy_data: bool | None = None,
220
219
  parallel_kwargs: dict | None = None,
221
- max_nbytes: int | str | None = "1M",
222
220
  ):
223
221
  """Apply preprocessors to a concat dataset.
224
222
 
@@ -246,20 +244,14 @@ def preprocess(
246
244
  Additional keyword arguments forwarded to ``joblib.Parallel``.
247
245
  Defaults to None (equivalent to ``{}``).
248
246
  See https://joblib.readthedocs.io/en/stable/generated/joblib.Parallel.html for details.
249
- max_nbytes : int, str, or None
250
- Threshold (in bytes; or e.g. ``"1M"``) above which joblib memory-maps
251
- preloaded arrays as read-only when dispatching to worker processes.
252
- Effective only when ``n_jobs != 1``. Pass ``None`` to disable memory
253
- mapping when a preprocessor resizes the underlying data (for example
254
- ``filterbank``), which would otherwise fail with an ``mmap can't
255
- resize a readonly`` error. ``parallel_kwargs['max_nbytes']`` takes
256
- precedence if both are provided.
257
247
 
258
248
  Returns
259
249
  -------
260
250
  BaseConcatDataset
261
251
  Preprocessed dataset.
262
252
  """
253
+ # In case of serialization, make sure directory is available before
254
+ # preprocessing
263
255
  if save_dir is not None and not overwrite:
264
256
  _check_save_dir_empty(save_dir)
265
257
 
@@ -274,35 +266,22 @@ def preprocess(
274
266
  parallel_params.setdefault(
275
267
  "prefer", "threads" if platform.system() == "Windows" else None
276
268
  )
277
- parallel_params.setdefault("max_nbytes", max_nbytes)
278
-
279
- try:
280
- list_of_ds = Parallel(n_jobs=n_jobs, **parallel_params)(
281
- delayed(_preprocess)(
282
- ds,
283
- i + offset,
284
- preprocessors,
285
- save_dir,
286
- overwrite,
287
- copy_data=(
288
- (parallel_processing and (save_dir is None))
289
- if copy_data is None
290
- else copy_data
291
- ),
292
- )
293
- for i, ds in enumerate(concat_ds.datasets)
269
+
270
+ list_of_ds = Parallel(n_jobs=n_jobs, **parallel_params)(
271
+ delayed(_preprocess)(
272
+ ds,
273
+ i + offset,
274
+ preprocessors,
275
+ save_dir,
276
+ overwrite,
277
+ copy_data=(
278
+ (parallel_processing and (save_dir is None))
279
+ if copy_data is None
280
+ else copy_data
281
+ ),
294
282
  )
295
- except (BufferError, ValueError, OSError) as exc:
296
- msg = str(exc).lower().replace("-", "")
297
- if "mmap" in msg and "readonly" in msg:
298
- raise RuntimeError(
299
- "Parallel preprocessing failed because joblib memory-mapped "
300
- "a preloaded array that a preprocessor then attempted to "
301
- "resize (e.g. ``filterbank``). Pass ``max_nbytes=None`` to "
302
- "``preprocess`` to disable memory mapping, or supply a "
303
- "``save_dir`` so the data is reloaded with ``preload=False``."
304
- ) from exc
305
- raise
283
+ for i, ds in enumerate(concat_ds.datasets)
284
+ )
306
285
 
307
286
  if save_dir is not None: # Reload datasets and replace in concat_ds
308
287
  ids_to_load = [i + offset for i in range(len(concat_ds.datasets))]
@@ -498,7 +498,7 @@ def create_fixed_length_windows(
498
498
  EEGWindowsDataset objects with the extracted windows, depending on
499
499
  the value of ``use_mne_epochs``.
500
500
  """
501
- stop_offset_samples, window_stride_samples, drop_last_window = (
501
+ stop_offset_samples, drop_last_window = (
502
502
  _check_and_set_fixed_length_window_arguments(
503
503
  start_offset_samples,
504
504
  stop_offset_samples,
@@ -1245,14 +1245,8 @@ def _check_and_set_fixed_length_window_arguments(
1245
1245
  lazy_metadata,
1246
1246
  ):
1247
1247
  """Raises warnings for incorrect input arguments and will set correct default values for
1248
- stop_offset_samples, window_stride_samples & drop_last_window, if necessary.
1248
+ stop_offset_samples & drop_last_window, if necessary.
1249
1249
  """
1250
- # default stride to window size for non-overlapping windows
1251
- if window_size_samples is not None and window_stride_samples is None:
1252
- window_stride_samples = window_size_samples
1253
- if drop_last_window is None:
1254
- drop_last_window = True
1255
-
1256
1250
  _check_windowing_arguments(
1257
1251
  start_offset_samples,
1258
1252
  stop_offset_samples,
@@ -1301,7 +1295,7 @@ def _check_and_set_fixed_length_window_arguments(
1301
1295
  raise ValueError(
1302
1296
  "Cannot have drop_last_window=False and lazy_metadata=True at the same time."
1303
1297
  )
1304
- return stop_offset_samples, window_stride_samples, drop_last_window
1298
+ return stop_offset_samples, drop_last_window
1305
1299
 
1306
1300
 
1307
1301
  def _get_windowing_kwargs(windowing_func_locals):
@@ -0,0 +1 @@
1
+ __version__ = "1.5.0.dev997"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.5.0.dev990
3
+ Version: 1.5.0.dev997
4
4
  Summary: Deep learning software to decode EEG, ECG or MEG signals
5
5
  Author-email: Robin Tibor Schirrmeister <robintibor@gmail.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Alexandre Gramfort <agramfort@meta.com>
6
6
  Maintainer-email: Alexandre Gramfort <agramfort@meta.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Robin Tibor Schirrmeister <robintibor@gmail.com>
@@ -63,7 +63,6 @@ Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
63
63
  Requires-Dist: sphinx-autobuild; extra == "docs"
64
64
  Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
65
65
  Requires-Dist: sphinx_sitemap; extra == "docs"
66
- Requires-Dist: sphinxext-opengraph; extra == "docs"
67
66
  Requires-Dist: pydata_sphinx_theme; extra == "docs"
68
67
  Requires-Dist: numpydoc; extra == "docs"
69
68
  Requires-Dist: memory_profiler; extra == "docs"
@@ -29,7 +29,6 @@ sphinx-autodoc-typehints
29
29
  sphinx-autobuild
30
30
  sphinxcontrib-bibtex
31
31
  sphinx_sitemap
32
- sphinxext-opengraph
33
32
  pydata_sphinx_theme
34
33
  numpydoc
35
34
  memory_profiler
@@ -21,7 +21,7 @@ You can use the following BibTeX entry:
21
21
 
22
22
  .. code-block:: bibtex
23
23
 
24
- @misc{braindecode,
24
+ @software{braindecode,
25
25
  author = {Aristimunha, Bruno and
26
26
  Guetschel, Pierre and
27
27
  Wimpff, Martin and
@@ -41,9 +41,9 @@ You can use the following BibTeX entry:
41
41
  Schirrmeister, Robin Tibor},
42
42
  title = {Braindecode: toolbox for decoding raw electrophysiological brain data
43
43
  with deep learning models},
44
- howpublished = {Zenodo},
45
44
  url = {https://github.com/braindecode/braindecode},
46
45
  doi = {10.5281/zenodo.17699192},
46
+ publisher = {Zenodo},
47
47
  license = {BSD-3-Clause},
48
48
  }
49
49
 
@@ -100,10 +100,8 @@ extensions = [
100
100
  "sphinx.ext.linkcode",
101
101
  "sphinx_sitemap",
102
102
  "sphinx_design",
103
- "sphinxext.opengraph",
104
103
  "numpydoc",
105
104
  "gh_substitutions",
106
- "zoo_data_gen",
107
105
  ]
108
106
 
109
107
 
@@ -350,9 +348,7 @@ html_theme_options = {
350
348
  },
351
349
  "footer_start": ["copyright"],
352
350
  # 'pygment_light_style': 'default',
353
- # Analytics intentionally NOT configured here — the project uses GTM
354
- # (GTM-NWDKLVNR) injected from _templates/layout.html as the single
355
- # entry point. Adding theme analytics on top would double-count.
351
+ "analytics": dict(google_analytics_id="G-7Q43R82K6D"),
356
352
  }
357
353
 
358
354
  # The name of an image file (relative to this directory) to place at the top
@@ -363,16 +359,9 @@ html_logo = "_static/braindecode_symbol.png"
363
359
  # relative to this directory. They are copied after the builtin static files,
364
360
  # so a file named "default.css" will overwrite the builtin "default.css".
365
361
  html_static_path = ["_static"]
366
- # Files copied verbatim into the build root (robots.txt, etc.)
367
- html_extra_path = ["_extra"]
368
362
  html_css_files = [
369
363
  "style.css",
370
364
  ]
371
- # Note: landing.css and the landing JS files (zoo-data.js, landing.js)
372
- # are *not* registered globally — they only ship on the index page,
373
- # injected from `_templates/layout.html` under `pagename == 'index'`.
374
- # Loading them site-wide added ~2k lines of CSS + a third-party
375
- # Google-Fonts request to every doc page for no benefit.
376
365
 
377
366
  # Favicon for the site
378
367
  html_favicon = "_static/braindecode_symbol.png"
@@ -480,29 +469,8 @@ latex_documents = [
480
469
  "manual",
481
470
  ),
482
471
  ]
483
- # Master/dev builds publish under /dev/ on GitHub Pages (see
484
- # .github/workflows/docs.yml `destination_dir: dev`). The baseurl,
485
- # OG canonical, and the sitemap location must match the actual deploy
486
- # path or crawlers will end up on 404s.
487
- html_baseurl = "https://braindecode.org/dev/"
472
+ html_baseurl = "https://braindecode.org"
488
473
  sitemap_filename = "sitemap.xml"
489
- # Flat URLs (no /en/{version}/) — same pattern as MOABB.
490
- sitemap_url_scheme = "{link}"
491
-
492
- # --- Open Graph / Twitter Card / meta description ---
493
- ogp_site_url = "https://braindecode.org/dev/"
494
- ogp_site_name = "Braindecode"
495
- ogp_image = "https://braindecode.org/dev/_static/braindecode_long.svg"
496
- ogp_image_alt = (
497
- "Braindecode — open-source PyTorch toolbox for decoding raw EEG, ECoG and MEG"
498
- )
499
- ogp_description_length = 200
500
- ogp_enable_meta_description = True
501
- ogp_type = "website"
502
- ogp_custom_meta_tags = [
503
- '<meta name="twitter:card" content="summary_large_image" />',
504
- '<meta name="twitter:site" content="@braindecode" />',
505
- ]
506
474
  # -- Fontawesome support -----------------------------------------------------
507
475
 
508
476
  # here the "fab" and "fas" refer to "brand" and "solid" (determines which font
@@ -0,0 +1,48 @@
1
+ ..
2
+ The page title must be in rST for it to show in next/prev page buttons.
3
+ Therefore we add a special style rule to only this page that hides h1 tags
4
+
5
+ .. raw:: html
6
+
7
+ <style type="text/css">h1 {display:none;}</style>
8
+
9
+ ######################
10
+ Braindecode Homepage
11
+ ######################
12
+
13
+ .. LOGO
14
+
15
+ .. image:: _static/braindecode.svg
16
+ :alt: Braindecode
17
+ :class: logo mainlogo only-light
18
+ :align: center
19
+
20
+ .. image:: _static/braindecode.svg
21
+ :alt: Braindecode
22
+ :class: logo mainlogo only-dark
23
+ :align: center
24
+
25
+ .. rst-class:: h4 text-center font-weight-light my-4
26
+
27
+ Braindecode is an open-source Python toolbox for decoding raw electrophysiological brain
28
+ data with deep learning models. It includes dataset fetchers, data preprocessing and
29
+ visualization tools, as well as implementations of several deep learning
30
+ architectures and data augmentations for analysis of EEG, ECoG and MEG.
31
+
32
+ .. rst-class:: h4 text-center font-weight-light my-4
33
+
34
+ For neuroscientists who want to work with deep learning and
35
+ deep learning researchers who want to work with neurophysiological data.
36
+
37
+ .. frontpage gallery is added by a conditional in _templates/layout.html
38
+
39
+ .. toctree::
40
+ :hidden:
41
+
42
+ Install <install/install>
43
+ Models <models/models>
44
+ Cite <cite>
45
+ Tutorial and Examples <auto_examples/index>
46
+ API <api>
47
+ Get help <help>
48
+ What's new <whats_new>
@@ -28,13 +28,6 @@ Current 1.5.0 (GitHub)
28
28
  Enhancements
29
29
  ============
30
30
 
31
- - Redesign the documentation landing page (``docs/index.rst``) in a
32
- pyhealth.dev-style layout: animated brain → EEG → net hero, fact strip
33
- highlighting MOABB / EEGDash interoperability, interactive model-zoo
34
- browser sourced from ``braindecode/models/summary.csv``, Hugging Face
35
- Hub integration row, and a tutorial-thumbnail carousel. Adds
36
- ``sphinxext-opengraph`` to docs extras and a ``SoftwareApplication``
37
- JSON-LD block. (:gh:`1007` by `Bruno Aristimunha`_)
38
31
  - Tutorials now train for a few epochs then load pretrained weights from
39
32
  Hugging Face Hub to show full training curves and metrics. All 9 tutorial
40
33
  checkpoints published to ``huggingface.co/braindecode/``. The offline
@@ -173,10 +166,6 @@ Bug fixes
173
166
  - Fix ``TypeError: type 'Any' is not subscriptable`` when importing
174
167
  ``braindecode.models.config`` without ``numpydantic`` installed on
175
168
  Python 3.12+ (:gh:`871` by `Sarthak Tayal`_)
176
- - Fix :func:`braindecode.preprocessing.create_fixed_length_windows` crashing
177
- when only ``window_size_samples`` is provided without ``window_stride_samples``,
178
- stride now defaults to window size as documented
179
- (:gh:`990` by `Sarthak Tayal`_)
180
169
  - Add ``channel_embedding`` parameter to :class:`braindecode.models.SignalJEPA` and
181
170
  :class:`braindecode.models.SignalJEPA_Contextual` to load pre-trained channel
182
171
  embedding weights when fine-tuning on a subset of the pre-training channels.
@@ -293,11 +282,6 @@ Requirements
293
282
 
294
283
  Bugs
295
284
  =====
296
- - Improve the error message when :meth:`from_pretrained` or :meth:`push_to_hub`
297
- are called without the optional ``huggingface_hub`` dependency installed.
298
- Users now get a clear :class:`ImportError` with installation instructions
299
- (``pip install 'braindecode[hub]'``) instead of an ``AttributeError``.
300
- (:gh:`1024` by `@copilot`_)
301
285
  - Fix the documentation header "Cite Braindecode" announcement link: it used a bare
302
286
  ``cite.html`` URL, which browsers resolve relative to the current page path and led
303
287
  to 404s (for example from ``install/install.html``). The link is now built with
@@ -350,14 +334,6 @@ Bugs
350
334
  marked all model-specific parameters as "The description is missing"
351
335
  when ``DOCSTRING_INHERITANCE_ENABLE=1`` was set during documentation
352
336
  builds (:gh:`971` by `Bruno Aristimunha`_)
353
- - Expose ``max_nbytes`` directly on
354
- :func:`braindecode.preprocessing.preprocess.preprocess` and turn the
355
- cryptic ``mmap can't resize a readonly`` failure (raised when joblib
356
- memory-maps a preloaded array that a preprocessor later tries to
357
- resize) into an actionable error explaining how to fix it: pass
358
- ``max_nbytes=None`` to disable memory mapping, or supply a ``save_dir``
359
- so data is reloaded with ``preload=False``
360
- (:gh:`325` by `Sarthak Tayal`_)
361
337
 
362
338
  Code health
363
339
  ============
@@ -100,7 +100,6 @@ docs = [
100
100
  'sphinx-autobuild',
101
101
  'sphinxcontrib-bibtex',
102
102
  'sphinx_sitemap',
103
- 'sphinxext-opengraph',
104
103
  'pydata_sphinx_theme',
105
104
  'numpydoc',
106
105
  'memory_profiler',
@@ -1 +0,0 @@
1
- __version__ = "1.5.0.dev990"