Skip to main content

Python client library for macaddress.io API.

Project description

Client library for macaddress.io in Python language.

  • Free software: MIT

Installation

pip install maclookup

or

git clone https://github.com/CodeLineFi/maclookup-python.git
pip install -e /path_to_sdist/

or

cd /path_to_sdist/
python setup.py install

or

cd /path_to_sdist/
easy_install .

Sample code

from maclookup import ApiClient
import logging

client = ApiClient('Your API key')

logging.basicConfig(filename='myapp.log', level=logging.WARNING)

print(client.get_raw_data('00A043AAAAAA', 'json'))
print(client.get_vendor('BBA043AAAAAA'))
print(client.get('BBA043AAAAAA'))

response = client.get('00A043AAAAAA')
print(response.vendor_details.is_private)
print(response.block_details.date_created)

Examples

You may find some examples in the “examples” directory. To run these examples you need to install “maclookup” package. Then you need to create an account on macaddress.io. The last step is to define environment variables with the value of your API key and other settings.

export API_KEY=<Your API key>
export LOG_FILENAME=myapp.log
export OUTPUT_FILENAME=result.csv

Documentation

maclookup package contains the API client class ApiClient, which implements the following functionality

ApiClient methods list:

  1. get(mac): ResponseModel

    Returns ResponseModel object as a parsed API response for a given MAC address or OUI

  2. get_vendor(mac): string

    Returns the company name as text

  3. get_raw_data(mac, output_format): string

    Returns non-parsed API response as string

  4. set_base_url(url)

    Sets base url to url

  5. set_requester(requester)

    Sets instance of Requester

ResponseModel fields:

  1. vendor_details: VendorDetails

  2. block_details: BlockDetails

  3. mac_address_details: MacAddressDetails

VendorDetails fields:

  1. oui: string

  2. is_private: boolean (False|True)

  3. company_name: string

  4. company_address: string

  5. country_code: string

BlockDetails fields:

  1. block_found: boolean (False|True)

  2. border_left: string (MAC address, may be in the EUI-64)

  3. border_right: string (MAC address, may be in the EUI-64)

  4. block_size: int (long long int)

  5. assignment_block_size: string

  6. date_created: instance of datetime.datetime

  7. date_updated: instance of datetime.datetime

MacAddressDetails fields:

  1. search_term: string

  2. is_valid: boolean (False|True)

  3. transmission_type: string

  4. administration_type: string

If the server returns a marker of outdated API version, this library will write a warning to the log.

Development

To install dev requirements, you need to run the following commands:

cd /path_to_sdist/
pip install -e .[dev]

To run unit tests, you may use the following command:

cd /path_to_sdist/
python -m unittest discover . "*_test.py"

or this one

cd /path_to_sdist/
tox

Changelog

1.0.0 (2018-08-01)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

maclookup-1.0.3.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

maclookup-1.0.3-py2.py3-none-any.whl (10.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file maclookup-1.0.3.tar.gz.

File metadata

  • Download URL: maclookup-1.0.3.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5

File hashes

Hashes for maclookup-1.0.3.tar.gz
Algorithm Hash digest
SHA256 795e792cd3e03c9bdad77e52904d43ff71d3ac03b360443f99d4bae08a6bffef
MD5 e8b39d63cf9ec638ed12a3da1f03f538
BLAKE2b-256 d15959bb372710df70d63ccf9e30f44640eec2bd2da4e6d0952daca14713f02f

See more details on using hashes here.

File details

Details for the file maclookup-1.0.3-py2.py3-none-any.whl.

File metadata

  • Download URL: maclookup-1.0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5

File hashes

Hashes for maclookup-1.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 33bf8eaebe3b1e4ab4ae9277dd93c78024e0ebf6b3c42f76c37695bc26ce287a
MD5 c6625c7c947ea667f056affdb260e3eb
BLAKE2b-256 bda951ff3821d599a8b91fdcf380ee3c594f2009975d798e53968664db76b321

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page