Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/python_detailed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ env:
BUILD_TYPE: Debug
LD_LIBRARY_PATH: /usr/local/lib
WIN_LIBOQS_INSTALL_PATH: C:\liboqs
VERSION: 0.14.0
VERSION: 0.16.0
PYOQS_ENABLE_FAULTHANDLER: "1"
UV_PYTHON: "3.14"

Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
shell: cmd
run: |
git clone --branch ${{env.VERSION}} --single-branch --depth 1 https://github.com/open-quantum-safe/liboqs
cmake -S liboqs -B liboqs\build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{env.WIN_LIBOQS_INSTALL_PATH}} -DBUILD_SHARED_LIBS=ON -DOQS_BUILD_ONLY_LIB=ON -DOQS_BUILD_ONLY_LIB=ON -DOQS_ENABLE_SIG_STFL_LMS=ON -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON DOQS_ALLOW_STFL_KEY_AND_SIG_GEN=ON
cmake -S liboqs -B liboqs\build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{env.WIN_LIBOQS_INSTALL_PATH}} -DBUILD_SHARED_LIBS=ON -DOQS_BUILD_ONLY_LIB=ON -DOQS_BUILD_ONLY_LIB=ON -DOQS_ENABLE_SIG_STFL_LMS=ON -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON -DOQS_ALLOW_STFL_KEY_AND_SIG_GEN=ON
cmake --build liboqs\build --parallel 4
cmake --build liboqs\build --target install

Expand Down
29 changes: 28 additions & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,38 @@
# Pre-release
# Version 0.16.0 - <!-- TODO: release date -->

- Updated to liboqs 0.16.0
- Added the `PYOQS_VERSION` environment variable to override the liboqs
release installed automatically at runtime,
https://github.com/open-quantum-safe/liboqs-python/pull/140
- Fixed the Windows shared library lookup to search for both `oqs.dll` and
`liboqs.dll`,
https://github.com/open-quantum-safe/liboqs-python/pull/117
- Fixed a `faulthandler` import error under Robot Framework,
https://github.com/open-quantum-safe/liboqs-python/pull/129
- Fixed `StatefulSignature.export_secret_key` `TypeError`s on Windows,
https://github.com/open-quantum-safe/liboqs-python/pull/141
- Fixed a `StatefulSignature` segfault when liboqs is built without stateful
signature key generation support,
https://github.com/open-quantum-safe/liboqs-python/pull/144
- Updated the Python versions used in CI,
https://github.com/open-quantum-safe/liboqs-python/pull/143
- Removed the `docker/` directory,
https://github.com/open-quantum-safe/liboqs-python/pull/145

# Version 0.14.0 - August 9, 2025

- Added type checking and automatic linting/formatting, https://github.com/open-quantum-safe/liboqs-python/pull/97
- Added a utility function for de-structuring version strings in `oqs.py`
- `version(version_str: str) -> tuple[str, str, str]:` - Returns a tuple
containing the (major, minor, patch) versions
- A warning is issued only if the liboqs-python version's major and minor
numbers differ from those of liboqs, ignoring the patch version
- Added stateful signature support via the `StatefulSignature` class
- New enumeration helpers `get_enabled_stateful_sig_mechanisms()` and
`get_supported_stateful_sig_mechanisms()`
- ML-KEM keys can be generated from a seed via
`KeyEncapsulation.generate_keypair_seed()`.
- Minimum required Python 3 version bumped to 3.11

# Version 0.12.0 - January 15, 2025

Expand Down
25 changes: 22 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# liboqs-python: Python 3 bindings for liboqs

[![GitHub actions](https://github.com/open-quantum-safe/liboqs-python/actions/workflows/python_simplified.yml/badge.svg)](https://github.com/open-quantum-safe/liboqs-python/actions)
[![PyPI version](https://img.shields.io/pypi/v/liboqs-python)](https://pypi.org/project/liboqs-python/)

---

Expand Down Expand Up @@ -107,7 +108,7 @@ By default, liboqs-python installs the liboqs release that matches its own
version. Set the `PYOQS_VERSION` environment variable to override this:

```shell
export PYOQS_VERSION=0.15.0 # install a specific liboqs release
export PYOQS_VERSION=0.16.0 # install a specific liboqs release
export PYOQS_VERSION=latest # install liboqs from main (HEAD)
```

Expand All @@ -133,9 +134,27 @@ by
venv\Scripts\activate.bat
```

### Configure and install the wrapper
### Install the wrapper from PyPI

Execute in a Terminal/Console/Administrator Command Prompt
The simplest way to install liboqs-python is from
[PyPI](https://pypi.org/project/liboqs-python/)

```shell
pip install liboqs-python
```

The PyPI package contains only the Python wrapper; it does **not** bundle a
compiled copy of liboqs. The first time you `import oqs`, liboqs-python uses a
system-wide liboqs if one is available, or otherwise downloads, builds and
installs the matching liboqs release automatically, as described in
[Let liboqs-python install liboqs automatically](#let-liboqs-python-install-liboqs-automatically)
above. Building liboqs from source requires git, CMake and a C compiler; see
[Pre-requisites](#pre-requisites).

### Install the wrapper from source

Alternatively, install the wrapper directly from the source repository by
executing in a Terminal/Console/Administrator Command Prompt

```shell
git clone --depth=1 https://github.com/open-quantum-safe/liboqs-python
Expand Down
24 changes: 13 additions & 11 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
# liboqs-python version 0.14.0
# liboqs-python version 0.16.0

---
# Added in version 0.14.0 July 2025

- Added stateful signature support via the `StatefulSignature` class.
- New enumeration helpers `get_enabled_stateful_sig_mechanisms()` and
`get_supported_stateful_sig_mechanisms()`.
- Updated to liboqs 0.14.0.
- ML-KEM keys can be generated from a seed via
`KeyEncapsulation.generate_keypair_seed()`.
# Added in version 0.16.0 <!-- TODO: release month/year -->

- Updated to liboqs 0.16.0.
- Added the `PYOQS_VERSION` environment variable to override the liboqs
release that is installed automatically at runtime.
- Fixed the Windows shared library lookup to search for both `oqs.dll` and
`liboqs.dll`.
- Fixed a `StatefulSignature` segfault when liboqs is built without stateful
signature key generation support.

## About

Expand All @@ -32,13 +34,13 @@ See in particular limitations on intended use.

## Release notes

This release of liboqs-python was released on July 10, 2025. Its release
This release of liboqs-python was released on <!-- TODO: release date -->. Its release
page on GitHub is
https://github.com/open-quantum-safe/liboqs-python/releases/tag/0.14.0.
https://github.com/open-quantum-safe/liboqs-python/releases/tag/0.16.0.

---

## What's New

This is the 11th release of liboqs-python. For a list of changes see
For a list of changes see
[CHANGES.md](https://github.com/open-quantum-safe/liboqs-python/blob/main/CHANGES.md).
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[project]
name = "liboqs-python"
requires-python = ">=3.10"
version = "0.16.0-dev"
version = "0.16.0"
description = "Python bindings for liboqs, providing post-quantum public key cryptography algorithms"
authors = [
{ name = "Open Quantum Safe project", email = "contact@openquantumsafe.org" },
Expand Down
Loading