{"id":23285,"library":"asyncvnc","title":"asyncvnc","description":"asyncvnc is an asynchronous VNC client library for Python, built on top of asyncio. It provides a high-level interface for VNC connections with full RFB protocol support. The current version is 1.3.0, supporting Python 3.7+. The project is actively maintained with sporadic releases.","status":"active","version":"1.3.0","language":"python","source_language":"en","source_url":"https://github.com/barneygale/asyncvnc","tags":["vnc","asyncio","remote-desktop","screenshot"],"install":[{"cmd":"pip install asyncvnc","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Primary class for connecting to VNC servers.","symbol":"VNCClient","correct":"from asyncvnc import VNCClient"},{"note":"Base exception class for VNC errors.","symbol":"VNCError","correct":"from asyncvnc import VNCError"}],"quickstart":{"code":"import asyncio\nfrom asyncvnc import VNCClient\n\nasync def main():\n    async with VNCClient(host='localhost', port=5900, password='secret') as client:\n        screenshot = await client.screenshot()\n        print('Screenshot captured')\n\nif __name__ == '__main__':\n    asyncio.run(main())","lang":"python","description":"Connect to a VNC server, capture a screenshot, and close."},"warnings":[{"fix":"Ensure all calls are within an async function and run with asyncio.run() or similar.","message":"The library requires an event loop to be running (asyncio). Using synchronous code will fail.","severity":"gotcha","affected_versions":"all"},{"fix":"Install Pillow: pip install Pillow","message":"The 'screenshot()' method returns a PIL Image object (Pillow must be installed).","severity":"gotcha","affected_versions":">=1.2.0"},{"fix":"Update import to 'from asyncvnc import VNCClient'.","message":"The old import path 'asyncvnc.client' may not work in future versions; use 'from asyncvnc import VNCClient'.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run: pip install asyncvnc","cause":"Library not installed.","error":"ModuleNotFoundError: No module named 'asyncvnc'"},{"fix":"Use await client.close() explicitly or manage the loop manually. For Jupyter, use await main() directly.","cause":"Calling asyncio.run() inside a running loop in Jupyter or nested async code.","error":"RuntimeError: Cannot close a running event loop"},{"fix":"Use 'from asyncvnc import VNCClient' instead of 'import asyncvnc.client'.","cause":"Using an outdated import path.","error":"AttributeError: module 'asyncvnc' has no attribute 'client'"},{"fix":"Provide the password argument: VNCClient(..., password='your_password')","cause":"Password not provided when required.","error":"TypeError: VNCClient() missing 1 required positional argument: 'password'"},{"fix":"asyncvnc only supports standard VNC authentication (VNC Auth). Ensure server is configured accordingly.","cause":"Unsupported VNC authentication type (e.g., VeNCrypt, MSLogon).","error":"ValueError: unknown authentication method"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}