braintools 0.0.13__py3-none-any.whl

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 (131) hide show
  1. braintools/__init__.py +39 -0
  2. braintools/_misc.py +42 -0
  3. braintools/_spike_encoder.py +777 -0
  4. braintools/_spike_encoder_test.py +483 -0
  5. braintools/_spike_operation.py +213 -0
  6. braintools/_spike_operation_test.py +94 -0
  7. braintools/_transform.py +1150 -0
  8. braintools/_transform_test.py +197 -0
  9. braintools/conn/__init__.py +120 -0
  10. braintools/conn/_base.py +1034 -0
  11. braintools/conn/_base_test.py +1029 -0
  12. braintools/conn/_biological.py +296 -0
  13. braintools/conn/_biological_test.py +480 -0
  14. braintools/conn/_compartment.py +1705 -0
  15. braintools/conn/_compartment_test.py +1326 -0
  16. braintools/conn/_kernel.py +1219 -0
  17. braintools/conn/_kernel_test.py +1683 -0
  18. braintools/conn/_random.py +602 -0
  19. braintools/conn/_random_test.py +872 -0
  20. braintools/conn/_regular.py +231 -0
  21. braintools/conn/_regular_test.py +263 -0
  22. braintools/conn/_spatial.py +1505 -0
  23. braintools/conn/_spatial_test.py +322 -0
  24. braintools/conn/_topological.py +1628 -0
  25. braintools/conn/_topological_test.py +1616 -0
  26. braintools/file/__init__.py +25 -0
  27. braintools/file/_matfile.py +77 -0
  28. braintools/file/_matfile_test.py +148 -0
  29. braintools/file/_msg_checkpoint.py +845 -0
  30. braintools/file/_msg_checkpoint_test.py +320 -0
  31. braintools/init/__init__.py +37 -0
  32. braintools/init/_distance_base.py +349 -0
  33. braintools/init/_distance_base_test.py +190 -0
  34. braintools/init/_distance_impl.py +664 -0
  35. braintools/init/_distance_impl_test.py +755 -0
  36. braintools/init/_init_base.py +437 -0
  37. braintools/init/_init_base_test.py +676 -0
  38. braintools/init/_init_basic.py +455 -0
  39. braintools/init/_init_basic_test.py +468 -0
  40. braintools/init/_init_composite.py +275 -0
  41. braintools/init/_init_composite_test.py +341 -0
  42. braintools/init/_init_orthogonal.py +226 -0
  43. braintools/init/_init_orthogonal_test.py +236 -0
  44. braintools/init/_init_variance_scaling.py +389 -0
  45. braintools/init/_init_variance_scaling_test.py +255 -0
  46. braintools/init/_init_with_distance.py +83 -0
  47. braintools/init/_init_with_distance_test.py +454 -0
  48. braintools/input/__init__.py +73 -0
  49. braintools/input/_composable_base.py +1186 -0
  50. braintools/input/_composable_base_test.py +588 -0
  51. braintools/input/_composable_basic.py +634 -0
  52. braintools/input/_composable_basic_test.py +560 -0
  53. braintools/input/_composable_pulses.py +870 -0
  54. braintools/input/_composable_pulses_test.py +548 -0
  55. braintools/input/_composable_stochastic.py +621 -0
  56. braintools/input/_composable_stochastic_test.py +561 -0
  57. braintools/input/_composable_waveforms.py +1156 -0
  58. braintools/input/_composable_waveforms_test.py +736 -0
  59. braintools/input/_deprecation.py +142 -0
  60. braintools/input/_functional_basic.py +607 -0
  61. braintools/input/_functional_basic_test.py +319 -0
  62. braintools/input/_functional_pulses.py +720 -0
  63. braintools/input/_functional_pulses_test.py +393 -0
  64. braintools/input/_functional_stochastic.py +518 -0
  65. braintools/input/_functional_stochastic_test.py +337 -0
  66. braintools/input/_functional_waveforms.py +1172 -0
  67. braintools/input/_functional_waveforms_test.py +372 -0
  68. braintools/metric/__init__.py +46 -0
  69. braintools/metric/_classification.py +1079 -0
  70. braintools/metric/_classification_test.py +625 -0
  71. braintools/metric/_correlation.py +556 -0
  72. braintools/metric/_correlation_test.py +503 -0
  73. braintools/metric/_fenchel_young.py +122 -0
  74. braintools/metric/_fenchel_young_test.py +53 -0
  75. braintools/metric/_firings.py +923 -0
  76. braintools/metric/_firings_test.py +358 -0
  77. braintools/metric/_lfp.py +620 -0
  78. braintools/metric/_lfp_test.py +377 -0
  79. braintools/metric/_pariwise.py +114 -0
  80. braintools/metric/_ranking.py +300 -0
  81. braintools/metric/_ranking_test.py +242 -0
  82. braintools/metric/_regression.py +822 -0
  83. braintools/metric/_regression_test.py +131 -0
  84. braintools/metric/_smoothing.py +165 -0
  85. braintools/metric/_smoothing_test.py +54 -0
  86. braintools/metric/_util.py +25 -0
  87. braintools/optim/__init__.py +31 -0
  88. braintools/optim/_base.py +54 -0
  89. braintools/optim/_nevergrad_optimizer.py +342 -0
  90. braintools/optim/_nevergrad_optimizer_test.py +241 -0
  91. braintools/optim/_optax_lr_scheduler.py +4818 -0
  92. braintools/optim/_optax_lr_scheduler_test.py +1886 -0
  93. braintools/optim/_optax_optimizer.py +4781 -0
  94. braintools/optim/_optax_optimizer_test.py +3445 -0
  95. braintools/optim/_scipy_optimizer.py +482 -0
  96. braintools/optim/_scipy_optimizer_test.py +113 -0
  97. braintools/optim/_state_uniquifier.py +347 -0
  98. braintools/optim/_state_uniquifier_test.py +336 -0
  99. braintools/quad/__init__.py +53 -0
  100. braintools/quad/_dde_integrator.py +365 -0
  101. braintools/quad/_dde_integrator_test.py +206 -0
  102. braintools/quad/_imex_integrator.py +237 -0
  103. braintools/quad/_imex_integrator_test.py +161 -0
  104. braintools/quad/_ode_integrator.py +1179 -0
  105. braintools/quad/_ode_integrator_test.py +180 -0
  106. braintools/quad/_sde_integrator.py +621 -0
  107. braintools/quad/_sde_integrator_test.py +200 -0
  108. braintools/tree.py +514 -0
  109. braintools/tree_test.py +206 -0
  110. braintools/visualize/__init__.py +49 -0
  111. braintools/visualize/_animation.py +149 -0
  112. braintools/visualize/_colormaps.py +340 -0
  113. braintools/visualize/_colormaps_test.py +59 -0
  114. braintools/visualize/_figures.py +58 -0
  115. braintools/visualize/_interactive.py +898 -0
  116. braintools/visualize/_interactive_test.py +57 -0
  117. braintools/visualize/_neural.py +1083 -0
  118. braintools/visualize/_neural_test.py +116 -0
  119. braintools/visualize/_plots.py +628 -0
  120. braintools/visualize/_plots_test.py +72 -0
  121. braintools/visualize/_statistical.py +1094 -0
  122. braintools/visualize/_statistical_test.py +121 -0
  123. braintools/visualize/_style.py +82 -0
  124. braintools/visualize/_three_d.py +696 -0
  125. braintools/visualize/_three_d_test.py +63 -0
  126. braintools/visualize/_visualize_test.py +72 -0
  127. braintools-0.0.13.dist-info/METADATA +356 -0
  128. braintools-0.0.13.dist-info/RECORD +131 -0
  129. braintools-0.0.13.dist-info/WHEEL +5 -0
  130. braintools-0.0.13.dist-info/licenses/LICENSE +202 -0
  131. braintools-0.0.13.dist-info/top_level.txt +1 -0
braintools/__init__.py ADDED
@@ -0,0 +1,39 @@
1
+ # Copyright 2024 BDP Ecosystem Limited. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ==============================================================================
15
+
16
+
17
+ __version__ = "0.0.13"
18
+ __version_info__ = (0, 0, 13)
19
+
20
+ from . import init
21
+ from . import conn
22
+ from . import file
23
+ from . import input
24
+ from . import metric
25
+ from . import optim
26
+ from . import quad
27
+ from . import tree
28
+ from . import visualize
29
+ from ._spike_encoder import *
30
+ from ._spike_encoder import __all__ as encoder_all
31
+ from ._spike_operation import *
32
+ from ._spike_operation import __all__ as operation_all
33
+ from ._transform import *
34
+ from ._transform import __all__ as transform_all
35
+
36
+ __all__ = ['conn', 'input', 'init', 'file', 'metric', 'visualize', 'optim', 'tree', 'quad']
37
+ __all__ = __all__ + encoder_all + transform_all + operation_all
38
+
39
+ del encoder_all, transform_all, operation_all
braintools/_misc.py ADDED
@@ -0,0 +1,42 @@
1
+ # Copyright 2025 BDP Ecosystem Limited. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ==============================================================================
15
+
16
+
17
+ from typing import Callable, Any, Union, Sequence, Optional
18
+
19
+ import brainstate
20
+ import brainunit as u
21
+ import jax
22
+
23
+
24
+ def set_module_as(module: str):
25
+ def wrapper(fun: callable):
26
+ fun.__module__ = module
27
+ return fun
28
+
29
+ return wrapper
30
+
31
+
32
+ def tree_map(f: Callable[..., Any], tree: Any, *rest: Any):
33
+ return jax.tree.map(f, tree, *rest, is_leaf=u.math.is_quantity)
34
+
35
+
36
+ def randn_like(y):
37
+ return brainstate.random.randn(*u.math.shape(y))
38
+
39
+
40
+ Initializer = Union[brainstate.typing.ArrayLike, Callable]
41
+ InitializerOrNot = Optional[Union[brainstate.typing.ArrayLike, Callable]]
42
+