Welcome
=======
**wolfSSL Python**, a.k.a. ``wolfssl`` is a Python module
that encapsulates `wolfSSL's SSL/TLS library
<https://wolfssl.com/wolfSSL/Products-wolfssl.html>`_.
The **wolfSSL SSL/TLS library** is a lightweight, portable, C-language-based
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.
Prerequisites
=============
Linux
-----
During installation via pip this will download the wolfSSL source and compile it, it therefore needs the same prerequisites as the wolfSSL C library. Therefore in Debian / Ubuntu you should do:
.. code-block:: bash
$ sudo apt install build-essential
$ sudo apt build-dep libwolfssl-dev
Compiling
=========
The `setup.py` file covers most things you will need to do to build and install from source. As pre-requisites you will need to install either from your OS repository or pip. You'll also need the Python development package for your Python version:
* `cffi`
* `tox`
* `pytest`
To build a source package run `python setup.py sdist`, to build a wheel package run `python setup.py bdist_wheel`. To test the build run `tox`. The `tox` tests rely on Python 3.9 being installed, if you do not have this version we recommend using `pyenv` to install it.
Installation
============
We provide Python wheels (prebuilt binaries) for OSX 64 bits and Linux 64 bits:
.. code-block:: bash
$ pip install wheel
$ pip install wolfssl
To build wolfssl-py from source:
.. code-block:: bash
$ cd wolfssl-py
$ pip install .
The default pip install clones wolfSSL from GitHub. To build wolfssl-py using a
local installation of the native wolfSSL C library, the USE_LOCAL_WOLFSSL
environment variable should be set. USE_LOCAL_WOLFSSL can be set to "1" to use
the default library installation location (/usr/local/lib, /usr/local/include),
or to use a custom location it can be set to the install location of your native
wolfSSL library. For example:
.. code-block:: bash
# Uses default install location
$ USE_LOCAL_WOLFSSL=1 pip install .
# Uses custom install location
$ USE_LOCAL_WOLFSSL=/tmp/install pip install .
Disabling secure renegotiation
------------------------------
When building wolfssl-py from source secure renegotiation is enabled by
default. To disable secure renegotiation set the environment variable
WOLFSSLPY_DISABLE_SCR during the build process. For example:
.. code-block:: bash
$ WOLFSSLPY_DISABLE_SCR=1 pip install .
Testing
=======
To run the tox tests in the source code, you'll need ``tox`` and a few other
requirements.
1. Make sure that the testing requirements are installed:
.. code-block:: shell
sudo -H pip install -r requirements/test.txt
2. Run ``make check``:
.. code-block:: console
$ make check
...
_________________________________ summary _________________________________
py3: commands succeeded
congratulations :)
Support
=======
For support and questions, please email support@wolfssl.com.
Raw data
{
"_id": null,
"home_page": "https://github.com/wolfssl/wolfssl-py",
"name": "wolfssl",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "wolfssl, wolfcrypt, security, cryptography",
"author": "wolfSSL Inc.",
"author_email": "info@wolfssl.com",
"download_url": "https://files.pythonhosted.org/packages/8f/21/0234a26c85747222f5360cc4a152804eed3e5632ccdf202c5e1c8b571267/wolfssl-5.7.4.post0.tar.gz",
"platform": null,
"description": "Welcome\n=======\n\n**wolfSSL Python**, a.k.a. ``wolfssl`` is a Python module\nthat encapsulates `wolfSSL's SSL/TLS library\n<https://wolfssl.com/wolfSSL/Products-wolfssl.html>`_.\n\nThe **wolfSSL SSL/TLS library** is a lightweight, portable, C-language-based\nlibrary targeted at IoT, embedded, and RTOS environments primarily because of\nits size, speed, and feature set. It works seamlessly in desktop, enterprise,\nand cloud environments as well.\n\nPrerequisites\n=============\n\nLinux\n-----\n\nDuring installation via pip this will download the wolfSSL source and compile it, it therefore needs the same prerequisites as the wolfSSL C library. Therefore in Debian / Ubuntu you should do:\n\n.. code-block:: bash\n\n $ sudo apt install build-essential\n $ sudo apt build-dep libwolfssl-dev\n\nCompiling\n=========\n\nThe `setup.py` file covers most things you will need to do to build and install from source. As pre-requisites you will need to install either from your OS repository or pip. You'll also need the Python development package for your Python version:\n\n* `cffi`\n* `tox`\n* `pytest`\n\nTo build a source package run `python setup.py sdist`, to build a wheel package run `python setup.py bdist_wheel`. To test the build run `tox`. The `tox` tests rely on Python 3.9 being installed, if you do not have this version we recommend using `pyenv` to install it.\n\nInstallation\n============\n\nWe provide Python wheels (prebuilt binaries) for OSX 64 bits and Linux 64 bits:\n\n.. code-block:: bash\n\n $ pip install wheel\n $ pip install wolfssl\n\nTo build wolfssl-py from source:\n\n.. code-block:: bash\n\n $ cd wolfssl-py\n $ pip install .\n\nThe default pip install clones wolfSSL from GitHub. To build wolfssl-py using a\nlocal installation of the native wolfSSL C library, the USE_LOCAL_WOLFSSL\nenvironment variable should be set. USE_LOCAL_WOLFSSL can be set to \"1\" to use\nthe default library installation location (/usr/local/lib, /usr/local/include),\nor to use a custom location it can be set to the install location of your native\nwolfSSL library. For example:\n\n.. code-block:: bash\n\n # Uses default install location\n $ USE_LOCAL_WOLFSSL=1 pip install .\n\n # Uses custom install location\n $ USE_LOCAL_WOLFSSL=/tmp/install pip install .\n\nDisabling secure renegotiation\n------------------------------\n\nWhen building wolfssl-py from source secure renegotiation is enabled by\ndefault. To disable secure renegotiation set the environment variable\nWOLFSSLPY_DISABLE_SCR during the build process. For example:\n\n.. code-block:: bash\n\n $ WOLFSSLPY_DISABLE_SCR=1 pip install .\n\nTesting\n=======\n\nTo run the tox tests in the source code, you'll need ``tox`` and a few other\nrequirements.\n\n1. Make sure that the testing requirements are installed:\n\n.. code-block:: shell\n\n sudo -H pip install -r requirements/test.txt\n\n\n2. Run ``make check``:\n\n.. code-block:: console\n\n $ make check\n ...\n _________________________________ summary _________________________________\n py3: commands succeeded\n congratulations :)\n\nSupport\n=======\n\nFor support and questions, please email support@wolfssl.com.\n\n",
"bugtrack_url": null,
"license": "GPLv2 or Commercial License",
"summary": "Python module that encapsulates wolfSSL's C SSL/TLS library.",
"version": "5.7.4.post0",
"project_urls": {
"Homepage": "https://github.com/wolfssl/wolfssl-py"
},
"split_keywords": [
"wolfssl",
" wolfcrypt",
" security",
" cryptography"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8f210234a26c85747222f5360cc4a152804eed3e5632ccdf202c5e1c8b571267",
"md5": "855d17df5e7ef597156ce37957c99dc4",
"sha256": "9476f4576b1ce88dd1f9ba388043d61fd91c844423af85e30f8193bad089bcca"
},
"downloads": -1,
"filename": "wolfssl-5.7.4.post0.tar.gz",
"has_sig": false,
"md5_digest": "855d17df5e7ef597156ce37957c99dc4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 47260,
"upload_time": "2024-11-13T23:30:16",
"upload_time_iso_8601": "2024-11-13T23:30:16.898483Z",
"url": "https://files.pythonhosted.org/packages/8f/21/0234a26c85747222f5360cc4a152804eed3e5632ccdf202c5e1c8b571267/wolfssl-5.7.4.post0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-13 23:30:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wolfssl",
"github_project": "wolfssl-py",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "wolfssl"
}