Skip to content
A Wake-on-LAN tool written in Python.
Branch: master
Clone or download
Latest commit 1e586c3 Apr 21, 2019


A Wake-on-LAN tool written in Python.

MIT license PyPI PyPI - Python Version PyPI - Wheel CircleCI branch Documentation Status

Pywol allows for starting up WoL-enabled systems over a network1, and can either be used as a CLI tool or imported for use in other Python code.


$ pip install pywol

Usage examples

As a CLI tool:

$ pywol 1A2B3C4D5E6F --v
Sent magic packet for '1A2B3C4D5E6F' to
$ pywol 1A:2B:3C:4D:5E:6F --v --ip
Sent magic packet for '1A:2B:3C:4D:5E:6F' to
$ pywol --help

  CLI for the Pywol package.

  Prefer to specify the IPv4 broadcast address of the target host's
  subnet over the default ''.

  To automatically resolve the broadcast address of a subnet,
  specify the target host's IPv4 address along with its netmask. E.g.
  '' or '' --> ''

  --ip_address, --ip TEXT  IPv4 broadcast address or host address with
                            netmask.  [default:]
  --port, --p INTEGER      Target port.  [default: 9]
  --verbose, --v
  --help                   Show this message and exit.

Imported for use in other code:

>>> from pywol import wake
>>> wake("1A2B3C4D5E6F", ip_address="")
>>> wake("1A-2B-3C-4D-5E-6F", ip_address="", return_dest=True)
('', '9')


Additional documentation is available at

Development setup

Clone repo:

$ git clone
$ cd pywol

Create and activate virtual environment on OS X & Linux:

$ python3 -m venv venv
$ source venv/bin/activate

Create and activate virtual environment on Windows:

> python -m venv venv
> venv\Scripts\activate

Install development requirements:

$ pip install -r dev_requirements.txt

Run test suite:

$ pytest -v

Why create another WoL tool?

I needed one and this was an opportunity to learn some stuff.


Erik R Berlin -

Distributed under the MIT license. See LICENSE for more information.

1. Provided that any routers between the client and target hosts are configured to forward broadcast packets.

You can’t perform that action at this time.