User-Agents Library

2.2.0 · active · verified Thu Apr 09

The `user-agents` library is a simple Python library for identifying devices (phones, tablets, PCs) and their capabilities by parsing browser user agent strings. It wraps the `ua-parser` library and provides a more convenient object-oriented interface. The current version is 2.2.0, and releases are made periodically to incorporate updates from `ua-parser` and add minor features.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to parse different user agent strings using `user_agents.parse` and access various properties like device type, operating system, and browser information. It also shows how the library handles empty strings gracefully, returning an object with 'Other' or empty values.

from user_agents import parse

# Example user agent strings
user_agent_string_mobile = 'Mozilla/5.0 (Linux; Android 10; SM-G973F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Mobile Safari/537.36'
user_agent_string_desktop = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
user_agent_string_empty = ''

# Parse a mobile user agent
user_agent_mobile = parse(user_agent_string_mobile)
print(f"Mobile UA: {user_agent_mobile.is_mobile} (Mobile)")
print(f"Device: {user_agent_mobile.device.family}, OS: {user_agent_mobile.os.family} {user_agent_mobile.os.version_string}")
print(f"Browser: {user_agent_mobile.browser.family} {user_agent_mobile.browser.version_string}\n")

# Parse a desktop user agent
user_agent_desktop = parse(user_agent_string_desktop)
print(f"Desktop UA: {user_agent_desktop.is_pc} (PC)")
print(f"Device: {user_agent_desktop.device.family}, OS: {user_agent_desktop.os.family} {user_agent_desktop.os.version_string}")
print(f"Browser: {user_agent_desktop.browser.family} {user_agent_desktop.browser.version_string}\n")

# Parse an empty user agent
user_agent_empty = parse(user_agent_string_empty)
print(f"Empty UA is_pc: {user_agent_empty.is_pc}")
print(f"Empty UA device family: {user_agent_empty.device.family}")

view raw JSON →