bluecellulab 2.6.72__tar.gz → 2.6.73__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.

Potentially problematic release.


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

Files changed (117) hide show
  1. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/.github/workflows/test.yml +1 -1
  2. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/PKG-INFO +3 -3
  3. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/README.rst +1 -1
  4. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/circuit_access/bluepy_circuit_access.py +2 -1
  5. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/circuit_access/sonata_circuit_access.py +2 -2
  6. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/config/bluepy_simulation_config.py +10 -0
  7. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/node_id.py +1 -1
  8. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit_simulation.py +2 -2
  9. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/plotwindow.py +1 -1
  10. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/utils.py +1 -1
  11. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab.egg-info/PKG-INFO +3 -3
  12. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab.egg-info/requires.txt +1 -1
  13. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/pyproject.toml +1 -1
  14. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/tox.ini +1 -1
  15. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/.compile_mod.sh +0 -0
  16. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/.gitattributes +0 -0
  17. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/.github/dependabot.yml +0 -0
  18. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/.github/workflows/release.yml +0 -0
  19. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/.gitignore +0 -0
  20. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/.gitlab-ci.yml +0 -0
  21. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/.readthedocs.yml +0 -0
  22. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/.zenodo.json +0 -0
  23. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/AUTHORS.txt +0 -0
  24. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/CHANGELOG.rst +0 -0
  25. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/CITATION.cff +0 -0
  26. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/CONTRIBUTING.rst +0 -0
  27. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/LICENSE +0 -0
  28. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/MANIFEST.in +0 -0
  29. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/Makefile +0 -0
  30. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/__init__.py +0 -0
  31. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/analysis/__init__.py +0 -0
  32. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/analysis/analysis.py +0 -0
  33. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/analysis/inject_sequence.py +0 -0
  34. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/analysis/plotting.py +0 -0
  35. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/analysis/utils.py +0 -0
  36. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/__init__.py +0 -0
  37. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/ballstick/__init__.py +0 -0
  38. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/ballstick/emodel.hoc +0 -0
  39. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/ballstick/morphology.asc +0 -0
  40. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/cell_dict.py +0 -0
  41. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/core.py +0 -0
  42. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/injector.py +0 -0
  43. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/plotting.py +0 -0
  44. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/random.py +0 -0
  45. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/recording.py +0 -0
  46. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/section_distance.py +0 -0
  47. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/section_tools.py +0 -0
  48. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/serialized_sections.py +0 -0
  49. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/sonata_proxy.py +0 -0
  50. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/stimuli_generator.py +0 -0
  51. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/cell/template.py +0 -0
  52. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/__init__.py +0 -0
  53. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/circuit_access/__init__.py +0 -0
  54. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/circuit_access/definition.py +0 -0
  55. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/config/__init__.py +0 -0
  56. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/config/definition.py +0 -0
  57. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/config/sections.py +0 -0
  58. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/config/sonata_simulation_config.py +0 -0
  59. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/format.py +0 -0
  60. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/iotools.py +0 -0
  61. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/simulation_access.py +0 -0
  62. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/synapse_properties.py +0 -0
  63. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/circuit/validate.py +0 -0
  64. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/connection.py +0 -0
  65. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/dendrogram.py +0 -0
  66. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/exceptions.py +0 -0
  67. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/graph.py +0 -0
  68. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/hoc/Cell.hoc +0 -0
  69. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/hoc/RNGSettings.hoc +0 -0
  70. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/hoc/TDistFunc.hoc +0 -0
  71. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/hoc/TStim.hoc +0 -0
  72. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/hoc/fileUtils.hoc +0 -0
  73. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/importer.py +0 -0
  74. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/neuron_interpreter.py +0 -0
  75. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/psection.py +0 -0
  76. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/psegment.py +0 -0
  77. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/reports/__init__.py +0 -0
  78. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/reports/manager.py +0 -0
  79. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/reports/utils.py +0 -0
  80. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/reports/writers/__init__.py +0 -0
  81. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/reports/writers/base_writer.py +0 -0
  82. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/reports/writers/compartment.py +0 -0
  83. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/reports/writers/spikes.py +0 -0
  84. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/rngsettings.py +0 -0
  85. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/simulation/__init__.py +0 -0
  86. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/simulation/neuron_globals.py +0 -0
  87. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/simulation/parallel.py +0 -0
  88. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/simulation/report.py +0 -0
  89. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/simulation/simulation.py +0 -0
  90. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/stimulus/__init__.py +0 -0
  91. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/stimulus/circuit_stimulus_definitions.py +0 -0
  92. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/stimulus/factory.py +0 -0
  93. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/stimulus/stimulus.py +0 -0
  94. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/synapse/__init__.py +0 -0
  95. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/synapse/synapse_factory.py +0 -0
  96. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/synapse/synapse_types.py +0 -0
  97. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/tools.py +0 -0
  98. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/type_aliases.py +0 -0
  99. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/validation/validation.py +0 -0
  100. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab/verbosity.py +0 -0
  101. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab.egg-info/SOURCES.txt +0 -0
  102. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab.egg-info/dependency_links.txt +0 -0
  103. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/bluecellulab.egg-info/top_level.txt +0 -0
  104. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/Makefile +0 -0
  105. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/images/voltage-readme.png +0 -0
  106. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/make.bat +0 -0
  107. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/requirements_docs.txt +0 -0
  108. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/source/_static/.gitkeep +0 -0
  109. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/source/api.rst +0 -0
  110. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/source/changelog.rst +0 -0
  111. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/source/compiling-mechanisms.rst +0 -0
  112. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/source/conf.py +0 -0
  113. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/source/contributing.rst +0 -0
  114. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/source/index.rst +0 -0
  115. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/source/list_of_stim.rst +0 -0
  116. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/docs/source/logo/BlueCelluLabBanner.jpg +0 -0
  117. {bluecellulab-2.6.72 → bluecellulab-2.6.73}/setup.cfg +0 -0
@@ -14,7 +14,7 @@ jobs:
14
14
  runs-on: ubuntu-latest
15
15
  strategy:
16
16
  matrix:
17
- python-version: ["3.9", "3.10", "3.11", "3.12"]
17
+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
18
18
 
19
19
  steps:
20
20
  - uses: actions/checkout@v4
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluecellulab
3
- Version: 2.6.72
3
+ Version: 2.6.73
4
4
  Summary: Biologically detailed neural network simulations and analysis.
5
5
  Author: Blue Brain Project, EPFL
6
6
  License: Apache2.0
@@ -19,7 +19,7 @@ Description-Content-Type: text/x-rst
19
19
  License-File: LICENSE
20
20
  License-File: AUTHORS.txt
21
21
  Requires-Dist: NEURON<9.0.0,>=8.0.2
22
- Requires-Dist: numpy<2.0.0,>=1.8.0
22
+ Requires-Dist: numpy>=2.0.0
23
23
  Requires-Dist: matplotlib<4.0.0,>=3.0.0
24
24
  Requires-Dist: pandas<3.0.0,>=1.0.0
25
25
  Requires-Dist: bluepysnap<4.0.0,>=3.0.0
@@ -102,7 +102,7 @@ Main dependencies
102
102
  =================
103
103
 
104
104
  * `Python 3.9+ <https://www.python.org/downloads/release/python-390/>`_
105
- * `Neuron 8.0.2+ <https://pypi.org/project/NEURON/>`_
105
+ * `NEURON <=8.2.7 <https://pypi.org/project/NEURON/>`__
106
106
 
107
107
  Installation
108
108
  ============
@@ -67,7 +67,7 @@ Main dependencies
67
67
  =================
68
68
 
69
69
  * `Python 3.9+ <https://www.python.org/downloads/release/python-390/>`_
70
- * `Neuron 8.0.2+ <https://pypi.org/project/NEURON/>`_
70
+ * `NEURON <=8.2.7 <https://pypi.org/project/NEURON/>`__
71
71
 
72
72
  Installation
73
73
  ============
@@ -19,6 +19,7 @@ import os
19
19
  from pathlib import Path
20
20
  from typing import Optional
21
21
 
22
+ from bluecellulab.circuit.circuit_access.definition import CircuitAccess
22
23
  import neuron
23
24
  import pandas as pd
24
25
  from bluecellulab import circuit
@@ -42,7 +43,7 @@ if BLUEPY_AVAILABLE:
42
43
  logger = logging.getLogger(__name__)
43
44
 
44
45
 
45
- class BluepyCircuitAccess:
46
+ class BluepyCircuitAccess(CircuitAccess):
46
47
  """Bluepy implementation of CircuitAccess protocol."""
47
48
 
48
49
  def __init__(self, simulation_config: str | Path | SimulationConfig) -> None:
@@ -25,7 +25,7 @@ from bluepysnap import Circuit as SnapCircuit
25
25
  import neuron
26
26
  import pandas as pd
27
27
  from bluecellulab import circuit
28
- from bluecellulab.circuit.circuit_access.definition import EmodelProperties
28
+ from bluecellulab.circuit.circuit_access.definition import CircuitAccess, EmodelProperties
29
29
  from bluecellulab.circuit import CellId, SynapseProperty
30
30
  from bluecellulab.circuit.config import SimulationConfig
31
31
  from bluecellulab.circuit.synapse_properties import SynapseProperties
@@ -38,7 +38,7 @@ from bluecellulab.circuit.synapse_properties import (
38
38
  logger = logging.getLogger(__name__)
39
39
 
40
40
 
41
- class SonataCircuitAccess:
41
+ class SonataCircuitAccess(CircuitAccess):
42
42
  """Sonata implementation of CircuitAccess protocol."""
43
43
 
44
44
  def __init__(self, simulation_config: str | Path | SimulationConfig) -> None:
@@ -188,6 +188,16 @@ class BluepySimulationConfig:
188
188
  else:
189
189
  return None
190
190
 
191
+ @property
192
+ def tstart(self) -> Optional[float]:
193
+ return 0.0
194
+
195
+ @property
196
+ def tstop(self) -> Optional[float]:
197
+ if 'Duration' in self.impl.Run:
198
+ return float(self.impl.Run['Duration'])
199
+ return None
200
+
191
201
  def add_connection_override(
192
202
  self,
193
203
  connection_override: ConnectionOverrides
@@ -31,6 +31,6 @@ def create_cell_id(cell_id: int | tuple[str, int] | CellId) -> CellId:
31
31
  return CellId("", cell_id)
32
32
 
33
33
 
34
- def create_cell_ids(cell_ids: list[int] | list[tuple[str, int] | CellId]) -> list[CellId]:
34
+ def create_cell_ids(cell_ids: list[int | tuple[str, int] | CellId]) -> list[CellId]:
35
35
  """Make a list of CellId from a list of tuple or int."""
36
36
  return [create_cell_id(cell_id) for cell_id in cell_ids]
@@ -125,7 +125,7 @@ class CircuitSimulation:
125
125
 
126
126
  def instantiate_gids(
127
127
  self,
128
- cells: int | tuple[str, int] | list[int] | list[tuple[str, int]],
128
+ cells: int | tuple[str, int] | list[int | tuple[str, int]],
129
129
  add_replay: bool = False,
130
130
  add_stimuli: bool = False,
131
131
  add_synapses: bool = False,
@@ -223,7 +223,7 @@ class CircuitSimulation:
223
223
  will automatically set this option to
224
224
  True.
225
225
  """
226
- if not isinstance(cells, Iterable) or isinstance(cells, tuple):
226
+ if not isinstance(cells, list):
227
227
  cells = [cells]
228
228
 
229
229
  # convert to CellId objects
@@ -42,7 +42,7 @@ class PlotWindow:
42
42
  linenumber = 0
43
43
  for var_name in self.var_list:
44
44
  recording = self.cell.get_recording(var_name)
45
- if recording:
45
+ if recording is not None and recording.size > 0:
46
46
  time = self.cell.get_time()
47
47
  else:
48
48
  time = self.cell.get_time()[1:]
@@ -53,7 +53,7 @@ class NumpyEncoder(json.JSONEncoder):
53
53
  ),
54
54
  ):
55
55
  return int(obj)
56
- elif isinstance(obj, (np.float_, np.float16, np.float32, np.float64)):
56
+ elif isinstance(obj, (np.float64, np.float16, np.float32, np.float64)):
57
57
  return float(obj)
58
58
  elif isinstance(obj, np.ndarray):
59
59
  return obj.tolist()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluecellulab
3
- Version: 2.6.72
3
+ Version: 2.6.73
4
4
  Summary: Biologically detailed neural network simulations and analysis.
5
5
  Author: Blue Brain Project, EPFL
6
6
  License: Apache2.0
@@ -19,7 +19,7 @@ Description-Content-Type: text/x-rst
19
19
  License-File: LICENSE
20
20
  License-File: AUTHORS.txt
21
21
  Requires-Dist: NEURON<9.0.0,>=8.0.2
22
- Requires-Dist: numpy<2.0.0,>=1.8.0
22
+ Requires-Dist: numpy>=2.0.0
23
23
  Requires-Dist: matplotlib<4.0.0,>=3.0.0
24
24
  Requires-Dist: pandas<3.0.0,>=1.0.0
25
25
  Requires-Dist: bluepysnap<4.0.0,>=3.0.0
@@ -102,7 +102,7 @@ Main dependencies
102
102
  =================
103
103
 
104
104
  * `Python 3.9+ <https://www.python.org/downloads/release/python-390/>`_
105
- * `Neuron 8.0.2+ <https://pypi.org/project/NEURON/>`_
105
+ * `NEURON <=8.2.7 <https://pypi.org/project/NEURON/>`__
106
106
 
107
107
  Installation
108
108
  ============
@@ -1,5 +1,5 @@
1
1
  NEURON<9.0.0,>=8.0.2
2
- numpy<2.0.0,>=1.8.0
2
+ numpy>=2.0.0
3
3
  matplotlib<4.0.0,>=3.0.0
4
4
  pandas<3.0.0,>=1.0.0
5
5
  bluepysnap<4.0.0,>=3.0.0
@@ -29,7 +29,7 @@ keywords = [
29
29
  ]
30
30
  dependencies = [
31
31
  "NEURON>=8.0.2,<9.0.0",
32
- "numpy>=1.8.0,<2.0.0",
32
+ "numpy>=2.0.0",
33
33
  "matplotlib>=3.0.0,<4.0.0",
34
34
  "pandas>=1.0.0,<3.0.0",
35
35
  "bluepysnap>=3.0.0,<4.0.0",
@@ -37,7 +37,7 @@ commands =
37
37
  envdir={toxworkdir}/{envname}
38
38
  deps =
39
39
  pycodestyle>=2.10.0
40
- mypy>=1.3.0,<1.7.0
40
+ mypy>=1.10,<2.0
41
41
  pandas-stubs>=2.0.0
42
42
  types-setuptools>=67.8.0.0
43
43
  ruff>=0.0.270
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes