{ "info": { "author": "Benjamin Bertrand", "author_email": "beenje@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only" ], "description": "gidgetlab\n=========\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n\n.. image:: https://readthedocs.org/projects/gidgetlab/badge/?version=latest\n :target: https://gidgetlab.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\nAn asynchronous `GitLab API`_ library.\n\nThis library is based on gidgethub_ from Brett Cannon,\nan async GitHub API library.\n\nI liked the concept with the asynchronous and `sans-I/O`_\napproach and decided to adapt it to the GitLab's API.\nAll credit to `Brett Cannon `_ for the initial library!\n\nQuick start\n-----------\n\nHere is a complete example of a server that responds to\nwebhooks which will greet the author and say thanks\nwhenever an issue is opened::\n\n from gidgetlab.aiohttp import GitLabBot\n\n bot = GitLabBot(\"beenje\")\n\n\n @bot.router.register(\"Issue Hook\", action=\"open\")\n async def issue_opened_event(event, gl, *args, **kwargs):\n \"\"\"Whenever an issue is opened, greet the author and say thanks.\"\"\"\n url = f\"/projects/{event.project_id}/issues/{event.object_attributes['iid']}/notes\"\n message = f\"Thanks for the report @{event.data['user']['username']}! I will look into it ASAP! (I'm a bot).\"\n await gl.post(url, data={\"body\": message})\n\n\n if __name__ == \"__main__\":\n bot.run()\n\nInstallation\n------------\n\nGidgetlab is `available on PyPI `_.\n\n::\n\n python3 -m pip install gidgetlab\n\nTo install web server support (e.g. for ``aiohttp``, ``treq``, or ``tornado``), specify it as an extra dependency:\n\n::\n\n python3 -m pip install gidgetlab[aiohttp]\n\nNote that the library is still in alpha development stage.\n\nGoals\n-----\n\nThe key goal is the same as gidgethub_ (but for GitLab):\nto provide an async base library for the `GitLab API`_\nwhich performs no I/O of its own (a `sans-I/O`_ library).\n\nAnother goal is to easily write GitLab bots: applications that\nrun automation on GitLab, using GitLab WebHooks and API.\nThis was inspired by `Mariatta `_ PyCon 2018 workshop:\n`Build-a-GitHub-Bot Workshop `_.\n\n\nAlternative libraries\n---------------------\n\nIf you think you want a different approach to the GitLab API,\n`GitLab maintains a list of libraries `_.\n\n.. _gidgethub: https://github.com/brettcannon/gidgethub\n.. _`GitLab API`: https://docs.gitlab.com/ce/api/\n.. _`sans-I/O`: https://sans-io.readthedocs.io/\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/beenje/gidgetlab", "keywords": "gitlab sans-io async", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "gidgetlab", "package_url": "https://pypi.org/project/gidgetlab/", "platform": "", "project_url": "https://pypi.org/project/gidgetlab/", "project_urls": { "Homepage": "https://gitlab.com/beenje/gidgetlab" }, "release_url": "https://pypi.org/project/gidgetlab/0.5.0/", "requires_dist": [ "aiohttp; extra == 'aiohttp'", "cachetools; extra == 'aiohttp'", "aiohttp; extra == 'dev'", "cachetools; extra == 'dev'", "pytest (>=3.0.0); extra == 'dev'", "pytest-aiohttp; extra == 'dev'", "pytest-asyncio; extra == 'dev'", "pytest-cov; extra == 'dev'", "sphinx; extra == 'dev'", "sphinx-autodoc-typehints; extra == 'dev'", "tornado; extra == 'dev'", "treq; extra == 'dev'", "twisted[tls]; extra == 'dev'", "sphinx; extra == 'docs'", "sphinx-autodoc-typehints; extra == 'docs'", "pytest (>=3.0.0); extra == 'tests'", "pytest-aiohttp; extra == 'tests'", "pytest-asyncio; extra == 'tests'", "pytest-cov; extra == 'tests'", "tornado; extra == 'tornado'", "treq; extra == 'treq'", "twisted[tls]; extra == 'treq'" ], "requires_python": ">=3.6.0", "summary": "An async GitLab API library", "version": "0.5.0" }, "last_serial": 5502774, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "141c141e9853c86e3100162e1b590b5a", "sha256": "2c384781d20cd13b577c8b003bda1639b4f77a16503111f1ca4c8c48479650d7" }, "downloads": -1, "filename": "gidgetlab-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "141c141e9853c86e3100162e1b590b5a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 21882, "upload_time": "2018-07-22T21:05:44", "url": "https://files.pythonhosted.org/packages/8c/3b/c510d451692b9d1e8facf459ab23c7ec54e9ecb508c46c297e48a0c4d4bb/gidgetlab-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ecba16b5c06a9b4c206b856bf800d056", "sha256": "c91c23b28df6de91b9af8a84737276b7af6c34379f853ca992ed8a0f9439d8bf" }, "downloads": -1, "filename": "gidgetlab-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ecba16b5c06a9b4c206b856bf800d056", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 21163, "upload_time": "2018-07-22T21:05:46", "url": "https://files.pythonhosted.org/packages/e2/6b/7124adac5b140fc4adcb60d1a2810a57427f60d7f6f9def553ef49a9f662/gidgetlab-0.1.0.tar.gz" } ], "0.1.0.post1": [ { "comment_text": "", "digests": { "md5": "b793bf17e50d1f363795b2681703b244", "sha256": "70d9283d3f6c1fa173dbe15d8001826ed70f9bb688e1afc476fe6b0dba7f5c14" }, "downloads": -1, "filename": "gidgetlab-0.1.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "b793bf17e50d1f363795b2681703b244", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 21955, "upload_time": "2018-07-22T21:26:12", "url": "https://files.pythonhosted.org/packages/0e/d0/894945d40681be7fedbe1b26b05c96b9c9a5e48cadc873784fbb97a3fda9/gidgetlab-0.1.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29430ee5e0d097677711558e2edb688f", "sha256": "bc9648db475a1b6b7c81f48610f1ba5a59b7979999fd512292bea39b2f35bafc" }, "downloads": -1, "filename": "gidgetlab-0.1.0.post1.tar.gz", "has_sig": false, "md5_digest": "29430ee5e0d097677711558e2edb688f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 21174, "upload_time": "2018-07-22T21:26:13", "url": "https://files.pythonhosted.org/packages/8a/63/61a83b4a488428761a1784ee8d8a83e934523c12e1f3aaf4bcecba622175/gidgetlab-0.1.0.post1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "034ec4aa3854bc83ab73aa4706c84c6a", "sha256": "23f00697428c1f2126c0c36d93188c786896f172db8cd238f040f3eb7fd98548" }, "downloads": -1, "filename": "gidgetlab-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "034ec4aa3854bc83ab73aa4706c84c6a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 24335, "upload_time": "2018-08-18T20:37:31", "url": "https://files.pythonhosted.org/packages/93/cf/03b03b99f374da5dda29007d8e0fe5be0e64cb8d502e433252931d493d72/gidgetlab-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "006581fae123e8e4effc397fc45eb63a", "sha256": "d7b09daf1c20c176f0d4e121605d199efbf4783377487b8be4706eec49d3880f" }, "downloads": -1, "filename": "gidgetlab-0.2.0.tar.gz", "has_sig": false, "md5_digest": "006581fae123e8e4effc397fc45eb63a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 44337, "upload_time": "2018-08-18T20:37:33", "url": "https://files.pythonhosted.org/packages/99/15/ef5b316c18fcfbfdc99434e1d3979e8a025827cf00640795c903dede99e3/gidgetlab-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "d9ae90c9a6d43b41cff7d9a7b02424a9", "sha256": "ab49707b3e21efc2a5ee6b4e3e8677e3dd77f19237705222ce5dd1a863300337" }, "downloads": -1, "filename": "gidgetlab-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d9ae90c9a6d43b41cff7d9a7b02424a9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 26900, "upload_time": "2018-08-21T20:55:49", "url": "https://files.pythonhosted.org/packages/5e/2d/9a3eb4b78481ded3b8f49aef061f5165b65e13d07446c48076fc737a0777/gidgetlab-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca0efa576f198610857e85fee76ad0b6", "sha256": "d40522932674e7f7a1101904c4f27f2a366448c74f36c55fb7e3e8ff12d207bd" }, "downloads": -1, "filename": "gidgetlab-0.3.0.tar.gz", "has_sig": false, "md5_digest": "ca0efa576f198610857e85fee76ad0b6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 45112, "upload_time": "2018-08-21T20:55:51", "url": "https://files.pythonhosted.org/packages/f0/a0/bd6b7207c05411e708b5bc890d8ce6023194da70c909eb7f712bdecad872/gidgetlab-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "222f7863b8a3cbd42a6b6eefc5b7cafe", "sha256": "160f40ebbf34ad803f3a66dfd423486a13d3862b9b4d38e436634a26ce6b9dad" }, "downloads": -1, "filename": "gidgetlab-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "222f7863b8a3cbd42a6b6eefc5b7cafe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 29089, "upload_time": "2019-04-17T12:15:45", "url": "https://files.pythonhosted.org/packages/73/af/2af12ad160e77c1705b7dd99ca973863a19ed5da8b6f8d75d860dbb3eaa8/gidgetlab-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1b7ae4fd036cd632cc7be6625ce7d3f", "sha256": "1e7c236046d96bae3610b8a7d4ec494cc3413fb1bb52b55bf8cc4d051001c3e5" }, "downloads": -1, "filename": "gidgetlab-0.3.1.tar.gz", "has_sig": false, "md5_digest": "a1b7ae4fd036cd632cc7be6625ce7d3f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 46375, "upload_time": "2019-04-17T12:15:46", "url": "https://files.pythonhosted.org/packages/24/36/8656facd4b61b543bc63cd80a60ff61c6d1af269361dcbf188be8c884bbf/gidgetlab-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "099e4fb33da80667aa3c88e635fb1d03", "sha256": "20890f5fec518fc26c8d0a05c82a235a65ff937caee6e03366695494ea8b92c1" }, "downloads": -1, "filename": "gidgetlab-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "099e4fb33da80667aa3c88e635fb1d03", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 27213, "upload_time": "2019-05-20T12:55:49", "url": "https://files.pythonhosted.org/packages/71/de/dd1ed4825d1de0724e0f916b71af6f288ce0ca9f8f1d1784298d7a75ac20/gidgetlab-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3bceeb08c022d5b1b9a5fba0ebf7d108", "sha256": "a336cea27eb6f655bf9d480f74c360f4ab7459d5b33ba09a90c7e9938cc32b0b" }, "downloads": -1, "filename": "gidgetlab-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3bceeb08c022d5b1b9a5fba0ebf7d108", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 45925, "upload_time": "2019-05-20T12:55:51", "url": "https://files.pythonhosted.org/packages/74/5d/d0015ab6293e568a408a6d162526a0bf12e010c7a5c5b074d3554cf9ee58/gidgetlab-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "ae80363515112e4146f7b42784f5cd2f", "sha256": "e2df10a59036ba18f024979c809f9e7b7e28c5bad9a86d35fa15e2a6d81363bd" }, "downloads": -1, "filename": "gidgetlab-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ae80363515112e4146f7b42784f5cd2f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 29747, "upload_time": "2019-07-08T19:32:51", "url": "https://files.pythonhosted.org/packages/2e/eb/1d69d85d7b0a200011ace1f0396868914265b2e12a734cec7d47366c885d/gidgetlab-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a81234be6bbf45ca54c09d8915c3e3ed", "sha256": "4cf1932ba0196353055f466ca1b56b47acb9b170cd7d8e48121e7c74f44575ca" }, "downloads": -1, "filename": "gidgetlab-0.5.0.tar.gz", "has_sig": false, "md5_digest": "a81234be6bbf45ca54c09d8915c3e3ed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 47376, "upload_time": "2019-07-08T19:32:53", "url": "https://files.pythonhosted.org/packages/2a/02/b9a7b440aa766c6caa6453d7269d2e3d59c51dd0161236dd60e9ff242267/gidgetlab-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ae80363515112e4146f7b42784f5cd2f", "sha256": "e2df10a59036ba18f024979c809f9e7b7e28c5bad9a86d35fa15e2a6d81363bd" }, "downloads": -1, "filename": "gidgetlab-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ae80363515112e4146f7b42784f5cd2f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 29747, "upload_time": "2019-07-08T19:32:51", "url": "https://files.pythonhosted.org/packages/2e/eb/1d69d85d7b0a200011ace1f0396868914265b2e12a734cec7d47366c885d/gidgetlab-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a81234be6bbf45ca54c09d8915c3e3ed", "sha256": "4cf1932ba0196353055f466ca1b56b47acb9b170cd7d8e48121e7c74f44575ca" }, "downloads": -1, "filename": "gidgetlab-0.5.0.tar.gz", "has_sig": false, "md5_digest": "a81234be6bbf45ca54c09d8915c3e3ed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 47376, "upload_time": "2019-07-08T19:32:53", "url": "https://files.pythonhosted.org/packages/2a/02/b9a7b440aa766c6caa6453d7269d2e3d59c51dd0161236dd60e9ff242267/gidgetlab-0.5.0.tar.gz" } ] }