Skip to content

Commit 0ec1fc3

Browse files
authored
Merge pull request #749 from apdavison/update-ci
Use NEST v3.3 and NEURON v8.1 for CI
2 parents 435aded + 942e7fc commit 0ec1fc3

15 files changed

Lines changed: 34 additions & 23 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
x86_64
2222
i386
2323
i686
24+
arm64
2425
_build
2526

2627
# Python files

.travis.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
language: python
2-
dist: bionic
2+
dist: focal
33
matrix:
44
include:
55
- python: 3.7
@@ -17,7 +17,7 @@ after_success:
1717
- bash ci/upload_coveralls.sh
1818
cache:
1919
directories:
20-
- $HOME/nest-3.0
21-
- $HOME/nrn-8.0.0
22-
- $HOME/build/nest-3.0
20+
- $HOME/nest-simulator-3.3
21+
- $HOME/nrn-8.1
22+
- $HOME/build/nest-simulator-3.3
2323
- $HOME/.cache/pip

ci/install_nest.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ if [ "$TRAVIS_PYTHON_VERSION" == "3.9" ]; then
66
echo -e "\n========== Installing NEST ==========\n"
77
# Specify which version of NEST to install
88
#export NEST_VERSION="master"
9-
export NEST_VERSION="3.1"
9+
export NEST_VERSION="3.3"
1010

1111
pip install cython
1212

ci/install_neuron.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ set -e # stop execution in case of errors
44

55
if [ "$TRAVIS_PYTHON_VERSION" == "3.9" ]; then
66
echo -e "\n========== Installing NEURON ==========\n"
7-
export NRN_VERSION="nrn-8.0.0"
7+
export NRN_VERSION="nrn-8.1"
88
export VENV=`python -c "import sys; print(sys.prefix)"`
99

1010
if [ ! -f "$HOME/$NRN_VERSION/build/CMakeCache.txt" ]; then
1111
echo 'Cloning NEURON sources from GitHub'
12-
git clone https://github.com/neuronsimulator/nrn -b 8.0.0 $HOME/$NRN_VERSION
12+
git clone https://github.com/neuronsimulator/nrn -b release/8.1 $HOME/$NRN_VERSION
1313
mkdir -p $HOME/$NRN_VERSION/build
1414
else
1515
echo 'Using cached NEURON build directory.'

pyNN/nest/populations.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ def _create_cells(self):
161161
size=self.size)
162162
try:
163163
self.node_collection = nest.Create(nest_model, self.size, params=params)
164-
except nest.kernel.NESTError as err:
164+
except nest.NESTError as err:
165165
if "UnknownModelName" in err.args[0] and "cond" in err.args[0]:
166166
raise errors.InvalidModelError("%s Have you compiled NEST with the GSL (Gnu Scientific Library)?" % err)
167167
if "Spike times must be sorted in non-descending order" in err.args[0]:
@@ -212,7 +212,7 @@ def _set_initial_value_array(self, variable, value):
212212
simulator.state.set_status(self.node_collection, variable, local_values)
213213
else:
214214
simulator.state.set_status(self.node_collection[self._mask_local], variable, local_values)
215-
except nest.kernel.NESTError as e:
215+
except nest.NESTError as e:
216216
if "Unused dictionary items" in e.args[0]:
217217
logger.warning("NEST does not allow setting an initial value for %s" % variable)
218218
# should perhaps check whether value-to-be-set is the same as current value,

pyNN/nest/projections.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ def _convergent_connect(self, presynaptic_indices, postsynaptic_index,
306306
if name in self._common_synapse_property_names:
307307
self._set_common_synapse_property(name, value)
308308

309-
except nest.kernel.NESTError as e:
309+
except nest.NESTError as e:
310310
errmsg = "%s. presynaptic_cells=%s, postsynaptic_cell=%s, weights=%s, delays=%s, synapse model='%s'" % (
311311
e, presynaptic_cells, postsynaptic_cell,
312312
weights, delays, self.nest_synapse_model)

pyNN/nest/recording.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ def _set_status(obj, parameters):
2727
"""Wrapper around nest.SetStatus() to add a more informative error message."""
2828
try:
2929
nest.SetStatus(obj, parameters)
30-
except nest.kernel.NESTError as e:
31-
raise nest.kernel.NESTError("%s. Parameter dictionary was: %s" % (e, parameters))
30+
except nest.NESTError as e:
31+
raise nest.NESTError("%s. Parameter dictionary was: %s" % (e, parameters))
3232

3333

3434
class RecordingDevice(object):

pyNN/nest/simulator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def _get(self):
5151
def _set(self, val):
5252
try:
5353
nest.SetKernelStatus({name: dtype(val)})
54-
except nest.kernel.NESTError as e:
54+
except nest.NESTError as e:
5555
reraise(e, "%s = %s (%s)" % (name, val, type(val)))
5656
return property(fget=_get, fset=_set)
5757

@@ -76,7 +76,7 @@ def __init__(self):
7676
try:
7777
nest.Install('pynn_extensions')
7878
self.extensions_loaded = True
79-
except nest.kernel.NESTError as err:
79+
except nest.NESTError as err:
8080
self.extensions_loaded = False
8181
self.initialized = False
8282
self.optimize = False

pyNN/nest/standardmodels/synapses.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def _get_nest_synapse_model(self):
5353
logger.warning(", ".join(model for model in base_model))
5454
base_model = list(base_model)[0]
5555
logger.warning("By default, %s is used" % base_model)
56-
available_models = nest.Models(mtype='synapses')
56+
available_models = nest.synapse_models
5757
if base_model not in available_models:
5858
raise ValueError("Synapse dynamics model '%s' not a valid NEST synapse model. "
5959
"Possible models in your NEST build are: %s" % (base_model, available_models))

pyNN/nest/synapses.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def get_synapse_defaults(model_name):
2323
'property_object', 'element_type', 'type', 'sizeof',
2424
'has_delay', 'synapse_model', 'requires_symmetric',
2525
'weight_recorder', 'init_flag', 'next_readout_time',
26-
'synapse_id']
26+
'synapse_id', 'synapse_modelid']
2727
default_params = {}
2828
for name, value in defaults.items():
2929
if name not in ignore:
@@ -44,7 +44,7 @@ def _get_nest_synapse_model(self):
4444
synapse_defaults.pop("tau_minus", None)
4545
try:
4646
nest.SetDefaults(self.nest_name + '_lbl', synapse_defaults)
47-
except nest.lib.hl_api_exceptions.NESTError as err:
47+
except nest.NESTError as err:
4848
if not state.extensions_loaded:
4949
raise NoModelAvailableError(
5050
"{self.__class__.__name__} is not available."

0 commit comments

Comments
 (0)