{"id":17930320,"url":"https://github.com/pmp-p/aioprompt","last_synced_at":"2025-04-03T10:17:58.215Z","repository":{"id":109579246,"uuid":"157515181","full_name":"pmp-p/aioprompt","owner":"pmp-p","description":"minimal py3.7+ asyncio repl using readline module tricks.","archived":false,"fork":false,"pushed_at":"2020-09-11T23:01:32.000Z","size":72,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-29T13:45:44.771Z","etag":null,"topics":["asyncio","panda3d","python3","repl"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmp-p.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-11-14T08:23:04.000Z","updated_at":"2020-09-11T23:01:34.000Z","dependencies_parsed_at":"2023-04-07T21:24:23.981Z","dependency_job_id":null,"html_url":"https://github.com/pmp-p/aioprompt","commit_stats":{"total_commits":25,"total_committers":2,"mean_commits":12.5,"dds":"0.040000000000000036","last_synced_commit":"5bd26a90253c72c23a1c2c4e37862692c799bb64"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmp-p%2Faioprompt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmp-p%2Faioprompt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmp-p%2Faioprompt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmp-p%2Faioprompt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmp-p","download_url":"https://codeload.github.com/pmp-p/aioprompt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246635987,"owners_count":20809333,"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","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":["asyncio","panda3d","python3","repl"],"created_at":"2024-10-28T21:12:49.188Z","updated_at":"2025-04-03T10:17:58.177Z","avatar_url":"https://github.com/pmp-p.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# aioprompt\n\nminimal py3.6+ repl for asyncio using **readline module** tricks. That module is often available on GNU/Linux platform.\n\ntests are made on 3.7, but 3.6 should be fine too except for certains \"await\" syntax use. eg f'{await test()}' would not work on 3.6\n\n\nTesting:\n\n```\n$ git clone https://github.com/pmp-p/aioprompt.git\n$ cd aioprompt\n$ PYTHONPATH=. python3.7 -i -maioprompt\n```\n\nThe main test will launch a clock on your repl ( use a VT100 utf-8 compatible terminal ).\n\n![Preview1](./aioprompt.png)\n\naio.* ( which actually is the asyncio loop) namespace provides pause/resume/step/run functions to control async loop\n and add coroutines.\n\nyou can also import them in repl with from aioprompt import * and use them directly\n\n\"loop\", \"close\", \"create_task\", \"pause\", \"resume\", \"step\"\n\n\"schedule\" is a special function that mimic micropython.schedule function using PyOS_InputHook from readline module.\n\nto add a task just use : aio.create_task( the_task() )\nor run(the_task)\n\n## Panda3D\n\nif you have Panda3D engine installed, you can try it async with:\n\n```\n\u003e\u003e\u003e import aioprompt.panda3d\n```\n\n![Preview1](./async_panda3d.png)\n\nQuite usefull via ssh for debugging fullscreen game, or simulating Panda3D webgl browser port on your desktop !\n\nrefresh rate will be slow but that's expected, actually cpython readline module does not allow to set it\n\nsee https://bugs.python.org/issue35243\n\n## known bugs\nmultiline triple \"\"\" ''' \"\"\" quoted str would fail because not using decent parser.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmp-p%2Faioprompt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmp-p%2Faioprompt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmp-p%2Faioprompt/lists"}