PyCryptodome is a self-contained Python package of low-level cryptographic primitives. It's not a wrapper to a separate C library like OpenSSL. To the largest possible extent, algorithms are implemented in pure Python. Only the pieces that are extremely critical to performance (e.g., block ciphers) are implemented as C extensions.
You are expected to have a solid understanding of cryptography and security engineering to successfully use these primitives. You must also be able to recognize that some are obsolete (e.g., TDES) or even insecure (RC4).
It provides many enhancements over the last release of PyCrypto (2.6.1):
Authenticated encryption modes (GCM, CCM, EAX, SIV, OCB)
Accelerated AES on Intel platforms via AES-NI
First-class support for PyPy
Elliptic curves cryptography (NIST P-256 curve only)
Better and more compact API (nonce and iv attributes for ciphers, automatic generation of random nonces and IVs, simplified CTR cipher mode, and more)
SHA-3 (including SHAKE XOFs) and BLAKE2 hash algorithms
Salsa20 and ChaCha20 stream ciphers
scrypt and HKDF
Deterministic (EC)DSA
Password-protected PKCS#8 key containers
Shamir’s Secret Sharing scheme
Random numbers get sourced directly from the OS (and not from a CSPRNG in userspace)
Cleaner RSA and DSA key generation (largely based on FIPS 186-4)
Major clean-ups and simplification of the code base
PyCryptodomex is the stand-alone version of PyCryptodome that no longer provides drop-in compatibility with PyCrypto.
Enable installed pytest plugins
This package provides relaxed test discovery for pytest.
This package provides a library for installing Python wheels.
This package provides a pytest plugin for aiohttp support.
This package provides a pytest plugin for testing Jupyter libraries and extensions.
This plug-in auto-selects and reruns tests impacted by recent changes.
This package provides a Pytest plugin for manipulating test data directories and files.
Python-pyside-2-tools contains lupdate, rcc and uic tools for PySide2
Pytest plugin providing a fixture interface for freezegun.
This package provides a custom YAML tag for referencing environment variables in YAML files.
This package provides a py.test plugin that aborts hanging tests after a timeout has been exceeded.
This is a meta-package that pulls in the dependencies that are used by astropy related packages.
This package provides a py.test plugin providing fixtures and markers to simplify testing of asynchronous tornado applications.
python-pytest
uses one of four different spellings of parametrize. This plugin allows you to use all four.
Pyasn1-modules is a collection of Python modules providing ASN.1 types and implementations of ASN.1-based codecs and protocols.
PythonAnywhere provides a command-line interface and an application programming interface that allows managing files Web apps, scheduled tasks and students. It includes single-command deployment for the Django Girls tutorial.
Pydoc-Markdown is a tool to create Python API documentation in Markdown format. Instead of executing your Python code like so many other documentation tools, it parses it using docspec instead.
Python asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio
provides useful fixtures and markers to make testing async code easier.
Python asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio
provides useful fixtures and markers to make testing async code easier.
Python asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio
provides useful fixtures and markers to make testing async code easier.
This Pytest plugin adds a cookies
fixture, which is a wrapper for the Cookiecutter API. This fixture helps you verify that your template is working as expected and takes care of cleaning up after running the tests.
Python asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio
provides useful fixtures and markers to make testing async code easier.
Pytest-httpbin
creates a pytest
fixture that is dependency-injected into your tests. It automatically starts up a HTTP server in a separate thread running httpbin
and provides your test with the URL in the fixture.