Skip to main content

smopt

smopt

Stiefel Manifold Optimization: Penalty-Free First-Order Solvers

Tests Documentation Ruff

codecov Quality Gate Status License

PyPI Downloads Python versions

smopt minimizes a smooth function, optionally plus a nonsmooth regularizer, over the matrices with orthonormal columns:

$$ \min_{X \in \mathbb{R}^{n\times p}} f(X) + r(X) \quad \text{subject to} \quad X^\top X = I_p. $$

The solvers are penalty-free first-order methods. Rather than retracting along geodesics, they work in the ambient space and dissolve the orthogonality constraint with a cheap feasibility restoring map, so an iteration costs little more than a gradient evaluation and a couple of small matrix products.

Everything numerical — the manifold geometry, the proximal operators, the Barzilai-Borwein step sizes and the solver loops themselves — is written in Fortran 77 and reached through f2py. Python supplies the objective through a callback and handles reporting. NumPy is the only runtime dependency; the extension links against nothing but the Fortran runtime.

Quick example

import numpy as np
from smopt import slpg_smooth, Stiefel

n, p = 1000, 10
M = Stiefel(n, p)
A = np.diag(np.arange(n, dtype=float))


def obj_fun(X):
    """Return the objective and its Euclidean gradient together."""
    AX = A @ X
    return float(np.sum(X * AX)), 2.0 * AX


X, out = slpg_smooth(obj_fun, M)
print(out["fval"], out["fea"])

Solvers

Name Comment Call
slpg_smooth penalty-free first-order method for smooth problems slpg_smooth(obj_fun, M)
slpg penalty-free first-order method for nonsmooth problems slpg(obj_fun, M, prox=...)
slpg_l21 penalty-free first-order method for $\ell_{2,1}$ regularized problems slpg_l21(obj_fun, M, gamma=...)
pencf constraint dissolving penalty method pencf(xinit, obj_fun, M)

Every solver returns (X, out), where out carries the fvals, kkts and feas histories together with the final fval, kkt and fea.

Installation

pip install smopt

Requires Python 3.10+ and NumPy. See the full installation guide for uv, poetry, and source builds.

Building from source additionally needs a Fortran compiler; the wheels carry the Fortran runtime, so installing one does not.

Layout

src/
  smblas.f      dense kernels: matmul, Cholesky, Jacobi eigensolver, Gram-Schmidt
  smman.f       Stiefel geometry: C, JA, JC, the A map, the polar retraction
  smprox.f      proximal operators and the l_{2,1} multiplier
  smslpg.f      the SLPG solver drivers and the Arrow-Hurwicz inner iteration
  smpencf.f     the pencf driver
  _smopt.pyf    f2py signatures binding the above to Python
  smopt/        the thin Python layer: argument marshalling and reporting
tests/
  reference.py  a NumPy transcription of the algorithm, used as a test oracle

Documentation

  • Theory — the manifold, the constraint dissolving map, the algorithms
  • Quickstart — runnable examples
  • API Reference — class and function signatures and arguments
  • References — literature citations

Acknowledgement

The algorithm ported here originates in the STOP toolbox by Nachuan Xiao, Lei Wang, Bin Gao, Xin Liu and Ya-xiang Yuan (https://stmopt.gitee.io/). smopt re-implements its numerics in Fortran 77 behind the same solver interface.

License

GNU General Public License v3 (GPLv3) — see LICENSE.

Metadata

Release files for smopt 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for smopt 0.1.1
File
smopt-0.1.1-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details
smopt-0.1.1-cp315-cp315t-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64 Details
smopt-0.1.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
smopt-0.1.1-cp315-cp315t-macosx_15_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 15.0+ ARM64 Details
smopt-0.1.1-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
smopt-0.1.1-cp315-cp315-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ x86-64 Details
smopt-0.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
smopt-0.1.1-cp315-cp315-macosx_15_0_arm64.whl CPython 3.15 CPython 3.15 macOS 15.0+ ARM64 Details
smopt-0.1.1-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
smopt-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
smopt-0.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
smopt-0.1.1-cp314-cp314t-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 15.0+ ARM64 Details
smopt-0.1.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
smopt-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
smopt-0.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
smopt-0.1.1-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
smopt-0.1.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
smopt-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
smopt-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
smopt-0.1.1-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
smopt-0.1.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
smopt-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
smopt-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
smopt-0.1.1-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
smopt-0.1.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
smopt-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
smopt-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
smopt-0.1.1-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details
smopt-0.1.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
smopt-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
smopt-0.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
smopt-0.1.1-cp310-cp310-macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64 Details

Total release size: 2.5 MB

Release files / smopt-0.1.1-cp315-cp315t-win_amd64.whl

Download URL smopt-0.1.1-cp315-cp315t-win_amd64.whl
Size 109.7 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
de06394521ae7b34b5e138c8b574b99e40b4d357352b142c5efae0562510c8db
BLAKE2b-256 checksum
How to use checksums
0444ba4756ee5e0ac6a424da1954dd2ea20186e7952e390ab67c0046b501fd44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp315-cp315t-musllinux_1_2_x86_64.whl

Download URL smopt-0.1.1-cp315-cp315t-musllinux_1_2_x86_64.whl
Size 73.1 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5919894bfb4fac753f5fcd3fa426007406ac4909f397c057e77d1753eb516f90
BLAKE2b-256 checksum
How to use checksums
5e3be2932583eb1d0520dcf49fe6e4c4ead97afa8e68e7975a005ca5fc0f8681
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL smopt-0.1.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 71.6 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2746d65e83bb2ce7d41f6784edd4428eed16bb03e06c295ad92ef2128fefd237
BLAKE2b-256 checksum
How to use checksums
ed3de1b0b0aa5ea8135f3ac26ba379044c51c46f8eea913c968da737ad18abf3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp315-cp315t-macosx_15_0_arm64.whl

Download URL smopt-0.1.1-cp315-cp315t-macosx_15_0_arm64.whl
Size 59.6 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
255128433751a4a63b97c71ef3f9b89e11bea41d364257984038184f59224127
BLAKE2b-256 checksum
How to use checksums
e7fd109d08af16a229302fd031ec87d8708f0e4bfb287206f5b9b5dbcbece470
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp315-cp315-win_amd64.whl

Download URL smopt-0.1.1-cp315-cp315-win_amd64.whl
Size 108.8 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
4c806d9b13d4a35d9ea4c0c65c8766806aa12aed3c07e4faecf6c021b3bbc611
BLAKE2b-256 checksum
How to use checksums
61729f07821e1c6c7c1dbb22e9d0cfd1c2ba22a4f94b38f85eb735bc4fef1823
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL smopt-0.1.1-cp315-cp315-musllinux_1_2_x86_64.whl
Size 72.5 kB
Tags CPython 3.15 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
eda7e494213f09d747b92f8df1c119c306d3de4ad62a27ee056c32950ec0ca71
BLAKE2b-256 checksum
How to use checksums
f7fc1924a40e1f16f54864c5553756e0c3db015374e47be2add06e0c2a6ee848
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL smopt-0.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 71.1 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2044b0c612247f14d8f8e1b4b3f891a6e1c8c65512efd2cf6964b4ba29d08cae
BLAKE2b-256 checksum
How to use checksums
e7847c652dea82faa67365c42f634b3a8f06dbd76a90b7d8aaabbb4bf8ee0fc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp315-cp315-macosx_15_0_arm64.whl

Download URL smopt-0.1.1-cp315-cp315-macosx_15_0_arm64.whl
Size 58.6 kB
Tags CPython 3.15 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
6499f6d0e9ef4e2014d2878b5053ea43daedd778153617e1d875cb31f1c3e503
BLAKE2b-256 checksum
How to use checksums
e606887fb4fc3f066f597dddd3a1b910e5c4c9284b7b4caa373c2df54bc32b75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp314-cp314t-win_amd64.whl

Download URL smopt-0.1.1-cp314-cp314t-win_amd64.whl
Size 109.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
3b9c836f0b2597df763d16da4affc0204bfa9c023293b33bb7556f597d8e2790
BLAKE2b-256 checksum
How to use checksums
dcbb1bf1c5583b1dd8d49b8c254b56bd43acdebdf6b70c7a07fd4e3483ddb043
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL smopt-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 73.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8efc05febd88ea28a15c25a9b82aff055332b20a4ec76b0ea7a7657be1deddf6
BLAKE2b-256 checksum
How to use checksums
8d41100c3efc90f637de0b0a472ebd4ea928854b0f0e7cabaf5f110d7a79aeb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL smopt-0.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 71.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2375980dae5098ea30a242b9f323d2ba2825a2d3c96077174b1dacfd59477b6f
BLAKE2b-256 checksum
How to use checksums
67627f12cc70b18254a76b36dcca201dc9740911f988f381e925b3e1d73d6ab8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp314-cp314t-macosx_15_0_arm64.whl

Download URL smopt-0.1.1-cp314-cp314t-macosx_15_0_arm64.whl
Size 59.6 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
8430e1f6f615e5eb9c126cd4b73e38a98ac3d938169a5e73792696519be7b918
BLAKE2b-256 checksum
How to use checksums
a3a73e46b2b254577334bb955be8358646200069fbf6cbbd75fa57bb1f7b5b74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp314-cp314-win_amd64.whl

Download URL smopt-0.1.1-cp314-cp314-win_amd64.whl
Size 108.8 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
a892b7b284664a6315bb86fa7aa2b2ac97257681363be21e666a386aa0b2efbf
BLAKE2b-256 checksum
How to use checksums
a2a094253a4f9432933e119f2611ea783cc6b8bc470a01b8fc53fea2bdfa7ea4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL smopt-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl
Size 72.5 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
10c7fe4f4b80bb8d2c31491845a45c2899dc2f1ee8572eef8c62c5a54c3ba849
BLAKE2b-256 checksum
How to use checksums
e34665b9a15e444475b19340d4b423f050af090a79c3821933786668fe56ab52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL smopt-0.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 71.1 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e241547b01c3fedebacf36ff26cf69760d2a457dc7ebde6565a2b6193af6ebf5
BLAKE2b-256 checksum
How to use checksums
8df4746174dee469ceec4e31092137b5ab3d5197275e216b3c2f07a0b9cc0a68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp314-cp314-macosx_15_0_arm64.whl

Download URL smopt-0.1.1-cp314-cp314-macosx_15_0_arm64.whl
Size 58.6 kB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
bb3793dfc51402c12d3d9dc6a3d2efe9a27d189c0ebf91b5776086ea6137d294
BLAKE2b-256 checksum
How to use checksums
29ae05a0c0797a0795ee2ef9cebe1628298249bb0cc0223ea166b9b22d0129a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp313-cp313-win_amd64.whl

Download URL smopt-0.1.1-cp313-cp313-win_amd64.whl
Size 106.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ed4946e9672c11ba0583ddb240eec9f2893cad2113a46d06639b0f04cf493e09
BLAKE2b-256 checksum
How to use checksums
830c71d3bbfd0b56fb5b3231ef6759a83e05927f4fbccf7711762fa7882913cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL smopt-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 72.6 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
bb2cbea01f6173fcb5458ee41533578951c1273b1e94bb2853493bb8d73da1ee
BLAKE2b-256 checksum
How to use checksums
0bc5afc815df848cf693260a75cd30dadee4c49988e8b76bd867a81d73e5e071
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL smopt-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 71.1 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
06297207940382955be076a1667e80825a298c857e855fe679083879e5f26645
BLAKE2b-256 checksum
How to use checksums
dd32715e6abdb2c91f87d49c008fd10c22f4d1b5faca1863e283d9f47a3fd1b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp313-cp313-macosx_15_0_arm64.whl

Download URL smopt-0.1.1-cp313-cp313-macosx_15_0_arm64.whl
Size 58.6 kB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
fdbfe6f34e3ae98fbcc3b966a4d31ecdb0d73ceb902da25c5f3414148d7bbeba
BLAKE2b-256 checksum
How to use checksums
d40f936389c4115221aeac49d24b2c01979a1a696fcd016360cce6535f6fc393
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp312-cp312-win_amd64.whl

Download URL smopt-0.1.1-cp312-cp312-win_amd64.whl
Size 106.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f342b64e63019bf18b37997d66550344cf99113aa786b37f64cff965ab2a41c1
BLAKE2b-256 checksum
How to use checksums
3cbb1731c19c070aefab81a3d28524f8fa9f4ab95461efd154206f1ffe26d73f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL smopt-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 72.6 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a84753512ad4d199a04f21e93deea19fa7e6d9d75a2b074e62eb3ea257fa1220
BLAKE2b-256 checksum
How to use checksums
803bf01e683fcb46345ec347179362e6f54b650a6a2dba6f427bb6f9eca1ce2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL smopt-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 71.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e9ba33d2262ab571c4260a0884749fb35b7351f42eb53f0ded66e4307b9df440
BLAKE2b-256 checksum
How to use checksums
0e87a8e73fc1e9748078239a8422fea326d5911067a5b69883d66f97acb0377a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp312-cp312-macosx_15_0_arm64.whl

Download URL smopt-0.1.1-cp312-cp312-macosx_15_0_arm64.whl
Size 58.7 kB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
e61a2119c4965d120afb36fd8fe9a91145d7d66607bb3f7f59d391841129c387
BLAKE2b-256 checksum
How to use checksums
394aae026799503d2cdbea39829864dd4547b108fb83d41c2600aa4f9cf59707
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp311-cp311-win_amd64.whl

Download URL smopt-0.1.1-cp311-cp311-win_amd64.whl
Size 105.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b8e666e4926935fea6bfe622201191ad4d332fc39f1a711ed162015e6fecc70e
BLAKE2b-256 checksum
How to use checksums
43d9085d51c3ac42435d770813a205ad86e931ca37bf8bbfb881054d795f84d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL smopt-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 71.8 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e43596571dad9d00c12e9e0bca63082f2220f8d5293b269d515f1d7bf365bcf1
BLAKE2b-256 checksum
How to use checksums
43445b576c6933aa00d1be855cc80d66263f7d885b39db84dbf76daa87691aee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL smopt-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 70.3 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c86bbb83e16a8b7244a75dd9786204450e23ece469e17c392a4749e7fa4081cc
BLAKE2b-256 checksum
How to use checksums
129e7a30abf3f4873b9f46236369776f070b7c76497aebcd8018c0d9a8969a2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp311-cp311-macosx_15_0_arm64.whl

Download URL smopt-0.1.1-cp311-cp311-macosx_15_0_arm64.whl
Size 57.8 kB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
0bc35574c011faf15acfca15ea157b225272f20a2ac36ee9e54720cbc3e3270b
BLAKE2b-256 checksum
How to use checksums
b85869ec7bba5b6d27f28ab9f3642aa65990a13263ba4845c0ca2c368ed9679d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp310-cp310-win_amd64.whl

Download URL smopt-0.1.1-cp310-cp310-win_amd64.whl
Size 103.1 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
22469273b2ab4c23de4a2cbb022dadeeb8804ee79fe3a9619efa41b5bd706bab
BLAKE2b-256 checksum
How to use checksums
ab4952dbb4bd0da24ce0e622b698c191a868fa6b770303c10563038acee3f702
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL smopt-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
Size 69.7 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ab5a28246bba385d2328c5a3b763a8335ed2f4a08912e26e55afaea011752900
BLAKE2b-256 checksum
How to use checksums
7d76deea98a403b695172070771d93603925cbf2d71820608c40730bee3b3c54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL smopt-0.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 68.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
49dd4f716c6e1ed2a9c2598aece260c8a5adf7f1586715a15ce45f7bd62a1b03
BLAKE2b-256 checksum
How to use checksums
8946fe527e1619b1550cb43e170ffdabac2da4ab042eefc0058e2c442675e98b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / smopt-0.1.1-cp310-cp310-macosx_15_0_arm64.whl

Download URL smopt-0.1.1-cp310-cp310-macosx_15_0_arm64.whl
Size 56.0 kB
Tags CPython 3.10 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
ecfb64a77eb4c9094debf41e7ed744e2eb564d905e137cf5f2d6bdf256d31cfa
BLAKE2b-256 checksum
How to use checksums
c6474e0b36f4057935456b29c78419782440a24c268d7937fe612520ecd9294e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Security for smopt 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 32 files in this release have been uploaded with provenance metadata.

Select from 32 files

Attestation for smopt-0.1.1-cp315-cp315t-win_amd64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

32 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page