Simple library for controlling PPP connections with pppd.
Project description
python-pppd
Simple library for controlling PPP connections with pppd.
Under the hood it uses the subprocess
module to interact with pppd
to create and disconnect PPP
connections.
Installation
Make sure pppd
is installed on your system, typically on Ubuntu/Debian:
$ apt-get install pppd
And on Fedora/CentOS/RedHat:
$ dnf install pppd
Then you can install the latest release from PyPi:
$ pip install python-pppd
Alternatively, clone and install the latest development version from GitHub:
$ git clone https://github.com/cour4g3/python-pppd
$ cd python-pppd
$ pip install -e .
Getting Started
You can connect to an existing configured PPP connection:
>>> from pppd import PPPConnection
>>> ppp = PPPConnection(call='work') # blocks until connected
>>> ppp.connected() # check if connected, raises error if connection error
True
>>> ppp.laddr # address of local host
'10.0.0.1'
>>> ppp.raddr # address of remote client
'10.0.0.2'
You can specify any positional or keyword arguments:
>>> PPPConnection('/dev/ttyS0', connect='/usr/bin/chat -v -f /etc/chatscripts/A1')
Which is equivalent to the following:
$ sudo pppd /dev/ttyS0 connect "/usr/bin/chat -v -f /etc/chatscripts/A1"
Normally you require sudo
to use pppd
, if you don't have it and have setup
the pppd
binary with setuid-root or are running as root you can use:
>>> PPPConnection(sudo=False)
You can also specify an alternate paths to pppd
or sudo
if the libary cannot
find them:
>>> PPPConnection(sudo_path='/usr/local/bin/sudo', pppd_path='/usr/local/sbin/pppd')
License
Licensed under the MIT license.
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
Built Distribution
Hashes for python_pppd-1.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d501b0f9e171f4b67f474b488cd41a0a152828d6d284bc7150ffe49194d6011 |
|
MD5 | 830eee0fd723dec4f3d1e7751d5fb25b |
|
BLAKE2b-256 | 0ba31b68dab629e29265ca2f93fff27e928fa4b83a88a004422eb920c195acf3 |