Skip to main content

No project description provided

Project description

pyrtls: rustls-based modern TLS for Python

Latest version Documentation CI

pyrtls provides bindings to rustls, a modern Rust-based TLS implementation with an API that is intended to be easy to use to replace the ssl module (but not entirely compatible with it).

In addition to being memory-safe, the library is designed to be more secure by default. As such, it does not implement older protocol versions, cipher suites with known security problems, and some problematic features of the TLS protocol. For more details, review the rustls manual.

[!WARNING] This project is just getting started. While rustls is mature, the Python bindings are pretty new and not yet feature-complete. Please consider helping out (see below).

Why?

To bring the security and performance of rustls to the Python world.

So far this is a side project. Please consider helping out:

  • Please help fund this work on GitHub Sponsors
  • Pull requests welcome, of course!
  • Feedback through issues is highly appreciated
  • If you're interested in commercial support, please contact me

Features

  • Support for TLS 1.2 and 1.3
  • Support for commonly used secure cipher suites
  • Support for ALPN protocol negotiation
  • Support for Server Name Indication (SNI)
  • Support for session resumption
  • Clients use the OS certificate trust store by default
  • Exposes socket wrapper as well as sans I/O APIs
  • In basic tests, performance is comparable to the ssl module

Not implemented

  • TLS 1.1 and older versions of the protocol
  • Older cipher suites with security problems
  • Using CA certificates directly to authenticate a server/client (often called self-signed certificates). The built-in certificate verifier does not support using a trust anchor as both a CA certificate and an end-entity certificate, in order to limit complexity and risk in path building.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pyrtls-0.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyrtls-0.1.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

pyrtls-0.1.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyrtls-0.1.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

pyrtls-0.1.3-cp312-none-win_amd64.whl (959.2 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

pyrtls-0.1.3-cp312-none-win32.whl (696.2 kB view hashes)

Uploaded CPython 3.12 Windows x86

pyrtls-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyrtls-0.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

pyrtls-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyrtls-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

pyrtls-0.1.3-cp311-none-win_amd64.whl (959.5 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

pyrtls-0.1.3-cp311-none-win32.whl (699.7 kB view hashes)

Uploaded CPython 3.11 Windows x86

pyrtls-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyrtls-0.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

pyrtls-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyrtls-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

pyrtls-0.1.3-cp310-none-win_amd64.whl (959.4 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

pyrtls-0.1.3-cp310-none-win32.whl (699.8 kB view hashes)

Uploaded CPython 3.10 Windows x86

pyrtls-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyrtls-0.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

pyrtls-0.1.3-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pyrtls-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

pyrtls-0.1.3-cp39-none-win_amd64.whl (959.7 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

pyrtls-0.1.3-cp39-none-win32.whl (700.2 kB view hashes)

Uploaded CPython 3.9 Windows x86

pyrtls-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyrtls-0.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

pyrtls-0.1.3-cp39-cp39-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pyrtls-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 macOS 10.12+ x86-64

pyrtls-0.1.3-cp38-none-win_amd64.whl (959.4 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

pyrtls-0.1.3-cp38-none-win32.whl (699.6 kB view hashes)

Uploaded CPython 3.8 Windows x86

pyrtls-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyrtls-0.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

pyrtls-0.1.3-cp37-none-win_amd64.whl (959.6 kB view hashes)

Uploaded CPython 3.7 Windows x86-64

pyrtls-0.1.3-cp37-none-win32.whl (699.4 kB view hashes)

Uploaded CPython 3.7 Windows x86

pyrtls-0.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

pyrtls-0.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.5+ i686

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