{ "info": { "author": "Brian Drawert, Kevin Sanft, Sean Matthew, George Hall, Dalton Nickerson, Samuel Hodges, Emma Weisgerber, Eliot Dixon, Ghilman Brock, W.R. Jackson", "author_email": "bdrawert@unca.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Medical Science Apps." ], "description": "

\n\n

\n\nGillesPy2 is a Python package for stochastic simulation of biochemical systems. It offers an object-oriented approach for creating mathematical models of biological systems, as well as a variety of methods for performing time simulation of those models. The methods include the [Gillespie direct method (SSA)](https://en.wikipedia.org/wiki/Gillespie_algorithm), several variant stochastic simulation methods including [tau-leaping](https://en.wikipedia.org/wiki/Tau-leaping), and numerical integration of ODEs. The solvers support a variety of user environments, with optimized code for C++, [Cython](https://cython.org), and [NumPy](https://numpy.org). GillesPy2 also supports [SBML](https://en.wikipedia.org/wiki/SBML).\n\n
\n\nPLEASE REGISTER AS A USER, so that we can prove GillesPy2 has many users when we seek funding to support development. GillesPy2 is part of the StochSS project.\n
\n\n[![PyPI](https://img.shields.io/pypi/v/gillespy2.svg?color=b44e48)](https://pypi.org/project/gillespy2)\n![PyPI - License](https://img.shields.io/pypi/l/gillespy2.svg?color=lightgray)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/gillespy2.svg?color=lightgreen)\n\nTable of contents\n-----------------\n\n* [Installation](#installation)\n* [Usage](#usage)\n* [Getting help](#getting-help)\n* [Contributing](#contributing)\n* [License](#license)\n* [Authors and history](#authors-and-history)\n* [Acknowledgments](#acknowledgments)\n\nInstallation\n------------\n\nGillesPy2 can be installed on your computer using different methods, as described below.\n\n### _Using PyPI_\n\nOn **Linux**, **macOS**, and **Windows** operating systems, you should be able to install GillesPy2 with [pip](https://pip.pypa.io/en/stable/installing/). If you don't have the `pip` package or are uncertain, first run the following command in a terminal command line interpreter: \n```\nsudo python3 -m ensurepip\n```\n\nThen, to install GillesPy2 from the Python package repository, run the following command:\n```\npython3 -m pip install gillespy2 --user --upgrade\n```\n\n### _Using the source code repository_\n\nAs an alternative to getting it from PyPI, you can instruct `pip` to install GillesPy2 directly from the GitHub repository:\n```sh\npython3 -m pip install git+https@github.com:GillesPy2/GillesPy2.git --user --upgrade\n```\n\nAs a final alternative, you can first use `git` to clone a copy of the GillesPy2 source tree from the GitHub repository to your local computer disk, and then install GillesPy2 using that copy:\n```sh\ngit clone --recursive https@github.com:GillesPy2/GillesPy2.git\ncd GillesPy2\npython3 -m pip install . --user --upgrade\n```\n\nUsage\n-----\n\nGillesPy2 provides simple object-oriented abstractions for defining a model of a biochemical system and simulating that model using efficient stochastic simulation algorithms. The basic steps to use GillesPy2 are:\n\n1. Create a `GillesPy2.Model` containing molecular species, parameters, and reactions (or import it from an [SBML](http://sbml.org) file)\n2. Invoke the model's `.run()` method.\n\nThe `run()` method can be customized using keyword arguments to select different solvers, random seed, data return type and more. For more detailed examples on how to use GillesPy2, please see the [Getting Started](https://github.com/GillesPy2/GillesPy2/tree/master/examples/Getting-Started.ipynb) Jupyter notebook contained in the [examples](https://github.com/GillesPy2/GillesPy2/tree/master/examples) subdirectory.\n\n\n### _Simple example to illustrate the use of GillesPy2_\n\n[Dimerization](https://www.ncbi.nlm.nih.gov/books/NBK26830) is a process in which two molecules of some molecular species (known as a \"monomer\" in this situation – let's call it \"M\" for short) come together to create a new molecule (call it \"D\"), but do so in a way that is reversible, meaning the combined structure can also decay or dissociate back into \"M\". A simple model of the dimerization process represents it as two reactions: a reaction in which one molecule of \"M\" reacts with another molecule of \"M\" to form one new molecule (\"D\"), and another reaction in which a molecule of \"D\" breaks apart into two molecules of \"M\". In terms of biochemical reactions, it looks like this (where _kc_ and _kd_ represent the rate constants for creation and dissociation of the dimer, respectively; _M_ represents the number of molecules of \"M\"; and _D_ is the number of molecules of \"D\"):\n\n

\n      kc
\n 2 M  \u27f7 D
\n      kd
\n

\n\nIn GillesPy2, a model is expressed as an object having the parent class `Model`. Components of the model, such as the reactions, molecular species, and characteristics such as the time span for simulation, are all defined within the subclass definition. The following Python code represents our dimerization model using GillesPy2's facility:\n\n```python\nclass Dimerization(gillespy2.Model):\n def __init__(self, parameter_values=None):\n # First call the gillespy2.Model initializer.\n gillespy2.Model.__init__(self, name='Dimerization')\n\n # Define parameters for the rates of creation and dissociation.\n k_c = gillespy2.Parameter(name='k_c', expression=0.005)\n k_d = gillespy2.Parameter(name='k_d', expression=0.08)\n self.add_parameter([k_c, k_d])\n\n # Define variables for the molecular species representing M and D.\n m = gillespy2.Species(name='monomer', initial_value=30)\n d = gillespy2.Species(name='dimer', initial_value=0)\n self.add_species([m, d])\n\n # The list of reactants and products for a Reaction object are each a\n # Python dictionary in which the dictionary keys are Species objects\n # and the values are stoichiometries of the species in the reaction.\n r_c = gillespy2.Reaction(name=\"r_creation\", rate=k_c, reactants={m:2}, products={d:1})\n r_d = gillespy2.Reaction(name=\"r_dissociation\", rate=k_d, reactants={d:1}, products={m:2})\n self.add_reaction([r_c, r_d])\n\n # Set the timespan for the simulation.\n self.timespan(numpy.linspace(0, 100, 101))\n```\n\nGiven the class definition above, the model can be simulated by first instantiating the class object, and then invoking the `run()` method on the object. The following code will run the model 10 times to produce 10 sample trajectories:\n\n```python\nmodel = Dimerization()\nresults = model.run(number_of_trajectories=10)\n```\n\nThe results are then stored in a class `Results` object for single trajectories, or a class `Ensemble` object for multiple trajectories. Results/Ensembles can be plotted with matplotlib using `plot()` or in plotly (offline) using `plotplotly()`. For additional plotting options such as plotting from a selection of species, or statistical plotting, please see the documentation.:\n\n```python\nresults.plot()\n```\n\n

\n\n

\n\nAlternatively, the results object inherits python-builtin `UserDict` for single trajectories, and `UserList` for multiple trajectories. Results can be plotted easily using any plotting library such as matplot lib as shown below:\n\n```python\nfor index in range(0, 10):\n trajectory = results[index]\n plt.plot(trajectory['time'], trajectory['monomer'], 'r')\n plt.plot(trajectory['time'], trajectory['dimer'], 'b')\n```\n\nWith a few additional Python Matplotlib commands to create figure labels and such, we end up with a plot like this:\n\n

\n\n

\n\n\nGetting help\n------------\n\nGillesPy2's [online document](https://gillespy2.github.io/GillesPy2/) provides more details about using the software. If you find any problem with GillesPy2 or the documentation, please report it using [the GitHub issue tracker](https://github.com/GillesPy2/GillesPy2/issues) for this repository. You can also contact Dr. [Brian Drawert](http://www.cs.unca.edu/~drawert) directly with questions and suggestions.\n\n\nContributing\n------------\n\nWe would be happy to receive your help and participation with enhancing GillesPy2! Please follow the guidelines described in [CONTRIBUTING.md](https://github.com/GillesPy2/GillesPy2/tree/master/CONTRIBUTING.md).\n\n\nLicense\n-------\n\nGillesPy2 is licensed under the GNU General Public License version 3. Please see the file [LICENCE](LICENSE) for more information.\n\n\nAuthors and history\n---------------------------\n\n* [**Dr. Brian Drawert** ](https://github.com/briandrawert)\n* [**Dr. Kevin Sanft**](https://github.com/kevinsanft)\n* [**Ghilman Brock**](https://github.com/GhilmanBrock)\n* [**Eliot Dixon**](https://github.com/edixon1)\n* [**Dalton Nickerson**](https://github.com/Thisisnotdalton)\n* [**Sean Matthew**](https://github.com/seanebum)\n* [**George Hall** ](https://github.com/georgemhall)\n* [**W.R. Jackson** ](https://github.com/JustJackson)\n* [**Samuel Hodges**](https://github.com/hodgespodge)\n* [**Emma Weisgerber**](https://github.com/eweisger)\n\nNew developments happen primarily in the [`develop`](https://github.com/GillesPy2/GillesPy2/commits/develop) branch. New releases are put in the `master` branch.\n\n

\n\n| Master Branch | Develop Branch | Coverage |\n|:---------------:|:--------------:|:--------:|\n| [![Build Status](https://travis-ci.org/GillesPy2/GillesPy2.svg?branch=master)](https://travis-ci.org/GillesPy2/GillesPy2) | [![Build Status](https://travis-ci.org/GillesPy2/GillesPy2.svg?branch=develop)](https://travis-ci.org/GillesPy2/GillesPy2) | ![Coverage](https://raw.githubusercontent.com/GillesPy2/GillesPy2/develop/.graphics/coverage.png) |\n\n\n\nAcknowledgments\n---------------\n\nThis work has been funded by National Institutes of Health (NIH) NIBIB Award No. 2R01EB014877-04A1.\n\nGillesPy2 uses numerous open-source packages, without which it would have been effectively impossible to develop this software with the resources we had. We want to acknowledge this debt. In alphabetical order, the packages are:\n\n* [Jupyter](https://jupyter.org) – web application for creating documents containing code, visualizations and narrative text\n* [libSBML](http://sbml.org/Software/libSBML) – a library for reading, writing, and manipulating SBML content\n* [lxml](https://lxml.de) – an XML parsing library for Python\n* [MatplotLib](https://matplotlib.org/index.html) – Python 2D plotting library\n* [Numpy](http://www.numpy.org/) – the fundamental package for scientific computing with Python\n* [Scipy](https://www.scipy.org/) – Python-based ecosystem of open-source software for mathematics, science, and engineering\n\nFinally, we are grateful for institutional resources made available by the [UNC Asheville](https://www.unca.edu), the [University of California at Santa Barbara](https://ucsb.edu), [Uppsala University](https://www.it.uu.se), and the [California Institute of Technology](https://www.caltech.edu).\n\n

\n \n \n \n   \n \n \n \n   \n \n \n \n   \n \n \n \n   \n \n \n \n
\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://pypi.org/project/gillespy2/#files", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/GillesPy2/GillesPy2", "keywords": "biochemical simulation,Gillespie algorithm,stochastic simulation,biology", "license": "GPL", "maintainer": "Brian Drawert, Kevin Sanft, Sean Matthew, George Hall, Dalton Nickerson, Samuel Hodges, Emma Weisgerber, Eliot Dixon, Ghilman Brock, W.R. Jackson", "maintainer_email": "bdrawert@unca.edu", "name": "gillespy2", "package_url": "https://pypi.org/project/gillespy2/", "platform": "", "project_url": "https://pypi.org/project/gillespy2/", "project_urls": { "Download": "https://pypi.org/project/gillespy2/#files", "Homepage": "https://github.com/GillesPy2/GillesPy2", "Source": "https://github.com/GillesPy2/GillesPy2", "Tracker": "https://github.com/GillesPy2/GillesPy2/issues" }, "release_url": "https://pypi.org/project/gillespy2/1.2.1/", "requires_dist": [ "lxml (>=4.4.1)", "matplotlib (>=3.0.3)", "plotly (>=4.1.0)", "python-libsbml (>=5.18.0)", "scipy (>=1.3.1)", "setuptools (>=41.0.1)", "tqdm (>=4.23.4)" ], "requires_python": "", "summary": "Python interface for Gillespie-style biochemical simulations", "version": "1.2.1" }, "last_serial": 5757074, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "03937e13822c807ccb32a26000094eaf", "sha256": "44c3e5e38946e17f1ac4bc5db19547982a9a3760db0c70351e2e254d2202137a" }, "downloads": -1, "filename": "gillespy2-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "03937e13822c807ccb32a26000094eaf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 61405, "upload_time": "2019-03-05T15:19:02", "url": "https://files.pythonhosted.org/packages/4f/7c/cf969b647190a481b0fe6d4dec8038b50aac1dca54d60568183169fd0dfc/gillespy2-1.0.1-py3-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "5f5765d22209dd8c51673d44929c8b38", "sha256": "0ed5d23d62ff0b6f432e4e616297b7cf0dfdcbe339964716e2f405ef575e9686" }, "downloads": -1, "filename": "gillespy2-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5f5765d22209dd8c51673d44929c8b38", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 62950, "upload_time": "2019-03-05T15:31:04", "url": "https://files.pythonhosted.org/packages/14/d2/153f864b374c1ba9a75365a8b12cab0d5cf1c9abb205d1671dc236dc35c2/gillespy2-1.0.2-py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "7e65cd97d34dfccf38910801c1c7cd4a", "sha256": "76e254a53144d9269612cae09dd7c9c7b5a72d519a72d177d030731356e40c25" }, "downloads": -1, "filename": "gillespy2-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7e65cd97d34dfccf38910801c1c7cd4a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 62935, "upload_time": "2019-03-05T15:34:43", "url": "https://files.pythonhosted.org/packages/30/b2/20ac91683f66e836f1f70aeb87a4806edb0be18a6c7b6c879769013e1836/gillespy2-1.0.3-py3-none-any.whl" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "3f85b722f2be8795ab9cf937906a6a14", "sha256": "b2156897fee1a1937880f9b9dac646de9a6b8912dfabd3d1ba7be676a53c3474" }, "downloads": -1, "filename": "gillespy2-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3f85b722f2be8795ab9cf937906a6a14", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 62937, "upload_time": "2019-03-05T15:38:22", "url": "https://files.pythonhosted.org/packages/6f/00/5ea431a005d8bd53d51eee7adae9a053a1c720880a7f8dab4698d15cea5a/gillespy2-1.0.4-py3-none-any.whl" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "00ffc223084fd7698428f8eda0f36ff1", "sha256": "1eb3ff76ac79b216a72ba1299981b321735fb7514325bf2c9148c259ed4b2dae" }, "downloads": -1, "filename": "gillespy2-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "00ffc223084fd7698428f8eda0f36ff1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 62965, "upload_time": "2019-03-06T17:24:57", "url": "https://files.pythonhosted.org/packages/77/3d/7abb603ea023914052b17df17f0146cb2c9a61c026474e7d640a561ba23c/gillespy2-1.0.5-py3-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "f23867c960cd4572f2432eac80b3a76b", "sha256": "9dbc5bd93d132cf612a3c19b177f55f8d42520693a2d65c1e3181f5dafd8f4e4" }, "downloads": -1, "filename": "gillespy2-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f23867c960cd4572f2432eac80b3a76b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64256, "upload_time": "2019-06-18T18:11:06", "url": "https://files.pythonhosted.org/packages/ca/2f/c07c6acd5044488be8178935103c38eb4075b34fdd2f1b1eff14f25e07c2/gillespy2-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78762f45cef45af07dc56486be47616c", "sha256": "109f440a29d4cf076973192e5419d0874b0582ac351f2ba8689f01bfb3e4437a" }, "downloads": -1, "filename": "gillespy2-1.1.0.tar.gz", "has_sig": false, "md5_digest": "78762f45cef45af07dc56486be47616c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46938, "upload_time": "2019-06-18T18:11:07", "url": "https://files.pythonhosted.org/packages/f9/95/387af07191b0d2bf4280fbb8144b46416d62dbf6c9210f926b570c8482ec/gillespy2-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "650ec01f369a610f6035b559d933aa09", "sha256": "5099c3463c652f1c08e76db9ef752928ca3ed8411130053116c73ee73414feed" }, "downloads": -1, "filename": "gillespy2-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "650ec01f369a610f6035b559d933aa09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64260, "upload_time": "2019-06-25T20:02:35", "url": "https://files.pythonhosted.org/packages/46/ef/6063a70fe94af0e71744940bcacd08a9b9be749947442982eddc72fb410d/gillespy2-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04e655e6e658a14a1bb61a61d9d4ba6e", "sha256": "36828a4c306c267d44bdd8b538cd78cd79b140267aae0cf7c1b1fa60d6500dd8" }, "downloads": -1, "filename": "gillespy2-1.1.1.tar.gz", "has_sig": false, "md5_digest": "04e655e6e658a14a1bb61a61d9d4ba6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47029, "upload_time": "2019-06-25T20:02:37", "url": "https://files.pythonhosted.org/packages/5f/88/da1e3e73e93f992ba9460bfc801aa48e9d6e7ea224f2e1d214b90e9dc1ee/gillespy2-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "db5f7d49b00ffa787a050c7d142db46c", "sha256": "e45f9ed6127abdabf3c2bfe84be74d596418aaff60864bdd69adb1185b169ff1" }, "downloads": -1, "filename": "gillespy2-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "db5f7d49b00ffa787a050c7d142db46c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 66332, "upload_time": "2019-07-18T17:20:08", "url": "https://files.pythonhosted.org/packages/01/23/ab030bba90d3eb02cd367192ee1cbb05d7b1fc3a2c3f7290fee440ccf50f/gillespy2-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb26cef912e8cef8749fca66519dd7a4", "sha256": "c65525dc0efa036b149ca75ab114bcc4cc1cba5e2dbcaff79ccefd977a7d44ae" }, "downloads": -1, "filename": "gillespy2-1.1.2.tar.gz", "has_sig": false, "md5_digest": "cb26cef912e8cef8749fca66519dd7a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49409, "upload_time": "2019-07-18T17:20:10", "url": "https://files.pythonhosted.org/packages/82/87/afb79c170cda93d7cd75dc20982875d5df2d9afc85eaf67bde0a1ff445fc/gillespy2-1.1.2.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "86aee450c12b5499f9239c682161ff45", "sha256": "c073782d0ea9c774b994bee32321a4ba7d301f241645da5451db98e631bd6c76" }, "downloads": -1, "filename": "gillespy2-1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "86aee450c12b5499f9239c682161ff45", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 74360, "upload_time": "2019-08-29T20:06:15", "url": "https://files.pythonhosted.org/packages/f2/37/2eec4c51d3f03f2a66e2ac30424d906790aeecc2343eababc8a68c6c46d5/gillespy2-1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1ef3567ea8c2e8f95631887d966554d", "sha256": "cc218dcee9f3624a04ed801e3e5f1b5e72988c0a27341a53ece8f6eec6b9eb9b" }, "downloads": -1, "filename": "gillespy2-1.2.tar.gz", "has_sig": false, "md5_digest": "a1ef3567ea8c2e8f95631887d966554d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60762, "upload_time": "2019-08-29T20:06:20", "url": "https://files.pythonhosted.org/packages/00/d8/a1355dc562c2d71633bcd8ecab697a258773e91f0d0ac91624badd44b78d/gillespy2-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "31829d8d49d2d9b3470f23433a900138", "sha256": "8d9f72d4df55eb45594255eee02d31c6a68d52c5ca8c558547beebdda39ef15f" }, "downloads": -1, "filename": "gillespy2-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "31829d8d49d2d9b3470f23433a900138", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 74408, "upload_time": "2019-08-29T21:24:20", "url": "https://files.pythonhosted.org/packages/21/1c/f25bcfee885f836a1be8012ac58255569c02b1c65408642f2df06b072290/gillespy2-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "070daeee5bec193761aac375aaf3744e", "sha256": "b54f08f3e7184ca5d414408cf4808a6ecade95b114ab68730a83e7b9855f7ce9" }, "downloads": -1, "filename": "gillespy2-1.2.1.tar.gz", "has_sig": false, "md5_digest": "070daeee5bec193761aac375aaf3744e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60818, "upload_time": "2019-08-29T21:24:23", "url": "https://files.pythonhosted.org/packages/bf/00/e21636643dd788919c30b50fd7bca684b7ddfab92e75c2c7aee763e113c9/gillespy2-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "31829d8d49d2d9b3470f23433a900138", "sha256": "8d9f72d4df55eb45594255eee02d31c6a68d52c5ca8c558547beebdda39ef15f" }, "downloads": -1, "filename": "gillespy2-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "31829d8d49d2d9b3470f23433a900138", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 74408, "upload_time": "2019-08-29T21:24:20", "url": "https://files.pythonhosted.org/packages/21/1c/f25bcfee885f836a1be8012ac58255569c02b1c65408642f2df06b072290/gillespy2-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "070daeee5bec193761aac375aaf3744e", "sha256": "b54f08f3e7184ca5d414408cf4808a6ecade95b114ab68730a83e7b9855f7ce9" }, "downloads": -1, "filename": "gillespy2-1.2.1.tar.gz", "has_sig": false, "md5_digest": "070daeee5bec193761aac375aaf3744e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60818, "upload_time": "2019-08-29T21:24:23", "url": "https://files.pythonhosted.org/packages/bf/00/e21636643dd788919c30b50fd7bca684b7ddfab92e75c2c7aee763e113c9/gillespy2-1.2.1.tar.gz" } ] }