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

@@ -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:]
bluecellulab/utils.py CHANGED
@@ -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,18 +1,18 @@
1
1
  bluecellulab/__init__.py,sha256=1d_CKIJLIpon7o13h3lBnV_-33obZEPwa9KDTjlFPD8,880
2
- bluecellulab/circuit_simulation.py,sha256=CryoBSUGc9z6nIAyNzCsyppeSlc_URJX6hZoZPgQI2Q,36807
2
+ bluecellulab/circuit_simulation.py,sha256=GGAkJq0Jk_ClB1XTyrf8g6Sirntj0E9IBeI76acJ2yU,36769
3
3
  bluecellulab/connection.py,sha256=-xT0mU7ppeHI_qjCKj17TtxXVVcUDgBsaMKt9ODmcEU,4640
4
4
  bluecellulab/dendrogram.py,sha256=FjS6RZ6xcp5zJoY5d5qv_edqPM13tL2-UANgbZuDBjY,6427
5
5
  bluecellulab/exceptions.py,sha256=1lKD92VIyD8cUggAI1SLxeKzj_09Ik_TlHCzPLCvDHg,2379
6
6
  bluecellulab/graph.py,sha256=o-9NnRrli0AqfGcw0-nhjaICH2IeqCH76uAlbZbo2dQ,3419
7
7
  bluecellulab/importer.py,sha256=ePxoquSRGGK123mR_VWDLKf9CE-N28NXAAY1DCm3T7Y,2900
8
8
  bluecellulab/neuron_interpreter.py,sha256=Nerehh6SNIRcTH8NHvyZvL_axadeix67uer-lRGuw9U,2185
9
- bluecellulab/plotwindow.py,sha256=ePU-EegZ1Sqk0SoYYiQ6k24ZO4s3Hgfpx10uePiJ5xM,2721
9
+ bluecellulab/plotwindow.py,sha256=496tNvrd7xQ9SbSLRXF1VPIvWWqA2jl03-ZPMJ-wx_0,2756
10
10
  bluecellulab/psection.py,sha256=FSOwRNuOTyB469BM-jPEf9l1J59FamXmzrQgBI6cnP4,6174
11
11
  bluecellulab/psegment.py,sha256=PTgoGLqM4oFIdF_8QHFQCU59j-8TQmtq6PakiGUQhIo,3138
12
12
  bluecellulab/rngsettings.py,sha256=2Ykb4Ylk3XTs58x1UIxjg8XJqjSpnCgKRZ8avXCDpxk,4237
13
13
  bluecellulab/tools.py,sha256=OamYjgBBBiUiXlf4zCDOjI-SuA6o9Ck8UsKsAi_8gEg,19483
14
14
  bluecellulab/type_aliases.py,sha256=DvgjERv2Ztdw_sW63JrZTQGpJ0x5uMTFB5hcBHDb0WA,441
15
- bluecellulab/utils.py,sha256=0NhwlzyLnSi8kziSfDsQf7pokO4qDkMJVAO33kSX4O0,2227
15
+ bluecellulab/utils.py,sha256=tATZ814TtQO3fTsm5Q0KiANCDLFDZYtkfFQlI-Kxx_U,2228
16
16
  bluecellulab/verbosity.py,sha256=T0IgX7DrRo19faxrT4Xzb27gqxzoILQ8FzYKxvUeaPM,1342
17
17
  bluecellulab/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  bluecellulab/analysis/analysis.py,sha256=qZN2R7IKMOda8sVEDU61TkTDNUbaZjIWbwP3pM6Fcm8,24184
@@ -38,16 +38,16 @@ bluecellulab/cell/ballstick/morphology.asc,sha256=EO0VIRilJAwpiDP2hIevwusfvYptNY
38
38
  bluecellulab/circuit/__init__.py,sha256=Khpa13nzNvDlDS2JduyoFTukEduEkWCc5ML_JwGpmZs,361
39
39
  bluecellulab/circuit/format.py,sha256=90gWOXg6HK0R9a4WFSnnRH8XezxmzOGk5dRpJHbvbbU,1674
40
40
  bluecellulab/circuit/iotools.py,sha256=Q65xYDaiensMtrulC3OLsS2_hcWr_Kje0nXFrAizMMo,1589
41
- bluecellulab/circuit/node_id.py,sha256=FdoFAGq0_sCyQySOuNI0chdbVr3L8R0w2Y1em5MyIDA,1265
41
+ bluecellulab/circuit/node_id.py,sha256=g_f_PvjaX59yXBTWRIpXibbgFny6xBWVErjVErahTTc,1259
42
42
  bluecellulab/circuit/simulation_access.py,sha256=8LX5nbKw_Hu7AR3pGLdTFGwehvhaj-r8Mh1q3dVoiVg,7745
43
43
  bluecellulab/circuit/synapse_properties.py,sha256=TvUMiXZAAeYo1zKkus3z1EUvrE9QCIQ3Ze-jSnPSJWY,6374
44
44
  bluecellulab/circuit/validate.py,sha256=wntnr7oIDyasqD1nM-kqz1NpfWDxBGhx0Ep3e5hHXIw,3593
45
45
  bluecellulab/circuit/circuit_access/__init__.py,sha256=sgp6m5kP-pq60V1IFGUiSUR1OW01zdxXNNUJmPA8anI,201
46
- bluecellulab/circuit/circuit_access/bluepy_circuit_access.py,sha256=m5PWSYrrkORb55HN1ZgJpQFLeSHxsNBtzyJ1n0zuVro,14295
46
+ bluecellulab/circuit/circuit_access/bluepy_circuit_access.py,sha256=Ivj7RqIK0OYUuraTpQU1h_oeE2somBn_Tnji6XcjFt8,14383
47
47
  bluecellulab/circuit/circuit_access/definition.py,sha256=_sUU0DkesGOFW82kS1G9vki0o0aQP76z3Ltk7Vo9KK4,4435
48
- bluecellulab/circuit/circuit_access/sonata_circuit_access.py,sha256=tADHxVZw4VgZAz2z4NKMUwc0rd_EO40EZggw5fDhnF4,10411
48
+ bluecellulab/circuit/circuit_access/sonata_circuit_access.py,sha256=OfqVS3z_t7dsnRuihF15fW-KuOCd7BXqRoFblpo2VL4,10441
49
49
  bluecellulab/circuit/config/__init__.py,sha256=aaoJXRKBJzpxxREo9NxKc-_CCPmVeuR1mcViRXcLrC4,215
50
- bluecellulab/circuit/config/bluepy_simulation_config.py,sha256=V3eqOzskX7VrMDpl-nMQVEhDg8QWgRmRduyJBii5sgI,6974
50
+ bluecellulab/circuit/config/bluepy_simulation_config.py,sha256=3l0TqoQhsltvQnF-rKK_zFEu0-L6dAhW-Ch6z9C4wZw,7216
51
51
  bluecellulab/circuit/config/definition.py,sha256=cotKRDHOjzZKNgNSrZ29voU-66W8jaGt5yuge1hyv18,2953
52
52
  bluecellulab/circuit/config/sections.py,sha256=QRnU44-OFvHxcF1LX4bAEP9dk3I6UKsuPNBbWkdfmRE,7151
53
53
  bluecellulab/circuit/config/sonata_simulation_config.py,sha256=M3dD9B69VK01lRaR84PiAj8th-x8hrAE80IpGDLqvi8,8056
@@ -76,9 +76,9 @@ bluecellulab/synapse/__init__.py,sha256=RW8XoAMXOvK7OG1nHl_q8jSEKLj9ZN4oWf2nY9HA
76
76
  bluecellulab/synapse/synapse_factory.py,sha256=NHwRMYMrnRVm_sHmyKTJ1bdoNmWZNU4UPOGu7FCi-PE,6987
77
77
  bluecellulab/synapse/synapse_types.py,sha256=zs_yBvGTH4QrbQF3nEViidyq1WM_ZcTSFdjUxB3khW0,16871
78
78
  bluecellulab/validation/validation.py,sha256=D35LE_131CtIzeeePAPz1OFzncGjAcvF02lSIvGvL2E,21331
79
- bluecellulab-2.6.72.dist-info/licenses/AUTHORS.txt,sha256=EDs3H-2HXBojbma10psixk3C2rFiOCTIREi2ZAbXYNQ,179
80
- bluecellulab-2.6.72.dist-info/licenses/LICENSE,sha256=dAMAR2Sud4Nead1wGFleKiwTZfkTNZbzmuGfcTKb3kg,11335
81
- bluecellulab-2.6.72.dist-info/METADATA,sha256=wlI-kK0juc84JZFmdgzQLXarBPJ8gWpc2riGNVHZsg8,8359
82
- bluecellulab-2.6.72.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
83
- bluecellulab-2.6.72.dist-info/top_level.txt,sha256=VSyEP8w9l3pXdRkyP_goeMwiNA8KWwitfAqUkveJkdQ,13
84
- bluecellulab-2.6.72.dist-info/RECORD,,
79
+ bluecellulab-2.6.73.dist-info/licenses/AUTHORS.txt,sha256=EDs3H-2HXBojbma10psixk3C2rFiOCTIREi2ZAbXYNQ,179
80
+ bluecellulab-2.6.73.dist-info/licenses/LICENSE,sha256=dAMAR2Sud4Nead1wGFleKiwTZfkTNZbzmuGfcTKb3kg,11335
81
+ bluecellulab-2.6.73.dist-info/METADATA,sha256=5caaaN9HbahBUG9GX5Q4jhWNe4NiREQHB2WqfPdj8Sc,8354
82
+ bluecellulab-2.6.73.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
83
+ bluecellulab-2.6.73.dist-info/top_level.txt,sha256=VSyEP8w9l3pXdRkyP_goeMwiNA8KWwitfAqUkveJkdQ,13
84
+ bluecellulab-2.6.73.dist-info/RECORD,,