cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.
Find a file
Donald Stufft c62a78c015 Move the cryptography package into a src/ subdirectory
Due to differences in how py.test determines which module to ``import``
the test suite actually runs against the cryptography which is in the
*current* directory instead of the cryptography which is installed. The
problem essentially boils down to when there is a tests/__init__.py then
py.test adds the current directory to the front of the sys.path, causing
it to take precedence over the installed location.

This means that running the tests relies on the implicit compile
that CFFI does instead of testing against what people will actually
be runnning, which is the module compiled by setup.py.
2014-11-13 07:56:31 -05:00
.travis Possible logic error. 2014-10-30 10:37:32 +08:00
docs Move the cryptography package into a src/ subdirectory 2014-11-13 07:56:31 -05:00
src/cryptography Move the cryptography package into a src/ subdirectory 2014-11-13 07:56:31 -05:00
tests We can test this, we have the power! Fixes #874 2014-11-07 09:59:40 -03:00
vectors fix 2014-10-31 20:47:27 -07:00
.coveragerc Move the cryptography package into a src/ subdirectory 2014-11-13 07:56:31 -05:00
.gitignore update gitignore to ignore the new so name structure 2014-03-24 07:13:52 -04:00
.travis.yml Move to being a part of the pep8 job 2014-05-17 22:34:56 -07:00
AUTHORS.rst Add gpg key fingerprint for skeuomorf 2014-10-15 09:22:38 +02:00
CHANGELOG.rst Refs #1209 -- added a changelog entry for our license change 2014-11-07 09:36:47 -03:00
CONTRIBUTING.rst link the CONTRIBUTING.rst to the development section of our docs 2014-03-02 09:23:46 -04:00
dev-requirements.txt use pyasn1 for creating the dss-sig-value structure 2014-04-30 11:13:17 -05:00
LICENSE Added new license files. Refs #1209 2014-10-31 07:51:41 -07:00
LICENSE.APACHE Added new license files. Refs #1209 2014-10-31 07:51:41 -07:00
LICENSE.BSD Added new license files. Refs #1209 2014-10-31 07:51:41 -07:00
MANIFEST.in Move the cryptography package into a src/ subdirectory 2014-11-13 07:56:31 -05:00
pytest.ini Change how we represented that a test requires a backend. 2014-10-23 11:01:25 -07:00
README.rst add readthedocs badge 2014-09-27 11:41:32 -05:00
setup.py Move the cryptography package into a src/ subdirectory 2014-11-13 07:56:31 -05:00
tasks.py Added an explanatory comment. 2014-09-28 12:00:49 -04:00
tox.ini re-add line I accidentally removed by hitting dd one too many times 2014-09-29 15:20:43 -05:00

Cryptography
============

.. image:: https://pypip.in/version/cryptography/badge.svg
    :target: https://pypi.python.org/pypi/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://coveralls.io/repos/pyca/cryptography/badge.png?branch=master
    :target: https://coveralls.io/r/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.6-2.7, Python 3.2+, and PyPy.

``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`_.

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.


.. _`documentation`: https://cryptography.io/
.. _`issue tracker`: https://github.com/pyca/cryptography/issues
.. _`cryptography-dev`: https://mail.python.org/mailman/listinfo/cryptography-dev