pyoui
-----

.. _how-to:

how to..
~~~~~~~~

.. _-install:

... install:
^^^^^^^^^^^^

.. code:: shell

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

.. _-use-by-cli:

... use by cli:
^^^^^^^^^^^^^^^

.. code:: shell

   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:

... use by code:
^^^^^^^^^^^^^^^^

.. code:: python

   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__)

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.