From 4840868b24ec342ac45185fb00b0b7fcc911aaf4 Mon Sep 17 00:00:00 2001 From: Kamal Tufekcic Date: Fri, 3 Apr 2026 21:58:14 +0300 Subject: [PATCH 1/2] initial commit Signed-off-by: Kamal Tufekcic --- README.md | 2 +- soliton_py/README.md | 2 +- soliton_py/pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5b33ce7a9..d30787092 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Pure-Rust post-quantum cryptographic library. Provides composite identity keys ( |---------|------|---------| | `libsoliton` (crates.io) | `soliton/` | Core library — all cryptographic logic | | `libsoliton_capi` (crates.io) | `soliton_capi/` | C ABI FFI layer (cbindgen-generated header) | -| `soliton` (PyPI) | `soliton_py/` | Python binding (PyO3/maturin, wraps core Rust API) | +| `soliton-py` (PyPI) | `soliton_py/` | Python binding (PyO3/maturin, wraps core Rust API) | | `soliton-wasm` (npm) | `soliton_wasm/` | WASM binding (wasm-bindgen, wraps core Rust API) | | `soliton-cli` (cargo) | `soliton_cli/` | Native CLI (`cargo install soliton-cli`) | | `soliton_zig` | `soliton_zig/` | Zig wrapper (consumes CAPI via `@cImport`) | diff --git a/soliton_py/README.md b/soliton_py/README.md index f3920e9f7..c6f02f244 100644 --- a/soliton_py/README.md +++ b/soliton_py/README.md @@ -5,7 +5,7 @@ Python bindings for [libsoliton](https://git.lo.sh/lo/libsoliton) — a pure-Rus ## Install ```bash -pip install soliton +pip install soliton-py ``` Builds from source via [maturin](https://www.maturin.rs/) — requires a Rust toolchain. diff --git a/soliton_py/pyproject.toml b/soliton_py/pyproject.toml index 0433fb42f..284669578 100644 --- a/soliton_py/pyproject.toml +++ b/soliton_py/pyproject.toml @@ -3,7 +3,7 @@ requires = ["maturin>=1.7,<2.0"] build-backend = "maturin" [project] -name = "soliton" +name = "soliton-py" version = "0.1.0" description = "Python bindings for libsoliton — post-quantum cryptographic library" license = { text = "AGPL-3.0-only" } From 18af877ef05b6cd625b5c53201d84e1a17203f3e Mon Sep 17 00:00:00 2001 From: Kamal Tufekcic Date: Fri, 3 Apr 2026 22:42:26 +0300 Subject: [PATCH 2/2] initial commit Signed-off-by: Kamal Tufekcic --- .forgejo/workflows/ci.yml | 5 +++-- Cargo.lock | 10 +++++----- Cargo.toml | 4 ++-- soliton/README.md | 10 +++++----- soliton_cli/Cargo.toml | 2 +- soliton_py/Cargo.toml | 2 +- soliton_py/README.md | 6 +++--- soliton_py/pyproject.toml | 2 +- soliton_wasm/Cargo.toml | 2 +- soliton_wasm/README.md | 10 +++++----- soliton_zig/README.md | 8 ++++---- soliton_zig/build.zig.zon | 2 +- 12 files changed, 32 insertions(+), 31 deletions(-) diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 59f27f1f2..1c76b2201 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -194,5 +194,6 @@ jobs: - name: Publish to Forgejo npm registry working-directory: soliton_wasm/pkg run: | - echo '//git.lo.sh/api/packages/lo/npm/:_authToken=${{ secrets.BUN_TOKEN }}' > .npmrc - bun publish --access public --registry ${{ github.server_url }}/api/packages/lo/npm/ + echo 'registry=https://git.lo.sh/api/packages/lo/npm/' > .npmrc + echo '//git.lo.sh/api/packages/lo/npm/:_authToken=${{ secrets.BUN_TOKEN }}' >> .npmrc + npm publish --access public diff --git a/Cargo.lock b/Cargo.lock index 9731d56b4..5f5eac128 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -696,7 +696,7 @@ checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "libsoliton" -version = "0.1.0" +version = "0.1.1" dependencies = [ "argon2", "chacha20poly1305", @@ -728,7 +728,7 @@ dependencies = [ [[package]] name = "libsoliton_capi" -version = "0.1.0" +version = "0.1.1" dependencies = [ "cbindgen", "libsoliton", @@ -1258,7 +1258,7 @@ dependencies = [ [[package]] name = "soliton-cli" -version = "0.1.0" +version = "0.1.1" dependencies = [ "clap", "hex", @@ -1269,7 +1269,7 @@ dependencies = [ [[package]] name = "soliton-python" -version = "0.1.0" +version = "0.1.1" dependencies = [ "libsoliton", "pyo3", @@ -1278,7 +1278,7 @@ dependencies = [ [[package]] name = "soliton-wasm" -version = "0.1.0" +version = "0.1.1" dependencies = [ "js-sys", "libsoliton", diff --git a/Cargo.toml b/Cargo.toml index 50a07090a..42e382b1b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ default-members = [ ] [workspace.package] -version = "0.1.0" +version = "0.1.1" edition = "2024" rust-version = "1.85" license = "AGPL-3.0-only" @@ -26,7 +26,7 @@ categories = ["cryptography"] keywords = ["post-quantum", "hybrid-encryption", "x-wing", "ed25519", "double-ratchet"] [workspace.dependencies] -libsoliton = { path = "soliton", version = "0.1.0" } +libsoliton = { path = "soliton", version = "0.1.1" } zeroize = { version = "=1.8.2", features = ["derive"] } thiserror = "=2.0.18" subtle = "=2.6.1" diff --git a/soliton/README.md b/soliton/README.md index 4c3d9b24c..eff62dbd8 100644 --- a/soliton/README.md +++ b/soliton/README.md @@ -26,14 +26,14 @@ let sig = soliton::identity::hybrid_sign(&id.secret_key, b"hello").unwrap(); soliton::identity::hybrid_verify(&id.public_key, b"hello", &sig).unwrap(); ``` -See [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/main/CHEATSHEET.md) for the full API reference. +See [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/master/CHEATSHEET.md) for the full API reference. ## Documentation -- [Specification.md](https://git.lo.sh/lo/libsoliton/src/branch/main/Specification.md) — full cryptographic specification -- [Abstract.md](https://git.lo.sh/lo/libsoliton/src/branch/main/Abstract.md) — security analysis specification -- [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/main/CHEATSHEET.md) — API quick reference +- [Specification.md](https://git.lo.sh/lo/libsoliton/src/branch/master/Specification.md) — full cryptographic specification +- [Abstract.md](https://git.lo.sh/lo/libsoliton/src/branch/master/Abstract.md) — security analysis specification +- [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/master/CHEATSHEET.md) — API quick reference ## License -[AGPL-3.0-only](https://git.lo.sh/lo/libsoliton/src/branch/main/LICENSE.md) +[AGPL-3.0-only](https://git.lo.sh/lo/libsoliton/src/branch/master/LICENSE.md) diff --git a/soliton_cli/Cargo.toml b/soliton_cli/Cargo.toml index 7f1df8335..6bd38dad4 100644 --- a/soliton_cli/Cargo.toml +++ b/soliton_cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "soliton-cli" -version = "0.1.0" +version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true diff --git a/soliton_py/Cargo.toml b/soliton_py/Cargo.toml index 6b74eea7d..0a92b0fbf 100644 --- a/soliton_py/Cargo.toml +++ b/soliton_py/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "soliton-python" -version = "0.1.0" +version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true diff --git a/soliton_py/README.md b/soliton_py/README.md index c6f02f244..bed8edd9a 100644 --- a/soliton_py/README.md +++ b/soliton_py/README.md @@ -159,9 +159,9 @@ with soliton.StorageKeyRing(1, key) as ring: ## Documentation -- [Specification.md](https://git.lo.sh/lo/libsoliton/src/branch/main/Specification.md) — full cryptographic specification -- [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/main/CHEATSHEET.md) — API quick reference -- [Abstract.md](https://git.lo.sh/lo/libsoliton/src/branch/main/Abstract.md) — formal security model +- [Specification.md](https://git.lo.sh/lo/libsoliton/src/branch/master/Specification.md) — full cryptographic specification +- [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/master/CHEATSHEET.md) — API quick reference +- [Abstract.md](https://git.lo.sh/lo/libsoliton/src/branch/master/Abstract.md) — formal security model ## License diff --git a/soliton_py/pyproject.toml b/soliton_py/pyproject.toml index 284669578..40a32c2b9 100644 --- a/soliton_py/pyproject.toml +++ b/soliton_py/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "soliton-py" -version = "0.1.0" +version = "0.1.1" description = "Python bindings for libsoliton — post-quantum cryptographic library" license = { text = "AGPL-3.0-only" } requires-python = ">=3.10" diff --git a/soliton_wasm/Cargo.toml b/soliton_wasm/Cargo.toml index 8bf467f8f..7f576924a 100644 --- a/soliton_wasm/Cargo.toml +++ b/soliton_wasm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "soliton-wasm" -version = "0.1.0" +version = "0.1.1" edition.workspace = true license.workspace = true repository.workspace = true diff --git a/soliton_wasm/README.md b/soliton_wasm/README.md index 3db757219..be0c637a0 100644 --- a/soliton_wasm/README.md +++ b/soliton_wasm/README.md @@ -91,7 +91,7 @@ const phrase = soliton.verificationPhrase(pkA, pkB); Full TypeScript types are included. All byte parameters accept `Uint8Array`. All byte returns are `Uint8Array`. Opaque types (`Identity`, `Ratchet`, `StorageKeyRing`, `StreamEncryptor`, `StreamDecryptor`, `CallKeys`) must be `free()`'d when no longer needed to zeroize secret material. -See [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/main/CHEATSHEET.md) for the full API reference with sizes, error codes, and protocol details. +See [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/master/CHEATSHEET.md) for the full API reference with sizes, error codes, and protocol details. ## CLI @@ -113,10 +113,10 @@ For better performance, use the native CLI: `cargo install soliton-cli` → `sol ## Documentation -- [Specification.md](https://git.lo.sh/lo/libsoliton/src/branch/main/Specification.md) — full cryptographic specification -- [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/main/CHEATSHEET.md) — API quick reference -- [Abstract.md](https://git.lo.sh/lo/libsoliton/src/branch/main/Abstract.md) — formal security model +- [Specification.md](https://git.lo.sh/lo/libsoliton/src/branch/master/Specification.md) — full cryptographic specification +- [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/master/CHEATSHEET.md) — API quick reference +- [Abstract.md](https://git.lo.sh/lo/libsoliton/src/branch/master/Abstract.md) — formal security model ## License -[AGPL-3.0-only](https://git.lo.sh/lo/libsoliton/src/branch/main/LICENSE.md) +[AGPL-3.0-only](https://git.lo.sh/lo/libsoliton/src/branch/master/LICENSE.md) diff --git a/soliton_zig/README.md b/soliton_zig/README.md index 3f2fe6594..3fd78d35a 100644 --- a/soliton_zig/README.md +++ b/soliton_zig/README.md @@ -24,7 +24,7 @@ Add as a Zig dependency in `build.zig.zon`: ```zig .dependencies = .{ .soliton = .{ - .url = "https://git.lo.sh/lo/libsoliton/archive/v0.1.0.tar.gz", + .url = "https://git.lo.sh/lo/libsoliton/archive/v0.1.1.tar.gz", .hash = "...", }, }, @@ -129,9 +129,9 @@ All constants from `soliton.h` are re-exported (`PUBLIC_KEY_SIZE`, `SECRET_KEY_S ## Documentation -- [Specification.md](https://git.lo.sh/lo/libsoliton/src/branch/main/Specification.md) — full cryptographic specification -- [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/main/CHEATSHEET.md) — API quick reference -- [Abstract.md](https://git.lo.sh/lo/libsoliton/src/branch/main/Abstract.md) — formal security model +- [Specification.md](https://git.lo.sh/lo/libsoliton/src/branch/master/Specification.md) — full cryptographic specification +- [CHEATSHEET.md](https://git.lo.sh/lo/libsoliton/src/branch/master/CHEATSHEET.md) — API quick reference +- [Abstract.md](https://git.lo.sh/lo/libsoliton/src/branch/master/Abstract.md) — formal security model ## License diff --git a/soliton_zig/build.zig.zon b/soliton_zig/build.zig.zon index 9ffcf0729..e52b768ed 100644 --- a/soliton_zig/build.zig.zon +++ b/soliton_zig/build.zig.zon @@ -1,6 +1,6 @@ .{ .name = .soliton_zig, - .version = "0.1.0", + .version = "0.1.1", .fingerprint = 0x333e453f9c21f54c, .minimum_zig_version = "0.14.0", .paths = .{