{"id":19579764,"url":"https://github.com/wolfssl/wolfcrypt-py","last_synced_at":"2025-04-27T08:31:55.418Z","repository":{"id":13570307,"uuid":"57408351","full_name":"wolfSSL/wolfcrypt-py","owner":"wolfSSL","description":"A Python wrapper that encapsulates wolfSSL's wolfCrypt API.","archived":false,"fork":false,"pushed_at":"2025-03-06T23:18:32.000Z","size":2462,"stargazers_count":34,"open_issues_count":0,"forks_count":20,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-18T21:29:51.952Z","etag":null,"topics":["aes","decryption","ecdsa","encryption","python","python3","rsa","sha256","signature-verification","wolfcrypt","wolfssl","wolfssl-bindings"],"latest_commit_sha":null,"homepage":"https://wolfssl.github.io/wolfcrypt-py","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wolfSSL.png","metadata":{"files":{"readme":"README.rst","changelog":"ChangeLog.rst","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-29T19:34:55.000Z","updated_at":"2025-04-07T09:51:58.000Z","dependencies_parsed_at":"2023-12-27T17:27:25.327Z","dependency_job_id":"f8757ab5-644e-4ce4-aa15-f35b15b4fc31","html_url":"https://github.com/wolfSSL/wolfcrypt-py","commit_stats":{"total_commits":184,"total_committers":11,"mean_commits":"16.727272727272727","dds":0.4565217391304348,"last_synced_commit":"99759a518b4420d766231ca2803d8b4cbf7cbcc7"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfSSL%2Fwolfcrypt-py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfSSL%2Fwolfcrypt-py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfSSL%2Fwolfcrypt-py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfSSL%2Fwolfcrypt-py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wolfSSL","download_url":"https://codeload.github.com/wolfSSL/wolfcrypt-py/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251112541,"owners_count":21538162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes","decryption","ecdsa","encryption","python","python3","rsa","sha256","signature-verification","wolfcrypt","wolfssl","wolfssl-bindings"],"created_at":"2024-11-11T07:19:02.620Z","updated_at":"2025-04-27T08:31:53.961Z","avatar_url":"https://github.com/wolfSSL.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"wolfcrypt: the wolfSSL Crypto Engine\n====================================\n\n**wolfCrypt Python**, a.k.a. ``wolfcrypt`` is a Python module that encapsulates\n**wolfSSL's wolfCrypt API**.\n\n`wolfCrypt \u003chttps://wolfssl.com/wolfSSL/Products-wolfcrypt.html\u003e`_ is a\nlightweight, portable, C-language-based crypto library\ntargeted at IoT, embedded, and RTOS environments primarily because of its size,\nspeed, and feature set. It works seamlessly in desktop, enterprise, and cloud\nenvironments as well. It is the crypto engine behind `wolfSSL's embedded ssl\nlibrary \u003chttps://wolfssl.com/wolfSSL/Products-wolfssl.html\u003e`_.\n\nCompiling\n---------\n\nWindows\n^^^^^^^\n\nInstall the following on Windows:\n\n* `CMake \u003chttps://cmake.org/download/\u003e`_\n* `Git \u003chttps://git-scm.com/download/win\u003e`_\n* `Python 3.9 \u003chttps://www.python.org/downloads/windows/\u003e`_\n* `Build Tools for Visual Studio \u003chttps://visualstudio.microsoft.com/downloads/\u003e`_. This is in the \"Tools for Visual Studio\" section at the bottom of the page. The \"Desktop development with C++\" pack is needed from the installer.\n\nThen from the command line install tox and CFFI using:\n\n.. code-block:: sh\n\n   pip install tox cffi\n\nYou can then build the source distribution packages using:\n\n.. code-block:: sh\n\n   python setup.py sdist\n\n\nLinux\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 wolfcrypt\n\nTo build wolfcrypt-py against a local installation of the native C wolfSSL\nlibrary, use the USE_LOCAL_WOLFSSL variable.  This variable should be\n\nwolfcrypt-py can be built against a local version of the native wolfSSL\nlibrary by using pip with the USE_LOCAL_WOLFSSL variable. USE_LOCAL_WOLFSSL\nshould be set equal to the installation path for the wolfSSL library:\n\n.. code-block:: bash\n\n    $ USE_LOCAL_WOLFSSL=/path/to/wolfssl/install pip install .\n\nIf building wolfcrypt-py against a local wolfSSL library, wolfcrypt-py\nwill attempt to do native feature detection to enable/disable wolfcrypt-py\nfeatures based on how native wolfSSL has been compiled.  It uses the\n\u003cwolfssl/options.h\u003e header to do feature detection.\n\nTesting\n-------\n\n.. code-block:: python\n\n    \u003e\u003e\u003e from wolfcrypt.hashes import Sha256\n    \u003e\u003e\u003e Sha256('wolfcrypt').hexdigest()\n    b'96e02e7b1cbcd6f104fe1fdb4652027a5505b68652b70095c6318f9dce0d1844'\n\nTesting ``wolfcrypt``'s source code with ``tox``\n------------------------------------------------\n\nTo run the unit 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:: console\n\n    $ sudo -H pip install -r requirements/test.txt\n\n\n2. Run ``tox``:\n\n.. code-block:: console\n\n    $ tox\n    ...\n    _________________________________ summary _________________________________\n    py3: commands succeeded\n    congratulations :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolfssl%2Fwolfcrypt-py","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwolfssl%2Fwolfcrypt-py","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolfssl%2Fwolfcrypt-py/lists"}