{"id":15020459,"url":"https://github.com/pyrates-neuroscience/pyrates","last_synced_at":"2025-10-24T23:40:08.453Z","repository":{"id":38069456,"uuid":"162463287","full_name":"pyrates-neuroscience/PyRates","owner":"pyrates-neuroscience","description":"Open-source, graph-based Python code generator and analysis toolbox for dynamical systems (pre-implemented and custom models). Most pre-implemented models belong to the family of neural population models.","archived":false,"fork":false,"pushed_at":"2024-08-19T19:05:17.000Z","size":73804,"stargazers_count":79,"open_issues_count":2,"forks_count":9,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-03T03:09:24.402Z","etag":null,"topics":["code-generation","delayed-differential-equation","differential-equations","dynamical-systems","fortran90","julia","matlab","network-simulator","neural-networks","numpy","parameter-search","python","pytorch","scientific-computing","scientific-research","simulations","tensorflow"],"latest_commit_sha":null,"homepage":"https://pyrates.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyrates-neuroscience.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-19T16:26:51.000Z","updated_at":"2025-03-27T03:30:39.000Z","dependencies_parsed_at":"2023-01-19T15:03:46.132Z","dependency_job_id":"f29d4def-fb0d-4442-a255-110da3e1c5f2","html_url":"https://github.com/pyrates-neuroscience/PyRates","commit_stats":{"total_commits":1608,"total_committers":9,"mean_commits":"178.66666666666666","dds":0.6299751243781094,"last_synced_commit":"e87639e03837537a6330a91585d735cd4ba6de6c"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyrates-neuroscience%2FPyRates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyrates-neuroscience%2FPyRates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyrates-neuroscience%2FPyRates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyrates-neuroscience%2FPyRates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyrates-neuroscience","download_url":"https://codeload.github.com/pyrates-neuroscience/PyRates/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246927835,"owners_count":20856198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-generation","delayed-differential-equation","differential-equations","dynamical-systems","fortran90","julia","matlab","network-simulator","neural-networks","numpy","parameter-search","python","pytorch","scientific-computing","scientific-research","simulations","tensorflow"],"created_at":"2024-09-24T19:55:06.439Z","updated_at":"2025-10-24T23:40:03.410Z","avatar_url":"https://github.com/pyrates-neuroscience.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"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\u003cimg src=\"https://github.com/pyrates-neuroscience/PyRates/blob/master/PyRates_logo_color.png\" width=\"20%\" heigth=\"20%\" align=\"right\"\u003e\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 \u003e= 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 '.[\u003coptions\u003e]'\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ösche, T. R. \u0026 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öller, H. E., Weiskopf, N., \u0026 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)\n\nOther work that used PyRates:\n\n[Weise, K., Poßner, L., Müller, E., Gast, R. \u0026 Knösche, 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., \u0026 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)\n\n[Gast, R., Solla, S.A. \u0026 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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyrates-neuroscience%2Fpyrates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyrates-neuroscience%2Fpyrates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyrates-neuroscience%2Fpyrates/lists"}