bluecellulab 2.5.0__py3-none-any.whl → 2.6.38__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.

Potentially problematic release.


This version of bluecellulab might be problematic. Click here for more details.

Files changed (52) hide show
  1. bluecellulab/__init__.py +3 -3
  2. bluecellulab/analysis/inject_sequence.py +47 -12
  3. bluecellulab/cell/cell_dict.py +1 -1
  4. bluecellulab/cell/core.py +34 -30
  5. bluecellulab/cell/injector.py +2 -4
  6. bluecellulab/cell/plotting.py +2 -1
  7. bluecellulab/cell/random.py +1 -1
  8. bluecellulab/cell/section_distance.py +1 -1
  9. bluecellulab/cell/serialized_sections.py +4 -6
  10. bluecellulab/cell/sonata_proxy.py +1 -1
  11. bluecellulab/cell/stimuli_generator.py +26 -8
  12. bluecellulab/cell/template.py +4 -3
  13. bluecellulab/circuit/circuit_access/bluepy_circuit_access.py +12 -20
  14. bluecellulab/circuit/circuit_access/definition.py +1 -1
  15. bluecellulab/circuit/circuit_access/sonata_circuit_access.py +5 -4
  16. bluecellulab/circuit/config/bluepy_simulation_config.py +1 -1
  17. bluecellulab/circuit/config/definition.py +1 -1
  18. bluecellulab/circuit/config/sections.py +1 -1
  19. bluecellulab/circuit/config/sonata_simulation_config.py +1 -1
  20. bluecellulab/circuit/format.py +1 -1
  21. bluecellulab/circuit/iotools.py +2 -2
  22. bluecellulab/circuit/node_id.py +1 -1
  23. bluecellulab/circuit/simulation_access.py +11 -8
  24. bluecellulab/circuit/synapse_properties.py +25 -9
  25. bluecellulab/circuit/validate.py +1 -1
  26. bluecellulab/{ssim.py → circuit_simulation.py} +33 -26
  27. bluecellulab/connection.py +1 -1
  28. bluecellulab/dendrogram.py +1 -1
  29. bluecellulab/exceptions.py +1 -1
  30. bluecellulab/graph.py +1 -1
  31. bluecellulab/importer.py +1 -1
  32. bluecellulab/neuron_interpreter.py +1 -1
  33. bluecellulab/plotwindow.py +1 -1
  34. bluecellulab/psection.py +11 -16
  35. bluecellulab/psegment.py +4 -4
  36. bluecellulab/rngsettings.py +2 -2
  37. bluecellulab/simulation/neuron_globals.py +14 -1
  38. bluecellulab/simulation/parallel.py +40 -0
  39. bluecellulab/simulation/simulation.py +25 -21
  40. bluecellulab/stimulus/circuit_stimulus_definitions.py +11 -6
  41. bluecellulab/stimulus/factory.py +537 -102
  42. bluecellulab/synapse/synapse_factory.py +8 -4
  43. bluecellulab/synapse/synapse_types.py +1 -1
  44. bluecellulab/tools.py +14 -11
  45. bluecellulab/utils.py +20 -22
  46. {bluecellulab-2.5.0.dist-info → bluecellulab-2.6.38.dist-info}/LICENSE +0 -7
  47. {bluecellulab-2.5.0.dist-info → bluecellulab-2.6.38.dist-info}/METADATA +56 -38
  48. bluecellulab-2.6.38.dist-info/RECORD +70 -0
  49. {bluecellulab-2.5.0.dist-info → bluecellulab-2.6.38.dist-info}/WHEEL +1 -1
  50. bluecellulab-2.5.0.dist-info/RECORD +0 -69
  51. {bluecellulab-2.5.0.dist-info → bluecellulab-2.6.38.dist-info}/AUTHORS.txt +0 -0
  52. {bluecellulab-2.5.0.dist-info → bluecellulab-2.6.38.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- # Copyright 2012-2024 Blue Brain Project / EPFL
1
+ # Copyright 2023-2024 Blue Brain Project / EPFL
2
2
 
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -114,10 +114,14 @@ class SynapseFactory:
114
114
  section: NeuronSection = cell.get_psection(section_id=isec).hsection
115
115
 
116
116
  # old circuits don't have it, it needs to be computed via synlocation_to_segx
117
- if ("afferent_section_pos" in syn_description and
118
- not np.isnan(syn_description["afferent_section_pos"])):
117
+ if (SynapseProperty.AFFERENT_SECTION_POS in syn_description and
118
+ not np.isnan(syn_description[SynapseProperty.AFFERENT_SECTION_POS])):
119
119
  # position is pre computed in SONATA
120
- location = syn_description["afferent_section_pos"]
120
+ location = syn_description[SynapseProperty.AFFERENT_SECTION_POS]
121
+ if location == 0.0:
122
+ location = 0.0000001
123
+ elif location >= 1.0:
124
+ location = 0.9999999
121
125
  else:
122
126
  ipt = syn_description[SynapseProperty.POST_SEGMENT_ID]
123
127
  syn_offset = syn_description[SynapseProperty.POST_SEGMENT_OFFSET]
@@ -1,4 +1,4 @@
1
- # Copyright 2012-2024 Blue Brain Project / EPFL
1
+ # Copyright 2023-2024 Blue Brain Project / EPFL
2
2
 
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
bluecellulab/tools.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2012-2024 Blue Brain Project / EPFL
1
+ # Copyright 2023-2024 Blue Brain Project / EPFL
2
2
 
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -25,7 +25,8 @@ import numpy as np
25
25
  import bluecellulab
26
26
  from bluecellulab.circuit.circuit_access import EmodelProperties
27
27
  from bluecellulab.exceptions import UnsteadyCellError
28
- from bluecellulab.utils import CaptureOutput, IsolatedProcess
28
+ from bluecellulab.simulation.parallel import IsolatedProcess
29
+ from bluecellulab.utils import CaptureOutput
29
30
 
30
31
  logger = logging.getLogger(__name__)
31
32
 
@@ -151,9 +152,9 @@ def holding_current(
151
152
  ) -> Tuple[float, float]:
152
153
  """Calculate the holding current necessary for a given holding voltage."""
153
154
  cell_id = bluecellulab.circuit.node_id.create_cell_id(cell_id)
154
- ssim = bluecellulab.SSim(circuit_path)
155
+ circuit_sim = bluecellulab.CircuitSimulation(circuit_path)
155
156
 
156
- cell_kwargs = ssim.fetch_cell_kwargs(cell_id)
157
+ cell_kwargs = circuit_sim.fetch_cell_kwargs(cell_id)
157
158
  with IsolatedProcess() as runner:
158
159
  i_hold, v_control = runner.apply(
159
160
  holding_current_subprocess, [v_hold, enable_ttx, cell_kwargs]
@@ -290,8 +291,7 @@ def detect_spike_step_subprocess(
290
291
 
291
292
  time = cell.get_time()
292
293
  voltage = cell.get_soma_voltage()
293
- time_step = time[np.where((time > inj_start) & (time < inj_stop))]
294
- voltage_step = voltage[np.where((time_step > inj_start) & (time_step < inj_stop))]
294
+ voltage_step = voltage[np.where((time > inj_start) & (time < inj_stop))]
295
295
  spike_detected = detect_spike(voltage_step)
296
296
 
297
297
  cell.delete()
@@ -317,8 +317,11 @@ def search_threshold_current(
317
317
  inj_stop: float,
318
318
  min_current: float,
319
319
  max_current: float,
320
+ current_precision: float = 0.01,
320
321
  ):
321
322
  """Search current necessary to reach threshold."""
323
+ if abs(max_current - min_current) < current_precision:
324
+ return max_current
322
325
  med_current = min_current + abs(min_current - max_current) / 2
323
326
  logger.info("Med current %d" % med_current)
324
327
 
@@ -328,18 +331,18 @@ def search_threshold_current(
328
331
  )
329
332
  logger.info("Spike threshold detection at: %f nA" % med_current)
330
333
 
331
- if abs(max_current - min_current) < .01:
332
- return max_current
333
- elif spike_detected:
334
+ if spike_detected:
334
335
  return search_threshold_current(template_name, morphology_path,
335
336
  template_format, emodel_properties,
336
337
  hyp_level, inj_start, inj_stop,
337
- min_current, med_current)
338
+ min_current, med_current,
339
+ current_precision)
338
340
  else:
339
341
  return search_threshold_current(template_name, morphology_path,
340
342
  template_format, emodel_properties,
341
343
  hyp_level, inj_start, inj_stop,
342
- med_current, max_current)
344
+ med_current, max_current,
345
+ current_precision)
343
346
 
344
347
 
345
348
  def check_empty_topology() -> bool:
bluecellulab/utils.py CHANGED
@@ -1,19 +1,21 @@
1
1
  """Utility functions used within BlueCellulab."""
2
+
2
3
  from __future__ import annotations
3
4
  import contextlib
4
5
  import io
5
6
  import json
6
- from multiprocessing.pool import Pool
7
7
 
8
8
  import numpy as np
9
9
 
10
10
 
11
11
  def run_once(func):
12
12
  """A decorator to ensure a function is only called once."""
13
+
13
14
  def wrapper(*args, **kwargs):
14
15
  if not wrapper.has_run:
15
16
  wrapper.has_run = True
16
17
  return func(*args, **kwargs)
18
+
17
19
  wrapper.has_run = False
18
20
  return wrapper
19
21
 
@@ -32,29 +34,25 @@ class CaptureOutput(list):
32
34
 
33
35
  class NumpyEncoder(json.JSONEncoder):
34
36
  def default(self, obj):
35
- if isinstance(obj, (np.int_, np.intc, np.intp, np.int8,
36
- np.int16, np.int32, np.int64, np.uint8,
37
- np.uint16, np.uint32, np.uint64)):
37
+ if isinstance(
38
+ obj,
39
+ (
40
+ np.int_,
41
+ np.intc,
42
+ np.intp,
43
+ np.int8,
44
+ np.int16,
45
+ np.int32,
46
+ np.int64,
47
+ np.uint8,
48
+ np.uint16,
49
+ np.uint32,
50
+ np.uint64,
51
+ ),
52
+ ):
38
53
  return int(obj)
39
- elif isinstance(obj, (np.float_, np.float16, np.float32,
40
- np.float64)):
54
+ elif isinstance(obj, (np.float_, np.float16, np.float32, np.float64)):
41
55
  return float(obj)
42
56
  elif isinstance(obj, np.ndarray):
43
57
  return obj.tolist()
44
58
  return json.JSONEncoder.default(self, obj)
45
-
46
-
47
- class IsolatedProcess(Pool):
48
- """Multiprocessing Pool that restricts a worker to run max 1 process.
49
-
50
- Use this when running isolated NEURON simulations. Running 2 NEURON
51
- simulations on a single process is to be avoided.
52
- """
53
- def __init__(self, processes: int | None = 1):
54
- """Initialize the IsolatedProcess pool.
55
-
56
- Args:
57
- processes: The number of processes to use for running the stimuli.
58
- If set to None, then the number returned by os.cpu_count() is used.
59
- """
60
- super().__init__(processes=processes, maxtasksperchild=1)
@@ -1,10 +1,3 @@
1
- BlueCellulab is licensed under the Apache License, unless noted otherwise,
2
- e.g., for external dependencies such as MOD or morphology files.
3
- For MOD files for which the original source is available on ModelDB,
4
- any specific licenses on mentioned on ModelDB, or the generic License of ModelDB apply.
5
- The licenses of the morphology files used in this repository are available on: https://zenodo.org/record/5909613
6
-
7
-
8
1
  Apache License
9
2
  Version 2.0, January 2004
10
3
  http://www.apache.org/licenses/
@@ -1,11 +1,12 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: bluecellulab
3
- Version: 2.5.0
4
- Summary: The Pythonic Blue Brain simulator access
5
- Home-page: https://github.com/BlueBrain/BlueCelluLab
3
+ Version: 2.6.38
4
+ Summary: Biologically detailed neural network simulations and analysis.
6
5
  Author: Blue Brain Project, EPFL
7
6
  License: Apache2.0
8
- Keywords: computational neuroscience,simulation,analysis,parameters,Blue Brain Project
7
+ Project-URL: Homepage, https://github.com/openbraininstitute/BlueCelluLab
8
+ Project-URL: Documentation, https://bluecellulab.readthedocs.io/
9
+ Keywords: computational neuroscience,simulation,analysis,SONATA,neural networks,neuron,Blue Brain Project
9
10
  Classifier: Development Status :: 5 - Production/Stable
10
11
  Classifier: Environment :: Console
11
12
  Classifier: License :: OSI Approved :: Apache Software License
@@ -13,18 +14,19 @@ Classifier: Operating System :: POSIX
13
14
  Classifier: Topic :: Scientific/Engineering
14
15
  Classifier: Programming Language :: Python :: 3
15
16
  Classifier: Topic :: Utilities
16
- Requires-Python: >=3.8
17
+ Requires-Python: >=3.9
17
18
  Description-Content-Type: text/x-rst
18
19
  License-File: LICENSE
19
20
  License-File: AUTHORS.txt
20
- Requires-Dist: NEURON <9.0.0,>=8.0.2
21
- Requires-Dist: numpy <2.0.0,>=1.8.0
22
- Requires-Dist: matplotlib <4.0.0,>=3.0.0
23
- Requires-Dist: pandas <3.0.0,>=1.0.0
24
- Requires-Dist: bluepysnap <4.0.0,>=3.0.0
25
- Requires-Dist: pydantic <3.0.0,>=2.5.2
26
- Requires-Dist: typing-extensions >=4.8.0
27
- Requires-Dist: networkx >=3.1
21
+ Requires-Dist: NEURON<9.0.0,>=8.0.2
22
+ Requires-Dist: numpy<2.0.0,>=1.8.0
23
+ Requires-Dist: matplotlib<4.0.0,>=3.0.0
24
+ Requires-Dist: pandas<3.0.0,>=1.0.0
25
+ Requires-Dist: bluepysnap<4.0.0,>=3.0.0
26
+ Requires-Dist: pydantic<3.0.0,>=2.5.2
27
+ Requires-Dist: typing-extensions>=4.8.0
28
+ Requires-Dist: networkx>=3.1
29
+ Requires-Dist: h5py>=3.8.0
28
30
 
29
31
  |banner|
30
32
 
@@ -44,9 +46,10 @@ BlueCelluLab
44
46
  +----------------+------------+
45
47
  | Gitter | |gitter| |
46
48
  +----------------+------------+
47
- | Citation | |zenodo| |
49
+ | Paper | |joss| |
50
+ +----------------+------------+
51
+ | Zenodo | |zenodo| |
48
52
  +----------------+------------+
49
-
50
53
 
51
54
  The Blue Brain Cellular Laboratory is designed for simulations and experiments on individual cells or groups of cells.
52
55
  Suitable use cases for BlueCelluLab include:
@@ -66,29 +69,34 @@ Suitable use cases for BlueCelluLab include:
66
69
  Citation
67
70
  ========
68
71
 
69
- When you use this BlueCelluLab software for your research, we ask you to cite the following reference(this includes poster presentations):
72
+ When using the BlueCelluLab software for your research, please cite the following paper (including for poster presentations): `BlueCelluLab: Biologically Detailed Neural Network Experimentation API <https://doi.org/10.21105/joss.07026>`_
70
73
 
71
74
  .. code-block::
72
75
 
73
- @software{bluecellulab_zenodo,
74
- author = {Van Geit, Werner and Tuncel, Anil and Gevaert, Mike and Torben-Nielsen, Benjamin and Muller, Eilif},
75
- title = {BlueCelluLab},
76
- month = jul,
77
- year = 2023,
78
- publisher = {Zenodo},
79
- doi = {10.5281/zenodo.8113483},
80
- url = {https://doi.org/10.5281/zenodo.8113483}
76
+ @article{Tuncel2024,
77
+ doi = {10.21105/joss.07026},
78
+ url = {https://doi.org/10.21105/joss.07026},
79
+ year = {2024},
80
+ publisher = {The Open Journal},
81
+ volume = {9},
82
+ number = {100},
83
+ pages = {7026},
84
+ author = {Anıl Tuncel and Werner Van Geit and Mike Gevaert and Benjamin Torben-Nielsen and Darshan Mandge and İlkan Kılıç and Aurélien Jaquier and Eilif Muller and Lida Kanari and Henry Markram},
85
+ title = {BlueCelluLab: Biologically Detailed Neural Network Experimentation API},
86
+ journal = {Journal of Open Source Software}
81
87
  }
82
88
 
89
+ If you need to cite a specific version, please use the DOI provided by `Zenodo <https://zenodo.org/records/8113483>`_, which you can access via the "Cite this repository" button at the top of the repository page.
90
+
83
91
  Support
84
92
  =======
85
93
 
86
- We are providing support on `Gitter <https://gitter.im/BlueBrain/BlueCelluLab>`_. We suggest you create tickets on the `Github issue tracker <https://github.com/BlueBrain/BlueCelluLab/issues>`_ in case you encounter problems while using the software or if you have some suggestions.
94
+ We are providing support on `Gitter <https://gitter.im/openbraininstitute/BlueCelluLab>`_. We suggest you create tickets on the `Github issue tracker <https://github.com/openbraininstitute/BlueCelluLab/issues>`_ in case you encounter problems while using the software or if you have some suggestions.
87
95
 
88
96
  Main dependencies
89
97
  =================
90
98
 
91
- * `Python 3.8+ <https://www.python.org/downloads/release/python-380/>`_
99
+ * `Python 3.9+ <https://www.python.org/downloads/release/python-390/>`_
92
100
  * `Neuron 8.0.2+ <https://pypi.org/project/NEURON/>`_
93
101
 
94
102
  Installation
@@ -119,13 +127,13 @@ The following example shows how to create a cell, add a stimulus and run a simul
119
127
  time, voltage = cell.get_time(), cell.get_soma_voltage()
120
128
  # plotting time and voltage ...
121
129
 
122
- .. image:: https://raw.githubusercontent.com/BlueBrain/BlueCelluLab/main/docs/images/voltage-readme.png
130
+ .. image:: https://raw.githubusercontent.com/openbraininstitute/BlueCelluLab/main/docs/images/voltage-readme.png
123
131
  :alt: Voltage plot
124
132
 
125
133
  Tutorial
126
134
  ========
127
135
 
128
- A more detailed explanation on how to use BlueCelluLab, as well as other examples can be found on the `examples page <https://github.com/BlueBrain/BlueCelluLab/blob/main/examples/README.rst>`_.
136
+ A more detailed explanation on how to use BlueCelluLab, as well as other examples can be found on the `examples page <https://github.com/openbraininstitute/BlueCelluLab/blob/main/examples/README.rst>`_.
129
137
 
130
138
  API Documentation
131
139
  =================
@@ -144,6 +152,11 @@ Testing is set up using `tox`:
144
152
  tox -e py3 # runs the tests
145
153
  tox -e lint # runs the format checks
146
154
 
155
+ Contributing
156
+ ============
157
+
158
+ We welcome contributions to BlueCelluLab! Please see the `CONTRIBUTING.rst <https://github.com/openbraininstitute/BlueCelluLab/blob/main/CONTRIBUTING.rst>`_ for guidelines on how to contribute.
159
+
147
160
  Funding & Acknowledgements
148
161
  ==========================
149
162
 
@@ -152,7 +165,8 @@ The development and maintenance of this code is supported by funding to the Blue
152
165
  Copyright
153
166
  =========
154
167
 
155
- Copyright (c) 2023 Blue Brain Project/EPFL
168
+ Copyright (c) 2023-2024 Blue Brain Project/EPFL
169
+ Copyright (c) 2025 Open Brain Institute
156
170
 
157
171
  This work is licensed under `Apache 2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`_
158
172
 
@@ -162,10 +176,10 @@ The licenses of the morphology files used in this repository are available on: h
162
176
 
163
177
 
164
178
  .. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
165
- :target: https://github.com/BlueBrain/BlueCelluLab/blob/main/LICENSE
179
+ :target: https://github.com/openbraininstitute/BlueCelluLab/blob/main/LICENSE
166
180
 
167
- .. |tests| image:: https://github.com/BlueBrain/BlueCelluLab/actions/workflows/test.yml/badge.svg?branch=main
168
- :target: https://github.com/BlueBrain/BlueCelluLab/actions/workflows/test.yml
181
+ .. |tests| image:: https://github.com/openbraininstitute/BlueCelluLab/actions/workflows/test.yml/badge.svg?branch=main
182
+ :target: https://github.com/openbraininstitute/BlueCelluLab/actions/workflows/test.yml
169
183
  :alt: CI
170
184
 
171
185
  .. |pypi| image:: https://img.shields.io/pypi/v/bluecellulab.svg
@@ -176,13 +190,17 @@ The licenses of the morphology files used in this repository are available on: h
176
190
  :target: https://bluecellulab.readthedocs.io/
177
191
  :alt: latest documentation
178
192
 
179
- .. |coverage| image:: https://codecov.io/github/BlueBrain/BlueCelluLab/coverage.svg?branch=main
180
- :target: https://codecov.io/gh/BlueBrain/bluecellulab
193
+ .. |coverage| image:: https://codecov.io/github/openbraininstitute/BlueCelluLab/coverage.svg?branch=main
194
+ :target: https://codecov.io/gh/openbraininstitute/bluecellulab
181
195
  :alt: coverage
182
196
 
183
197
  .. |gitter| image:: https://badges.gitter.im/Join%20Chat.svg
184
- :target: https://gitter.im/BlueBrain/BlueCelluLab
185
- :alt: Join the chat at https://gitter.im/BlueBrain/BlueCelluLab
198
+ :target: https://gitter.im/openbraininstitute/BlueCelluLab
199
+ :alt: Join the chat at https://gitter.im/openbraininstitute/BlueCelluLab
200
+
201
+ .. |joss| image:: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff/status.svg
202
+ :target: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff
203
+ :alt: JOSS
186
204
 
187
205
  .. |zenodo| image:: https://zenodo.org/badge/640805129.svg
188
206
  :target: https://zenodo.org/badge/latestdoi/640805129
@@ -195,4 +213,4 @@ The licenses of the morphology files used in this repository are available on: h
195
213
  to skip content after the marker 'substitutions'.
196
214
 
197
215
  .. substitutions
198
- .. |banner| image:: https://raw.githubusercontent.com/BlueBrain/BlueCelluLab/main/docs/source/logo/BlueCelluLabBanner.jpg
216
+ .. |banner| image:: https://raw.githubusercontent.com/openbraininstitute/BlueCelluLab/main/docs/source/logo/BlueCelluLabBanner.jpg
@@ -0,0 +1,70 @@
1
+ bluecellulab/__init__.py,sha256=1d_CKIJLIpon7o13h3lBnV_-33obZEPwa9KDTjlFPD8,880
2
+ bluecellulab/circuit_simulation.py,sha256=zzVCGP-SP8pdzSt03_FSvSCAeigaBfSb4A-mFfw2AwI,33587
3
+ bluecellulab/connection.py,sha256=-xT0mU7ppeHI_qjCKj17TtxXVVcUDgBsaMKt9ODmcEU,4640
4
+ bluecellulab/dendrogram.py,sha256=FjS6RZ6xcp5zJoY5d5qv_edqPM13tL2-UANgbZuDBjY,6427
5
+ bluecellulab/exceptions.py,sha256=1lKD92VIyD8cUggAI1SLxeKzj_09Ik_TlHCzPLCvDHg,2379
6
+ bluecellulab/graph.py,sha256=o-9NnRrli0AqfGcw0-nhjaICH2IeqCH76uAlbZbo2dQ,3419
7
+ bluecellulab/importer.py,sha256=ePxoquSRGGK123mR_VWDLKf9CE-N28NXAAY1DCm3T7Y,2900
8
+ bluecellulab/neuron_interpreter.py,sha256=Nerehh6SNIRcTH8NHvyZvL_axadeix67uer-lRGuw9U,2185
9
+ bluecellulab/plotwindow.py,sha256=ePU-EegZ1Sqk0SoYYiQ6k24ZO4s3Hgfpx10uePiJ5xM,2721
10
+ bluecellulab/psection.py,sha256=FSOwRNuOTyB469BM-jPEf9l1J59FamXmzrQgBI6cnP4,6174
11
+ bluecellulab/psegment.py,sha256=PTgoGLqM4oFIdF_8QHFQCU59j-8TQmtq6PakiGUQhIo,3138
12
+ bluecellulab/rngsettings.py,sha256=2Ykb4Ylk3XTs58x1UIxjg8XJqjSpnCgKRZ8avXCDpxk,4237
13
+ bluecellulab/tools.py,sha256=ytziurCwhp2iuiwhYrr4yk7PywikDL8Hk-Knx5CYFK8,11213
14
+ bluecellulab/type_aliases.py,sha256=DvgjERv2Ztdw_sW63JrZTQGpJ0x5uMTFB5hcBHDb0WA,441
15
+ bluecellulab/utils.py,sha256=SbOOkzw1YGjCKV3qOw0zpabNEy7V9BRtgMLsQJiFRq4,1526
16
+ bluecellulab/verbosity.py,sha256=T0IgX7DrRo19faxrT4Xzb27gqxzoILQ8FzYKxvUeaPM,1342
17
+ bluecellulab/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ bluecellulab/analysis/inject_sequence.py,sha256=Ih3wdNRn0-lM-NW8agrMUGS862CEgzn_hl54DFDXyjM,6325
19
+ bluecellulab/cell/__init__.py,sha256=Sbc0QOsJ8E7tSwf3q7fsXuE_SevBN6ZmoCVyyU5zfII,208
20
+ bluecellulab/cell/cell_dict.py,sha256=VE7pi-NsMVRSmo-PSdbiLYmolDOu0Gc6JxFBkuQpFdk,1346
21
+ bluecellulab/cell/core.py,sha256=QzCC2uVj1yOSLi3-dGN3Iib9POTNRGNJSnjvJue1T5g,31315
22
+ bluecellulab/cell/injector.py,sha256=p4e36Bmubm7uYfK0gvdEUeff18SE_4lZcRszRfqccWs,18042
23
+ bluecellulab/cell/plotting.py,sha256=t2qDUabFtsBb-nJMkDh5UfsgW-wvQ2wfDwAVZ8-hWPo,4032
24
+ bluecellulab/cell/random.py,sha256=pemekc11geRBKD8Ghb82tvKOZLfFWkUz1IKLc_NWg-A,1773
25
+ bluecellulab/cell/recording.py,sha256=dekJspPb_5yrS6WR3aXtvZ6KWwMNbyhe5aIOVtNDHpY,342
26
+ bluecellulab/cell/section_distance.py,sha256=QrNJ_avRSm-PFZfSg-FrcCqu-BNZNwcbECwMN9fY2ho,3908
27
+ bluecellulab/cell/serialized_sections.py,sha256=5JfLNgrUKdyYe4mKFIH2zMnT5QohNB9JYXbe475goEg,1543
28
+ bluecellulab/cell/sonata_proxy.py,sha256=1FsMDosS7fbffgY_shaBKVIXjkmxL5aiPLlxcgeAUsc,1529
29
+ bluecellulab/cell/stimuli_generator.py,sha256=DwWX8Keed1KgKExwlD4u-h4WUhEXcsG7XPjJTxqfZaQ,7129
30
+ bluecellulab/cell/template.py,sha256=JigOhRh52AX9nE25lDhYPUaDsTz7mhW-mUD-8x8tpoM,7573
31
+ bluecellulab/cell/ballstick/__init__.py,sha256=v1Z8tHFfbpWShxOBdShCUaE0utoz-7rZumuNBQtNOFI,439
32
+ bluecellulab/cell/ballstick/emodel.hoc,sha256=7WcuepK-wB9bASRvNdCwO9Woc9-SpBCFqBqCXKgjsV8,1517
33
+ bluecellulab/cell/ballstick/morphology.asc,sha256=EO0VIRilJAwpiDP2hIevwusfvYptNYhvsu1f5GgbSQo,190
34
+ bluecellulab/circuit/__init__.py,sha256=Khpa13nzNvDlDS2JduyoFTukEduEkWCc5ML_JwGpmZs,361
35
+ bluecellulab/circuit/format.py,sha256=90gWOXg6HK0R9a4WFSnnRH8XezxmzOGk5dRpJHbvbbU,1674
36
+ bluecellulab/circuit/iotools.py,sha256=h3nlPp1b30VVjkxg6hIfZibdXODxpFXXD1guR2fa0rg,1585
37
+ bluecellulab/circuit/node_id.py,sha256=FdoFAGq0_sCyQySOuNI0chdbVr3L8R0w2Y1em5MyIDA,1265
38
+ bluecellulab/circuit/simulation_access.py,sha256=keME58gzLVAPEg2nnWD_bwEm9V2Kjeqyfoj_55GPMCM,7061
39
+ bluecellulab/circuit/synapse_properties.py,sha256=TvUMiXZAAeYo1zKkus3z1EUvrE9QCIQ3Ze-jSnPSJWY,6374
40
+ bluecellulab/circuit/validate.py,sha256=wntnr7oIDyasqD1nM-kqz1NpfWDxBGhx0Ep3e5hHXIw,3593
41
+ bluecellulab/circuit/circuit_access/__init__.py,sha256=sgp6m5kP-pq60V1IFGUiSUR1OW01zdxXNNUJmPA8anI,201
42
+ bluecellulab/circuit/circuit_access/bluepy_circuit_access.py,sha256=aXvtZR8EwpVEkB4KAupjC4DX_1xYC4OrHwMUQcQIWrQ,14273
43
+ bluecellulab/circuit/circuit_access/definition.py,sha256=_sUU0DkesGOFW82kS1G9vki0o0aQP76z3Ltk7Vo9KK4,4435
44
+ bluecellulab/circuit/circuit_access/sonata_circuit_access.py,sha256=oxMHFG4IBZXhr0mAQpgTNueLaagKbm-7f8VgDDJIg0E,10361
45
+ bluecellulab/circuit/config/__init__.py,sha256=aaoJXRKBJzpxxREo9NxKc-_CCPmVeuR1mcViRXcLrC4,215
46
+ bluecellulab/circuit/config/bluepy_simulation_config.py,sha256=V3eqOzskX7VrMDpl-nMQVEhDg8QWgRmRduyJBii5sgI,6974
47
+ bluecellulab/circuit/config/definition.py,sha256=I1jd4KUX21mw03FEv1aYNsT0UFbDANY3YEPwwKXqe4k,2774
48
+ bluecellulab/circuit/config/sections.py,sha256=QRnU44-OFvHxcF1LX4bAEP9dk3I6UKsuPNBbWkdfmRE,7151
49
+ bluecellulab/circuit/config/sonata_simulation_config.py,sha256=7yEvuourzN2nRjzsA5CcDF8pcjEyjSJHitp3OH-ijgk,4829
50
+ bluecellulab/hoc/Cell.hoc,sha256=z77qRQG_-afj-RLX0xN6V-K6Duq3bR7vmlDrGWPdh4E,16435
51
+ bluecellulab/hoc/RNGSettings.hoc,sha256=okJBdqlPXET8BrpG1Q31GdaxHfpe3CE0L5P7MAhfQTE,1227
52
+ bluecellulab/hoc/TDistFunc.hoc,sha256=WKX-anvL83xGuGPH9g1oIORB17UM4Pi3-iIXzKO-pUQ,2663
53
+ bluecellulab/hoc/TStim.hoc,sha256=noBJbM_ZqF6T6MEgBeowNzz21I9QeYZ5brGgUvCSm4k,8473
54
+ bluecellulab/hoc/fileUtils.hoc,sha256=LSM7BgyjYVqo2DGSOKvg4W8IIusbsL45JVYK0vgwitU,2539
55
+ bluecellulab/simulation/__init__.py,sha256=P2ebt0SFw-08J3ihN-LeRn95HeF79tzA-Q0ReLm32dM,214
56
+ bluecellulab/simulation/neuron_globals.py,sha256=iBjhg0-1YMP5LsVdtUDt24PEypkCL6mlyzEBZqoS8xo,4508
57
+ bluecellulab/simulation/parallel.py,sha256=oQ_oV2EKr8gP4yF2Dq8q9MiblDyi89_wBgLzQkLV_U0,1514
58
+ bluecellulab/simulation/simulation.py,sha256=VhftOMYU1Rfrphvud6f0U4kvbUivSviQ5TlVljuTb88,6486
59
+ bluecellulab/stimulus/__init__.py,sha256=DgIgVaSyR-URf3JZzvO6j-tjCerzvktuK-ep8pjMRPQ,37
60
+ bluecellulab/stimulus/circuit_stimulus_definitions.py,sha256=WdjxoPL4_T1yn3mEhxH-TvU7d441Kf4v5QwFfH30UNI,15890
61
+ bluecellulab/stimulus/factory.py,sha256=L85RN-lImkyCEM87Pp1X5rpGNIHLNSMwx1b9dZxOhOo,24234
62
+ bluecellulab/synapse/__init__.py,sha256=RW8XoAMXOvK7OG1nHl_q8jSEKLj9ZN4oWf2nY9HAwuk,192
63
+ bluecellulab/synapse/synapse_factory.py,sha256=NHwRMYMrnRVm_sHmyKTJ1bdoNmWZNU4UPOGu7FCi-PE,6987
64
+ bluecellulab/synapse/synapse_types.py,sha256=zs_yBvGTH4QrbQF3nEViidyq1WM_ZcTSFdjUxB3khW0,16871
65
+ bluecellulab-2.6.38.dist-info/AUTHORS.txt,sha256=EDs3H-2HXBojbma10psixk3C2rFiOCTIREi2ZAbXYNQ,179
66
+ bluecellulab-2.6.38.dist-info/LICENSE,sha256=dAMAR2Sud4Nead1wGFleKiwTZfkTNZbzmuGfcTKb3kg,11335
67
+ bluecellulab-2.6.38.dist-info/METADATA,sha256=CdrPKEsDH7JyihVl5CuNO0vHo47KVQsWMwNGTSADiQk,8225
68
+ bluecellulab-2.6.38.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
69
+ bluecellulab-2.6.38.dist-info/top_level.txt,sha256=VSyEP8w9l3pXdRkyP_goeMwiNA8KWwitfAqUkveJkdQ,13
70
+ bluecellulab-2.6.38.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,69 +0,0 @@
1
- bluecellulab/__init__.py,sha256=yC97iFnCVDtwqspxdpt4C-qq9vQF7AMJOWe1h_cB0Wc,827
2
- bluecellulab/connection.py,sha256=volV2YKtmqAF7MOEJar5ldF1ARAo7k2vF9MB1NXybUY,4640
3
- bluecellulab/dendrogram.py,sha256=w0vvv0Q169DolTX1j9dAZIvHIl4H258gAjQ1xQaNiGk,6427
4
- bluecellulab/exceptions.py,sha256=KIxF7s_7gPVJ07TiQ-Z1D8de7ylV74gNMhzl0339CVM,2379
5
- bluecellulab/graph.py,sha256=ODiQy4xjRVxtNITXeXpYnqHas0wR7gZ_aXuDAF7jMq4,3419
6
- bluecellulab/importer.py,sha256=zwVi1Nx2f8xzFfzxzYoXa7gfi7DQapqkRJII5sBbRyY,2900
7
- bluecellulab/neuron_interpreter.py,sha256=hXig_u3T6JmEHbkV8ZblEZtX0kY80ate4VpRtANNFrM,2185
8
- bluecellulab/plotwindow.py,sha256=UVHzml-BB83m5Qr-YGkjR9kB-vSW8mM0Owh2j95yIaU,2721
9
- bluecellulab/psection.py,sha256=EgAS8IS9DcYv2xOkNISgfg_CfRc0nDfRFjvgQhyi9eY,6328
10
- bluecellulab/psegment.py,sha256=rBryDYHC_uDK9itfXXrFZ0DL9F6WgRICL0j5EHN56QM,3125
11
- bluecellulab/rngsettings.py,sha256=KACk4ujPXhlHL9iAoTdAjjLuFEcUoG6aes92ZClSoQQ,4228
12
- bluecellulab/ssim.py,sha256=radFcT2lWRfb1C0zKlqw0JQ6JY4b9LJiDP9JDPeQIqs,33399
13
- bluecellulab/tools.py,sha256=8QMNdmh9lRDOWT4kz9cI_MYNVh4ulxgY8CtHZbaMbkA,11056
14
- bluecellulab/type_aliases.py,sha256=DvgjERv2Ztdw_sW63JrZTQGpJ0x5uMTFB5hcBHDb0WA,441
15
- bluecellulab/utils.py,sha256=fgqjgy3xzyL0zu-qjCPJdHp6PEAHADCzlr2FqyBmzHI,2012
16
- bluecellulab/verbosity.py,sha256=T0IgX7DrRo19faxrT4Xzb27gqxzoILQ8FzYKxvUeaPM,1342
17
- bluecellulab/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- bluecellulab/analysis/inject_sequence.py,sha256=jfEESRAUKAWgjceNWfx3Rwe1gDNWhxwZL4PfnJZCzrg,4930
19
- bluecellulab/cell/__init__.py,sha256=Sbc0QOsJ8E7tSwf3q7fsXuE_SevBN6ZmoCVyyU5zfII,208
20
- bluecellulab/cell/cell_dict.py,sha256=PVmZsjhZ9jp3HC-8QmdFqp-crAcVMSVeLWujcOPLlpo,1346
21
- bluecellulab/cell/core.py,sha256=uxAWAZ6NpODJ3O77p0JWL6AVey3lOyetU3SVZxP4a9Q,31201
22
- bluecellulab/cell/injector.py,sha256=XC49VSHw78xCHzLJKO_-unnnVZAZXsYg5qbmZPx01AA,18091
23
- bluecellulab/cell/plotting.py,sha256=_hZs5oYG4vmJBVf05cJ2O_cVazi5Eap8OkL9BtIwjW8,4001
24
- bluecellulab/cell/random.py,sha256=FDby9BN4eJT27COwHP59bhDE2v-c6rdOKNFj3cYZTVY,1773
25
- bluecellulab/cell/recording.py,sha256=dekJspPb_5yrS6WR3aXtvZ6KWwMNbyhe5aIOVtNDHpY,342
26
- bluecellulab/cell/section_distance.py,sha256=J8-oqgCHzRaJkpfjPUR6NFtXDhwbrXad9nDaTCKNkTU,3908
27
- bluecellulab/cell/serialized_sections.py,sha256=UQUecO07ChRZ7xHuDp-QAQRUpUiIwROzHxjZliP9gfQ,1614
28
- bluecellulab/cell/sonata_proxy.py,sha256=dLT9mLlGVpXxj2O2lXN0g7Sq4BwroPLVdPikR2yNMv4,1529
29
- bluecellulab/cell/stimuli_generator.py,sha256=cJwjNwsQeEBHLjuJIFv6VBSqd9IpmbR7CuSMyotCiWc,6320
30
- bluecellulab/cell/template.py,sha256=K8Vp1-yE6-9wxjmhkLBhnjBhgciUixoMk8LU-GioTgM,7562
31
- bluecellulab/cell/ballstick/__init__.py,sha256=v1Z8tHFfbpWShxOBdShCUaE0utoz-7rZumuNBQtNOFI,439
32
- bluecellulab/cell/ballstick/emodel.hoc,sha256=7WcuepK-wB9bASRvNdCwO9Woc9-SpBCFqBqCXKgjsV8,1517
33
- bluecellulab/cell/ballstick/morphology.asc,sha256=EO0VIRilJAwpiDP2hIevwusfvYptNYhvsu1f5GgbSQo,190
34
- bluecellulab/circuit/__init__.py,sha256=Khpa13nzNvDlDS2JduyoFTukEduEkWCc5ML_JwGpmZs,361
35
- bluecellulab/circuit/format.py,sha256=eYhiBIQnPnnVBmaSDymFjQprXN9QjEYKmFhb2mIS86o,1674
36
- bluecellulab/circuit/iotools.py,sha256=ERtrsl9KePZ0QFKiTi5lbBgudXbcHrqxr-BY2ysFfqg,1591
37
- bluecellulab/circuit/node_id.py,sha256=gaRAW3UhbPOPsoXMHLjo3qH9iNod7YB8ZOcguWprrU4,1265
38
- bluecellulab/circuit/simulation_access.py,sha256=QHVEN-sEZbCCvblhBHEShGX0-NEXCD1AYpavpVGCgAE,7073
39
- bluecellulab/circuit/synapse_properties.py,sha256=6PpMWeothomR2c-mx63yVIISJc4eSL9xMnaIM2nryNM,5494
40
- bluecellulab/circuit/validate.py,sha256=7EUN15u0JFFlLf389jUBqLwDOHyZdfKtoidI-xLUVYA,3593
41
- bluecellulab/circuit/circuit_access/__init__.py,sha256=sgp6m5kP-pq60V1IFGUiSUR1OW01zdxXNNUJmPA8anI,201
42
- bluecellulab/circuit/circuit_access/bluepy_circuit_access.py,sha256=j-DYHMBTbq1TvlYyc-w1CSyqElSm6B6SyUdkxIGNA20,14746
43
- bluecellulab/circuit/circuit_access/definition.py,sha256=SnKBFEgdXFG-QexYRrGSzVAd7bSj7NwN0IuTsjDOrDY,4435
44
- bluecellulab/circuit/circuit_access/sonata_circuit_access.py,sha256=P1ElK_VA10_JyyKbAnqzuAlduEYE2c_NSec2TZuix1U,10345
45
- bluecellulab/circuit/config/__init__.py,sha256=aaoJXRKBJzpxxREo9NxKc-_CCPmVeuR1mcViRXcLrC4,215
46
- bluecellulab/circuit/config/bluepy_simulation_config.py,sha256=tUyHvzlxFWRxh8rBNvU0FdUqGqJR2G8OXifATQ9W7yw,6974
47
- bluecellulab/circuit/config/definition.py,sha256=o0751Dd83f8TWGw95EAQ8coJrYGasdshrIrXViF5lzg,2774
48
- bluecellulab/circuit/config/sections.py,sha256=O1198JvusdOQBWgUeOZ5OhOupbHvvt3NtP9JfBWNbn0,7151
49
- bluecellulab/circuit/config/sonata_simulation_config.py,sha256=P0IKazCuNAG97xq2xLwHLbmr_lrNAqPsa6rXi-uDqb0,4829
50
- bluecellulab/hoc/Cell.hoc,sha256=z77qRQG_-afj-RLX0xN6V-K6Duq3bR7vmlDrGWPdh4E,16435
51
- bluecellulab/hoc/RNGSettings.hoc,sha256=okJBdqlPXET8BrpG1Q31GdaxHfpe3CE0L5P7MAhfQTE,1227
52
- bluecellulab/hoc/TDistFunc.hoc,sha256=WKX-anvL83xGuGPH9g1oIORB17UM4Pi3-iIXzKO-pUQ,2663
53
- bluecellulab/hoc/TStim.hoc,sha256=noBJbM_ZqF6T6MEgBeowNzz21I9QeYZ5brGgUvCSm4k,8473
54
- bluecellulab/hoc/fileUtils.hoc,sha256=LSM7BgyjYVqo2DGSOKvg4W8IIusbsL45JVYK0vgwitU,2539
55
- bluecellulab/simulation/__init__.py,sha256=P2ebt0SFw-08J3ihN-LeRn95HeF79tzA-Q0ReLm32dM,214
56
- bluecellulab/simulation/neuron_globals.py,sha256=uxgceZ7zzbVEtITrQv8oOK900zhh7w29cScFwjLWo4I,4134
57
- bluecellulab/simulation/simulation.py,sha256=I__cZwV_A8I7XSefn6aJDBA_jXCI3E35-pCNCLUsnvo,6206
58
- bluecellulab/stimulus/__init__.py,sha256=DgIgVaSyR-URf3JZzvO6j-tjCerzvktuK-ep8pjMRPQ,37
59
- bluecellulab/stimulus/circuit_stimulus_definitions.py,sha256=uij_s44uNdmMwMLGmTHSRgmp9K9B_vvHHshX6YPJNJU,15686
60
- bluecellulab/stimulus/factory.py,sha256=AOby3Sp2g8BJsRccz3afazfCyysyWIgLtcliWlyeiu0,8097
61
- bluecellulab/synapse/__init__.py,sha256=RW8XoAMXOvK7OG1nHl_q8jSEKLj9ZN4oWf2nY9HAwuk,192
62
- bluecellulab/synapse/synapse_factory.py,sha256=YkvxbdGF-u-vxYdbRNTlX-9AtSC_3t_FQRFhybwzgrk,6805
63
- bluecellulab/synapse/synapse_types.py,sha256=4gne-hve2vq1Lau-LAVPsfLjffVYqAYBW3kCfC7_600,16871
64
- bluecellulab-2.5.0.dist-info/AUTHORS.txt,sha256=EDs3H-2HXBojbma10psixk3C2rFiOCTIREi2ZAbXYNQ,179
65
- bluecellulab-2.5.0.dist-info/LICENSE,sha256=xOouu1gC1GGklDxkITlaVl60I9Ab860O-nZsFbWydvU,11749
66
- bluecellulab-2.5.0.dist-info/METADATA,sha256=cZyD4VU0diQXkzIlXFVHT6UAbNb2tsEyD01w-6UICZY,6907
67
- bluecellulab-2.5.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
68
- bluecellulab-2.5.0.dist-info/top_level.txt,sha256=VSyEP8w9l3pXdRkyP_goeMwiNA8KWwitfAqUkveJkdQ,13
69
- bluecellulab-2.5.0.dist-info/RECORD,,