PyRIC
Python Wireless Library
What it is and what it does
PyRIC is a Python library that wraps Linux kernel nl80211 wireless functionality, allowing developers to control WiFi interfaces programmatically instead of shelling out to command-line tools like iw, ifconfig, and airmon-ng. It handles Netlink communication internally and exposes a Python API for tasks like enumerating interfaces, setting MAC addresses, changing regulatory domains, managing rfkill state, and switching interface modes.
The library was designed for wireless developers and pentesters who want to avoid subprocess calls and regex parsing of tool output. It has no third-party runtime dependencies and communicates directly with the kernel via sockets. However, the project is abandoned—last released in December 2016 and last committed in August 2022—with no updates for modern Python or kernel versions.
Use it for:
- Automated wireless penetration testing scripts that need to configure multiple interfaces without shelling out to iw or airmon-ng
- Wireless device enumeration and chipset identification in system administration or inventory tools
- Programmatic WiFi interface mode switching (monitor, managed, AP) in custom network utilities
- MAC address spoofing and interface manipulation in security research or testing frameworks
- Regulatory domain and channel enumeration for compliance or radio frequency analysis
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyRIC provides programmatic control over Linux wireless interfaces, allowing you to enumerate, configure, and manipulate WiFi cards directly from Python without relying on command-line tools.
No, not recommended for new projects. The package is abandoned (no updates since 2016, last commit 2022), targets obsolete Python versions (2.7, 3.0, 3.5), and its Netlink-based approach to kernel interaction is likely broken on modern systems. Use only if you are maintaining legacy code that already depends on it and cannot migrate to a maintained alternative.
Install
pyric on PyPI
pip
pip install pyricuv
uv add pyricpoetry
poetry add pyricInstalling PyRIC
Before you install
High install friction: the package is abandoned (last commit 2022-08-21, no releases since 2016-12-04) and targets Python 2.7 and early Python 3 versions. It has no runtime dependencies but requires direct kernel interaction via Netlink, making it Linux-specific and potentially fragile on modern systems.
License in practice
GPLv3 copyleft license means any derivative work or software that links this library must also be released under GPLv3. This is a strong constraint for proprietary or permissively-licensed projects.
Quickstart
pip install PyRIC
from PyRIC import pyw
# Enumerate wireless interfaces
for iface in pyw.interfaces():
print(iface)
Linux-only; requires kernel nl80211 support and appropriate permissions (typically root) to manipulate wireless devices. Package is abandoned and untested on Python versions after 3.5.
Verify before relying
- Whether the package works on modern Python 3 versions (3.8+) or current Linux kernel APIs
- Current state of nl80211 Netlink interface compatibility with recent kernel versions
- Whether the package's socket-based approach to kernel communication still functions reliably
Package facts
| License | GPLv3 (copyleft) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 3,540 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 294,486/month — #7,946 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: PyRIC-0.1.6.3.tar.gz
Keywords: Linux, Python, nl80211, iw, iwconfig, ifconfig, wireless, WLAN, WiFi, pentest
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
pyroute2Pyroute2 is a pure Python networking framework…
unclear · top 5,000 on PyPI
pyRFXtrxA Python library that communicates with RFXtrx…
copyleft · top 15,000 on PyPI
nmclinmcli is a Python wrapper for the…
permissive · top 15,000 on PyPI
spidevProvides Python bindings to interact with SPI…
permissive · top 15,000 on PyPI
pyprctlProvides a pure-Python interface to Linux's…
permissive · top 15,000 on PyPI
pyscardpyscard provides Python bindings to interact…
copyleft · top 15,000 on PyPI
pylspciParses the output of the lspci command to…
copyleft · top 15,000 on PyPI
zigpy-zigateProvides a Python 3 driver for ZiGate Zigbee…
copyleft · top 15,000 on PyPI
python-miioPython library and CLI tool for controlling…
copyleft · top 15,000 on PyPI
pyrainbirdCommunicates with Rain Bird WiFi LNK irrigation…
permissive · top 15,000 on PyPI