skillfed

PyRIC

Python Wireless Library

pyric v0.1.6.3 294.5K downloads/30d#7,946 on PyPI102
Copyleft license GPLv3 Abandoned released

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 pyric

uv

uv add pyric

poetry

poetry add pyric

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: GNU General Public License v3 (GPLv3)Operating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.0Programming Language :: Python :: 3.5Topic :: SecurityTopic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: System :: NetworkingTopic :: Utilities

Tags

linux wireless interface controlnl80211 python librarywifi card manipulationwireless device enumerationpentest wireless setupiw python wrapperrfkill management python
linux-onlyabandonedwireless-networking

More Software Development packages