A dead simple, cross-platform Python library to connect to wireless networks.
Project description
wireless
A dead simple, cross-platform Python library to connect to wireless networks.
Description
This library can control a computer’s wireless adapter to connect to a network. Environments currently supported include (in order of preference):
Network Manager |
Operating Systems |
Tested Adapters |
---|---|---|
nmcli |
Ubuntu 12.04, 14.04 |
Linksys AE3000, Intel Centrino 6250 |
wpa_supplicant |
Ubuntu 12.04, 14.04 |
Intel Centrino 6250 |
networksetup |
Mac OS 10.10 |
Macbook Pro |
Setup
sudo pip install wireless
Usage
A typical usage looks like this:
from wireless import Wireless
wireless = Wireless()
wireless.connect(ssid='ssid', password='password')
Note: To use nmcli on Ubuntu 14.04, the right permissions must be in place. A few options are listed here.
Note: To use wpa_supplicant, network-manager (the backend for nmcli) must not be running. This is because network-manager runs an instance of wpa_supplicant behind the scenes which will conflict with the wpa_supplicant instance that this library would create. If you have a network-manager on your machine but would prefer to use wpa_supplicant (not recommended), run sudo service network-manager stop before using wireless.
API
Wireless([interface]) - initialize the wireless driver
connect(ssid, password) - attempts to connect to a network and returns True on success
current() - returns the name of the current network or None otherwise
interfaces() - list the available interfaces
interface([interface]) - get or set the current interface
power([True||False]) - get or set the power status of the adapter
driver() - return the name of driver being used for wireless control
Change History
This project uses semantic versioning.
v0.3.2 - 2016/03/06
Added a few tests and fixed a py34 bug (XayOn)
v0.3.1 - 2015/04/24
Added version check for nmcli (Silarn)
v0.3.0 - 2015/01/13
Added support for wpa_supplicant
Added the driver() method
v0.2.1 - 2014/12/01
remove dependency on pandoc
v0.2.0 - 2014/11/25
Added support for multiple network adapters with interface() and interfaces() methods
The current() method actually asks the wireless driver for the current SSID instead of returning the name of the most recently connected network
Added the power() method
v0.1.1 - 2014/11/24
Better documentation formatting for PyPI
v0.1.0 - 2014/11/22
Initial release
Contributions
Pull requests to the develop branch are welcomed!
Publishing
First, install pandoc so that setup.py can auto-convert Markdown syntax into reStructuredText:
sudo apt-get install pandoc
sudo pip install pypandoc
Then, following this guide, push the project to PyPI:
sudo python setup.py sdist upload -r 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
File details
Details for the file wireless-0.3.2.tar.gz
.
File metadata
- Download URL: wireless-0.3.2.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e28d48a3e7e00be100be8a14c27be4f8cbde30dddecd9f6f3ffc3c03184967de |
|
MD5 | 4e08a3094f2a4ae0ca00eca761716fe1 |
|
BLAKE2b-256 | 160fdbcf07fc0b28fd034a364156d7ddd7ed01079a2b904b29f0ad017238e55c |