cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.
Find a file
Ian Wienand 4d2b52d4d1
Add initial OpenDev ARM64 testing (#5341)
This is the initial configuration for Zuul to run pyca/cryptography
tox jobs on a range of ARM64 nodes provided by OpenDev.  The
underlying ARM64 resources are donated for use by the OpenDev project
by Linaro.

This is under discussion at https://github.com/pyca/cryptography/issues/5339

If the OpenDev Zuul app (https://github.com/apps/opendev-zuul) is
added to this repository, it should be able to speculatively test and
run these jobs (however, some configuration will be required on the
OpenDev side before this will happen).

This is currently a very simple run of tox on the code.  For basic job
documentation see https://zuul-ci.org/docs/zuul/reference/jobs.html.

These jobs inherit from the opendev base job defined in
https://opendev.org/opendev/base-jobs.  This handles the node setup,
initial clone of pull requests, etc. and then after the job runs the
log collection, upload and publishing steps.  This in turn uses a lot
of reusable components from https://zuul-ci.org/docs/zuul-jobs/
2020-08-05 15:32:08 -05:00
.github Attempt to retry when downloading OpenSSL (#5364) 2020-07-30 16:03:33 -05:00
.travis handle unnamed-but-really-named curves in 1.0.2u (#5362) 2020-07-30 16:03:34 -04:00
.zuul.d Add initial OpenDev ARM64 testing (#5341) 2020-08-05 15:32:08 -05:00
.zuul.playbooks/playbooks Add initial OpenDev ARM64 testing (#5341) 2020-08-05 15:32:08 -05:00
docs support PKCS7 certificate parsing (#5371) 2020-08-04 23:50:02 -04:00
src support PKCS7 certificate parsing (#5371) 2020-08-04 23:50:02 -04:00
tests support PKCS7 certificate parsing (#5371) 2020-08-04 23:50:02 -04:00
vectors add basic PKCS7 test vectors (#5370) 2020-08-02 17:28:54 -04:00
.coveragerc properly merge pypy coverage with coveragerc paths 2016-01-07 10:41:04 -08:00
.gitattributes test py27 with windows container on azure (#4880) 2019-05-08 18:29:42 -04:00
.gitignore Add bindings for SSL_OP_NO_DTLS* (#4079) 2018-01-16 09:07:23 -06:00
.travis.yml Reduce the usage of python2 in CI for downstreams (#5375) 2020-08-05 15:07:57 -05:00
AUTHORS.rst Add RFC 4514 Distinguished Name formatting for Name, RDN and NameAttribute (#4304) 2018-12-08 09:26:07 +08:00
CHANGELOG.rst support PKCS7 certificate parsing (#5371) 2020-08-04 23:50:02 -04:00
codecov.yml revert codecov.yml workaround and pin coverage to 4.3.4 (#3662) 2017-06-03 14:26:56 -04:00
CONTRIBUTING.rst
dev-requirements.txt goodbye azure (#5207) 2020-04-19 20:32:28 -04:00
LICENSE nit in LICENSE, itself doesn't make sense here (#4016) 2017-11-10 08:29:14 +08:00
LICENSE.APACHE HTTPS a bunch of links in random places (#4666) 2018-12-31 10:10:09 -06:00
LICENSE.BSD
LICENSE.PSF C locking callback (#3226) 2016-11-13 12:55:22 -08:00
MANIFEST.in Add initial OpenDev ARM64 testing (#5341) 2020-08-05 15:32:08 -05:00
pyproject.toml Paint it Black by the Rolling Stones (#5324) 2020-07-20 13:06:29 -05:00
README.rst fix CI badge again since naming it breaks the link (#5162) 2020-03-30 22:40:45 -04:00
release.py Paint it Black by the Rolling Stones (#5324) 2020-07-20 13:06:29 -05:00
rtd-requirements.txt install only the minimum required to build our docs for rtd (#4133) 2018-03-05 19:50:10 -05:00
setup.py remove idna support finally (#5351) 2020-07-26 13:07:31 -04:00
tox.ini Reduce the usage of python2 in CI for downstreams (#5375) 2020-08-05 15:07:57 -05:00

pyca/cryptography
=================

.. image:: https://img.shields.io/pypi/v/cryptography.svg
    :target: https://pypi.org/project/cryptography/
    :alt: Latest Version

.. image:: https://readthedocs.org/projects/cryptography/badge/?version=latest
    :target: https://cryptography.io
    :alt: Latest Docs

.. image:: https://travis-ci.org/pyca/cryptography.svg?branch=master
    :target: https://travis-ci.org/pyca/cryptography

.. image:: https://github.com/pyca/cryptography/workflows/CI/badge.svg?branch=master
    :target: https://github.com/pyca/cryptography/actions?query=workflow%3ACI+branch%3Amaster

.. image:: https://codecov.io/github/pyca/cryptography/coverage.svg?branch=master
    :target: https://codecov.io/github/pyca/cryptography?branch=master


``cryptography`` is a package which provides cryptographic recipes and
primitives to Python developers.  Our goal is for it to be your "cryptographic
standard library". It supports Python 2.7, Python 3.5+, and PyPy 5.4+.

``cryptography`` includes both high level recipes and low level interfaces to
common cryptographic algorithms such as symmetric ciphers, message digests, and
key derivation functions. For example, to encrypt something with
``cryptography``'s high level symmetric encryption recipe:

.. code-block:: pycon

    >>> from cryptography.fernet import Fernet
    >>> # Put this somewhere safe!
    >>> key = Fernet.generate_key()
    >>> f = Fernet(key)
    >>> token = f.encrypt(b"A really secret message. Not for prying eyes.")
    >>> token
    '...'
    >>> f.decrypt(token)
    'A really secret message. Not for prying eyes.'

You can find more information in the `documentation`_.

You can install ``cryptography`` with:

.. code-block:: console

    $ pip install cryptography

For full details see `the installation documentation`_.

Discussion
~~~~~~~~~~

If you run into bugs, you can file them in our `issue tracker`_.

We maintain a `cryptography-dev`_ mailing list for development discussion.

You can also join ``#cryptography-dev`` on Freenode to ask questions or get
involved.

Security
~~~~~~~~

Need to report a security issue? Please consult our `security reporting`_
documentation.


.. _`documentation`: https://cryptography.io/
.. _`the installation documentation`: https://cryptography.io/en/latest/installation/
.. _`issue tracker`: https://github.com/pyca/cryptography/issues
.. _`cryptography-dev`: https://mail.python.org/mailman/listinfo/cryptography-dev
.. _`security reporting`: https://cryptography.io/en/latest/security/