Skip to main content
PySCTP - SCTP bindings for Python
---------------------------------

Elvis Pfützenreuter
Instituto Nokia de Tecnologia (http://www.indt.org.br)
epx __AT__ epx.com.br

Philippe Langlois
P1 Security (http://www.p1sec.com)
phil __AT__ p1sec.com

======================================================================
INSTALL

sudo python setup.py install

* to see what this is going to install without actually doing it:
python setup.py install --dry-run

* to just build and not install:
python setup.py build

In case you want to install the module explicitely for Python 2 or 3,
just replace _python_ by _python2_ / _python3_ in the commands above.

======================================================================
DEPENDENCIES:

You can automatically install dependencies for Debian/Ubuntu:
make installdeps

Otherwise, necessary would be e.g. on Ubuntu: libsctp-dev and python-dev
(python2-dev or python3-dev for an explicit version of Python)

Support for Mac OSX is not tested, but should be doable through the SCTP Network
Kernel Extension (NKE) available at:
https://github.com/sctplab/SCTP_NKE_HighSierra

======================================================================
INTRODUCTION

PySCTP gives access to the SCTP transport protocol from Python language.
It extends the traditional socket interface, allowing
SCTP sockets to be used in most situations where a TCP or UDP socket
would work, while preserving the unique characteristics of the protocol.

For more information about SCTP, go to http://www.sctp.org or RFC 4960.
For discussion, sources, bugs, go to http://github.com/p1sec/pysctp

In a nutshell, PySCTP can be used as follows:

---------

import socket
import sctp

sk = sctp.sctpsocket_tcp(socket.AF_INET)
sk.connect(("10.0.1.1", 36413))

... most socket operations work for SCTP too ...

sk.close()

---------

The autotest programs (e.g. test_local_cnx.py) are actually good examples of
pysctp usage.

The BSD/Sockets SCTP extensions are defined by an IETF draft
(draft-ietf-tsvwg-sctpsocket-10.txt) and PySCTP tries to map those
extensions very closely. So, to really take the most advantage of
SCTP and PySCTP, you must understand how the API works. You can
find advice about it in the the draft itself (not incredibly easy
to understand though), as well the 3rd edition of Unix Network
Programming.


======================================================================
DESCRIPTION

1) The "sctp" module

The "sctp" module is the Python side of the bindings. The docstrings
of every class and method can give good advice of functions, but the
highlights are:

* sctpsocket is the root class for SCTP sockets, that ought not be used
directly by the users. It does *not* inherit directly from Python
standard socket; instead it *contains* a socket. That design was
followed mostly because UDP-style sockets can be "peeled off" and
return TCP-style sockets.

sctpsocket delegates unknown methods to the socket. This ensures that
methods like close(), bind(), read(), select() etc. will work as expected.
If the real socket is really needed, it can be obtained with
sctpsocket.sock().

* As said, "Normal" socket calls like open(), bind(), close() etc.
can be used on SCTP sockets because they are delegated to the
Python socket.

* Users will normally use the sctpsocket_tcp (TCP style) and sctpsocket_udp
(UDP style) classes. Some calls that are implemented in sctpsocket but
do not make sense in a particular style are rendered invalid in each
class (e.g. peeloff() in TCP-style sockets).

2) The "_sctp" module

This is the C side of the bindings, that provides the "glue" between
Python and the C API. The regular PySCTP user should not need to get
into this, but power users and developers may be interested in it.

The interface between Python and C is designed to be as simple as
possible. In particular, no object is created in C side, just
simple types (strings, integers, lists, tuples and dictionaries).

The translation to/from complex objects is done entirely in Python.
It avoids that _sctp depends on sctp.

NOTE: it all has been tested agains lksctp-utils 1.0.1 and kernel
2.6.10, that come with Ubuntu Hoary. Some newer calls like connectx()
depend of testing on a newer environment to be implemented.


======================================================================
License

This module is licensed under the LGPL license.

======================================================================
Credits

Elvis Pfützenreuter <elvis.pfutzenreuter __AT__ indt.org.br>
Philippe Langlois <phil __AT__ p1sec.com>
Casimiro Daniel NPRI <CasimiroD __AT__ npt.nuwc.navy.mil> - patch for new SCTP_* constants

Metadata

Release files for pysctp 0.7.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pysctp 0.7.3
File Size Uploaded
pysctp-0.7.3.tar.gz 76.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pysctp 0.7.3
File
pysctp-0.7.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pysctp-0.7.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pysctp-0.7.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details
pysctp-0.7.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pysctp-0.7.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details
pysctp-0.7.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pysctp-0.7.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pysctp-0.7.3-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details

Total release size: 1.0 MB

Release files / pysctp-0.7.3.tar.gz

Download URL pysctp-0.7.3.tar.gz
Size 76.9 kB
Tags Source
SHA-256 checksum
How to use checksums
bf7133c709528f83dce3950d4e486e7520f4a0f80d71e2364bf0991eb5d1eeae
BLAKE2b-256 checksum
How to use checksums
c3b15e935c03e150009f848baf1182a5634004053e48bd8d2bc2cc9e44fe2e14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pysctp-0.7.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pysctp-0.7.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 123.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b3a28477b1365beb09c8be1779abc2c9eee35a6a362fe5c816ea6b1828f9393b
BLAKE2b-256 checksum
How to use checksums
e29e8d5d0c006b5d7402eac03f4a47d83aadb2d3c38b553fbb1bb10561e926f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pysctp-0.7.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pysctp-0.7.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 116.2 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
9b76d15f44d7426410375266fbd017444243d2ea457544994902ba54f379c234
BLAKE2b-256 checksum
How to use checksums
6caeccf50f93061a241df478f89644444b27ca6cdaf2124e675c0dcba75ea123
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pysctp-0.7.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pysctp-0.7.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 116.5 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
fe0bf735efc0d305b4bbdfa5e6749b74a3d604f14f702edc9d35ff36652006b0
BLAKE2b-256 checksum
How to use checksums
db5ddb969b6fb8be1cd58f302be09fb8c9c1598b2fbb3619f4f7bf71b8902bfb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pysctp-0.7.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pysctp-0.7.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 116.4 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
d1bb29aac9d647fe5cd62b61fe5f95a993c853d5c5a7606323aebb54dc29aa10
BLAKE2b-256 checksum
How to use checksums
c1df1150d97e96f13609790ed6b828dcef26b380908eba1a34234834bef7baec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pysctp-0.7.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pysctp-0.7.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 115.6 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
0e6852eb6e6ec10ee7812ab3f0007787ed4176edca249e34ceb7371f3e111fb9
BLAKE2b-256 checksum
How to use checksums
c4feef4bb46aaff7eeea9baaf889c92a86e12c2917d0dadb00f7603e88df3d52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pysctp-0.7.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pysctp-0.7.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 113.7 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
338b6b9d542b086d2a158d4dfcedee13c8835bc0a1092de3d26173e1985c2377
BLAKE2b-256 checksum
How to use checksums
9c2a7c6936af95b7764a53948bb8c44aa56b7fde4d2a7698f49551b7cf5de4c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pysctp-0.7.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pysctp-0.7.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 113.4 kB
Tags CPython 3.9 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
6891789a7fd32fca716fbcf83041d392b4f922b9484a6f2808ee5f307a0a4031
BLAKE2b-256 checksum
How to use checksums
b1d131c1661af9474342341b1671240c20897c02a1931239342337058b583dcd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pysctp-0.7.3-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pysctp-0.7.3-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 111.2 kB
Tags CPython 3.8 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
da788023c42c73a5851cc6b95a5d0e9d4624c50761251495ffc893faad770fa8
BLAKE2b-256 checksum
How to use checksums
9508bc816bd00adb0960235837adcd2e303025644ca6b73335abdb271d0107d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.7.3 This release

9 release files

0.7.1

1 release file

0.6.1

1 release file

0.6

1 release file

0.5

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page