pyoui

lookup the ieee's oui table by mac, mac prefix, org name or country


Keywords
oui, mac, lookup
License
MIT
Install
pip install pyoui==0.53

Documentation

pyoui

how to..

... install:

pip3 install pyoui
# master branch should be stable as well
pip3 install git+https://github.com/smthnspcl/pyoui

... use by cli:

pyoui --help

usage: pyoui [-h] [-o OUTFILE] [-d] [-p PREFIX] [-c COMPANY]

optional arguments:
  -h, --help            show this help message and exit
  -o OUTFILE, --outfile OUTFILE
                        oui file which will be downloaded and read.
  -d, --debug           enable debugging
  -p PREFIX, --prefix PREFIX
                        search by mac prefix
  -c COMPANY, --company COMPANY
                        search by company name

... use by code:

from pyoui import OUI

entries = OUI(debug=True).parse()

print("entries:", entries.size())

e = next(entries.by_company("national security"))
print("company", e.company.__dict__, e.prefix)

e = next(entries.by_prefix("00:22:72"))
print("prefix", e.company.__dict__, e.prefix)

e = next(entries.by_mac("BC:23:92:42:42:42"))
print("mac", e.company.__dict__, e.prefix)

e = list(entries.by_country_code("US"))
print("length:", len(e))
print("first item:", e[0].prefix, e[0].company.__dict__)

ae = list(entries.by_country_name("United States"))
print("by country code length:", len(e), " | by name length:", len(ae))
print("lengths should be equal")

other info:

the csv folder was generated by obsolete/dump.py
the folder obsolete is as the name implies, obsolete.
all files in there are py2 and won't be refactored.

the setup.py will only install the pyoui package.