Skip to main content

A common runtime for AWS Python projects

Project description

AWS CRT Python

Version

Python 3 bindings for the AWS Common Runtime.

License

This library is licensed under the Apache 2.0 License.

Minimum Requirements:

  • Python 3.7+

Installation

To install from pip:

python3 -m pip install awscrt

To install from Github:

git clone https://github.com/awslabs/aws-crt-python.git
cd aws-crt-python
git submodule update --init
python3 -m pip install .

To use from your Python application, declare awscrt as a dependency in your setup.py file.

OpenSSL and LibCrypto (Unix only)

aws-crt-python does not use OpenSSL for TLS. On Apple and Windows devices, the OS's default TLS library is used. On Unix devices, s2n-tls is used. But s2n-tls uses libcrypto, the cryptography math library bundled with OpenSSL.

To simplify installation, aws-crt-python has its own copy of libcrypto. This lets you install a wheel from PyPI without having OpenSSL installed. Unix wheels on PyPI come with libcrypto statically compiled in. Code to build libcrypto comes from AWS-LC. AWS-LC's code is included in the PyPI source package, and the git repository includes it as a submodule.

If you need aws-crt-python to use the libcrypto included on your system, set environment variable AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO=1 while building from source:

AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO=1 python3 -m pip install --no-binary :all: --verbose awscrt

( --no-binary :all: ensures you do not use the precompiled wheel from PyPI)

You can ignore all this on Windows and Apple platforms, where aws-crt-python uses the OS's default libraries for TLS and cryptography math.

Mac-Only TLS Behavior

Please note that on Mac, once a private key is used with a certificate, that certificate-key pair is imported into the Mac Keychain. All subsequent uses of that certificate will use the stored private key and ignore anything passed in programmatically. Beginning in v0.6.2, when a stored private key from the Keychain is used, the following will be logged at the "info" log level:

static: certificate has an existing certificate-key pair that was previously imported into the Keychain. Using key from Keychain instead of the one provided.

Crash Handler

You can enable the crash handler by setting the environment variable AWS_CRT_CRASH_HANDLER=1. This will print the callstack to stderr in the event of a fatal error.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

awscrt-0.20.9.tar.gz (32.7 MB view hashes)

Uploaded Source

Built Distributions

awscrt-0.20.9-cp311-abi3-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.11+ Windows x86-64

awscrt-0.20.9-cp311-abi3-win32.whl (2.5 MB view hashes)

Uploaded CPython 3.11+ Windows x86

awscrt-0.20.9-cp311-abi3-musllinux_1_1_x86_64.whl (8.1 MB view hashes)

Uploaded CPython 3.11+ musllinux: musl 1.1+ x86-64

awscrt-0.20.9-cp311-abi3-musllinux_1_1_aarch64.whl (7.8 MB view hashes)

Uploaded CPython 3.11+ musllinux: musl 1.1+ ARM64

awscrt-0.20.9-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.0 MB view hashes)

Uploaded CPython 3.11+ manylinux: glibc 2.17+ x86-64

awscrt-0.20.9-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.7 MB view hashes)

Uploaded CPython 3.11+ manylinux: glibc 2.17+ ARM64

awscrt-0.20.9-cp311-abi3-macosx_10_9_universal2.whl (1.5 MB view hashes)

Uploaded CPython 3.11+ macOS 10.9+ universal2 (ARM64, x86-64)

awscrt-0.20.9-cp310-cp310-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

awscrt-0.20.9-cp310-cp310-win32.whl (2.5 MB view hashes)

Uploaded CPython 3.10 Windows x86

awscrt-0.20.9-cp310-cp310-musllinux_1_1_x86_64.whl (8.1 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

awscrt-0.20.9-cp310-cp310-musllinux_1_1_aarch64.whl (7.8 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

awscrt-0.20.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

awscrt-0.20.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

awscrt-0.20.9-cp310-cp310-macosx_10_9_universal2.whl (1.5 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

awscrt-0.20.9-cp39-cp39-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

awscrt-0.20.9-cp39-cp39-win32.whl (2.5 MB view hashes)

Uploaded CPython 3.9 Windows x86

awscrt-0.20.9-cp39-cp39-musllinux_1_1_x86_64.whl (8.1 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

awscrt-0.20.9-cp39-cp39-musllinux_1_1_aarch64.whl (7.8 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

awscrt-0.20.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

awscrt-0.20.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

awscrt-0.20.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (7.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ x86-64

awscrt-0.20.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (7.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

awscrt-0.20.9-cp39-cp39-macosx_10_9_universal2.whl (1.5 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

awscrt-0.20.9-cp38-cp38-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

awscrt-0.20.9-cp38-cp38-win32.whl (2.5 MB view hashes)

Uploaded CPython 3.8 Windows x86

awscrt-0.20.9-cp38-cp38-musllinux_1_1_x86_64.whl (8.1 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

awscrt-0.20.9-cp38-cp38-musllinux_1_1_aarch64.whl (7.9 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

awscrt-0.20.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

awscrt-0.20.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.7 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

awscrt-0.20.9-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (7.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

awscrt-0.20.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (7.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

awscrt-0.20.9-cp38-cp38-macosx_10_9_x86_64.whl (776.7 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

awscrt-0.20.9-cp37-cp37m-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

awscrt-0.20.9-cp37-cp37m-win32.whl (2.5 MB view hashes)

Uploaded CPython 3.7m Windows x86

awscrt-0.20.9-cp37-cp37m-musllinux_1_1_x86_64.whl (8.1 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

awscrt-0.20.9-cp37-cp37m-musllinux_1_1_aarch64.whl (7.8 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

awscrt-0.20.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.0 MB view hashes)

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

awscrt-0.20.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.7 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

awscrt-0.20.9-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (7.6 MB view hashes)

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

awscrt-0.20.9-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl (7.0 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.5+ i686

awscrt-0.20.9-cp37-cp37m-macosx_10_9_x86_64.whl (775.9 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

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