{"id":24838,"library":"woothee","title":"woothee","description":"Cross-language user agent classification library, Python implementation. Version 1.10.1. Unmaintained since 2020; no recent releases.","status":"maintenance","version":"1.10.1","language":"python","source_language":"en","source_url":"https://github.com/woothee/woothee-python","tags":["user-agent","parser","browser-detection"],"install":[{"cmd":"pip install woothee","lang":"bash","label":"pip install"}],"dependencies":[],"imports":[{"note":"parse is a top-level function","wrong":"from woothee.parser import parse","symbol":"parse","correct":"from woothee import parse"},{"note":"Classifier is top-level","wrong":"from woothee.classifier import Classifier","symbol":"Classifier","correct":"from woothee import Classifier"}],"quickstart":{"code":"from woothee import parse\n\nuser_agent = 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'\nresult = parse(user_agent)\nprint(result)\n# Output: {'name': 'Googlebot', 'category': 'crawler', 'os': 'UNKNOWN', 'os_version': 'UNKNOWN', 'version': '2.1', 'vendor': 'GoogleInc.'}","lang":"python","description":"Parse a user agent string to extract browser, OS, and device info."},"warnings":[{"fix":"Use dictionary access, not attribute access.","message":"The `parse` function returns a dict with string keys, not an object. Access fields like `result['name']`.","severity":"gotcha","affected_versions":"all"},{"fix":"Switch to a maintained alternative or fork.","message":"The library is no longer maintained. Consider using `ua-parser` or `user-agents` for active development.","severity":"deprecated","affected_versions":">=1.10.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use `from woothee import parse`.","cause":"Importing submodules that don't exist; `parse` is at top level.","error":"ModuleNotFoundError: No module named 'woothee.parser'"},{"fix":"Access fields with `result['name']`, not `result.name`.","cause":"Assuming `parse` returns an object with attributes instead of a dict.","error":"KeyError: 'name'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}