{ "info": { "author": "Eray Erdin", "author_email": "eraygezer.94@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development", "Topic :: System :: Networking :: Monitoring" ], "description": "# PyAirmore\n\n[![PyPI](https://img.shields.io/pypi/v/pyairmore.svg?style=flat-square&logo=python&logoColor=white)](https://pypi.org/project/pyairmore/)\n[![PyPI - Status](https://img.shields.io/pypi/status/pyairmore.svg?style=flat-square)](https://pypi.org/project/pyairmore/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyairmore.svg?style=flat-square&logo=python&logoColor=white)](https://pypi.org/project/pyairmore/)\n[![PyPI - License](https://img.shields.io/pypi/l/pyairmore.svg?style=flat-square)](LICENSE.txt)\n[![Codacy grade](https://img.shields.io/codacy/grade/f9dcb968a7cc4804b64ae7e0fac3a5be.svg?logo=codacy&logoColor=white&style=flat-square)](https://www.codacy.com/app/erayerdin/pyairmore?utm_source=github.com&utm_medium=referral&utm_content=erayerdin/pyairmore&utm_campaign=Badge_Grade)\n[![Gitter](https://img.shields.io/gitter/room/pyairmore/Lobby.svg?style=flat-square&logo=gitter&logoColor=white)](http://gitter.im/pyairmore/Lobby)\n\n| | Build | Coverage |\n|-------------|-------|----------|\n| master | [![Travis (.org) master](https://img.shields.io/travis/erayerdin/pyairmore/master.svg?style=flat-square&logo=travis&logoColor=white)](https://travis-ci.org/erayerdin/pyairmore) | [![Codecov master](https://img.shields.io/codecov/c/github/erayerdin/pyairmore/master.svg?style=flat-square&logo=codecov&logoColor=white)](https://codecov.io/gh/erayerdin/pyairmore) |\n| development | [![Travis (.org) development](https://img.shields.io/travis/erayerdin/pyairmore/development.svg?style=flat-square&logo=travis&logoColor=white)](https://travis-ci.org/erayerdin/pyairmore) | [![Codecov development](https://img.shields.io/codecov/c/github/erayerdin/pyairmore/development.svg?style=flat-square&logo=codecov&logoColor=white)](https://codecov.io/gh/erayerdin/pyairmore) |\n\nPyAirmore is a Airmore client library for Android Airmore server. You can get\ninformation from Airmore server on your Android.\n\n# Simple Example\n\nAt first, you need to know your device's IPv4 address, which you can easily\nfind out by simply opening your Airmore application on Android, click options\n(top-right, triple vertical dots) button, press \"Get IP\".\n\nThen, you start coding:\n\n from ipaddress import IPv4Address\n from pyairmore.request import AirmoreSession # import session\n \n device_ip = IPv4Address(\"your ip address\") # need to put your ip\n session = AirmoreSession(device_ip) # also you can put your port as int\n # airmore's port default is 2333\n \n # you can check if your airmore server is running\n # you better do it before doing anything on your device\n session.is_server_running # True\n \n # and before doing anything, you must request access from your device\n # you better turn on your airmore app on your device and watch it\n session.request_authorization() # True if accepted, False if denied\n # when you request authorization, airmore app on your device will\n # provide a dialogue to accept the authorization, ensure to accept\n \nNow that we created an authorized session, we can now create a `Service`.\nYou can use services to access many functionalities of your device. For the\nsake of simplicity, we will use a service called `DeviceService`.\n\n # assuming we have done above\n \n from pyairmore.service.device import DeviceService\n \n device = DeviceService(session)\n # all services initializes with a session instance\n \n # you can once more do `Session::is_server_running` and\n # `Session::request_authorization` just in case\n \n details = device.fetch_device_details()\n \n # Now we can access many details about out device.\n \n details.power # 0.74\n details.device_name # \"My device\"\n details.is_root # True, bcoz real men use rooted device\n details.imei # muhahaha\n details.call_history_count # 666\n \n # so on and so forth\n \n# Documentation\n\nYou can get latest documentation from [here](https://pyairmore.readthedocs.io/)\nand you can also check out `development` branch's documentation [here](https://pyairmore.readthedocs.io/en/development/),\nwhich is supposed to have next release features.\n\n# Contribution\n\nPlease refer to [contribution guide](CONTRIBUTING.md) before contributing.\n\nYou can, then, quickly contribute by cloning the project, opening it up with\nyour favorite IDE or text editor which supports TODOs and check todos for\nneeds, or you can also check the issues.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/erayerdin/exceptive/archive/master.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/erayerdin/pyairmore", "keywords": "python android airmore pyairmore", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "pyairmore", "package_url": "https://pypi.org/project/pyairmore/", "platform": "", "project_url": "https://pypi.org/project/pyairmore/", "project_urls": { "Download": "https://github.com/erayerdin/exceptive/archive/master.zip", "Homepage": "https://github.com/erayerdin/pyairmore" }, "release_url": "https://pypi.org/project/pyairmore/0.2.1a1/", "requires_dist": null, "requires_python": "", "summary": "PyAirmore is a communication layer between an Android Airmore server and the client.", "version": "0.2.1a1" }, "last_serial": 4472440, "releases": { "0.1.0a1": [ { "comment_text": "", "digests": { "md5": "b2a0a7d2f4837e3e93786c53d0a39b47", "sha256": "ced6f39dc167df7ca1694a931afa5d26e5fc7bc96c1af692543ab01ef449b974" }, "downloads": -1, "filename": "pyairmore-0.1.0a1.tar.gz", "has_sig": false, "md5_digest": "b2a0a7d2f4837e3e93786c53d0a39b47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3959, "upload_time": "2018-10-16T11:49:13", "url": "https://files.pythonhosted.org/packages/fa/5a/887a069b5323442f56f706ed8bca01c43450a35b96c16fc0c43bce308045/pyairmore-0.1.0a1.tar.gz" } ], "0.1.0a10": [ { "comment_text": "", "digests": { "md5": "7cd6f6bf132e156aacf6f521921c157c", "sha256": "2acfdf9d83c778f052aa925c96d66878ef82bbad556ab00770a7b17b877faffd" }, "downloads": -1, "filename": "pyairmore-0.1.0a10.tar.gz", "has_sig": false, "md5_digest": "7cd6f6bf132e156aacf6f521921c157c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4870, "upload_time": "2018-10-17T12:20:36", "url": "https://files.pythonhosted.org/packages/3c/83/8bbc2df3da707502e5301282c766ca36a7f8fc6a3f38eed9aba82dfb5a33/pyairmore-0.1.0a10.tar.gz" } ], "0.1.0a11": [ { "comment_text": "", "digests": { "md5": "518e4f780ee917d9c4be4b30daa921d0", "sha256": "1d924d247abebc52e7a74a204672c759968e091ae46cb5be7e89cc0891fa4340" }, "downloads": -1, "filename": "pyairmore-0.1.0a11.tar.gz", "has_sig": false, "md5_digest": "518e4f780ee917d9c4be4b30daa921d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4906, "upload_time": "2018-10-17T15:42:08", "url": "https://files.pythonhosted.org/packages/0d/70/65d83fcf33d6658a6ef8531298aa952c0f53677b32c767915dd6699c6800/pyairmore-0.1.0a11.tar.gz" } ], "0.1.0a12": [ { "comment_text": "", "digests": { "md5": "7d50d9919bd1a092e21819fad0e14d90", "sha256": "9d6fc7c9a44ccbfccaa48c0e9351554565286deb50c70764cf4e6cb84e322273" }, "downloads": -1, "filename": "pyairmore-0.1.0a12.tar.gz", "has_sig": false, "md5_digest": "7d50d9919bd1a092e21819fad0e14d90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5058, "upload_time": "2018-10-20T18:51:40", "url": "https://files.pythonhosted.org/packages/2c/bd/c62180dff3a0b2a722e9505aaa8d797672fbf598e12cef9e6aea9b580d77/pyairmore-0.1.0a12.tar.gz" } ], "0.1.0a13": [ { "comment_text": "", "digests": { "md5": "a65fc48922215e2120dc747dc392d2c6", "sha256": "c2fd9f21cef87b49fb5641a4daa2e9165821cd8126eac4ea8805b90f09ae66d9" }, "downloads": -1, "filename": "pyairmore-0.1.0a13.tar.gz", "has_sig": false, "md5_digest": "a65fc48922215e2120dc747dc392d2c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7391, "upload_time": "2018-10-22T20:45:56", "url": "https://files.pythonhosted.org/packages/b0/d9/a09d4cb975ffa7453b9d43ee98bb8eacdaa00719febd3493c96c242a51f1/pyairmore-0.1.0a13.tar.gz" } ], "0.1.0a3": [ { "comment_text": "", "digests": { "md5": "b1be9dfb9a0eaa0b3bf870d249932f39", "sha256": "d4c7295d1b46d98e6d8c6e274d455b84ce102db5669e0add9a2efbd257a2bf79" }, "downloads": -1, "filename": "pyairmore-0.1.0a3.tar.gz", "has_sig": false, "md5_digest": "b1be9dfb9a0eaa0b3bf870d249932f39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4030, "upload_time": "2018-10-16T15:51:25", "url": "https://files.pythonhosted.org/packages/51/bd/1fb847053ea769dab75656891ba9f161e5b2dda23b2115d36830212085e3/pyairmore-0.1.0a3.tar.gz" } ], "0.1.0a4": [ { "comment_text": "", "digests": { "md5": "106fbc3655682a0a5065cb5ca4fc9bd0", "sha256": "19ccebe5e8a56585af82b38173d1daa2025b89ee05534743aee88ee9fc6c2511" }, "downloads": -1, "filename": "pyairmore-0.1.0a4.tar.gz", "has_sig": false, "md5_digest": "106fbc3655682a0a5065cb5ca4fc9bd0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4224, "upload_time": "2018-10-16T17:52:15", "url": "https://files.pythonhosted.org/packages/74/ea/1c67d02ddd35176241e1733c335cc6cd0cbf036d9247f50aa040262b9c0a/pyairmore-0.1.0a4.tar.gz" } ], "0.1.0a5": [ { "comment_text": "", "digests": { "md5": "b1dd5ecb495f88e1fbb6c9dcdbb1da9a", "sha256": "3f51a99cd5dc721d5cc64f76b2a4f9e72ea070e9afc7636678c6cea020bbd04e" }, "downloads": -1, "filename": "pyairmore-0.1.0a5.tar.gz", "has_sig": false, "md5_digest": "b1dd5ecb495f88e1fbb6c9dcdbb1da9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4277, "upload_time": "2018-10-16T20:57:49", "url": "https://files.pythonhosted.org/packages/4e/64/27a44a7030e1b9c2149a759fd4e50e585cf7286e743c4d6d063275736435/pyairmore-0.1.0a5.tar.gz" } ], "0.1.0a6": [ { "comment_text": "", "digests": { "md5": "3a5511d50c0753c929eb24f67a4f6ba5", "sha256": "95968b1eaad951328d1b513860318763a02e93ed0afd43a8e765dc1cf29f37f9" }, "downloads": -1, "filename": "pyairmore-0.1.0a6.tar.gz", "has_sig": false, "md5_digest": "3a5511d50c0753c929eb24f67a4f6ba5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4166, "upload_time": "2018-10-16T21:18:04", "url": "https://files.pythonhosted.org/packages/6e/d6/10a72131168da115896977cd38b8bd5398c6b6123846debdbe2a1450e11d/pyairmore-0.1.0a6.tar.gz" } ], "0.1.0a7": [ { "comment_text": "", "digests": { "md5": "a6af1c7313984881914bcb6d7c80873b", "sha256": "df576eabe11797cd25ecdccc7f9ab308f48f85eebda31fa140027197a22f29fb" }, "downloads": -1, "filename": "pyairmore-0.1.0a7.tar.gz", "has_sig": false, "md5_digest": "a6af1c7313984881914bcb6d7c80873b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4165, "upload_time": "2018-10-16T21:37:37", "url": "https://files.pythonhosted.org/packages/dd/34/dbe112740f46b327e3cdf9a570119e0e276a8228ead203cd83b980ea2b54/pyairmore-0.1.0a7.tar.gz" } ], "0.1.0a9": [ { "comment_text": "", "digests": { "md5": "3a69365639e8695bdbe8f9e38f47058e", "sha256": "f108f676a0498b0d9481074b4f1c52fe2e96cda93fad4b3e523f494bd6cf5fb1" }, "downloads": -1, "filename": "pyairmore-0.1.0a9.tar.gz", "has_sig": false, "md5_digest": "3a69365639e8695bdbe8f9e38f47058e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4163, "upload_time": "2018-10-16T22:04:42", "url": "https://files.pythonhosted.org/packages/2c/e9/32c1c07ba5b374937daa01783d623c1273e204a827818be144fbd06ab4b5/pyairmore-0.1.0a9.tar.gz" } ], "0.1.1a1": [ { "comment_text": "", "digests": { "md5": "ca2a89892a2cf6d3f7795245253562f6", "sha256": "a78527e4d65fa043dabc5ad383d818dce1a48cb7cb4d133f4aa129a0cc579299" }, "downloads": -1, "filename": "pyairmore-0.1.1a1.tar.gz", "has_sig": false, "md5_digest": "ca2a89892a2cf6d3f7795245253562f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5306, "upload_time": "2018-11-04T17:20:41", "url": "https://files.pythonhosted.org/packages/45/e5/dbdc197de15eb5a5ee70b6626ada254848d89a9d0fd4a9ac2363d59c984b/pyairmore-0.1.1a1.tar.gz" } ], "0.1.1a2": [ { "comment_text": "", "digests": { "md5": "cc075f105100144ab18947e5bd1d2244", "sha256": "81a7fc42cf05e9c6b492c14391b5aeba49d6271fe5a04ec3d9db1d0911a55fbb" }, "downloads": -1, "filename": "pyairmore-0.1.1a2.tar.gz", "has_sig": false, "md5_digest": "cc075f105100144ab18947e5bd1d2244", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5294, "upload_time": "2018-11-04T18:53:22", "url": "https://files.pythonhosted.org/packages/7e/29/970d984482f94ef8b49b122a7b73e2d4f46732b9ca8d8aaf545324f0ae03/pyairmore-0.1.1a2.tar.gz" } ], "0.2.0a1": [ { "comment_text": "", "digests": { "md5": "ee2f99ca45250d68ef6684102f210a8e", "sha256": "c4e1171233e3058d66d107338f791cec3459edb3588cf5e7f655fe09bb37bc39" }, "downloads": -1, "filename": "pyairmore-0.2.0a1.tar.gz", "has_sig": false, "md5_digest": "ee2f99ca45250d68ef6684102f210a8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10249, "upload_time": "2018-11-05T16:26:52", "url": "https://files.pythonhosted.org/packages/2d/1b/6ad7e91dcad69e742976d34ec61da99e60f60238aab95afcc8bd52a37792/pyairmore-0.2.0a1.tar.gz" } ], "0.2.1a1": [ { "comment_text": "", "digests": { "md5": "b180bf039ff8c80a3243914d7b823711", "sha256": "74a4ef55475909750f2f1d8d10a2980e9533e70adcd7878e4a06b6c3a806c227" }, "downloads": -1, "filename": "pyairmore-0.2.1a1.tar.gz", "has_sig": false, "md5_digest": "b180bf039ff8c80a3243914d7b823711", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10695, "upload_time": "2018-11-10T19:09:07", "url": "https://files.pythonhosted.org/packages/d3/d2/7744d31dbbc2887104fbdafe991bc32b8c32ec684aaa0795e7821482e648/pyairmore-0.2.1a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b180bf039ff8c80a3243914d7b823711", "sha256": "74a4ef55475909750f2f1d8d10a2980e9533e70adcd7878e4a06b6c3a806c227" }, "downloads": -1, "filename": "pyairmore-0.2.1a1.tar.gz", "has_sig": false, "md5_digest": "b180bf039ff8c80a3243914d7b823711", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10695, "upload_time": "2018-11-10T19:09:07", "url": "https://files.pythonhosted.org/packages/d3/d2/7744d31dbbc2887104fbdafe991bc32b8c32ec684aaa0795e7821482e648/pyairmore-0.2.1a1.tar.gz" } ] }