Skip to main content

A dead simple, cross-platform Python library to connect to wireless networks.

Project description

Build Status Documentation Status

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.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 to 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

wireless-0.3.0.tar.gz (14.8 kB view details)

Uploaded Source

File details

Details for the file wireless-0.3.0.tar.gz.

File metadata

  • Download URL: wireless-0.3.0.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for wireless-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f383c401a2ee52ce1459a3f8be440a5806fe92acf8c82725640b757e918cb1bc
MD5 834db74d3329bca6621354ec5accb83f
BLAKE2b-256 d7e36bbe77fe51087638c2173830840fa90471e5a9218ffeccb6149c017c5a48

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