Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into HEAD
Browse files Browse the repository at this point in the history
  • Loading branch information
C.A.P. Linssen committed Dec 4, 2023
2 parents 85443e1 + b8b6850 commit d7479fd
Show file tree
Hide file tree
Showing 218 changed files with 16,575 additions and 1,930 deletions.
73 changes: 71 additions & 2 deletions .github/workflows/nestml-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,12 @@ jobs:
done;
exit $rc
build_and_test:
build_and_test_nest:
needs: [static_checks]
runs-on: ubuntu-latest
strategy:
matrix:
nest_branch: ["v2.20.2", "v3.0", "v3.5", "master"]
nest_branch: ["v2.20.2", "v3.0", "v3.6", "master"]
fail-fast: false
steps:
# Checkout the repository contents
Expand Down Expand Up @@ -247,3 +247,72 @@ jobs:
done;
cd $GITHUB_WORKSPACE
exit $rc
build_and_test_nest_compartmental:
needs: [static_checks]
runs-on: ubuntu-latest
strategy:
matrix:
nest_branch: ["master"]
fail-fast: false
steps:
# Checkout the repository contents
- name: Checkout NESTML code
uses: actions/checkout@v3

# Setup Python version
- name: Setup Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8

# Install dependencies
- name: Install apt dependencies
run: |
sudo apt-get update
sudo apt-get install libltdl7-dev libgsl0-dev libncurses5-dev libreadline6-dev pkg-config
sudo apt-get install python3-all-dev python3-matplotlib python3-numpy python3-scipy ipython3
# Install Python dependencies
- name: Python dependencies
run: |
python -m pip install --upgrade pip pytest jupyterlab matplotlib pycodestyle scipy pandas
python -m pip install -r requirements.txt
# Install NEST simulator
- name: NEST simulator
run: |
python -m pip install cython
echo "GITHUB_WORKSPACE = $GITHUB_WORKSPACE"
NEST_SIMULATOR=$(pwd)/nest-simulator
NEST_INSTALL=$(pwd)/nest_install
echo "NEST_SIMULATOR = $NEST_SIMULATOR"
echo "NEST_INSTALL = $NEST_INSTALL"
git clone --depth=1 https://github.com/nest/nest-simulator --branch ${{ matrix.nest_branch }}
mkdir nest_install
echo "NEST_INSTALL=$NEST_INSTALL" >> $GITHUB_ENV
cd nest_install
cmake -DCMAKE_INSTALL_PREFIX=$NEST_INSTALL $NEST_SIMULATOR
make && make install
cd ..
# Install NESTML (repeated)
- name: Install NESTML
run: |
export PYTHONPATH=${{ env.PYTHONPATH }}:${{ env.NEST_INSTALL }}/lib/python3.8/site-packages
#echo PYTHONPATH=`pwd` >> $GITHUB_ENV
echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV
python setup.py install
# Integration tests
- name: Run integration tests
env:
LD_LIBRARY_PATH: ${{ env.NEST_INSTALL }}/lib/nest
run: |
rc=0
for fn in $GITHUB_WORKSPACE/tests/nest_compartmental_tests/*.py; do
pytest -s -o log_cli=true -o log_cli_level="DEBUG" ${fn} || rc=1
done;
exit $rc
11 changes: 10 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
.settings/
target/
.idea/
.vscode
.mypy_cache/
.pytest_cache/
build/
buildNest/
venv/
spinnaker-install/
spinnaker-target/
report/
reports/
nestml-*/
*.egg-info
stash/


__*
Expand All @@ -16,7 +25,7 @@ PyNESTML.egg-info/
*.pyc

!__init__.py

!*.jinja2
*.jar
venv

Expand Down
4 changes: 4 additions & 0 deletions doc/citing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ In general, please cite the software release that you are using. In case you wis
Software releases
-----------------

Charl A.P. Linssen, Pooja N. Babu, Jochen M. Eppler, Leander Ewert, Krzysztof Blaszczyk, Willem Wybo, Beck Strohmer, Bernhard Rumpe and Abigail Morrison (2023). **NESTML 7.0.0.** Zenodo. `doi:10.5281/zenodo.10125416 <https://doi.org/10.5281/zenodo.10125416>`_.

Charl A.P. Linssen, Pooja N. Babu, Levin Schmidt, Tom Tetzlaff, Maryada, Mohamed Ayssar Benelhedi, Jochen M. Eppler, Bernhard Rumpe and Abigail Morrison (2023). **NESTML 6.0.0.** Zenodo. `doi:10.5281/zenodo.8380365 <https://doi.org/10.5281/zenodo.8380365>`_.

Charl A.P. Linssen, Pooja N. Babu, Jingxuan He, Jochen Martin Eppler, Bernhard Rumpe and Abigail Morrison (2022). **NESTML 5.1.0.** Zenodo. `doi:10.5281/zenodo.7071624 <https://doi.org/10.5281/zenodo.7071624>`_.

Charl A.P. Linssen, Pooja N. Babu, Ayssar Benelhedi, Robin De Schepper, Tanguy Fardet, Jochen Martin Eppler, Bernhard Rumpe and Abigail Morrison (2022). **NESTML 5.0.0.** Zenodo. `doi:10.5281/zenodo.5784175 <https://doi.org/10.5281/zenodo.5784175>`_.
Expand Down
169 changes: 169 additions & 0 deletions doc/fig/spinnaker_logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 26 additions & 2 deletions doc/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,31 @@ NESTML can then be installed into your local user directory via:

.. code-block:: bash
pip install --pre nestml
pip install nestml
Installing the latest release from PPA (Linux)
----------------------------------------------

NESTML can be installed via the ``apt`` package manager. This requires superuser (sudo) access. First, add the NEST PPA:

.. code-block:: bash
sudo add-apt-repository ppa:nest-simulator/nest
Then update the index and install the necessary packages:

.. code-block:: bash
sudo apt update
sudo apt install nest python3-nestml
python3 -m pip install --upgrade odetoolbox pygsl antlr4-python3-runtime==4.10
Before running NEST or NESTML, make sure the correct environment variables are set by running the following command:

.. code-block:: bash
source /usr/bin/nest_vars.sh
Installing the latest development version from GitHub
Expand Down Expand Up @@ -65,7 +89,7 @@ In preparation, `create a conda environment with NEST <https://nest-simulator.re
conda create --name wnestml
conda activate wnestml
conda install -c conda-forge nest-simulator ipython cxx-compiler pyqt wxpython
conda install -c conda-forge nest-simulator ipython cxx-compiler pyqt wxpython boost boost-cpp libboost
pip install nestml
Test the path to ``c++``:
Expand Down
3 changes: 3 additions & 0 deletions doc/nestml_language/nestml_language_concepts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,9 @@ The following functions are predefined in NESTML and can be used out of the box:
* - ``max``
- x, y
- Returns the maximum of x and y. Both parameters should be of the same type. The return type is equal to the type of the parameters.
* - ``abs``
- x
- Returns the absolute value of x. The return type is equal to the type of x.
* - ``clip``
- x, y, z
- Returns x if it is in [y, z], y if x < y and z if x > z. All parameter types should be the same and equal to the return type.
Expand Down
4 changes: 2 additions & 2 deletions doc/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ nbsphinx==0.9.1
typing_extensions==4.5.0
sphinx_rtd_theme==1.2.0
nbclient==0.7.4

sphinx-design

# the following list is a direct copy from requirements.txt in the root directory (requirements for NESTML itself rather than for doc building)
numpy >= 1.8.2
scipy
sympy >= 1.1.1,!= 1.11, != 1.11.1
antlr4-python3-runtime == 4.10
antlr4-python3-runtime == 4.12
setuptools
Jinja2 >= 2.10
typing;python_version<"3.5"
Expand Down
Loading

0 comments on commit d7479fd

Please sign in to comment.