EModelRunner


NameEModelRunner JSON
Version 1.1.19 PyPI version JSON
download
home_pagehttps://github.com/BlueBrain/EModelRunner
SummaryRuns cells from Blue Brain Project cell packages, such as sscx, synapse plasticity, etc.
upload_time2023-11-16 16:40:38
maintainer
docs_urlNone
authorBlue Brain Project, EPFL
requires_python>=3.7
licenseApache 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            |banner|

############
EModelRunner
############

+----------------+------------+
| Latest Release | |pypi|     |
+----------------+------------+
| Documentation  | |docs|     |
+----------------+------------+
| License        | |license|  |
+----------------+------------+
| Build Status 	 | |build|    |
+----------------+------------+
| Coverage       | |coverage| |
+----------------+------------+
| Support        | |gitter|   |
+----------------+------------+
| Citation       | |zenodo|   |
+----------------+------------+

Introduction
============

EModelRunner is a python library designed to run the cell models provided by the Blue Brain portals in a simple and straightforward way.

It consists of two main modules:

- one module designed to show the synapse plasticity phenomenon. It has the following features:

  - ability to run post-synaptic cell with pre-recorded output of pre-synaptic cell
  - ability to run 'full' pair simulations, where both the pre-synaptic and the post-synaptic cells are run at the same time
  - analysis tool to compute the change of EPSPs
  - this module is designed to run the `cells <https://zenodo.org/record/6352774>`_ and reproduce the results from the paper `'A calcium-based plasticity model for predicting long-term potentiation and depression in the neocortex' <https://www.nature.com/articles/s41467-022-30214-w>`_.

- one module designed to run the cells from the SomatoSensoryCortex portal, with the following features:

  - ability to use Steps and Ramps protocols
  - synapse stimulation
  - ability to produce hoc files to run the cells
  - a GUI

Note that EModelRunner is a convenience tool and does not aim to be a universal simulator.

Citation
========

When you use this EModelRunner software for your research, we ask you to cite the following publications (this includes poster presentations):

.. code-block::

    @article{emodelrunner,
        title={EModelRunner},
        DOI={10.5281/zenodo.8116075},
        url={https://doi.org/10.5281/zenodo.8116075}
        abstractNote={EModelRunner is a python library designed to run the cell models provided by the Blue Brain portals in a simple and straightforward way. It consists of two main modules. The first module is designed to show the synapse plasticity phenomenonand to run the cells and reproduce the results from the paper 'A calcium-based plasticity model for predicting long-term potentiation and depression in the neocortex'. The second module is designed to run the cells from the Blue Brain Project SomatoSensoryCortex portal. Note that EModelRunner is a convenience tool and does not aim to be a universal simulator.},
        publisher={Zenodo},
        author={Jaquier, Aurélien and Tuncel, Anil and Van Geit, Werner},
        year={2023},
        month={Jul}
    }

Support
=======

We are providing support using a chat channel on `Gitter <https://gitter.im/BlueBrain/EModelRunner>`_.

Installing EModelRunner
=======================

The usual way to install EModelRunner is using pip. In that case, you probably want to use a python virtual environment.

Install using ``pip``::

    pip install emodelrunner


Installing from source
----------------------

If you want to make changes to emodelrunner, you might want to install it using the
source repository. The same remarks of the section above apply,
the only difference is that you clone the git repo::

   git clone https://github.com/BlueBrain/EModelRunner.git

and run pip from inside the newly created emodelrunner subdirectory
(don't forget the dot at the end of the command)::

    pip install -e .

Supported systems
-----------------

The code of emodelrunner can be installed on any POSIX system that supports
pip-installable python code.


Dependencies
============

The main dependencies of EModelRunner are::

    Python3.7+
    Matplotlib
    Numpy
    Neurom
    H5py
    NEURON
    BluePyOpt
    Schema

Ideally, follow the installation instructions of these tools, or use
pre-installed versions.

Python
------

Modern Linux systems will have Python 2.7 or 3 installed. Make sure that your python version is 3.7 or higher.

Make sure you're using a recent version of pip. It's best to run ::

    pip install pip --upgrade

before installing anything else using pip.


Examples
========

Synapse Plasticity example
--------------------------

You can find an example cell package in example/synplas_sample_dir.
Go to this folder, or to a cell package that has been designed to work with the synapse plasticity functions.

Run the simulation
~~~~~~~~~~~~~~~~~~

Running the simulation should be as easy as::

    sh run.sh config_path

Where ``config_path`` is the path to a specific config file. You will find the available config files in the config folder.
It will run the post-synaptic cell using pre-defined spike train of the pre-synaptic cell to stimulate the synapses.

You can also do a full pair simulation, where both the pre-synaptic and the post-synaptic cells are simulated.
This should be as easy as::

    sh run_pairsim.sh config_path

Where ``config_path`` is the path to a specific config file. You will find the available config files in the config folder.

Once the simulation is done, the output is stored as ``output_{protocol_details}.h5``.
If the precell has been simulated too, its output is stored as ``output_precell_{protocol_details}.h5``.

Please, bear in mind that, since it is difficult to make the pre-synaptic cell spike at exactly the same time as in the pre-recorded spike-train file
(especially when the pre-synaptic cell has to spike multiple times in a row),
the results of the 'full pair' simulation might differ slightly from those of the 'post-synaptic cell only' simulation.

All the config files are working for both the 'post-synaptic cell only' and the 'full pair' simulations.


Analyse the output
~~~~~~~~~~~~~~~~~~

Start by loading the class useful for the analysis with the following command::

    from emodelrunner.synplas_analysis import Experiment

Then create an Experiment instance::

    exp = Experiment(data="output_50Hz_10ms.h5", c01duration=, c02duration=, period=)

With data being the path to your output file, or a dictionary containing the output data,
``c01duration``, respectively ``c02duration``, are the duration of the EPSP monitoring before, respectively after, the induction protocol,
period is the period at which the synapses are stimulated.

Note that the period argument can be replaced by ``c01period`` and ``c02period`` if the period used for the stimulation of the synapses is different after and before the induction protocol.

The change of EPSPs can then be computed by using the compute_epsp_ratio method, as follows::

    EPSP_ratio = exp.compute_epsp_ratio(n=60, method="amplitude)

With ``n`` the number of sweeps to be considered for mean EPSP calculation,
and method the method to use to compute EPSP ratio (can be "amplitude" or "slope").


Sscx example
------------

You can find an example cell package in ``example/sscx_sample_dir``.
Go to this folder, or to a cell package that has been designed to work with the sscx functions.

Run the simulation using python
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Running the simulation should be as easy as::

    sh run.sh config_path

Where ``config_path`` is the path to a specific config file. You will find the available config files in the config folder.
Note that the protocol used will depend on the contents of the config file.

The output can be found under ``python_recordings``.

Run the simulation using hoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can also run the simulation using hoc. In order to do that, you will have to first create the hoc files with the following line::

    python -m emodelrunner.create_hoc --config_path config_path

Where ``config_path`` is the path to a specific config file. You will find the available config files in the config folder.
Note that not all the protocols in the config files can be turned into hoc yet.

Then run the simulation with::

    sh run_hoc.sh

The output can be found under python_recordings.


GUI
~~~

|GUI_screenshot|

There is also a GUI available for the sscx cells. To launch it, you have to go in a sscx-compatible cell package, and then type::

    python -m emodelrunner.GUI --config_path config_path

The usage of the GUI is pretty much self-explanatory.

In the upper part of the left column, you have the display configuration. You may want to change the figure size depending on your screen size for optimal display.
In the lower part of the left column is the step and holding stimuli configuration. You can put both to custom stimulus and set them to 0 if you don't want to have any step stimulus.

In the right column you have the synapse stimuli configuration. Check the box of each synapse mtype you want to receive stimuli from.
The activated synapses will display on the right figure with red dots for excitatory synapses and yellow dots for inhibitory synapses.
You can then set on the right column at which time each synapse group should start firing, at which interval and how many times they should fire, and if they should have any noise.

In the center part of the GUI, you have two plots of the cell, the one on the left showing the voltage at each section, and the one on the right showing the synapses locations.
You can change the rotation of both plots in 3D with your mouse.
Below is a plot showing the voltage in the soma depending on time. On top, you have three buttons to (re)start the simulation, pause it or resume it.


Funding & Acknowledgements
==========================

The development of this project was supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal Institutes of Technology.


Copyright (c) 2020-2022 Blue Brain Project/EPFL


.. |build| image:: https://github.com/BlueBrain/EModelRunner/actions/workflows/test.yml/badge.svg
                :target: https://github.com/BlueBrain/EModelRunner/actions/workflows/test.yml
                :alt: Build Status

.. |license| image:: https://img.shields.io/badge/License-Apache_2.0-blue.svg
                :target: https://github.com/BlueBrain/EModelRunner/blob/main/LICENSE.txt
                :alt: Build Status

.. |docs| image:: https://readthedocs.org/projects/emodelrunner/badge/?version=latest
                :target: https://emodelrunner.readthedocs.io/en/latest/?badge=latest
                :alt: Documentation Status

.. |coverage| image:: https://codecov.io/gh/BlueBrain/EModelRunner/coverage.svg?branch=main
                :target: https://codecov.io/gh/BlueBrain/EModelRunner?branch=main
                :alt: Coverage

.. |pypi| image:: https://img.shields.io/pypi/v/emodelrunner.svg
                :target: https://pypi.org/project/EModelRunner/
                :alt: Latest Release

.. |GUI_screenshot| image:: doc/source/images/GUI_screenshot.png

.. |banner| image:: https://raw.githubusercontent.com/BlueBrain/EModelRunner/main/doc/source/logo/BBP-eModelRunner.jpg

.. |gitter| image:: https://badges.gitter.im/BlueBrain/EmodelRunner.svg
   :alt: Join the chat at https://gitter.im/BlueBrain/EmodelRunner
   :target: https://gitter.im/BlueBrain/EmodelRunner?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge

.. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.8116075.svg
                :target: https://doi.org/10.5281/zenodo.8116075

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/BlueBrain/EModelRunner",
    "name": "EModelRunner",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "Blue Brain Project, EPFL",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/d9/24/de0468134b93a6f4a46ea69feae65099fa1c9fb2962de014c6f03191b9da/EModelRunner-1.1.19.tar.gz",
    "platform": null,
    "description": "|banner|\n\n############\nEModelRunner\n############\n\n+----------------+------------+\n| Latest Release | |pypi|     |\n+----------------+------------+\n| Documentation  | |docs|     |\n+----------------+------------+\n| License        | |license|  |\n+----------------+------------+\n| Build Status \t | |build|    |\n+----------------+------------+\n| Coverage       | |coverage| |\n+----------------+------------+\n| Support        | |gitter|   |\n+----------------+------------+\n| Citation       | |zenodo|   |\n+----------------+------------+\n\nIntroduction\n============\n\nEModelRunner is a python library designed to run the cell models provided by the Blue Brain portals in a simple and straightforward way.\n\nIt consists of two main modules:\n\n- one module designed to show the synapse plasticity phenomenon. It has the following features:\n\n  - ability to run post-synaptic cell with pre-recorded output of pre-synaptic cell\n  - ability to run 'full' pair simulations, where both the pre-synaptic and the post-synaptic cells are run at the same time\n  - analysis tool to compute the change of EPSPs\n  - this module is designed to run the `cells <https://zenodo.org/record/6352774>`_ and reproduce the results from the paper `'A calcium-based plasticity model for predicting long-term potentiation and depression in the neocortex' <https://www.nature.com/articles/s41467-022-30214-w>`_.\n\n- one module designed to run the cells from the SomatoSensoryCortex portal, with the following features:\n\n  - ability to use Steps and Ramps protocols\n  - synapse stimulation\n  - ability to produce hoc files to run the cells\n  - a GUI\n\nNote that EModelRunner is a convenience tool and does not aim to be a universal simulator.\n\nCitation\n========\n\nWhen you use this EModelRunner software for your research, we ask you to cite the following publications (this includes poster presentations):\n\n.. code-block::\n\n    @article{emodelrunner,\n        title={EModelRunner},\n        DOI={10.5281/zenodo.8116075},\n        url={https://doi.org/10.5281/zenodo.8116075}\n        abstractNote={EModelRunner is a python library designed to run the cell models provided by the Blue Brain portals in a simple and straightforward way. It consists of two main modules. The first module is designed to show the synapse plasticity phenomenonand to run the cells and reproduce the results from the paper 'A calcium-based plasticity model for predicting long-term potentiation and depression in the neocortex'. The second module is designed to run the cells from the Blue Brain Project SomatoSensoryCortex portal. Note that EModelRunner is a convenience tool and does not aim to be a universal simulator.},\n        publisher={Zenodo},\n        author={Jaquier, Aur\u00e9lien and Tuncel, Anil and Van Geit, Werner},\n        year={2023},\n        month={Jul}\n    }\n\nSupport\n=======\n\nWe are providing support using a chat channel on `Gitter <https://gitter.im/BlueBrain/EModelRunner>`_.\n\nInstalling EModelRunner\n=======================\n\nThe usual way to install EModelRunner is using pip. In that case, you probably want to use a python virtual environment.\n\nInstall using ``pip``::\n\n    pip install emodelrunner\n\n\nInstalling from source\n----------------------\n\nIf you want to make changes to emodelrunner, you might want to install it using the\nsource repository. The same remarks of the section above apply,\nthe only difference is that you clone the git repo::\n\n   git clone https://github.com/BlueBrain/EModelRunner.git\n\nand run pip from inside the newly created emodelrunner subdirectory\n(don't forget the dot at the end of the command)::\n\n    pip install -e .\n\nSupported systems\n-----------------\n\nThe code of emodelrunner can be installed on any POSIX system that supports\npip-installable python code.\n\n\nDependencies\n============\n\nThe main dependencies of EModelRunner are::\n\n    Python3.7+\n    Matplotlib\n    Numpy\n    Neurom\n    H5py\n    NEURON\n    BluePyOpt\n    Schema\n\nIdeally, follow the installation instructions of these tools, or use\npre-installed versions.\n\nPython\n------\n\nModern Linux systems will have Python 2.7 or 3 installed. Make sure that your python version is 3.7 or higher.\n\nMake sure you're using a recent version of pip. It's best to run ::\n\n    pip install pip --upgrade\n\nbefore installing anything else using pip.\n\n\nExamples\n========\n\nSynapse Plasticity example\n--------------------------\n\nYou can find an example cell package in example/synplas_sample_dir.\nGo to this folder, or to a cell package that has been designed to work with the synapse plasticity functions.\n\nRun the simulation\n~~~~~~~~~~~~~~~~~~\n\nRunning the simulation should be as easy as::\n\n    sh run.sh config_path\n\nWhere ``config_path`` is the path to a specific config file. You will find the available config files in the config folder.\nIt will run the post-synaptic cell using pre-defined spike train of the pre-synaptic cell to stimulate the synapses.\n\nYou can also do a full pair simulation, where both the pre-synaptic and the post-synaptic cells are simulated.\nThis should be as easy as::\n\n    sh run_pairsim.sh config_path\n\nWhere ``config_path`` is the path to a specific config file. You will find the available config files in the config folder.\n\nOnce the simulation is done, the output is stored as ``output_{protocol_details}.h5``.\nIf the precell has been simulated too, its output is stored as ``output_precell_{protocol_details}.h5``.\n\nPlease, bear in mind that, since it is difficult to make the pre-synaptic cell spike at exactly the same time as in the pre-recorded spike-train file\n(especially when the pre-synaptic cell has to spike multiple times in a row),\nthe results of the 'full pair' simulation might differ slightly from those of the 'post-synaptic cell only' simulation.\n\nAll the config files are working for both the 'post-synaptic cell only' and the 'full pair' simulations.\n\n\nAnalyse the output\n~~~~~~~~~~~~~~~~~~\n\nStart by loading the class useful for the analysis with the following command::\n\n    from emodelrunner.synplas_analysis import Experiment\n\nThen create an Experiment instance::\n\n    exp = Experiment(data=\"output_50Hz_10ms.h5\", c01duration=, c02duration=, period=)\n\nWith data being the path to your output file, or a dictionary containing the output data,\n``c01duration``, respectively ``c02duration``, are the duration of the EPSP monitoring before, respectively after, the induction protocol,\nperiod is the period at which the synapses are stimulated.\n\nNote that the period argument can be replaced by ``c01period`` and ``c02period`` if the period used for the stimulation of the synapses is different after and before the induction protocol.\n\nThe change of EPSPs can then be computed by using the compute_epsp_ratio method, as follows::\n\n    EPSP_ratio = exp.compute_epsp_ratio(n=60, method=\"amplitude)\n\nWith ``n`` the number of sweeps to be considered for mean EPSP calculation,\nand method the method to use to compute EPSP ratio (can be \"amplitude\" or \"slope\").\n\n\nSscx example\n------------\n\nYou can find an example cell package in ``example/sscx_sample_dir``.\nGo to this folder, or to a cell package that has been designed to work with the sscx functions.\n\nRun the simulation using python\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nRunning the simulation should be as easy as::\n\n    sh run.sh config_path\n\nWhere ``config_path`` is the path to a specific config file. You will find the available config files in the config folder.\nNote that the protocol used will depend on the contents of the config file.\n\nThe output can be found under ``python_recordings``.\n\nRun the simulation using hoc\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYou can also run the simulation using hoc. In order to do that, you will have to first create the hoc files with the following line::\n\n    python -m emodelrunner.create_hoc --config_path config_path\n\nWhere ``config_path`` is the path to a specific config file. You will find the available config files in the config folder.\nNote that not all the protocols in the config files can be turned into hoc yet.\n\nThen run the simulation with::\n\n    sh run_hoc.sh\n\nThe output can be found under python_recordings.\n\n\nGUI\n~~~\n\n|GUI_screenshot|\n\nThere is also a GUI available for the sscx cells. To launch it, you have to go in a sscx-compatible cell package, and then type::\n\n    python -m emodelrunner.GUI --config_path config_path\n\nThe usage of the GUI is pretty much self-explanatory.\n\nIn the upper part of the left column, you have the display configuration. You may want to change the figure size depending on your screen size for optimal display.\nIn the lower part of the left column is the step and holding stimuli configuration. You can put both to custom stimulus and set them to 0 if you don't want to have any step stimulus.\n\nIn the right column you have the synapse stimuli configuration. Check the box of each synapse mtype you want to receive stimuli from.\nThe activated synapses will display on the right figure with red dots for excitatory synapses and yellow dots for inhibitory synapses.\nYou can then set on the right column at which time each synapse group should start firing, at which interval and how many times they should fire, and if they should have any noise.\n\nIn the center part of the GUI, you have two plots of the cell, the one on the left showing the voltage at each section, and the one on the right showing the synapses locations.\nYou can change the rotation of both plots in 3D with your mouse.\nBelow is a plot showing the voltage in the soma depending on time. On top, you have three buttons to (re)start the simulation, pause it or resume it.\n\n\nFunding & Acknowledgements\n==========================\n\nThe development of this project was supported by funding to the Blue Brain Project, a research center of the \u00c9cole polytechnique f\u00e9d\u00e9rale de Lausanne (EPFL), from the Swiss government\u2019s ETH Board of the Swiss Federal Institutes of Technology.\n\n\nCopyright (c) 2020-2022 Blue Brain Project/EPFL\n\n\n.. |build| image:: https://github.com/BlueBrain/EModelRunner/actions/workflows/test.yml/badge.svg\n                :target: https://github.com/BlueBrain/EModelRunner/actions/workflows/test.yml\n                :alt: Build Status\n\n.. |license| image:: https://img.shields.io/badge/License-Apache_2.0-blue.svg\n                :target: https://github.com/BlueBrain/EModelRunner/blob/main/LICENSE.txt\n                :alt: Build Status\n\n.. |docs| image:: https://readthedocs.org/projects/emodelrunner/badge/?version=latest\n                :target: https://emodelrunner.readthedocs.io/en/latest/?badge=latest\n                :alt: Documentation Status\n\n.. |coverage| image:: https://codecov.io/gh/BlueBrain/EModelRunner/coverage.svg?branch=main\n                :target: https://codecov.io/gh/BlueBrain/EModelRunner?branch=main\n                :alt: Coverage\n\n.. |pypi| image:: https://img.shields.io/pypi/v/emodelrunner.svg\n                :target: https://pypi.org/project/EModelRunner/\n                :alt: Latest Release\n\n.. |GUI_screenshot| image:: doc/source/images/GUI_screenshot.png\n\n.. |banner| image:: https://raw.githubusercontent.com/BlueBrain/EModelRunner/main/doc/source/logo/BBP-eModelRunner.jpg\n\n.. |gitter| image:: https://badges.gitter.im/BlueBrain/EmodelRunner.svg\n   :alt: Join the chat at https://gitter.im/BlueBrain/EmodelRunner\n   :target: https://gitter.im/BlueBrain/EmodelRunner?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\n.. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.8116075.svg\n                :target: https://doi.org/10.5281/zenodo.8116075\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "Runs cells from Blue Brain Project cell packages, such as sscx, synapse plasticity, etc.",
    "version": "1.1.19",
    "project_urls": {
        "Documentation": "https://emodelrunner.readthedocs.io/en/latest",
        "Homepage": "https://github.com/BlueBrain/EModelRunner",
        "Source": "https://github.com/BlueBrain/EModelRunner",
        "Tracker": "https://github.com/BlueBrain/EModelRunner/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f7febe2425d414a8a9fa96e5f7d8097c0bf92cbd076c0b98315d8fcf31ee5c1",
                "md5": "6435ea221a827d0c62ea5ed98b177a19",
                "sha256": "6a35e477b1785a1a95d812f913f736861d54d0fe9ddb6e09b1f34f9b9d2f88cb"
            },
            "downloads": -1,
            "filename": "EModelRunner-1.1.19-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6435ea221a827d0c62ea5ed98b177a19",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 162907,
            "upload_time": "2023-11-16T16:40:35",
            "upload_time_iso_8601": "2023-11-16T16:40:35.807837Z",
            "url": "https://files.pythonhosted.org/packages/3f/7f/ebe2425d414a8a9fa96e5f7d8097c0bf92cbd076c0b98315d8fcf31ee5c1/EModelRunner-1.1.19-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d924de0468134b93a6f4a46ea69feae65099fa1c9fb2962de014c6f03191b9da",
                "md5": "513ad8033ddf04292bc51bb8e549b4bb",
                "sha256": "0db3a1e84bd6ec8d2a990a5cf8224385b8f8cc5b2ea2465e08b79d79e5e3a095"
            },
            "downloads": -1,
            "filename": "EModelRunner-1.1.19.tar.gz",
            "has_sig": false,
            "md5_digest": "513ad8033ddf04292bc51bb8e549b4bb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 1092506,
            "upload_time": "2023-11-16T16:40:38",
            "upload_time_iso_8601": "2023-11-16T16:40:38.219919Z",
            "url": "https://files.pythonhosted.org/packages/d9/24/de0468134b93a6f4a46ea69feae65099fa1c9fb2962de014c6f03191b9da/EModelRunner-1.1.19.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-16 16:40:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "BlueBrain",
    "github_project": "EModelRunner",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "emodelrunner"
}
        
Elapsed time: 0.12976s