braindecode 1.5.0.dev1007__tar.gz → 1.5.0.dev1009__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 (171) hide show
  1. {braindecode-1.5.0.dev1007/braindecode.egg-info → braindecode-1.5.0.dev1009}/PKG-INFO +1 -1
  2. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/base.py +16 -4
  3. braindecode-1.5.0.dev1009/braindecode/version.py +1 -0
  4. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009/braindecode.egg-info}/PKG-INFO +1 -1
  5. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/whats_new.rst +5 -0
  6. braindecode-1.5.0.dev1007/braindecode/version.py +0 -1
  7. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/LICENSE.txt +0 -0
  8. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/MANIFEST.in +0 -0
  9. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/NOTICE.txt +0 -0
  10. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/README.rst +0 -0
  11. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/__init__.py +0 -0
  12. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/augmentation/__init__.py +0 -0
  13. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/augmentation/base.py +0 -0
  14. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/augmentation/functional.py +0 -0
  15. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/augmentation/transforms.py +0 -0
  16. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/classifier.py +0 -0
  17. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/__init__.py +0 -0
  18. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/base.py +0 -0
  19. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/bbci.py +0 -0
  20. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/bcicomp.py +0 -0
  21. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/bids/__init__.py +0 -0
  22. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/bids/datasets.py +0 -0
  23. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/bids/format.py +0 -0
  24. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/bids/hub.py +0 -0
  25. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/bids/hub_format.py +0 -0
  26. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/bids/hub_io.py +0 -0
  27. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/bids/hub_validation.py +0 -0
  28. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/bids/iterable.py +0 -0
  29. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/chb_mit.py +0 -0
  30. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/mne.py +0 -0
  31. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/moabb.py +0 -0
  32. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/nmt.py +0 -0
  33. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/registry.py +0 -0
  34. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/siena.py +0 -0
  35. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
  36. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/sleep_physionet.py +0 -0
  37. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/tuh.py +0 -0
  38. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/utils.py +0 -0
  39. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datasets/xy.py +0 -0
  40. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datautil/__init__.py +0 -0
  41. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datautil/channel_utils.py +0 -0
  42. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datautil/hub_formats.py +0 -0
  43. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datautil/serialization.py +0 -0
  44. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/datautil/util.py +0 -0
  45. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/eegneuralnet.py +0 -0
  46. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/functional/__init__.py +0 -0
  47. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/functional/functions.py +0 -0
  48. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/functional/initialization.py +0 -0
  49. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/__init__.py +0 -0
  50. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/atcnet.py +0 -0
  51. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/attentionbasenet.py +0 -0
  52. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/attn_sleep.py +0 -0
  53. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/bendr.py +0 -0
  54. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/biot.py +0 -0
  55. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/brainmodule.py +0 -0
  56. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/cbramod.py +0 -0
  57. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/codebrain.py +0 -0
  58. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/config.py +0 -0
  59. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/contrawr.py +0 -0
  60. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/ctnet.py +0 -0
  61. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/deep4.py +0 -0
  62. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/deepsleepnet.py +0 -0
  63. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/dgcnn.py +0 -0
  64. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eegconformer.py +0 -0
  65. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eeginception_erp.py +0 -0
  66. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eeginception_mi.py +0 -0
  67. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eegitnet.py +0 -0
  68. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eegminer.py +0 -0
  69. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eegnet.py +0 -0
  70. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eegnex.py +0 -0
  71. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eegpt.py +0 -0
  72. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eegsimpleconv.py +0 -0
  73. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eegsym.py +0 -0
  74. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/eegtcnet.py +0 -0
  75. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/emg2qwerty.py +0 -0
  76. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/fbcnet.py +0 -0
  77. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/fblightconvnet.py +0 -0
  78. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/fbmsnet.py +0 -0
  79. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/hybrid.py +0 -0
  80. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/ifnet.py +0 -0
  81. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/interpolated.py +0 -0
  82. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/labram.py +0 -0
  83. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/luna.py +0 -0
  84. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/medformer.py +0 -0
  85. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/meta_neuromotor.py +0 -0
  86. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/msvtnet.py +0 -0
  87. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/patchedtransformer.py +0 -0
  88. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/reve.py +0 -0
  89. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/sccnet.py +0 -0
  90. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/shallow_fbcsp.py +0 -0
  91. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/signal_jepa.py +0 -0
  92. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/sinc_shallow.py +0 -0
  93. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
  94. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
  95. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/sparcnet.py +0 -0
  96. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/sstdpn.py +0 -0
  97. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/summary.csv +0 -0
  98. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/syncnet.py +0 -0
  99. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/tcn.py +0 -0
  100. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/tidnet.py +0 -0
  101. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/tsinception.py +0 -0
  102. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/usleep.py +0 -0
  103. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/models/util.py +0 -0
  104. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/__init__.py +0 -0
  105. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/activation.py +0 -0
  106. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/attention.py +0 -0
  107. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/blocks.py +0 -0
  108. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/convolution.py +0 -0
  109. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/filter.py +0 -0
  110. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/interpolation.py +0 -0
  111. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/layers.py +0 -0
  112. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/linear.py +0 -0
  113. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/parametrization.py +0 -0
  114. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/stats.py +0 -0
  115. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/util.py +0 -0
  116. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/modules/wrapper.py +0 -0
  117. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/preprocessing/__init__.py +0 -0
  118. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
  119. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/preprocessing/mne_preprocess.py +0 -0
  120. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/preprocessing/preprocess.py +0 -0
  121. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/preprocessing/util.py +0 -0
  122. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/preprocessing/windowers.py +0 -0
  123. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/regressor.py +0 -0
  124. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/samplers/__init__.py +0 -0
  125. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/samplers/base.py +0 -0
  126. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/samplers/ssl.py +0 -0
  127. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/training/__init__.py +0 -0
  128. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/training/callbacks.py +0 -0
  129. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/training/losses.py +0 -0
  130. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/training/scoring.py +0 -0
  131. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/util.py +0 -0
  132. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/visualization/__init__.py +0 -0
  133. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/visualization/attribution.py +0 -0
  134. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/visualization/confusion_matrices.py +0 -0
  135. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/visualization/frequency.py +0 -0
  136. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/visualization/metrics.py +0 -0
  137. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/visualization/sanity.py +0 -0
  138. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode/visualization/topology.py +0 -0
  139. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode.egg-info/SOURCES.txt +0 -0
  140. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode.egg-info/dependency_links.txt +0 -0
  141. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode.egg-info/requires.txt +0 -0
  142. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/braindecode.egg-info/top_level.txt +0 -0
  143. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/Makefile +0 -0
  144. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/_templates/autosummary/class.rst +0 -0
  145. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
  146. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/_templates/autosummary/function.rst +0 -0
  147. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
  148. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/api.rst +0 -0
  149. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/cite.rst +0 -0
  150. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/conf.py +0 -0
  151. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/help.rst +0 -0
  152. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/index.rst +0 -0
  153. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/install/install.rst +0 -0
  154. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/install/install_pip.rst +0 -0
  155. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/install/install_source.rst +0 -0
  156. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/categorization/attention.rst +0 -0
  157. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/categorization/channel.rst +0 -0
  158. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/categorization/convolution.rst +0 -0
  159. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/categorization/filterbank.rst +0 -0
  160. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/categorization/gnn.rst +0 -0
  161. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/categorization/interpretable.rst +0 -0
  162. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/categorization/lbm.rst +0 -0
  163. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/categorization/recurrent.rst +0 -0
  164. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/categorization/spd.rst +0 -0
  165. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/models.rst +0 -0
  166. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/models_categorization.rst +0 -0
  167. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/models_table.rst +0 -0
  168. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/models/models_visualization.rst +0 -0
  169. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/docs/sg_execution_times.rst +0 -0
  170. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/pyproject.toml +0 -0
  171. {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1009}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.5.0.dev1007
3
+ Version: 1.5.0.dev1009
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>
@@ -33,13 +33,25 @@ huggingface_hub = _soft_import(
33
33
  HAS_HF_HUB = huggingface_hub is not False
34
34
 
35
35
 
36
- class _BaseHubMixin:
37
- pass
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}")
38
49
 
39
50
 
40
51
  # Define base class for hub mixin
41
- if HAS_HF_HUB:
42
- _BaseHubMixin: Type = huggingface_hub.PyTorchModelHubMixin # type: ignore
52
+ _BaseHubMixin: Type = (
53
+ huggingface_hub.PyTorchModelHubMixin if HAS_HF_HUB else _BaseHubMixinStub
54
+ )
43
55
 
44
56
 
45
57
  def deprecated_args(obj, *old_new_args):
@@ -0,0 +1 @@
1
+ __version__ = "1.5.0.dev1009"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.5.0.dev1007
3
+ Version: 1.5.0.dev1009
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>
@@ -289,6 +289,11 @@ Requirements
289
289
 
290
290
  Bugs
291
291
  =====
292
+ - Improve the error message when :meth:`from_pretrained` or :meth:`push_to_hub`
293
+ are called without the optional ``huggingface_hub`` dependency installed.
294
+ Users now get a clear :class:`ImportError` with installation instructions
295
+ (``pip install 'braindecode[hub]'``) instead of an ``AttributeError``.
296
+ (:gh:`1024` by `@copilot`_)
292
297
  - Fix the documentation header "Cite Braindecode" announcement link: it used a bare
293
298
  ``cite.html`` URL, which browsers resolve relative to the current page path and led
294
299
  to 404s (for example from ``install/install.html``). The link is now built with
@@ -1 +0,0 @@
1
- __version__ = "1.5.0.dev1007"