You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Migrate packaging from setup.py to pyproject.toml (name: user-agents-ng)
- Drop Python 2 support (remove compat.py and __unicode__); require Python 3.9+
- Add type hints throughout and a py.typed marker
- Replace dead Travis config with GitHub Actions CI (Linux + Windows, Python 3.9-3.14)
- Rewrite README as a maintained drop-in successor to user-agents
- Bump version to 3.0.0
All 55 tests pass on Python 3.14 with ua-parser 1.0.2.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
`user_agents` is a Python library that provides an easy way to identify/detect devices like mobile phones, tablets and their capabilities by parsing (browser/HTTP) user agent strings. The goal is to reliably detect whether:
`user_agents` also expose a few other more "sophisticated" attributes that are derived from one or more basic attributes defined above. As for now, these attributes should correctly identify popular platforms/devices, pull requests to support smaller ones are always welcome.
74
+
`user_agents` also exposes a few other more "sophisticated" attributes that are
75
+
derived from one or more basic attributes defined above. These attributes should
76
+
correctly identify popular platforms/devices; pull requests to support smaller
ua_string ='Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10'
ua_string ='Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-80) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true'
description = "A maintained successor to user-agents: identify devices (phones, tablets) and their capabilities by parsing browser user agent strings."
9
+
readme = "README.md"
10
+
requires-python = ">=3.9"
11
+
license = "MIT"
12
+
license-files = ["LICENSE.txt"]
13
+
authors = [
14
+
{ name = "Selwin Ong" },
15
+
]
16
+
maintainers = [
17
+
{ name = "Saif Ali", email = "saifalimz@gmail.com" },
0 commit comments