smopt
Stiefel Manifold Optimization: Penalty-Free First-Order Solvers
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)
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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logSecurity 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.
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 logA 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.