Registry / http-networking / mac-vendor-lookup

mac-vendor-lookup

JSON →
library0.1.15pypypi✓ verified 84d ago

Looks up the vendor (manufacturer) for a given MAC address using the IEEE OUI database. Current version is 0.1.15, compatible with Python >=3.5 and <4. Released as needed, with stable API.

pip install mac-vendor-lookup
INSTALL
IMPORT
SIG · MAC-VENDOR-LOOKUP
M
mac-vendor-lookup
http-networkingpythonv0.1.15
Install
4.0s avg
Import
563ms
Disk
27MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.1.15 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.588s · 27.2MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 4.0s · import 0.538s · 29MB
27MB installed
● package 27MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

MacLookup
from mac_vendor_lookup import MacLookup
from mac_vendor_lookup import mac_vendor_lookup
Old or incorrect module references may try to import the package name as a class.

Initialize MacLookup, update the OUI database, and look up a MAC address.

import asyncio from mac_vendor_lookup import MacLookup async def main(): mac = MacLookup() await mac.update_vendors() vendor = await mac.lookup('00:11:22:33:44:55') print(vendor) asyncio.run(main())
mac_vendor_lookup --version
Debug
Known issues
gotchaThe library requires an asynchronous context: lookup is async and must be awaited. Running synchronous code will raise a coroutine TypeError.
fix
Use 'await mac.lookup(...)' in an async function, or use 'asyncio.run()' as shown in quickstart.
affects: all
gotchaThe vendor database file is downloaded on first call to update_vendors(). If the download fails or takes long, the call blocks the event loop.
fix
Ensure network access on first run, or use a local cache file by setting the 'MAC_VENDOR_CACHE' environment variable (not officially documented). Consider calling update_vendors() during setup.
affects: all
deprecatedThe synchronous method 'lookup' used to exist? No, the API has always been async. Some older commits may show sync wrappers, but official releases are async.
fix
Always use async/await pattern.
affects: all
Errors
Common errors & fixes
'coroutine' object is not subscriptable
Calling lookup() without await returns a coroutine, not the vendor string.
fix
Add 'await' before mac.lookup('00:11:22:33:44:55') and make sure the calling function is async.
ValueError: Could not determine vendor for 00:11:22:33:44:55
MAC address not found in the OUI database, or database not updated.
fix
Call await mac.update_vendors() first (or set a cache) to download the latest IEEE OUI list.
AttributeError: module 'mac_vendor_lookup' has no attribute 'MacLookup'
Importing the top-level module instead of the class.
fix
Use 'from mac_vendor_lookup import MacLookup'.
Upgrade
Version history
0.1.15latest on PyPI · released Nov 30, 2025
Audit
Dependencies

No dependency data recorded yet.

Agent activity
18 hits · last 30 days
node
18
Resources
mac-vendor-lookup — pip install mac-vendor-lookup · libregistry