Skip to main content

Object-oriented wrapper around the Linux Tun/Tap device for Python 2 and 3

Project description

https://github.com/johnthagen/pytap2/workflows/python/badge.svg https://codeclimate.com/github/johnthagen/pytap2/badges/gpa.svg https://codeclimate.com/github/johnthagen/pytap2/badges/issue_count.svg https://codecov.io/github/johnthagen/pytap2/coverage.svg https://img.shields.io/pypi/v/pytap2.svg https://img.shields.io/pypi/status/pytap2.svg https://img.shields.io/pypi/pyversions/pytap2.svg

Fork of PyTap that supports Python 3.

Requirements

The ifconfig command line utility must be installed for pytap2 to operate.

To install ifconfig on Debian/Ubuntu:

$ sudo apt install net-tools

To install ifconfig on RHEL/Rocky Linux/Fedora:

$ sudo yum install net-tools

Installation

You can install, upgrade, and uninstall pytap2 with these commands:

$ pip install pytap2
$ pip install --upgrade pytap2
$ pip uninstall pytap2

Usage

Using as a context manager automatically brings up the device and closes it at the end of the with block.

from pytap2 import TapDevice

with TapDevice() as device:
    device.ifconfig(mtu=1300)
    device.write(b'0000')

Or manually call up() and close().

from pytap2 import TapDevice

device = TapDevice()
device.up()
device.ifconfig(mtu=1300)
device.write(b'0000')
device.close()

The fileno() method is defined, so that the device object can be passed directly to select().

Releases

2.2.0 - 2021-11-06

  • Drop Python 3.6 and support Python 3.10.

  • Document dependency on ifconfig

2.1.0 - 2020-12-30

  • Drop Python 3.5 and support Python 3.9.

  • Switch to GitHub Actions for CI.

2.0.0 - 2020-03-29

  • Drop Python 2.7.

1.6.0 - 2019-12-15

  • Drop Python 3.4 and support Python 3.8.

  • Include license file.

1.5.0 - 2018-07-09

Support Python 3.7.

1.4.0 - 2017-10-24

Allow disabling packet information header (IFF_NO_PI) and default read() to read entire MTU worth of data plus the packet information header if present.

1.3.0 - 2017-07-31

Add fileno() method to support select() calls.

1.2.0 - 2017-06-19

Context manager support added.

1.1.0 - 2017-06-17

Allow read() to be called with a specific number of bytes to read.

1.0.0 - 2017-06-16

Initial release that supports Python 2 and 3.

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

pytap2-2.2.0.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

pytap2-2.2.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file pytap2-2.2.0.tar.gz.

File metadata

  • Download URL: pytap2-2.2.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.4

File hashes

Hashes for pytap2-2.2.0.tar.gz
Algorithm Hash digest
SHA256 0b5b96d0e4094194f1dd1eaf1f88e776103635608f7c53ceff9587255ff3d1de
MD5 4eb82ae8eacd65e92d3343d564d8b236
BLAKE2b-256 59202e61756f6326cc9f8fa15892176efe7511e1bd0e524ce5b71aa5a0ee13c3

See more details on using hashes here.

Provenance

File details

Details for the file pytap2-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: pytap2-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.4

File hashes

Hashes for pytap2-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1fdd35cf470efb26f2d27fdb484959f7b8524ae6dbd17ebf05d6c3172d140682
MD5 5adcbc01d1c8f0fa6f8d24d01c891afe
BLAKE2b-256 6bd106fb0a8c7699c5064d5ed7843e7c8b32005b3daa332ae73fea708371d13e

See more details on using hashes here.

Provenance

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