{"id":23910,"library":"jaraco-windows","title":"jaraco.windows","description":"A library of Windows utilities and ctypes wrappers by Jason R. Coombs, providing convenient access to Windows API functions, registry, file properties, and more. Current version 5.10.0, requires Python >=3.9, and is actively maintained with regular releases.","status":"active","version":"5.10.0","language":"python","source_language":"en","source_url":"https://github.com/jaraco/jaraco.windows","tags":["windows","utilities","registry","api","ctypes"],"install":[{"cmd":"pip install jaraco-windows","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Incorrect: 'jaraco.windows' is the top-level package; submodules like 'api' must be imported explicitly.","wrong":"from jaraco import windows","symbol":"jaraco.windows.api","correct":"import jaraco.windows.api"},{"note":"Incorrect: 'jaraco.registry' does not exist; subpackage is 'jaraco.windows.registry'.","wrong":"from jaraco import registry","symbol":"jaraco.windows.registry","correct":"from jaraco.windows.registry import RegistryKey"},{"note":"Incorrect: 'jaraco.filesystem' is not part of this library.","wrong":"from jaraco import filesystem","symbol":"jaraco.windows.filesystem","correct":"import jaraco.windows.filesystem"}],"quickstart":{"code":"import jaraco.windows.api\nimport jaraco.windows.registry\n\n# Get a registry key\nkey = jaraco.windows.registry.RegistryKey(r'SOFTWARE\\Microsoft\\Windows\\CurrentVersion')\nprint(key['ProgramFilesDir'])\n\n# Use API utilities\njaraco.windows.api.GetCurrentProcessId()","lang":"python","description":"Basic import and registry access; runs on Windows only."},"warnings":[{"fix":"Replace 'import winreg' with 'from jaraco.windows.registry import ...'","message":"Version 5.0 removed the deprecated 'winreg' module alias in favor of 'jaraco.windows.registry'.","severity":"breaking","affected_versions":">=5.0"},{"fix":"Ensure you are using a compatible Python version (3.9-3.12 recommended).","message":"Python 3.13 removed the old 'imp' module; jaraco-windows 5.10.0 requires Python >=3.9 but may break on Python 3.13 if dependencies aren't updated.","severity":"breaking","affected_versions":"5.10.0"},{"fix":"Wrap imports in try/except or conditional checks (sys.platform).","message":"Library is Windows-only; importing on non-Windows raises ImportError or AttributeError.","severity":"gotcha","affected_versions":"all"},{"fix":"Use os.path.realpath instead.","message":"The 'jaraco.windows.filesystem.get_long_pathname' function is deprecated in favor of 'os.path.realpath' (Python 3.10+).","severity":"deprecated","affected_versions":">=5.6"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install the package: pip install jaraco-windows","cause":"Package not installed or installed as 'jaraco-windows' but imported as 'jaraco.windows' (correct).","error":"ModuleNotFoundError: No module named 'jaraco.windows'"},{"fix":"Use 'from jaraco.windows import registry' or 'import jaraco.windows.registry'.","cause":"Submodules are not automatically imported; you must import them explicitly.","error":"AttributeError: module 'jaraco.windows' has no attribute 'registry'"},{"fix":"Use 'from jaraco.windows.registry import RegistryKey' or similar.","cause":"The winreg alias was removed in version 5.0.","error":"ImportError: cannot import name 'winreg' from 'jaraco.windows'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}