Django device recognizing utility.
Project description
WebCase device recognizing utility
Installation
pip install wc-django-device-recognizer
It depends on django-user-agents
, so check out it's documentation about additional installation instructions.
In settings.py
:
INSTALLED_APPS += [
'wcd_device_recognizer',
]
Usage
To get all possible information from request:
from wcd_device_recognizer.services import request_resolver
interlocutor = request_resolver.resolve(request)
assert interlocutor.device.bitness == '64'
assert interlocutor.os.family == 'Linux'
assert interlocutor.os.arch == 'x86'
assert interlocutor.app.family == 'Chrome'
assert interlocutor.app.version == (101, 0, 0)
assert interlocutor.device.dpr == 1
And then you may save interlocutor's data to database:
from wcd_device_recognizer.services import registry
# You may pass any amount of interlocutors to register here.
registry.register_interlocutors((interlocutor,))
Coverage
To collect interlocutor's data package uses User-Agent info and standart HTTP headers:
Sec-CH-UA
Sec-CH-UA-Arch
Sec-CH-UA-Bitness
Sec-CH-UA-Full-Version
Sec-CH-UA-Full-Version-List
Sec-CH-UA-Mobileser experience.
Sec-CH-UA-Model
Sec-CH-UA-Platform
Sec-CH-UA-Platform-Version
Content-DPR
Device-Memory
DPR
Viewport-Width
Width
For details look here: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers#user_agent_client_hints
Also any Sec-CH-UA-{key-name}
will be saved.
To provide some unique device identifier use: Sec-CH-UA-ID
header.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.1.4]
Fixed
- Headers: Sec-CH-UA, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Full-Version support.
[0.1.2]
Added
- IPv6 support.
[0.1.1]
Initial version.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for wc-django-device-recognizer-0.1.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 799ed64485e37023f54c59d0ee4ba28a879c41a68af0f64a4368ec52f6a3706f |
|
MD5 | 40be495bd93f9fc2b1511efcacdd0540 |
|
BLAKE2b-256 | 958116b2835692a816878cc942c91b1deb66bcc23d59a55889f3794fe12be59b |