UA-Extract – Easy way to keep user-agent parsing updated

Enhance Your User Agent Analysis with UA-Extract: A Seamless Solution for Up-to-Date Device Detection

In the fast-paced world of web development, accurately identifying user devices and browsers is crucial for delivering tailored experiences, debugging issues, and insightful analytics. Today, Iโ€™m excited to introduce UA-Extract โ€” a robust Python library designed to simplify and streamline user agent parsing while ensuring your detection methods stay current with the latest devices and browsers.

What Is UA-Extract?

UA-Extract is a high-performance Python tool that parses user agent strings to determine details such as browsers, operating systems, and device typesโ€”including smartphones, tablets, smart TVs, and gaming consoles. Built atop the well-established device_detector project, UA-Extract leverages an extensive, regularly updated database of user agent regexes, ensuring comprehensive coverageโ€”even for niche or emerging devices.

The standout feature of UA-Extract? Effortless regex maintenance. As new devices emerge and browsers evolve, regex patterns can quickly become obsolete, leading to misidentifications. UA-Extract addresses this challenge by providing a straightforward way to update detection patterns directly from the community-maintained Matomo Device Detector repository, either through simple code commands or command-line utilities.

Keeping Regexes Current with a Single Command

One of UA-Extractโ€™s most valuable capabilities is its simplified update process. Instead of manually editing regex files, you can fetch the latest detection patterns with just a line of Python code or a single CLI command:

python
from ua_extract import Regexes
Regexes().update_regexes() # Pulls latest regex definitions

Or via the terminal:

bash
ua_extract update_regexes

With this seamless update mechanism, you can confidently keep your device detection logic up to date, reducing maintenance headaches and improving accuracy across your apps.

Sample User Agent Parsing

Here’s how straightforward it is to extract detailed device information:

“`python
from ua_extract import DeviceDetector

ua_string = ‘Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16D57 EtsyInc/5.22 rv:52200.62.0’
device_info = DeviceDetector(ua_string).parse()

print(device_info.os_name()) # e.g., iOS
print(device_info.device_model()) # e.g., iPhone
print(device_info.secondary_client_name())


Leave a Reply

Your email address will not be published. Required fields are marked *