Skip to main content

PyRates

License CircleCI PyPI version Documentation Status Python DOI

PyRates is a framework for dynamical systems modeling, developed by Richard Gast and Daniel Rose. It is an open-source project that everyone is welcome to contribute to.

Basic features

Basic features:

  • Frontend:
    • implement models via a frontend of your choice: YAML or Python
    • create basic mathematical building blocks (i.e. differential equations and algebraic equations) and use them to define a networks of nodes connected by edges
    • create hierarchical networks by connecting networks via edges
  • Backend:
    • choose from a number of different backends
    • NumPy backend for dynamical systems modeling on CPUs via Python
    • Tensorflow and PyTorch backends for parameter optimization via gradient descent and dynamical systems modeling on GPUs
    • Julia backend for dynamical system modeling in Julia, via tools such as DifferentialEquations.jl
    • Fortran backend for dynamical systems modeling via Fortran 90 and interfacing the parameter continuation software Auto-07p
    • Matlab backend for differential equation solving via Matlab
  • Other features:
    • perform quick numerical simulations via a single function call
    • choose between different numerical solvers
    • perform parameter sweeps over multiple parameters at once
    • generate backend-specific run functions that evaluate the vector field of your dynamical system
    • Implement dynamic edge equations that include scalar delays or delay distributions (delay distributions are automatically translated into gamma-kernel convolutions)
    • choose from various pre-implemented dynamical systems that can be directly used for simulations or integrated into custom models

Installation

Stable release (PyPI)

PyRates can be installed via the pip command. We recommend to use Anaconda to create a new python environment with Python >= 3.6 and then simply run the following line from a terminal with the environment being activated:

pip install pyrates

You can install optional (non-default) packages by specifying one or more options in brackets, e.g.:

pip install pyrates[backends]

Available options are backends, dev, and all at the moment. The latter includes all optional packages. Furthermore, the option tests includes all packages necessary to run tests found in the github repository.

Development version (github)

Alternatively, it is possible to clone this repository and run one of the following lines from the directory in which the repository was cloned:

python setup.py install

or

pip install '.[<options>]'

Documentation

For a full API of PyRates, see https://pyrates.readthedocs.io/en/latest/. For examplary simulations and model configurations, please have a look at the jupyter notebooks provided in the documenation folder.

Reference

If you use this framework, please cite: Gast, R., Rose, D., Salomon, C., Möller, H. E., Weiskopf, N., & Knösche, T. R. (2019). PyRates-A Python framework for rate-based neural simulations. PloS one, 14(12), e0225900.

Contact

If you have questions, problems or suggestions regarding PyRates, please contact Richard Gast.

Release files for pyrates 0.17.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyrates 0.17.4
File Size Uploaded
pyrates-0.17.4.tar.gz 120.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyrates 0.17.4
File Interpreter ABI Platform
pyrates-0.17.4-py3-none-any.whl Python 3 none any Details

Total release size: 290.4 kB

Release files / pyrates-0.17.4.tar.gz

Download URL pyrates-0.17.4.tar.gz
Size 120.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9b66b97b9098873fd9acb5a1017a8c64aa0c15b83672e189de0c77cdc1a2d9df
BLAKE2b-256 checksum
How to use checksums
0725117606168a203e4eda7254f917705314a23ac6402332c3beda33c4a61b41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.16

Release files / pyrates-0.17.4-py3-none-any.whl

Download URL pyrates-0.17.4-py3-none-any.whl
Size 169.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2780c47b1dd7f178e347437a5212abd43f15eb4ea746d743b48f1455b49b64af
BLAKE2b-256 checksum
How to use checksums
047e105aec6ab4adbdc77ed6cb3f6f075cf097f809ac0104181e1801b2284997
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.16

Release history Release notifications | RSS feed

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

This release

0.17.4 This release

2 release files

0.17.3

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.2

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.0

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page