{ "info": { "author": "Texas Advanced Computing Center", "author_email": "jstubbs@tacc.utexas.edu, jochoa@tacc.utexas.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.6" ], "description": "=======\nAgavePy\n=======\n\n.. image:: https://badge.fury.io/py/agavepy.svg\n :target: http://badge.fury.io/py/agavepy\n\n.. image:: https://travis-ci.org/TACC/agavepy.svg?branch=develop\n :target: https://travis-ci.org/TACC/agavepy\n\n.. image:: https://readthedocs.org/projects/agavepy/badge/?version=latest\n :target: https://readthedocs.org/projects/agavepy/?badge=latest\n\n.. image:: https://img.shields.io/pypi/l/Django.svg\n :target: https://raw.githubusercontent.com/TACC/agavepy/master/LICENSE\n\n**Python2/3 binding for TACC.Cloud Agave and Abaco APIs**\n\n- Documentation: https://agavepy.readthedocs.io/en/latest/\n- GitHub: https://github.com/TACC/agavepy\n- PyPI: https://pypi.python.org/pypi/agavepy\n- Free software: 3-Clause BSD License\n\n\nInstallation\n============\n\nInstall from PyPI_::\n\n pip install agavepy\n\n\nInstall from GitHub checkout::\n\n cd agavepy\n python setup.py install\n # or #\n make install\n\n\nContributing\n============\nIn case you want to contribute, you should read our \n`contributing guidelines`_ and we have a contributor's guide\nthat explains `setting up a development environment and the contribution process`_.\n\n.. _contributing guidelines: CONTRIBUTING.md\n.. _setting up a development environment and the contribution process: docs/contributing/\n\n\nQuickstart\n==========\n\nIf you already have an active installation of the TACC Cloud CLI, AgavePy will\npick up on your existing credential cache, stored in `$HOME/.agave/current`. \nWe illustrate this usage pattern first, as it's **really** straightforward.\n\nTACC Cloud CLI\n--------------\n\n.. code-block:: pycon\n\n >>> from agavepy.agave import Agave\n >>> ag = Agave.restore()\n\nVoila! You have an active, authenticated API client. AgavePy will use a cached\nrefresh token to keep this session active as long as the code is running. \n\nPure Python\n-----------\n\nAuthentication and authorization to the TACC Cloud APIs uses OAuth2, a \nwidely-adopted web standard. Our implementation of Oauth2 is designed to give\nyou the flexibility you need to script and automate use of TACC Cloud while\nkeeping your access credentials and digital assets secure. \n\nThis is covered in great detail in our `Developer Documentation`_ but some key\nconcepts will be highlighted here, interleaved with Python code.\n\nThe first step is to create a Python object ``ag`` which will interact with an\nAgave tenant.\n\n.. code-block:: pycon\n\n >>> from agavepy.agave import Agave\n >>> ag = Agave()\n CODE NAME URL\n 3dem 3dem Tenant https://api.3dem.org/\n agave.prod Agave Public Tenant https://public.agaveapi.co/\n araport.org Araport https://api.araport.org/\n designsafe DesignSafe https://agave.designsafe-ci.org/\n iplantc.org CyVerse Science APIs https://agave.iplantc.org/\n irec iReceptor https://irec.tenants.prod.tacc.cloud/\n sd2e SD2E Tenant https://api.sd2e.org/\n sgci Science Gateways Community Institute https://sgci.tacc.cloud/\n tacc.prod TACC https://api.tacc.utexas.edu/\n vdjserver.org VDJ Server https://vdj-agave-api.tacc.utexas.edu/\n \n Please specify the ID of a tenant to interact with: araport.org\n >>> ag.api_server\n 'https://api.araport.org/'\n\n\nIf you already now what tenant you want to work with, you can instantiate\n``Agave`` as follows:\n\n.. code-block:: pycon\n\n >>> from agavepy.agave import Agave\n >>> ag = Agave(api_server=\"https://api.tacc.cloud\")\n\nor \n\n.. code-block:: pycon\n\n >>> from agavepy.agave import Agave\n >>> ag = Agave(tenant_id=\"tacc.prod\")\n\nOnce the object is instantiated, interact with it according to the API \ndocumentation and your specific usage needs. \n\nCreate a new Oauth client\n^^^^^^^^^^^^^^^^^^^^^^^^^\nIn order to interact with Agave, you'll need to first create an Oauth client so\nthat later on you can create access tokens to do work.\n\nTo create a client you can do the following:\n\n.. code-block:: pycon\n\n >>> from agavepy.agave import Agave\n >>> ag = Agave(api_server='https://api.tacc.cloud')\n >>> ag.clients_create(\"client-name\", \"some description\")\n API username: your-username\n API password: \n >>> ag.api_key\n 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'\n >>> ag.api_secret\n 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n\nYou will use the api key and secret to generate Oauth *tokens*, \nwhich are temporary credentials that you can use in place of putting your real \ncredentials into code that is interacting with TACC APIs.\n\nReuse an existing Oauth client\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nOnce you generate a client, you can re-use its key and secret. Clients can be\ncreated using the Python-based approach illustrated above, via the TACC Cloud\nCLI ``clients-create`` command, or by a direct, correctly-structured ``POST``\nto the ``clients`` web service. No matter how you've created a client, setting\nAgavePy up to use it works the same way:\n\n.. code-block:: pycon\n\n >>> from agavepy.agave import Agave\n >>> ag = Agave(api_server='https://api.tacc.cloud',\n ... username='mwvaughn',\n ... client_name='my_client',\n ... api_key='kV4XLPhVBAv9RTf7a2QyBHhQAXca',\n ... api_secret='5EbjEOcyzzIsAAE3vBS7nspVqHQa')\n\nThe Agave object ``ag`` is now configured to talk to all TACC Cloud services.\n\n\n\nGenerate an Access Token\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIn order to interact with the TACC cloud services in a more secure and\ncontrolled manner - without constantly using your username and password - we\nwill use the oauth client, created in the previous step, to generate access\ntokens.\n\nThe generated tokens will by defualt have a lifetime of 4 hours, or 14400\nseconds.\n\nTo create a token\n\n.. code-block:: pycon\n\n >>> ag.get_access_token()\n API password:\n >>> ag.token\n 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'\n\nKeep in mind that you will need to create an oauth client first!\n\n\n\nSaving your credentials\n^^^^^^^^^^^^^^^^^^^^^^^\n\nTo save your process (api key, api secret, access token, refresh token, tenant\ninformation) you can use the method ``Agave.save_configs()``\n\n.. code-block:: pycon\n\n >>> ag.save_configs()\n\nBy default, ``Agave.save_configs`` will store credentials in ``~/.agave``. \nIt will save all session in ``~/.agave/config.json`` and, for\nbackwards-compatibility with other agave tooling, it will save the current\nsession in ``~/.agave/current``.\n\n\nThe refresh token\n^^^^^^^^^^^^^^^^^\n\nNobody likes to change their password, but they have to if it leaks out into \nthe wild. A tragically easy way for that to happen is in committed code or a\nDocker container where it's been hard-coded. To get around this, AgavePy works\nwith the TACC authentication APIs to support using a **refresh token**. \nBasically, as long as you have the apikey, apisecret, and the last refresh \ntoken for an authenticated session, you can renew the session without sending\na password. Neat, right? Let's build on the ``ag`` object from above to learn\nabout this.\n\nLet's start by inspecting its ``token`` property, which will also demonstrate \nhow you can access token data programmatically for your own purposes. \n\n.. code-block:: pycon\n\n >>> ag.token.token_info\n {u'access_token': u'14f0bbd0b334e594e676661bf9ccc136', 'created_at': \n 1518136421, u'expires_in': 13283, 'expires_at': 'Thu Feb 8 22:15:04',\n u'token_type': u'bearer', 'expiration': 1518149704, u'scope': u'default',\n u'refresh_token': u'b138c49040a6f67f80d49a1c112e44b'}\n >>> ag.token.token_info['refresh_token']\n u'b138c49046f67f80d49a1c10a12e44b'\n\n\n.. _Agave: https://agaveapi.co/\n.. _Abaco: http://useabaco.cloud/\n.. _PyPI: https://pypi.python.org/pypi\n.. _Developer Documentation: http://developer.tacc.cloud/\n.. _Docker: https://docs.docker.com/installation/#installation\n.. _Jupyter: https://jupyter.org/\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/TACC/agavepy", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "agavepy", "package_url": "https://pypi.org/project/agavepy/", "platform": "", "project_url": "https://pypi.org/project/agavepy/", "project_urls": { "Homepage": "https://github.com/TACC/agavepy" }, "release_url": "https://pypi.org/project/agavepy/0.9.3/", "requires_dist": null, "requires_python": "", "summary": "SDK for Agave", "version": "0.9.3" }, "last_serial": 5152923, "releases": { "0.1": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "495d4fa5bdeb3c24a22eb89f7738f186", "sha256": "5f5c79378fef3ee8ca7209df9a3e43acd26a4d7df4cf91273376974c3f9ebd35" }, "downloads": -1, "filename": "agavepy-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "495d4fa5bdeb3c24a22eb89f7738f186", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16199, "upload_time": "2015-03-07T23:12:34", "url": "https://files.pythonhosted.org/packages/fc/8e/b46c53c841fb84a00f92a8838bfa695f6c04cc239a00bb90cd9c89bcce7f/agavepy-0.1.1-py2.py3-none-any.whl" } ], "0.1.post0": [ { "comment_text": "", "digests": { "md5": "03b14f5436a654b195b9a572c1edb832", "sha256": "2206d8d494d6cbd254d73d1a50f58831ac47b99fa6f494bd7a761a27551f7538" }, "downloads": -1, "filename": "agavepy-0.1.post0.tar.gz", "has_sig": false, "md5_digest": "03b14f5436a654b195b9a572c1edb832", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 158855, "upload_time": "2019-04-17T02:33:52", "url": "https://files.pythonhosted.org/packages/45/8d/b2e08336d55c118300be9d9531962af1448e3e15e75be9eb4123dae52130/agavepy-0.1.post0.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "bcfa761fb33aeb304d322e27b174f676", "sha256": "e56ddc14d7629a6bdc6863edc8a7c31191c288536296716aaafb01d18c73c52b" }, "downloads": -1, "filename": "agavepy-0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bcfa761fb33aeb304d322e27b174f676", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 52632, "upload_time": "2015-06-11T16:48:43", "url": "https://files.pythonhosted.org/packages/a3/3d/1d7c4c90de2555698e30833e48feeedd77a6a940dd14e100c391eaefc8f8/agavepy-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88d79fd9953c3f87834531ec3855149a", "sha256": "05f5b5ad974b3ac5969c4646a0db1bacaf66a11cf89f7c749468fd5a36a80ab3" }, "downloads": -1, "filename": "agavepy-0.2.tar.gz", "has_sig": false, "md5_digest": "88d79fd9953c3f87834531ec3855149a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46765, "upload_time": "2015-06-11T16:48:27", "url": "https://files.pythonhosted.org/packages/fa/01/d7760a9570c358be307667784702059789af9858f7e480eb5307545695bb/agavepy-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c8fee08c4a1c046c466cdfadf776fd6d", "sha256": "b36f47e6fef8d7796c2fc7df58edc2e260043d55997cdc214834fc80cad48d5d" }, "downloads": -1, "filename": "agavepy-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c8fee08c4a1c046c466cdfadf776fd6d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 87824, "upload_time": "2015-11-05T20:40:48", "url": "https://files.pythonhosted.org/packages/f7/b9/2a850f745f3beba86fbc7eccea586912be4a94da6bef9faf1977e8162400/agavepy-0.2.1-py2.py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9f322116989bb30093cab83ebe418e76", "sha256": "253f31340a0a7f5bfef7a17bc7651a87df88857c89a8242007f498c36e3350a3" }, "downloads": -1, "filename": "agavepy-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9f322116989bb30093cab83ebe418e76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80482, "upload_time": "2016-02-04T20:08:10", "url": "https://files.pythonhosted.org/packages/36/e1/3af0f6d8f8ff18550f2cda376636017ce23e17352ef358bf15799908fd3a/agavepy-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "05a45aaad8e804e4b8cecd7f12f15fee", "sha256": "edb9afa6818b4c54b553161087e388b53958b675d1aad7b5c3cc3bc6a95bfb0e" }, "downloads": -1, "filename": "agavepy-0.3.1.tar.gz", "has_sig": false, "md5_digest": "05a45aaad8e804e4b8cecd7f12f15fee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80498, "upload_time": "2016-02-04T20:30:53", "url": "https://files.pythonhosted.org/packages/90/73/7845438595896b1aeef8b7eeebdfa87e925f54872e2afaaa7a5de48b18fa/agavepy-0.3.1.tar.gz" } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "45b4b1c9fb3fe9e9bf679af734deca4a", "sha256": "83f5c819e0c2150aa7599d8fbabb229d621945a406439d2f21c90b06ef1d0692" }, "downloads": -1, "filename": "agavepy-0.3.10.tar.gz", "has_sig": false, "md5_digest": "45b4b1c9fb3fe9e9bf679af734deca4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84540, "upload_time": "2016-05-17T12:48:09", "url": "https://files.pythonhosted.org/packages/cb/73/d38f9bfbf8a352bc3f8cff585e7a81f94dfb4eb430e20f8740a450a8cefd/agavepy-0.3.10.tar.gz" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "8f451a78b7d6a94c6515719b788f5a09", "sha256": "1fbcb83d6eecb422c105170bbabcdd8cc9bbf152dd63f5c0d25889615bd4386e" }, "downloads": -1, "filename": "agavepy-0.3.11.tar.gz", "has_sig": false, "md5_digest": "8f451a78b7d6a94c6515719b788f5a09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85592, "upload_time": "2016-07-01T19:08:09", "url": "https://files.pythonhosted.org/packages/8c/96/8fc1e7f8c77e837ad42487456e72eb87bb93ebc400736039d0d0b2e7079f/agavepy-0.3.11.tar.gz" } ], "0.3.12": [ { "comment_text": "", "digests": { "md5": "14180f984f6e43ab1eb41447a1b97e70", "sha256": "f76efd068319366c9535498b7a4421c593c5db956ac5e4b65366247783b29391" }, "downloads": -1, "filename": "agavepy-0.3.12.tar.gz", "has_sig": false, "md5_digest": "14180f984f6e43ab1eb41447a1b97e70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84708, "upload_time": "2016-08-30T04:03:18", "url": "https://files.pythonhosted.org/packages/47/03/15afa1fd5214956da6ac147dfcd97d3323e78dbecf9fbb1d20a38b694e38/agavepy-0.3.12.tar.gz" } ], "0.3.13": [ { "comment_text": "", "digests": { "md5": "447773f9deb802833be2d97914241d20", "sha256": "914161fa9148c7acb583bd7807000d5621f3b3925bfe3793a19afd757b9bb49f" }, "downloads": -1, "filename": "agavepy-0.3.13.tar.gz", "has_sig": false, "md5_digest": "447773f9deb802833be2d97914241d20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85888, "upload_time": "2016-09-20T21:22:06", "url": "https://files.pythonhosted.org/packages/9f/1e/eb3e61717b0282d3652e80dd743e856c7d0189ad3cfa6c6d880b8f446475/agavepy-0.3.13.tar.gz" } ], "0.3.14": [ { "comment_text": "", "digests": { "md5": "8da45e710d9e264f3bebd642099653a0", "sha256": "76a9c50dcd0a0118d0b1ffdfc86e5c48eac4a264315b40bd5081b152c4ac8b8f" }, "downloads": -1, "filename": "agavepy-0.3.14.tar.gz", "has_sig": false, "md5_digest": "8da45e710d9e264f3bebd642099653a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85939, "upload_time": "2016-10-13T22:34:15", "url": "https://files.pythonhosted.org/packages/a1/ee/e8c4f4b1342db5ac004a84cd1f68d819ff9622c2133ec5d43beafb2e7dbf/agavepy-0.3.14.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "288e1654ee283bd0bd93d99a11c026c0", "sha256": "04dd3fd5503308ff65b490dcff2f68485ce9b356d837aaf5a4ad2472648fe935" }, "downloads": -1, "filename": "agavepy-0.3.2.tar.gz", "has_sig": false, "md5_digest": "288e1654ee283bd0bd93d99a11c026c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80501, "upload_time": "2016-02-04T21:35:29", "url": "https://files.pythonhosted.org/packages/bc/a9/126e7a9e3f1f2960290671aa9ca6addc35eb850b801fba309fde85907028/agavepy-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "356ae1adce075fc6d9a7c24616d213d3", "sha256": "26761d4d5338922dc23cdc5370e3805e9fc2be2ce1df35bdf048958b00289acd" }, "downloads": -1, "filename": "agavepy-0.3.3.tar.gz", "has_sig": false, "md5_digest": "356ae1adce075fc6d9a7c24616d213d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81864, "upload_time": "2016-02-04T22:47:01", "url": "https://files.pythonhosted.org/packages/a7/e6/f35c981b04166692ae8fa2bdedd4ba164e0cb53edd05aa4f918906f406c5/agavepy-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "cfd7804582bcdeb8cd781c64573b61e2", "sha256": "127e3be2ace80def0055bb2bd5cdfab64a74edc5f02d2b2577c80065d5197207" }, "downloads": -1, "filename": "agavepy-0.3.4.tar.gz", "has_sig": false, "md5_digest": "cfd7804582bcdeb8cd781c64573b61e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81114, "upload_time": "2016-02-06T17:05:30", "url": "https://files.pythonhosted.org/packages/4a/43/427a46ccfd0b0aaaa7bbddd12e20f33fee3551f9d223141aac13bfd9f86d/agavepy-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "282275bcaccbf1252cf8c66b154bd700", "sha256": "b88b2b3e11b9d54be286ad1d2acb9e1fb8af89a0707f4d92b981e060e539834b" }, "downloads": -1, "filename": "agavepy-0.3.5.tar.gz", "has_sig": false, "md5_digest": "282275bcaccbf1252cf8c66b154bd700", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83484, "upload_time": "2016-02-09T23:50:11", "url": "https://files.pythonhosted.org/packages/e5/7e/bc3709acee9dd7830f83b90a0f1c895a4027bd0e31a23a03dfc92c26ac75/agavepy-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "355777b8b855dbbe4d8a776f101d30ab", "sha256": "2a776e15a7df24c5d2b93d5da1aeba96c15ff827a96bd60d68c29ddb81406f88" }, "downloads": -1, "filename": "agavepy-0.3.6.tar.gz", "has_sig": false, "md5_digest": "355777b8b855dbbe4d8a776f101d30ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83722, "upload_time": "2016-02-15T18:10:38", "url": "https://files.pythonhosted.org/packages/08/40/39b0ac61991c48c66bc025cebdf761f9be4760b00d67193db7b2df10e0d4/agavepy-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "d7f99b57fd1bb88ae205e83c9e06f18e", "sha256": "1c0036e0cf3ab93f8bb26bd9dcb646af0c16f53c9716b5e9ed70ad32d2009e1c" }, "downloads": -1, "filename": "agavepy-0.3.7.tar.gz", "has_sig": false, "md5_digest": "d7f99b57fd1bb88ae205e83c9e06f18e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84259, "upload_time": "2016-02-17T22:49:43", "url": "https://files.pythonhosted.org/packages/3a/15/26c1626b538e287092c77362f850ea10e873403368ea2a25c217f73c1c8a/agavepy-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "fcf4fe674485349533e15f679e9b3b3b", "sha256": "725dcc7737e3c95b5b47f617ca0e6f80cb1375bc69291521c1767dcdd70b41d6" }, "downloads": -1, "filename": "agavepy-0.3.8.tar.gz", "has_sig": false, "md5_digest": "fcf4fe674485349533e15f679e9b3b3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84320, "upload_time": "2016-02-26T18:26:35", "url": "https://files.pythonhosted.org/packages/68/0c/76c2f17328d1ac2c7bdbd6441cefeeca6f7804a1742006d86c3178c521e2/agavepy-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "562a880eaa4baa57d42905ae67571ac4", "sha256": "6b6b0d9af875367e08eb6fe1c7edf92b2b0038216ee813de4bf19cef34e84061" }, "downloads": -1, "filename": "agavepy-0.3.9.tar.gz", "has_sig": false, "md5_digest": "562a880eaa4baa57d42905ae67571ac4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84434, "upload_time": "2016-05-14T00:31:59", "url": "https://files.pythonhosted.org/packages/56/6a/59dc53e05a1c631b6d643ce724c75ae40f296351cb2a4f06331745afcc8e/agavepy-0.3.9.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "ce46c654a3b5735328d7bec79baa2cab", "sha256": "7b6ed2910ca1d57a55a0d4e5d1818fcbf14e759a6765b8f76c99c174f1ccfc0d" }, "downloads": -1, "filename": "agavepy-0.4.0.tar.gz", "has_sig": false, "md5_digest": "ce46c654a3b5735328d7bec79baa2cab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92359, "upload_time": "2017-05-11T13:58:31", "url": "https://files.pythonhosted.org/packages/fe/79/46cdfd8f3d783481cdb5aac15ac6ae7f11e68cabbb1fc34aa88f9c7e3261/agavepy-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "88d67adeee75dc25070a275d048e0ef3", "sha256": "2f3bb2a7152e3d96c6b16d3217f0609cb92c022e84f08c4f07ba9c8470a107e0" }, "downloads": -1, "filename": "agavepy-0.5.0.tar.gz", "has_sig": false, "md5_digest": "88d67adeee75dc25070a275d048e0ef3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91283, "upload_time": "2017-10-12T23:50:25", "url": "https://files.pythonhosted.org/packages/ab/2d/628d8b033135e519d1a01c1662f31c1b22302d22c4e3b035b9d879e29658/agavepy-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "2a13c27120163baa6483ac3774c0e8a2", "sha256": "0a84c3278942cd76314ffb0c97e9fa5bac21fab2db696a3d1018793b70593d3b" }, "downloads": -1, "filename": "agavepy-0.6.0.tar.gz", "has_sig": false, "md5_digest": "2a13c27120163baa6483ac3774c0e8a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92159, "upload_time": "2017-11-07T00:43:37", "url": "https://files.pythonhosted.org/packages/cd/2b/00c6d705b1d69f5fc0c09e7a29d7d987f680386f551501112ebc7b7209c2/agavepy-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "af2fc9287019202ea636c56ba0d1f881", "sha256": "05028dd0dbcb7f013439e0bcbc1d0f4a0feee9c090fbfa2e0c83f7a83f0bc811" }, "downloads": -1, "filename": "agavepy-0.6.1.tar.gz", "has_sig": false, "md5_digest": "af2fc9287019202ea636c56ba0d1f881", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92203, "upload_time": "2017-11-07T00:56:36", "url": "https://files.pythonhosted.org/packages/6a/0f/e7d448750e7a17e4eff7393c23f5cb3ef516859d2e06b07f3dce0240caa5/agavepy-0.6.1.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "73b1ea92e0a59f2d66b129883f8fc476", "sha256": "a63cd12fe133f668f7a241bfc6e3f8aefcd88273b794731fdb3e3fd022df1aae" }, "downloads": -1, "filename": "agavepy-0.7.0.tar.gz", "has_sig": false, "md5_digest": "73b1ea92e0a59f2d66b129883f8fc476", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97792, "upload_time": "2018-03-08T23:15:49", "url": "https://files.pythonhosted.org/packages/08/b2/db827a9c1183e364cf85bfc7cbb4f23c8c5a6b83cbd5ae7ab785f9fe354c/agavepy-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "24e5755022795302e01a68fc2c3b0077", "sha256": "565bf96e67ed1a440f9fe3760f6229cdb9093d2faa33d9c08abe27d961d06d46" }, "downloads": -1, "filename": "agavepy-0.7.1.tar.gz", "has_sig": false, "md5_digest": "24e5755022795302e01a68fc2c3b0077", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97760, "upload_time": "2018-07-01T20:34:19", "url": "https://files.pythonhosted.org/packages/9f/3b/dc6260e42241d1960c205731fd73f272b181259753fb11529a526b43f6d3/agavepy-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "21e57d7a74f99acfe0246c3cdeeafda2", "sha256": "5405792cd1cf6b9ef957adf8f521cfcbafc36a69063c464de82613286dd685eb" }, "downloads": -1, "filename": "agavepy-0.7.2.tar.gz", "has_sig": false, "md5_digest": "21e57d7a74f99acfe0246c3cdeeafda2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97796, "upload_time": "2018-07-03T15:54:07", "url": "https://files.pythonhosted.org/packages/b7/b0/b2227c0855773abb5a3952804394b59b6681b199ec3c3b81a94de9688e47/agavepy-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "5bbdc0bc9630f32af0d97f7ce25d5713", "sha256": "1a6f9b29ccd00389e638838a29ebd9efc6decf76d4fdc2b56d5b5a4637af1c53" }, "downloads": -1, "filename": "agavepy-0.7.3.tar.gz", "has_sig": false, "md5_digest": "5bbdc0bc9630f32af0d97f7ce25d5713", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97940, "upload_time": "2018-09-13T15:27:06", "url": "https://files.pythonhosted.org/packages/80/b5/2f40aebce50736335172e1a7f543114aa6364f1b09ba50282c3813ebd232/agavepy-0.7.3.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "9284acf267ddf12aeb5d1b2d4c7ac6fd", "sha256": "3d10b15aab59b0e44233c1f65e73cc969fa94791b9f77d61767f75d652c4527f" }, "downloads": -1, "filename": "agavepy-0.9.3.tar.gz", "has_sig": false, "md5_digest": "9284acf267ddf12aeb5d1b2d4c7ac6fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 158818, "upload_time": "2019-04-17T02:35:57", "url": "https://files.pythonhosted.org/packages/2e/e4/a87728ba3964bc50a6154d9c52ed40e3eb4e84489e41837b151469732830/agavepy-0.9.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9284acf267ddf12aeb5d1b2d4c7ac6fd", "sha256": "3d10b15aab59b0e44233c1f65e73cc969fa94791b9f77d61767f75d652c4527f" }, "downloads": -1, "filename": "agavepy-0.9.3.tar.gz", "has_sig": false, "md5_digest": "9284acf267ddf12aeb5d1b2d4c7ac6fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 158818, "upload_time": "2019-04-17T02:35:57", "url": "https://files.pythonhosted.org/packages/2e/e4/a87728ba3964bc50a6154d9c52ed40e3eb4e84489e41837b151469732830/agavepy-0.9.3.tar.gz" } ] }