{"id":23217,"library":"aiomisc","title":"aiomisc","description":"Miscellaneous utilities for asyncio, including connection pools, retry logic, periodic callbacks, and CLI entrypoints. Current version 18.0.19, supports Python >=3.11. Releases follow semantic versioning with occasional breaking changes in internal modules.","status":"active","version":"18.0.19","language":"python","source_language":"en","source_url":"https://github.com/aiokitchen/aiomisc","tags":["asyncio","utilities","async","connection-pool","retry","periodic"],"install":[{"cmd":"pip install aiomisc","lang":"bash","label":"Install from PyPI"},{"cmd":"pip install 'aiomisc[uvloop,thread-pool]'","lang":"bash","label":"Install with extras"}],"dependencies":[{"reason":"Required for time-related utilities","package":"python-dateutil","optional":false},{"reason":"Required for timeout utilities","package":"async-timeout","optional":false},{"reason":"Used for version parsing","package":"packaging","optional":false}],"imports":[{"note":"Recommended import is via the top-level module; direct internal imports may break","wrong":"from aiomisc.entrypoint import AsyncEntrypoint","symbol":"AsyncEntrypoint","correct":"from aiomisc import entrypoint"},{"note":"Top-level import is preferred; internal module paths may change","wrong":"from aiomisc.periodic import PeriodicCallback","symbol":"PeriodicCallback","correct":"from aiomisc import PeriodicCallback"},{"note":"","wrong":"","symbol":"retry","correct":"from aiomisc import retry"}],"quickstart":{"code":"import asyncio\nfrom aiomisc import entrypoint\n\nasync def main():\n    print('Hello, aiomisc!')\n    return 0\n\nif __name__ == '__main__':\n    with entrypoint() as loop:\n        loop.run_until_complete(main())","lang":"python","description":"Basic entrypoint usage."},"warnings":[{"fix":"Use only public APIs imported from top-level aiomisc. For aiomisc.io, check changelog for migration details.","message":"In version 16.3, migration to poetry broke some non-public imports, mainly typing and the aiomisc.io module. If you rely on internal modules like aiomisc.io, your code may need updating.","severity":"breaking","affected_versions":">=16.3"},{"fix":"Upgrade Python to >=3.11 or install aiomisc==17.x","message":"aiomisc 18.x drops support for Python <3.11. If your project uses Python 3.10 or earlier, you must upgrade Python or pin to aiomisc<18.","severity":"breaking","affected_versions":">=18.0.0"},{"fix":"Always use 'with entrypoint() as loop:' instead of manually calling loop.close()","message":"The entrypoint context manager may require proper event loop closure. Forgetting to use it can lead to resource warnings.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'from aiomisc import entrypoint' or 'from aiomisc import *' to get the correct entrypoint symbol.","cause":"Attempting to import from a submodule that no longer exists or has been restructured.","error":"ModuleNotFoundError: No module named 'aiomisc.entrypoint'"},{"fix":"If you need IO utilities, use standard asyncio streams or check the changelog for replacement APIs.","cause":"In aiomisc 16.3+, the io module is no longer a public top-level attribute. It was moved or removed.","error":"AttributeError: module 'aiomisc' has no attribute 'io'"},{"fix":"Use 'with entrypoint() as loop:' or 'with entrypoint(*args, **kwargs) as loop:' as per the documentation.","cause":"Using entrypoint incorrectly without arguments or with deprecated parameters.","error":"TypeError: entrypoint() missing required positional argument (or similar)"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}