ua_inspector alternatives and similar packages
Based on the "Text and Numbers" category.
Alternatively, view ua_inspector alternatives based on common mentions on social networks and blogs.
-
Ex_Money
Money arithmetic, conversion, serialisation with Ecto and exchange rate service integration. -
number
Number is a pretentiously-named Elixir library which provides functions to convert numbers into a variety of different formats. -
secure_random
Convenience library for random base64 strings modeled after my love for Ruby's SecureRandom. -
chinese_translation
Translate between traditional chinese and simplified chinese based on wikipedia data, and translate chinese words/characters to pinyin (or slug with or without tone). -
inet_cidr
Classless Inter-Domain Routing (CIDR) for Elixir that is compatible with :inet and supports both IPv4 and IPv6. -
unit_fun
Attempt to add units to numbers in elixir to give some added type saftey when dealing with numeric quantities. -
bencode
A Bencode encoder and decoder for Elixir. The decoder will return the checksum value of the info dictionary, if an info dictionary was found in the input.
Scout APM: A developer's best friend. Try free for 14-days
Do you think we are missing an alternative of ua_inspector or a related project?
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, "~> 2.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
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.