Skip to main content

This project contains 51Degrees Device Detection OnPremise engine that can be used with the 51Degrees Pipeline API. The Pipeline is a generic web request intelligence and data processing solution with the ability to add a range of 51Degrees and/or custom plug ins (Engines)

Project description

51Degrees Device Detection Engines - On-Premise

51Degrees v4 Device Detection Python

Developer Documentation | Available Properties

Introduction

This project contains the 51Degrees On-Premise Device Detection Engines for Python which can be used with the Pipeline API.

The Pipeline is a generic web request intelligence and data processing solution with the ability to add a range of 51Degrees and/or custom plug ins (Engines)

This engine is a C++ library with a Python wrapper built using SWIG.

Requirements

  • Python 3.8+
  • One of the following supported platforms:
    • Windows Server 2019 / Windows 10
    • Ubuntu 18.04
    • MacOS X Mojave 10.14
  • C/C++ Compiler
    • VS2015+
    • GCC 7.4+
    • Clang/LLVM 11.0.0+
  • The 'atomic' library on Linux platform for GCC
  • The Cython python library
  • The flask python library to run the web examples
  • Python3 Dev Package is also required to build extensions on Linux and MacOS

Installation

The extension requires that you have set up the required build tools for your platform.

Prerequisites

Windows

From PyPi

pip install fiftyone_devicedetection_onpremise

You can confirm this is working with the following micro-example.

  • Run the example with python exampledd.py
  • Feel free to try different user-agents and property values.
from fiftyone_devicedetection_onpremise.devicedetection_onpremise_pipelinebuilder import DeviceDetectionOnPremisePipelineBuilder
pipeline = DeviceDetectionOnPremisePipelineBuilder(
  data_file_path = /path/to/hash/data/file, licence_keys = "", 
  ).build()
fd = pipeline.create_flowdata()
fd.evidence.add("header.user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148")
fd.process()
print(fd.device.ismobile.value())

For more in-depth examples, check out the examples page in the documentation.

From GitHub

If you've cloned the GitHub repository, you will need to build the extension. Make sure Python3 Dev Package is installed if you are using Linux or MacOS.

cd fiftyone_devicedetection_onpremise/
python setup.py build_clib build_ext
python -m pip install -e .

Examples

If you've cloned the GitHub repository, you will be able to run the examples in the fiftyone_devicedetection_examples directory.

Tests

To run the tests use:

python -m unittest discover -s tests -p test*.py -b

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fiftyone_devicedetection_onpremise-4.5.63.tar.gz (350.7 kB view details)

Uploaded Source

File details

Details for the file fiftyone_devicedetection_onpremise-4.5.63.tar.gz.

File metadata

File hashes

Hashes for fiftyone_devicedetection_onpremise-4.5.63.tar.gz
Algorithm Hash digest
SHA256 020fcacaf90912e7a5c5e78f6489eb6a9425f5962c9d495ce0dde3a2a0e4403e
MD5 c855c32b67d90e23e65ceb77d4290be3
BLAKE2b-256 eac2f97d3b902a2417d29ddffcbddcb74597d00993c2805cde91ab8a28b4a8f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page