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

Introducing UA-Extract: Streamlined User-Agent Parsing with Effortless Updates for WordPress Developers

In the ever-evolving landscape of web development, accurately detecting user devices and browsers is crucial for delivering personalized experiences, maintaining compatibility, and analyzing traffic patterns. To meet this need seamlessly, UA-Extract emerges as a powerful Python library designed to simplify user-agent parsing while ensuring your device detection remains current with minimal manual effort.

What is UA-Extract?

UA-Extract is a high-performance, reliable Python toolkit built for parsing user-agent strings efficiently. It allows you to systematically identify the operating systems, devices, and browsers accessing your applicationsโ€”covering everything from desktops and mobiles to smart TVs and gaming consoles. Leveraging the robust device_detector foundation, UA-Extract maintains an extensive, regularly-updated database of user-agent patterns, accommodating both common and obscure devices.

A Key Feature: Simplified Regex Updates

One of UA-Extractโ€™s standout features is its straightforward approach to keeping regex patterns up-to-date. Browser and device manufacturers frequently release new devices and updates, which can render existing detection methods obsolete. Instead of dealing with complex manual updates or forking repositories, UA-Extract enables you to refresh your regexes with a single line of code or a simple command-line instruction. It automatically fetches the latest device detection patterns from the popular Matomo Device Detector project, ensuring your parsing accuracy stays sharp without hassle.

Quick Example of Updating Regexes:

Using Python:

python
from ua_extract import Regexes
Regexes().update_regexes() # Fetches the latest regex updates

Via Command Line:

bash
ua_extract update_regexes

Once your regexes are refreshed, parsing user-agents becomes straightforward:

“`python
from ua_extract import DeviceDetector

user_agent = ‘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(user_agent).parse()

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

For improved speed, especially in high-traffic environments, you can utilize the SoftwareDetector mode, which skips bot detection


Leave a Reply

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