{"id":16391750,"url":"https://github.com/williamfzc/pyminitouch","last_synced_at":"2026-03-02T12:40:15.279Z","repository":{"id":62581743,"uuid":"162449348","full_name":"williamfzc/pyminitouch","owner":"williamfzc","description":"python wrapper of minitouch, for better experience","archived":false,"fork":false,"pushed_at":"2019-10-30T04:13:50.000Z","size":63,"stargazers_count":130,"open_issues_count":15,"forks_count":25,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-10T00:10:39.022Z","etag":null,"topics":["android","minitouch","python"],"latest_commit_sha":null,"homepage":"https://pyminitouch.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/williamfzc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-19T14:32:08.000Z","updated_at":"2025-05-19T03:22:25.000Z","dependencies_parsed_at":"2022-11-03T21:36:45.595Z","dependency_job_id":null,"html_url":"https://github.com/williamfzc/pyminitouch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/williamfzc/pyminitouch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamfzc%2Fpyminitouch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamfzc%2Fpyminitouch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamfzc%2Fpyminitouch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamfzc%2Fpyminitouch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/williamfzc","download_url":"https://codeload.github.com/williamfzc/pyminitouch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamfzc%2Fpyminitouch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267875789,"owners_count":24158782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","minitouch","python"],"created_at":"2024-10-11T04:47:14.719Z","updated_at":"2026-03-02T12:40:10.185Z","avatar_url":"https://github.com/williamfzc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pyminitouch\n\n[![PyPI version](https://badge.fury.io/py/pyminitouch.svg)](https://badge.fury.io/py/pyminitouch)\n\npython wrapper of [minitouch](https://github.com/openstf/minitouch), for better experience.\n\n[中文文档](README_zh.md)\n\n## TL;DR\n\nAn easy way to use [minitouch](https://github.com/openstf/minitouch) with python. \n\n### Before\n\n- Check device abi\n- Download a specified version minitouch\n- Install and run it\n- Build a socket\n- Send message with socket, and your message seems like:\n    - `d 0 150 150 50\\nc\\nu 0\\nc\\n`\n    - hard to read\n\nAn unfriendly process.\n\n### After\n\n```python\nfrom pyminitouch import MNTDevice\n\n\n_DEVICE_ID = '123456F'\ndevice = MNTDevice(_DEVICE_ID)\n\n# single-tap\ndevice.tap([(400, 600)])\n# multi-tap\ndevice.tap([(400, 400), (600, 600)])\n# set the pressure, default == 100\ndevice.tap([(400, 600)], pressure=50)\n\n# ... and something else you want, just like minitouch itself!\n\n# and, after usage, you MUST call function `stop` to stop service\ndevice.stop()\n```\n\nYou don't need to care about installation/device version/dependencies anymore. All you need is running the script.\n\nRead [demo.py](demo.py) for detail.\n\n## Installation\n\nPlease use python3.\n\n```\npip install pyminitouch\n```\n\n## How it work?\n\n- Do the same things as [Before](#Before) in TLDR\n- Wrap it and offer pythonic API for users\n\n## Bug \u0026 Suggestion\n\nPlease let me know via issue :)\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamfzc%2Fpyminitouch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilliamfzc%2Fpyminitouch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamfzc%2Fpyminitouch/lists"}