pyrates


Namepyrates JSON
Version 1.0.5 PyPI version JSON
download
home_pageNone
SummaryDynamical Systems Modeling Framework
upload_time2024-03-31 21:51:32
maintainerNone
docs_urlNone
authorRichard Gast, Daniel Rose
requires_python>=3.6
licenseGPL v3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            PyRates
=======

[![License](https://img.shields.io/github/license/pyrates-neuroscience/PyRates.svg)](https://github.com/pyrates-neuroscience/PyRates) 
[![CircleCI](https://circleci.com/gh/pyrates-neuroscience/PyRates/tree/master.svg?style=svg)](https://circleci.com/gh/pyrates-neuroscience/PyRates/tree/master)
[![PyPI version](https://badge.fury.io/py/pyrates.svg)](https://badge.fury.io/py/pyrates)
[![Documentation Status](https://readthedocs.org/projects/pyrates/badge/?version=latest)](https://pyrates.readthedocs.io/en/latest/?badge=latest)
[![Python](https://img.shields.io/pypi/pyversions/pyrates.svg?style=plastic)](https://badge.fury.io/py/pyrates)
[![DOI](https://zenodo.org/badge/162463287.svg)](https://zenodo.org/badge/latestdoi/162463287)

<img src="https://github.com/pyrates-neuroscience/PyRates/blob/master/PyRates_logo_color.png" width="20%" heigth="20%" align="right">

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.

References
==========

If you use this framework, please cite:

[Gast, R., Knösche, T. R. & Kennedy, A. (2023). PyRates - A Code-Generation Tool for Dynamical Systems Modeling. PLOS Computational Biology 19 (12), e1011761.](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011761)

and

[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.](https://doi.org/10.1371/journal.pone.0225900)

Other work that used PyRates:

[Weise, K., Poßner, L., Müller, E., Gast, R. & Knösche, T. R. (2020) Software X, 11:100450.](https://www.sciencedirect.com/science/article/pii/S2352711020300078)

[Gast, R., Gong, R., Schmidt, H., Meijer, H.G.E., & Knösche, T.R. (2021) On the Role of Arkypallidal and Prototypical Neurons for Phase Transitions in the External Pallidum. Journal of Neuroscience, 41(31):6673-6683.](https://www.jneurosci.org/content/41/31/6673.abstract)

[Gast, R., Solla, S.A. & Kennedy, A. (2023). Macroscopic dynamics of neural networks with heterogeneous spiking thresholds. Physical Review E, 107(2):024306.](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.107.024306)


Contact
=======

If you have questions, problems or suggestions regarding PyRates, please contact [Richard Gast](https://www.richardgast.me).



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyrates",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "Richard Gast, Daniel Rose",
    "author_email": "richard.gast@northwestern.edu",
    "download_url": "https://files.pythonhosted.org/packages/85/d3/3c0d1ec0372bd59b6e7390ab2ffff862b2b1525b45d87ba0ead297192961/pyrates-1.0.5.tar.gz",
    "platform": null,
    "description": "PyRates\n=======\n\n[![License](https://img.shields.io/github/license/pyrates-neuroscience/PyRates.svg)](https://github.com/pyrates-neuroscience/PyRates) \n[![CircleCI](https://circleci.com/gh/pyrates-neuroscience/PyRates/tree/master.svg?style=svg)](https://circleci.com/gh/pyrates-neuroscience/PyRates/tree/master)\n[![PyPI version](https://badge.fury.io/py/pyrates.svg)](https://badge.fury.io/py/pyrates)\n[![Documentation Status](https://readthedocs.org/projects/pyrates/badge/?version=latest)](https://pyrates.readthedocs.io/en/latest/?badge=latest)\n[![Python](https://img.shields.io/pypi/pyversions/pyrates.svg?style=plastic)](https://badge.fury.io/py/pyrates)\n[![DOI](https://zenodo.org/badge/162463287.svg)](https://zenodo.org/badge/latestdoi/162463287)\n\n<img src=\"https://github.com/pyrates-neuroscience/PyRates/blob/master/PyRates_logo_color.png\" width=\"20%\" heigth=\"20%\" align=\"right\">\n\nPyRates is a framework for dynamical systems modeling, developed by Richard Gast and Daniel Rose. \nIt is an open-source project that everyone is welcome to contribute to.\n\nBasic features\n===============\n\nBasic features:\n---------------\n\n- Frontend:\n   - implement models via a frontend of your choice: *YAML* or *Python*\n   - create basic mathematical building blocks (i.e. differential equations and algebraic equations) and use them to define a networks of nodes connected by edges\n   - create hierarchical networks by connecting networks via edges\n- Backend:\n   - choose from a number of different backends\n   - `NumPy` backend for dynamical systems modeling on CPUs via *Python*\n   - `Tensorflow` and `PyTorch` backends for parameter optimization via gradient descent and dynamical systems modeling on GPUs\n   - `Julia` backend for dynamical system modeling in *Julia*, via tools such as `DifferentialEquations.jl`\n   - `Fortran` backend for dynamical systems modeling via *Fortran 90* and interfacing the parameter continuation software *Auto-07p*\n   - `Matlab` backend for differential equation solving via Matlab\n- Other features:\n   - perform quick numerical simulations via a single function call\n   - choose between different numerical solvers\n   - perform parameter sweeps over multiple parameters at once\n   - generate backend-specific run functions that evaluate the vector field of your dynamical system\n   - Implement dynamic edge equations that include scalar delays or delay distributions (delay distributions are automatically translated into gamma-kernel convolutions)\n   - choose from various pre-implemented dynamical systems that can be directly used for simulations or integrated into custom models\n\nInstallation\n============\n\nStable release (PyPI)\n---------------------\n\nPyRates 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:\n```\npip install pyrates\n```\n\nYou can install optional (non-default) packages by specifying one or more options in brackets, e.g.:\n```\npip install pyrates[backends]\n```\n\nAvailable options are `backends`, `dev`, and `all` at the moment. \nThe latter includes all optional packages. \nFurthermore, the option `tests` includes all packages necessary to run tests found in the github repository.\n\nDevelopment version (github)\n----------------------------\n\nAlternatively, it is possible to clone this repository and run one of the following lines \nfrom the directory in which the repository was cloned:\n```\npython setup.py install\n```\nor\n```\npip install '.[<options>]'\n```\n\nDocumentation\n=============\n\nFor a full API of PyRates, see https://pyrates.readthedocs.io/en/latest/.\nFor examplary simulations and model configurations, please have a look at the jupyter notebooks provided in the documenation folder.\n\nReferences\n==========\n\nIf you use this framework, please cite:\n\n[Gast, R., Kn\u00f6sche, T. R. & Kennedy, A. (2023). PyRates - A Code-Generation Tool for Dynamical Systems Modeling. PLOS Computational Biology 19 (12), e1011761.](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011761)\n\nand\n\n[Gast, R., Rose, D., Salomon, C., M\u00f6ller, H. E., Weiskopf, N., & Kn\u00f6sche, T. R. (2019). PyRates-A Python framework for rate-based neural simulations. PloS one, 14(12):e0225900.](https://doi.org/10.1371/journal.pone.0225900)\n\nOther work that used PyRates:\n\n[Weise, K., Po\u00dfner, L., M\u00fcller, E., Gast, R. & Kn\u00f6sche, T. R. (2020) Software X, 11:100450.](https://www.sciencedirect.com/science/article/pii/S2352711020300078)\n\n[Gast, R., Gong, R., Schmidt, H., Meijer, H.G.E., & Kn\u00f6sche, T.R. (2021) On the Role of Arkypallidal and Prototypical Neurons for Phase Transitions in the External Pallidum. Journal of Neuroscience, 41(31):6673-6683.](https://www.jneurosci.org/content/41/31/6673.abstract)\n\n[Gast, R., Solla, S.A. & Kennedy, A. (2023). Macroscopic dynamics of neural networks with heterogeneous spiking thresholds. Physical Review E, 107(2):024306.](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.107.024306)\n\n\nContact\n=======\n\nIf you have questions, problems or suggestions regarding PyRates, please contact [Richard Gast](https://www.richardgast.me).\n\n\n",
    "bugtrack_url": null,
    "license": "GPL v3",
    "summary": "Dynamical Systems Modeling Framework",
    "version": "1.0.5",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "baa97cd30f41beab3dfcd37e43b3344950ca00a8611681fe322521981f183100",
                "md5": "3cc4ae60cad5289be0cb680641c0d186",
                "sha256": "68a4caebf20ac8cd4f4370beae107ba3c06698397ae3292f5645edacfc07d1b2"
            },
            "downloads": -1,
            "filename": "pyrates-1.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3cc4ae60cad5289be0cb680641c0d186",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 170217,
            "upload_time": "2024-03-31T21:51:30",
            "upload_time_iso_8601": "2024-03-31T21:51:30.191035Z",
            "url": "https://files.pythonhosted.org/packages/ba/a9/7cd30f41beab3dfcd37e43b3344950ca00a8611681fe322521981f183100/pyrates-1.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "85d33c0d1ec0372bd59b6e7390ab2ffff862b2b1525b45d87ba0ead297192961",
                "md5": "30036916036e84c171b7142412381890",
                "sha256": "3bc5c5ac4a9f615e54005aa7f2dfa7001c7ac931f0854991e6ab4546d782f6ea"
            },
            "downloads": -1,
            "filename": "pyrates-1.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "30036916036e84c171b7142412381890",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 122179,
            "upload_time": "2024-03-31T21:51:32",
            "upload_time_iso_8601": "2024-03-31T21:51:32.415158Z",
            "url": "https://files.pythonhosted.org/packages/85/d3/3c0d1ec0372bd59b6e7390ab2ffff862b2b1525b45d87ba0ead297192961/pyrates-1.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-31 21:51:32",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pyrates"
}
        
Elapsed time: 0.21595s