wolfssl/wrapper/python
2016-05-15 15:08:16 -03:00
..
docs updates python docs 2016-05-09 18:46:01 -03:00
test adds docs 2016-05-03 00:49:56 -03:00
wolfcrypt drops 'import about' requirement 2016-05-09 15:25:18 -03:00
.gitignore adds docs 2016-05-03 00:49:56 -03:00
LICENSING.rst updates python docs 2016-05-09 18:46:01 -03:00
MANIFEST.in updates metadata; drops py26 tests 2016-05-04 21:38:27 -03:00
README.rst updates Linux deps on README 2016-05-15 15:08:16 -03:00
requirements-testing.txt fixes about 2016-05-05 12:48:47 -03:00
setup.py drops 'import about' requirement 2016-05-09 15:25:18 -03:00
tox.ini updates Linux deps on README 2016-05-15 15:08:16 -03:00


wolfcrypt: the wolfSSL Crypto Engine
====================================

**wolfCrypt Python**, a.k.a. ``wolfcrypt`` is a Python library that encapsulates
**wolfSSL's wolfCrypt API**.

**wolfCrypt** is a lightweight, portable, C-language-based crypto library
targeted at IoT, embedded, and RTOS environments primarily because of its size,
speed, and feature set. It works seamlessly in desktop, enterprise, and cloud
environments as well.


Installation
------------

You can install ``wolfcrypt`` via ``pip`` or ``source code``, but before
installing it, make sure you have ``wolfssl`` C library installed in your
machine.

**Linux ONLY:** Make sure you have ``python-dev``, ``python3-dev``,
``python-pip`` and ``libffi-dev`` installed:

.. code-block:: console

    $ sudo apt-get update
    $ sudo apt-get install python-dev python3-dev python-pip libffi-dev


To install wolfssl do:

.. code-block:: console

    $ git clone git@github.com:wolfssl/wolfssl.git
    $ cd wolfssl
    $ ./autogen.sh
    $ ./configure
    $ make
    $ sudo make install

**Linux ONLY:** Update your dynamic linker bindings with:

.. code-block:: console

    $ sudo ldconfig


wolfcrypt pip installation
~~~~~~~~~~~~~~~~~~~~~~~~~~

To install ``wolfcrypt`` with ``pip``:

.. code-block:: console

    $ pip install wolfcrypt

or if you need admin privileges to use ``pip``:

.. code-block:: console

    $ sudo -H pip install wolfcrypt


wolfcrypt source installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To install ``wolfcrypt`` from sources:

1. Get the sources:

.. code-block:: console

    $ git clone git@github.com:wolfssl/wolfssl.git
    $ cd wolfssl/wrappers/python

2. Build and install ``wolfcrypt``

.. code-block:: console

    $ python setup.py install
    ...
    Finished processing dependencies for wolfcrypt...

or if you need admin privileges to use the install command:

.. code-block:: console

    $ sudo python setup.py install


Testing
-------

Test ``wolfcrypt`` locally with ``tox``:

1. Make sure that the testing requirements are installed:

.. code-block:: console

    $ pip install -r requirements-testing.txt


2. Call ``tox``:

.. code-block:: console

    $ tox
    ...
    _________________________________ summary _________________________________
    py27: commands succeeded
    SKIPPED: py34: InterpreterNotFound: python3.4
    py35: commands succeeded
    congratulations :)

Note that some tests might be skipped if you don't have the proper interpreter.