{ "info": { "author": "5j9", "author_email": "5j9@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "Environment :: Web Environment", "Framework :: Trio", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": ".. image:: https://badge.fury.io/py/mwpy.svg\n :target: https://badge.fury.io/py/mwpy\n.. image:: https://travis-ci.org/5j9/mwpy.svg?branch=master\n :target: https://travis-ci.org/5j9/mwpy\n.. image:: https://codecov.io/gh/5j9/mwpy/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/5j9/mwpy\n\n``mwpy`` is an ``async`` Python_ client for MediaWiki_ API. It's built on top of asks_ and trio_!\n\nInstallation\n------------\n``mwpy`` development is done using Python 3.8 (because of the nice new ``async`` features of it) but theoretically the library should be Python 3.6+ compatible. Hopefully there will be more solid support for 3.6+ as soon as ``unittest`` and ``mock`` backports become available.\n\n.. code-block::\n\n pip install mwpy\n\n\nNotable features\n----------------\n- Supports setting a custom `User-Agent header`_ for each ``API`` instance.\n- Handles `query continuations`_.\n- Handles batchcomplete_ signals for prop queries and yeilds the results as soon as a batch is complete.\n- Configurable maxlag_. Waits as the API recommends and then retries.\n- Some convenient methods for accessing common API calls, e.g. for recentchanges_, login_, and siteinfo_.\n- Lightweight. ``mwpy`` is a thin wrapper. Method signatures are very similar to the parameters in an actual API URL. You can consult MediaWiki's documentation if in doubt about what a parameter does.\n\n.. _MediaWiki: https://www.mediawiki.org/\n.. _trio: https://github.com/python-trio/trio\n.. _asks: https://github.com/theelous3/asks\n.. _User-Agent header: https://www.mediawiki.org/wiki/API:Etiquette#The_User-Agent_header\n.. _query continuations: https://www.mediawiki.org/wiki/API:Query#Example_4:_Continuing_queries\n.. _batchcomplete: https://www.mediawiki.org/wiki/API:Query#Example_5:_Batchcomplete\n.. _recentchanges: https://www.mediawiki.org/wiki/API:RecentChanges\n.. _login: https://www.mediawiki.org/wiki/API:Login\n.. _siteinfo: https://www.mediawiki.org/wiki/API:Siteinfo\n.. _maxlag: https://www.mediawiki.org/wiki/Manual:Maxlag_parameter\n.. _Python: https://www.python.org/\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/5j9/mwpy", "keywords": "", "license": "GNU General Public License v3 (GPLv3)", "maintainer": "", "maintainer_email": "", "name": "mwpy", "package_url": "https://pypi.org/project/mwpy/", "platform": "", "project_url": "https://pypi.org/project/mwpy/", "project_urls": { "Homepage": "https://github.com/5j9/mwpy" }, "release_url": "https://pypi.org/project/mwpy/0.3/", "requires_dist": [ "trio", "asks" ], "requires_python": ">=3.5", "summary": "An async MediaWiki client using trio and asks.", "version": "0.3" }, "last_serial": 5862372, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "8d5cba81d35cba7d1568f51f417ec40b", "sha256": "913daf93796a0c4d9687a216b85620f7f1ddecdd446b9190b740d73ecd71e18d" }, "downloads": -1, "filename": "mwpy-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8d5cba81d35cba7d1568f51f417ec40b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 4617, "upload_time": "2019-09-09T15:51:32", "url": "https://files.pythonhosted.org/packages/dd/28/2a9e5de23d993ff65d8cccf9c08c90a307c54171f7695610a923991e9b7b/mwpy-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b9885849286c19ae72c806986ff1efe6", "sha256": "16cee0e0ee20428be46f0d9cbb43379598276e37e4180d9edc7aabb10471e59e" }, "downloads": -1, "filename": "mwpy-0.1.tar.gz", "has_sig": false, "md5_digest": "b9885849286c19ae72c806986ff1efe6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6374, "upload_time": "2019-09-09T15:51:35", "url": "https://files.pythonhosted.org/packages/96/25/210829dec1ae87d2a3875e5bc5d6144c0682fb3c621db9eb0f83bf143f0a/mwpy-0.1.tar.gz" } ], "0.1.dev0": [ { "comment_text": "", "digests": { "md5": "b5ed7ec54a979fc3197274c14cba8b97", "sha256": "83455502cee981fb9a5357d84c6e01d7cd59e69e4b00a5e0de54130889c2a77d" }, "downloads": -1, "filename": "mwpy-0.1.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "b5ed7ec54a979fc3197274c14cba8b97", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 4551, "upload_time": "2019-09-09T07:43:51", "url": "https://files.pythonhosted.org/packages/64/b8/b4aec7922545995843ba01ed80f27aa70169e9be545bcfc4f8327470a0f9/mwpy-0.1.dev0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec2c8d12cecaca1fd5276bae05fbab93", "sha256": "0258c9bf6cef69c3fc983f745df6b096a443f471d818fb12b99a0245b91daba9" }, "downloads": -1, "filename": "mwpy-0.1.dev0.tar.gz", "has_sig": false, "md5_digest": "ec2c8d12cecaca1fd5276bae05fbab93", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5999, "upload_time": "2019-09-09T07:43:54", "url": "https://files.pythonhosted.org/packages/55/5f/20770f8da42885ee435059cc550665e1240d023062bd3e1a561c703e58e7/mwpy-0.1.dev0.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "8aa793ad0d7d9970fdd0fc5c68107838", "sha256": "9905403bbbb75a624fe657a894d0814584ee6856c3430a6997c82d9d1957a43e" }, "downloads": -1, "filename": "mwpy-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8aa793ad0d7d9970fdd0fc5c68107838", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 4962, "upload_time": "2019-09-12T12:07:15", "url": "https://files.pythonhosted.org/packages/ea/b0/a39067888b47553c54e86746e81210e21b5657bcc4bf08eba6c057cf6a07/mwpy-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfc0c5bd41a1283778a85414c3650c7d", "sha256": "eb36cfeebf373fe7599238d86858841b95bd49a219e734ed07c732b55f8aeb6a" }, "downloads": -1, "filename": "mwpy-0.2.tar.gz", "has_sig": false, "md5_digest": "bfc0c5bd41a1283778a85414c3650c7d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 4860, "upload_time": "2019-09-12T12:07:17", "url": "https://files.pythonhosted.org/packages/46/28/43d6ad7cf4df4cfceeded9bb9638df71467bc583c6f9802f2c81753860c2/mwpy-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "36b591923cadf9346a7cb46ab62efa4a", "sha256": "81adf1cf09f32dd8e2b1b0fd2d80ddc372112be2b99266b809fd36ebb8d40f74" }, "downloads": -1, "filename": "mwpy-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "36b591923cadf9346a7cb46ab62efa4a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5626, "upload_time": "2019-09-20T13:41:38", "url": "https://files.pythonhosted.org/packages/32/29/23927017860770db12bf5bf13b0761cf23a6d2097601309486ce56d562e5/mwpy-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac154e3c7a3a3e44f5ea7a9f5af2443e", "sha256": "6edc82c9f2ebfcb6da883f7c513d1d1877333591cd112f3426a90561569b0ca7" }, "downloads": -1, "filename": "mwpy-0.3.tar.gz", "has_sig": false, "md5_digest": "ac154e3c7a3a3e44f5ea7a9f5af2443e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5563, "upload_time": "2019-09-20T13:41:39", "url": "https://files.pythonhosted.org/packages/f5/78/5879125cd998b24bebafc7051070c35350744d14963dde04820156471dd6/mwpy-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "36b591923cadf9346a7cb46ab62efa4a", "sha256": "81adf1cf09f32dd8e2b1b0fd2d80ddc372112be2b99266b809fd36ebb8d40f74" }, "downloads": -1, "filename": "mwpy-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "36b591923cadf9346a7cb46ab62efa4a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5626, "upload_time": "2019-09-20T13:41:38", "url": "https://files.pythonhosted.org/packages/32/29/23927017860770db12bf5bf13b0761cf23a6d2097601309486ce56d562e5/mwpy-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac154e3c7a3a3e44f5ea7a9f5af2443e", "sha256": "6edc82c9f2ebfcb6da883f7c513d1d1877333591cd112f3426a90561569b0ca7" }, "downloads": -1, "filename": "mwpy-0.3.tar.gz", "has_sig": false, "md5_digest": "ac154e3c7a3a3e44f5ea7a9f5af2443e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5563, "upload_time": "2019-09-20T13:41:39", "url": "https://files.pythonhosted.org/packages/f5/78/5879125cd998b24bebafc7051070c35350744d14963dde04820156471dd6/mwpy-0.3.tar.gz" } ] }