Popularity
6.1
Stable
Activity
8.8
Growing
61
2
14

Monthly Downloads: 3,729
Programming language: Elixir
License: Apache License 2.0
Tags: Text And Numbers    

ua_inspector alternatives and similar packages

Based on the "Text and Numbers" category

Do you think we are missing an alternative of ua_inspector or a related project?

Add another 'Text and Numbers' Package

README

UAInspector

User agent parser library.

Package Setup

To use UAInspector with your projects, edit your mix.exs file and add the required dependencies:

defp deps do
  [
    # ...
    {:ua_inspector, "~> 1.0"},
    # ...
  ]
end

If you want to use a manual supervision approach (without starting the application) please look at the inline documentation of UAInspector.Supervisor.

Application Configuration

Out of the box the default database files will be stored in the :priv_dir of :ua_inspector. Both the database sources and path used can be changed.

For a detailed list of available configuration options please consult UAInspector.Config.

Basic Usage

Database Download

You need to obtain a copy of the configured databases by calling either mix ua_inspector.download from the command line or UAInspector.Downloader.download/0 from within your application.

Refer to UAInspector.Downloader for more details.

User Agent Parsing

iex(1)> UAInspector.parse("Mozilla/5.0 (iPad; CPU OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53")
%UAInspector.Result{
  client: %UAInspector.Result.Client{
    engine: "WebKit",
    engine_version: "537.51.11",
    name: "Mobile Safari",
    type: "browser",
    version: "7.0"
  },
  device: %UAInspector.Result.Device{
    brand: "Apple",
    model: "iPad",
    type: "tablet"
  },
  os: %UAInspector.Result.OS{
    name: "iOS",
    platform: :unknown,
    version: "7.0.4"
  },
  user_agent: "Mozilla/5.0 (iPad; CPU OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53"
}

iex(2)> UAInspector.parse("Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36")
%UAInspector.Result.Bot{
  category: "Search bot",
  name: "Googlebot",
  producer: %UAInspector.Result.BotProducer{
    name: "Google Inc.",
    url: "http://www.google.com"
  },
  url: "http://www.google.com/bot.html",
  user_agent: "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36"
}

Full documentation is available inline in the UAInspector module and at https://hexdocs.pm/ua_inspector.

Benchmark

Several (minimal) benchmark scripts are included. Please refer to the Mixfile or mix help output for their names.

Resources

License

Apache License, Version 2.0

The parser databases are taken from the matomo-org/device-detector project. See there for detailed license information about the data contained.


*Note that all licence references and agreements mentioned in the ua_inspector README section above are relevant to that project's source code only.