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.
-
money
Elixir library for working with Money safer, easier, and fun... Is an interpretation of the Fowler's Money pattern in fun.prog. -
nanoid
Elixir port of NanoID, a secure and URL-friendly unique ID generator. https://hex.pm/packages/nanoid -
secure_random
Convenience library for random base64 strings modeled after my love for Ruby's SecureRandom -
chinese_translation
An elixir module to translate simplified Chinese to traditional Chinese, and vice versa, based on wikipedia data -
inet_cidr
CIDR library for Elixir that is compatible with Erlang's :inet and supports both IPv4 and IPv6 -
Ex_Cldr_Units
Unit formatting (volume, area, length, ...) functions for the Common Locale Data Repository (CLDR) -
minigen
Pure random data generation library, appropriate for realistic simulations in the Erlang ecosystem
SaaSHub - Software Alternatives and Reviews
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
Copyright and License
Copyright (c) 2013 Marc Neudert
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the 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.