skillfed

woothee

Cross-language UserAgent classifier library, python implementation

woothee v1.10.1 80.2K downloads/30d#14,308 on PyPI34
Permissive license Apache License 2.0 DORMANT released

What it is and what it does

Woothee is a Python user-agent string parser that extracts structured information from HTTP User-Agent headers. It identifies the browser name and version, operating system, device category (pc, smartphone, mobilephone, appliance, crawler, or misc), vendor, and OS version. The package provides two main functions: parse() for detailed extraction and is_crawler() for fast crawler detection.

The library depends only on six for Python 2/3 compatibility and ships as a pure-Python wheel with no compiled dependencies. It's designed for web applications that need to classify incoming requests by client type—useful in analytics, content adaptation, or bot filtering. The package has been stable since 2015 but receives no active maintenance; its user-agent patterns reflect knowledge frozen around 2019.

Use it for:

  • Classify incoming HTTP requests by browser and OS in web analytics or logging pipelines.
  • Detect crawler traffic (bots, search engines) to apply different rate limits or caching rules.
  • Adapt web content or API responses based on detected device category (mobile vs. desktop).
  • Build device-aware feature flags or A/B testing logic without external services.
  • Generate reports on user-agent distribution across a web application's traffic.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Woothee parses user-agent strings to identify browsers, operating systems, devices, and crawlers, returning structured data with name, version, OS, category, and vendor information.

Yes, if your user-agent patterns are stable and pre-2019. The package is lightweight, dependency-minimal, and has no known vulnerabilities. However, it is dormant—no updates since 2019—so it will not recognize modern browsers, crawlers, or OS releases. Install only if you can tolerate a frozen knowledge base or if you're parsing historical data. For real-time classification of current clients, consider an actively maintained alternative.

Install

woothee on PyPI

pip

pip install woothee

uv

uv add woothee

poetry

poetry add woothee

Installing woothee

Before you install

Low install friction with a single lightweight dependency (six). Maintenance is dormant—last release was 2019-08-08 and no commits since 2024-07-09—but the package is marked Production/Stable and has seen no recent security issues.

License in practice

Licensed under Apache License 2.0 (permissive), allowing use in commercial and open-source projects with minimal restrictions; you must include a copy of the license and state significant changes.

Quickstart

pip install woothee

import woothee
result = woothee.parse("Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)")
print(result['name'], result['os'], result['version'])

Verify before relying

  • Whether the package's user-agent database is current enough for modern browsers and crawlers released after 2019.
  • Performance characteristics when parsing large volumes of user-agent strings.

Package facts

License Apache License 2.0 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 1 — six
Maintenance dormant — 2,563 days since the last release
Last repo commit
First released
Downloads 80,211/month — #14,308 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: woothee-1.10.1-py2.py3-none-any.whl

Keywords: web, user-agent, parser

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Topic :: Internet :: WWW/HTTPTopic :: Software Development :: Libraries :: Python Modules

Tags

user-agent parserbrowser detectionuser agent string parsingdevice classifiercrawler detectionos detection from user agentweb client identification
user-agent-parsingbrowser-detectionweb-analytics

More Python Modules packages