Skip to main content

schubmult

Fast Schubert calculus in Python: Littlewood-Richardson coefficients, Schubert/Grothendieck rings, and the combinatorics behind them.

PyPI Docs License: GPL v3

schubmult multiplies single, double, quantum, and quantum double Schubert polynomials (with parabolic variants), expands products in the Schubert basis, and gives you the combinatorial objects that index them: permutations, RC graphs (pipe dreams), bumpless pipe dreams, tableaux, and their crystal structures. It is built on SymEngine for speed and SymPy for display, so results drop straight into SymPy or Sage.

Documentation: https://matthematics.github.io/schubmult/

Citation: How to cite


Installation

pip install schubmult

Development version:

pip install git+https://github.com/matthematics/schubmult.git

Requires Python 3.10+. To build the documentation locally, install the docs extra: pip install -e ".[docs]".

Quick start

Python

from schubmult import Sx, DSx, QSx, QDSx, Gx, DGx, QDGx, Permutation
from schubmult.abc import x, y, z

# Ordinary Schubert polynomials: S_312 * S_132 = S_321 + S_4123
Sx([3, 1, 2]) * Sx([1, 3, 2])
# 𝔖_(3, 2, 1)(x) + 𝔖_(4, 1, 2, 3)(x)

# Expand to a polynomial, or go the other way
Sx([3, 1, 2]).expand()                       # x_1**2
Sx.from_expr(x[1]**2 + x[1] * x[2])          # 𝔖_(2, 3, 1)(x) + 𝔖_(3, 1, 2)(x)

# Double Schubert polynomials S_w(x; y); coefficients are polynomials in y
DSx([1, 3, 2]) * DSx([1, 3, 2])
# (-y_2 + y_3)*𝔖_(1, 3, 2)(x; y) + 𝔖_(1, 4, 2, 3)(x; y) + 𝔖_(2, 3, 1)(x; y)

# Mixed variables: S_w(x; y) * S_v(x; z)
DSx([1, 3, 2]) * DSx([2, 1, 3], z)
# (y_1 - z_1)*𝔖_(1, 3, 2)(x; y) + 𝔖_(2, 3, 1)(x; y) + 𝔖_(3, 1, 2)(x; y)

# Quantum Schubert polynomials
QSx([2, 1, 3]) * QSx([2, 1, 3])              # q_1 + 𝕼𝔖_312(x)

# Quantum double Schubert polynomials
QDSx([2, 1, 3]) * QDSx([2, 1, 3])
# q_1 + (-y_1 + y_2)*𝕼𝔖_21(x; y) + 𝕼𝔖_312(x; y)

# Grothendieck polynomials (K-theory)
Gx([2, 1, 3]) * Gx([2, 1, 3])                # 𝔊_(3, 1, 2)(x)

# Double Grothendieck polynomials; .simplify() puts the rational coefficients in y, β in normal form
(DGx([1, 3, 2]) * DGx([2, 1, 3])).simplify()
# β*𝔊_(3, 2, 1)(x; y) + 𝔊_(2, 3, 1)(x; y) + 𝔊_(3, 1, 2)(x; y)
(DGx([2, 1, 3]) * DGx([2, 1, 3])).simplify()
# (y_1 - y_2)*𝔊_(2, 1)(x; y)   (y_1*β + 1)*𝔊_(3, 1, 2)(x; y)
# -------------------------- + -----------------------------
#         y_2*β + 1                      y_2*β + 1

# Quantum double Grothendieck polynomials (conjectural equivariant quantum K-Pieri rule)
g = QDGx([1, 3, 2], beta=-1)
h = QDGx([2, 1, 3], beta=-1)
product = (g * h).simplify()                 # multiplication uses the combinatorial kernel
product.expand()                           # explicit Lenart--Maeno quantum polynomials
g * QDGx([2, 1, 3], "z", beta=-1)           # mixed coefficient alphabets

# Permutations use one-line notation; Lehmer codes are available too
w = Permutation([3, 1, 4, 2])
w.code, w.inv, w.descents()                  # ([2, 0, 1], 3, {0, 2})

Ring objects: Sx (single), DSx (double), QSx/QDSx (quantum, quantum double), QPSx/QPDSx (parabolic quantum), Gx/DGx (single/double Grothendieck). Elements are dictionaries {Permutation: coefficient} with *, +, .expand(), .coproduct(), and change of basis between them. The underlying multiplication kernels live in schubmult.mult (single, double, quantum, quantum_double, groth, groth_double).

QDGx constructs stable quantum double Grothendieck elements, with symbolic beta by default. It supports linear combinations, kernel multiplication, coefficient simplification, and explicit polynomial expansion; QDGx(w, "0") uses the zero coefficient alphabet. The ring class is QuantumDoubleGrothendieckRing(x_alphabet, y_alphabet, beta=None). Arbitrary x-polynomial conversion and coproducts are not implemented. Products retain permutations outside any chosen finite symmetric group; a finite-flag comparison must handle those separately.

Paper examples: equivariant quantum K-theory

examples/duan_khlaif_zou_qk.py computes all 156 distinct explicit equivariant Schubert-class products in Duan--Khlaif--Zou, arXiv:2606.15261v2: Table 3.2 (Fl(3)), Appendix A.1 (Fl(4)), Appendix A.2 (Fl(1,3;4)), and Appendix A.3 (Fl(1,2;4)). The script records printed page references and notes the repeated product in A.2 and the omitted equivariant square in A.3. It generates new answers, rather than automatically comparing against the paper's printed right-hand sides.

PYTHONPATH=src python examples/duan_khlaif_zou_qk.py --list
PYTHONPATH=src python examples/duan_khlaif_zou_qk.py --example fl4-04
PYTHONPATH=src python examples/duan_khlaif_zou_qk.py --section fl134
PYTHONPATH=src python examples/duan_khlaif_zou_qk.py --tex --output products.tex

It uses QuantumDoubleGrothendieckRing at beta=-1 with ChangeOfVariables implementing z_i -> 1-1/y_i, the paper's multiplicative equivariant-character convention. Finite-flag projection removes stable terms outside S_n; partial flags additionally use the existing Kato projection, with consecutive quantum-parameter indices. TeX output is a standalone document using \widetilde{\mathfrak{G}}_w(x;y). Add --non-equivariant to specialize the selected products at y_i=1. The underlying equivariant quantum K-Pieri multiplication rule remains conjectural.

Generating sets

GeneratingSet("x") supports any nonnegative index, including indices above 100. It starts with 10 cached symbols and grows geometrically on demand. Bounded slices such as x[1:151] also generate the requested variables. len(x), iteration, negative indexing, and open-ended slices describe only the currently cached prefix; use explicit slice bounds when a computation needs a particular number of variables. CustomGeneratingSet remains a finite sequence.

from schubmult import ChangeOfVariables, GeneratingSet

x, t = GeneratingSet("x"), GeneratingSet("t")
change = ChangeOfVariables(x, t, lambda i, target: 1 - 1 / target[i])
change[150]                     # 1 - 1/t_150
change.subs(x[150] + x[1]**2)   # simultaneous substitution of source variables

Command line

Each ring has a CLI. Permutations are space-separated, factors are separated by -:

schubmult_py 3 1 2 - 2 1 3                         # 1  (4, 1, 2, 3)
schubmult_py --code 2 0 - 1 0                      # same product via Lehmer codes
schubmult_double 1 3 2 - 1 3 2 --display-positive  # double Schubert, coefficients displayed positively
schubmult_q 2 1 3 - 2 1 3                          # quantum
schubmult_q_double 2 1 3 - 2 1 3 --parabolic 1     # parabolic quantum double
grothmult_py 2 1 3 - 2 1 3                         # Grothendieck
grothmult_double 2 1 3 - 2 1 3                     # double Grothendieck (coefficients in y and β)
grothmult_q 2 1 - 2 1                              # quantum Grothendieck (conjectural quantum K-Pieri rule; coefficients in q and β)
grothmult_q_double 2 1 - 2 1 --mixed-var           # quantum double Grothendieck (coefficients in y, z, q and β)
grothmult_q_double 2 1 - 2 1 --multiplicative-variables --simplify  # beta=-1, coordinates 1-1/y_i

Both grothmult_double and grothmult_q_double support --multiplicative-variables: this uses ChangeOfVariables to calculate with 1-1/y_i coefficient coordinates and fixes beta=-1. With --mixed-var, the second coefficient alphabet is also changed to 1-1/z_i. Explicit --beta=-1 is allowed; other beta values and --display-positive conflict with this mode and are rejected. Add --simplify to cancel the rational coefficients. Without the flag, the existing conventions are unchanged.

--display-positive writes double and quantum double coefficients as manifestly positive expressions in the differences y_i - z_j (Graham positivity), using integer programming to find a positive representative. Run any script with --help for the full option list.

All four grothmult_* scripts accept --beta EXPR to use a sympified expression as beta in the multiplication, for example --beta=-1, --beta 0, or --beta "1/2". Without this option, beta remains symbolic. For --display-positive, the positive expression is constructed with symbolic beta before specialization. With --parabolic --beta 0, specialization is deferred until after Kato projection so inverse powers of beta can cancel.

Combinatorics

The schubmult.combinatorics package provides the objects that index Schubert calculus, with conversions between them:

  • Permutation -- one-line notation, Lehmer codes (uncode), reduced words, Bruhat order, descents, dominant/Grassmannian tests.
  • RCGraph -- reduced compatible sequences / pipe dreams, with enumeration (RCGraph.all_rc_graphs(w, n)), Kashiwara crystal operators (raising_operator(i), lowering_operator(i)), Edelman-Greene insertion, and the crystal products used in the transition formulas.
  • BPD -- bumpless pipe dreams with droop moves, the Gao-Huang bijection to RC graphs (BPD.from_rc_graph, .to_rc_graph()), and marked/unreduced variants for Grothendieck polynomials.
  • WCGraph, PipeDream -- K-theoretic pipe dream models.
  • Tableaux -- Plactic (semistandard, jeu de taquin), NilPlactic (Edelman-Greene), IncreasingTableau, and SetValuedTableau.
  • Forests -- indexed forests and the Thompson monoid factorization behind the forest and grove bases.
from schubmult import RCGraph, BPD, Permutation

w = Permutation([1, 4, 2, 3])
rcs = RCGraph.all_rc_graphs(w, 3)        # all RC graphs of w in 3 rows

rc = next(rc for rc in rcs if rc.lowering_operator(1) is not None)
rc.lowering_operator(1)                  # crystal operator f_1 (None when undefined)

bpd = BPD.from_rc_graph(rc)              # Gao-Huang bijection
assert bpd.to_rc_graph() == rc

Experimental combinatorics

The schubmult.combinatorics.experimental namespace contains exploratory implementations that may be incomplete or incorrect:

Module Main objects
chute_move_element ChuteMoveElement
hecke_plactic HeckePlactic
hpd HPD, HPDTile
inversions_tableau InversionsTableau
quasi_crystal_graph QuasiCrystalGraph, QuasiCrystalGraphTensor
root_tableau RootTableau

These objects can be imported from the experimental namespace or their individual modules:

from schubmult.combinatorics.experimental import HPD
from schubmult.combinatorics.experimental.root_tableau import RootTableau

The former schubmult.combinatorics.<module> paths and top-level schubmult exports for these objects are no longer provided. Pickles referencing the former module paths will not load without migration. ChuteMoveRing remains available, but its basis uses ChuteMoveElement.

Rings and algebras

Beyond the Schubert rings, schubmult.rings includes:

  • PolynomialAlgebra with interchangeable bases: monomials, Schubert, key (Demazure), Lascoux, fundamental/monomial slide, glide, forest, grove, Grothendieck, and elementary symmetric bases.
  • FreeAlgebra -- the graded dual of the polynomial algebra (a word (a_1, ..., a_n) is dual to x_1^a_1 ... x_n^a_n), with a dual basis for each of the above; ASx is the dual Schubert basis.
  • Combinatorial rings -- RCGraphRing, WCGraphRing, CrystalGraphRing, and related algebras whose basis elements are the combinatorial objects themselves.
  • Tensor and direct products, NSym, QSym, and the nil-Hecke algebra.
from schubmult import ASx, FA

ASx([2, 1, 3]) * ASx([1, 3, 2])   # dual Schubert basis of the free algebra
FA(1, 0) * FA(2)                  # word basis: concatenation, [102]

Symbolic layer

schubmult.symbolic wraps SymEngine and SymPy behind one interface (sympify, expand, Add, Mul, S), provides indexed variable families (GeneratingSet("x") gives x_1, x_2, ...), and unevaluated elementary/complete symmetric polynomial atoms (E, e, H, h) so Schubert polynomials can be manipulated in the SEM basis. schubmult.abc exposes ready-made x, y, z, q, beta in the spirit of sympy.abc.

Using with SageMath

Sage is not a dependency: everything above works in plain Python. If you do have Sage, install schubmult into that environment (sage -pip install schubmult, or pip install schubmult inside a conda sage env) and schubmult.sage provides Sage parents whose arithmetic is delegated to the kernels, alongside Sage's own SchubertPolynomialRing:

sage: from schubmult.sage import DoubleSchubertPolynomialRing, QuantumSchubertPolynomialRing
sage: X = DoubleSchubertPolynomialRing(QQ)
sage: X([3, 1, 2]) * X([2, 1])
(y_2-y_0)*X_y[3, 1, 2] + X_y[4, 1, 2, 3]
sage: X([3, 1, 2]).expand()
x0^2 - x0*y0 - x0*y1 + y0*y1
sage: G = QuantumSchubertPolynomialRing(QQ, parabolic=(2, 3))   # QH^*(Gr(2, 5))
sage: G([3, 5, 1, 2, 4]) * G([1, 3, 2])
q_0*Xq[1, 3, 2] + Xq[3, 6, 1, 2, 4, 5] + Xq[4, 5, 1, 2, 3]
sage: from schubmult.sage import DoubleGrothendieckPolynomialRing
sage: GD = DoubleGrothendieckPolynomialRing(QQ)                  # K_T of the flag variety
sage: GD([2, 1]) * GD([2, 1])
-((y_1-y_0)/(beta*y_1+1))*G_y[2, 1] + ((beta*y_0+1)/(beta*y_1+1))*G_y[3, 1, 2]
sage: from schubmult.sage import PolynomialAlgebra
sage: A = PolynomialAlgebra(QQ); k = A.key(); F = A.fundamental_slide()   # bases of QQ[x0, x1, ...]
sage: F(k[1, 0, 2])
F[1, 0, 2] + F[2, 0, 1]
sage: k(A.schubert()[3, 1, 2])
k[2]

DoubleSchubertPolynomialRing, QuantumSchubertPolynomialRing, QuantumDoubleSchubertPolynomialRing (with parabolic= block sizes), GrothendieckPolynomialRing, and DoubleGrothendieckPolynomialRing accept permutations, Sage polynomials, and elements of SchubertPolynomialRing and KeyPolynomials; a ring in another alphabet (DoubleSchubertPolynomialRing(QQ, 'z')) coerces in for mixed products, and from_symmetric_function(f, n) / to_symmetric_function() go back and forth with SymmetricFunctions. PolynomialAlgebra(R) (or PolynomialAlgebra(R, n) in n variables) is the polynomial ring with its combinatorial bases as mutually coercing realizations: Schubert and Grothendieck indexed by permutations, monomial/key/slide/forest/glide/Lascoux/grove by weak compositions, and in n variables the elementary symmetric basis; its K-theoretic bases are at beta = -1, whereas the Grothendieck rings keep beta as a variable. Variables are 0-indexed as in Sage (x0, y0, q0).

Documentation

Full API documentation, generated from the source docstrings, is at https://matthematics.github.io/schubmult/. To build it locally:

pip install -e ".[docs]"
python docs/generate_docs.py
mkdocs serve

Development

git clone https://github.com/matthematics/schubmult.git
cd schubmult
pip install -e .
pytest

Tests live in tests/; the script tests compare CLI output against stored JSON cases in tests/scripts/data. ruff check src/schubmult should pass.

How to cite

If you use schubmult in your research, please cite the software and, once available, the accompanying preprint. Include the version number (or Git commit hash for a development checkout) used for your computations.

On GitHub, the Cite this repository button in the repository sidebar gives APA and BibTeX citations generated from CITATION.cff.

Software

Use this BibTeX template, replacing <YEAR> with the year of the cited release or commit and <VERSION_OR_COMMIT> with the version number or commit hash you used:

@misc{schubmult,
  author = {Samuel, Matt},
  title  = {{schubmult}},
  year   = {<YEAR>},
  url    = {https://github.com/matthematics/schubmult},
  note   = {Version <VERSION_OR_COMMIT>}
}

Preprint (template)

arXiv link: <ARXIV_URL>

The preprint citation is not yet filled in. Replace the placeholders below with the paper's authors, title, year, arXiv identifier, and URL before citing it, or paste the BibTeX entry exported by arXiv. Also fill in and uncomment the preferred-citation block in CITATION.cff. The software citation above can be used in the meantime.

@misc{schubmult_paper,
  author        = {<AUTHORS>},
  title         = {<PAPER_TITLE>},
  year          = {<YEAR>},
  eprint        = {<ARXIV_ID>},
  archivePrefix = {arXiv},
  url           = {<ARXIV_URL>}
}

License

GPL-3.0-or-later. See LICENSE.

Metadata

Release files for schubmult 5.4.0

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

Source distribution (sdist)

Source distribution for schubmult 5.4.0
File Size Uploaded Provenance Actions
schubmult-5.4.0.tar.gz 1.2 MB With provenance Details for schubmult-5.4.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for schubmult 5.4.0
File Actions
schubmult-5.4.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details for schubmult-5.4.0-cp315-cp315-win_amd64.whl
schubmult-5.4.0-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for schubmult-5.4.0-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
schubmult-5.4.0-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details for schubmult-5.4.0-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
schubmult-5.4.0-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details for schubmult-5.4.0-cp315-cp315-macosx_11_0_arm64.whl
schubmult-5.4.0-cp315-cp315-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.15+ x86-64 Details for schubmult-5.4.0-cp315-cp315-macosx_10_15_x86_64.whl
schubmult-5.4.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for schubmult-5.4.0-cp314-cp314-win_amd64.whl
schubmult-5.4.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for schubmult-5.4.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
schubmult-5.4.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for schubmult-5.4.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
schubmult-5.4.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for schubmult-5.4.0-cp314-cp314-macosx_11_0_arm64.whl
schubmult-5.4.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details for schubmult-5.4.0-cp314-cp314-macosx_10_15_x86_64.whl
schubmult-5.4.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for schubmult-5.4.0-cp313-cp313-win_amd64.whl
schubmult-5.4.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for schubmult-5.4.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
schubmult-5.4.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for schubmult-5.4.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
schubmult-5.4.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for schubmult-5.4.0-cp313-cp313-macosx_11_0_arm64.whl
schubmult-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for schubmult-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl
schubmult-5.4.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for schubmult-5.4.0-cp312-cp312-win_amd64.whl
schubmult-5.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for schubmult-5.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
schubmult-5.4.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for schubmult-5.4.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
schubmult-5.4.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for schubmult-5.4.0-cp312-cp312-macosx_11_0_arm64.whl
schubmult-5.4.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for schubmult-5.4.0-cp312-cp312-macosx_10_13_x86_64.whl
schubmult-5.4.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for schubmult-5.4.0-cp311-cp311-win_amd64.whl
schubmult-5.4.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for schubmult-5.4.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
schubmult-5.4.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for schubmult-5.4.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
schubmult-5.4.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for schubmult-5.4.0-cp311-cp311-macosx_11_0_arm64.whl
schubmult-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for schubmult-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl
schubmult-5.4.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for schubmult-5.4.0-cp310-cp310-win_amd64.whl
schubmult-5.4.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for schubmult-5.4.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
schubmult-5.4.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for schubmult-5.4.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
schubmult-5.4.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for schubmult-5.4.0-cp310-cp310-macosx_11_0_arm64.whl
schubmult-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details for schubmult-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl

Total release size: 47.2 MB

Release files / schubmult-5.4.0.tar.gz

Download URL schubmult-5.4.0.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
a2634335966fc9ce080646851c42cba670d9b81777ce11e95d27ce48ea197d0c
BLAKE2b-256 checksum
How to use checksums
61480a07d6db4d006361a5cc364ca7d733892b304fd8f11de438f96dd4af914d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp315-cp315-win_amd64.whl

Download URL schubmult-5.4.0-cp315-cp315-win_amd64.whl
Size 993.6 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
ba9ba0b0afc44fdbd38b7b3599a562638d0dd3c511cc2dd6406a3c762d830aaf
BLAKE2b-256 checksum
How to use checksums
00d384dbc3c0fc618655e303ede8e761de892873ff6dbda672063705a0030372
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL schubmult-5.4.0-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.15 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9617616df5721662e7e7aa34b5ed07da12187ccee0390f650f542a0bcf879546
BLAKE2b-256 checksum
How to use checksums
4fd9ef63591d28dc53c56de443702d0cff4343d6644d339c833845a5f0929e9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL schubmult-5.4.0-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 2.5 MB
Tags CPython 3.15 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e8eacc097bc967bab3e3e0dc48389ea811ed9bb97cd381a7ffa46b8ce939b3d4
BLAKE2b-256 checksum
How to use checksums
5d5dc00aef3345465aa4d0873867ab02d812d15f9b7def5ad2d13fdc95c6910f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp315-cp315-macosx_11_0_arm64.whl

Download URL schubmult-5.4.0-cp315-cp315-macosx_11_0_arm64.whl
Size 830.4 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
92fddc34734a4681cf2aad388b98fa725dc6dc41de964f304ad8a5a548fa763d
BLAKE2b-256 checksum
How to use checksums
5bf029b043288f13ea059e47829d0cbc006c562fa4ab29bafc23b602421c880e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp315-cp315-macosx_10_15_x86_64.whl

Download URL schubmult-5.4.0-cp315-cp315-macosx_10_15_x86_64.whl
Size 832.2 kB
Tags CPython 3.15 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
6415fa9eb0143cd2d6e30a0d628d4abe616e06b89a2fbe80337605c662f51368
BLAKE2b-256 checksum
How to use checksums
9f23f793760401628df941671d8fec10449730fe9ad70e77694b20182416e609
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp314-cp314-win_amd64.whl

Download URL schubmult-5.4.0-cp314-cp314-win_amd64.whl
Size 993.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
260e47a9eddbd5c6f814e9923af92153568fc76d923e2edae534d36094f99069
BLAKE2b-256 checksum
How to use checksums
5cf0b832bfe721e770e3b34b3be0b885971307498819b9da9eef05c673dd8982
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL schubmult-5.4.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
853f3ce11682f702070f91ebd412edc2f0416805f84c53aee900331a19c5de1e
BLAKE2b-256 checksum
How to use checksums
f09719c18c947f2a2b0296bbb54a0c53e90a4fc59c8281b283dd974473a592dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL schubmult-5.4.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 2.5 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b1c14ecac8c5b2b8a3ed7e694e0958d3843906a5a3eaa59e112741337d015211
BLAKE2b-256 checksum
How to use checksums
a40e675dece4d8cb210f1b070d68c7d537f3cec646a0488b926b95245ac56365
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL schubmult-5.4.0-cp314-cp314-macosx_11_0_arm64.whl
Size 830.2 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b56348a278adb8e56157791f99d13a05284cab8972f296a52cc49360c5fbfc7e
BLAKE2b-256 checksum
How to use checksums
e045e326922d27dcaa0a6bbdee4876fd02edfd9008399bf0c664e7f35653c3bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL schubmult-5.4.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 832.2 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
937c8e70aefbc4f6d65532c37cc851d35f1f59dfea87ea04c54060d8699398a8
BLAKE2b-256 checksum
How to use checksums
e76b50739ff9463819953b716cbcb0a8da23c6ee681712cb741a6fc501d44190
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp313-cp313-win_amd64.whl

Download URL schubmult-5.4.0-cp313-cp313-win_amd64.whl
Size 983.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
f7814753851ffbe923b18debef08d0d4c792f724f2cb6b4a699cf416a58daa05
BLAKE2b-256 checksum
How to use checksums
2ebcaac6a28422afb24f36dcc3272a59e0d2d6bcdaac9dd54a99e173b0ea67e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL schubmult-5.4.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1cf63dc0991e6dc910a601f3af03d14a6c67b0e3a74e9afbc76b61957fc4008a
BLAKE2b-256 checksum
How to use checksums
0cd2df664014a46796a285d05850812d0f6cb19c7953a095d0e4c9598b778807
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL schubmult-5.4.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 2.5 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2ee9396061a640c6e05964c8a766b41f64bae7d954910bea344a7db21944ecad
BLAKE2b-256 checksum
How to use checksums
28f8c58e6d4c1f8fa463429ba3788bd44d091ac192dd4ba598cd6361c533b0fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL schubmult-5.4.0-cp313-cp313-macosx_11_0_arm64.whl
Size 830.2 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3a7562bfe9ce39fd3f0cc1384ce25927eb9086c5aa2ed418534d25e44d273424
BLAKE2b-256 checksum
How to use checksums
5647c0382aa596c49bd8e3070605b56edc7c5e5540d8831c33408f84393216e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL schubmult-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 832.0 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
cb384b991a2add30e24cc8b912e015eb2c6248df04d672052ad991400da5648b
BLAKE2b-256 checksum
How to use checksums
bf37f6972535a2c4acb447a7bcad3bc280eb9cc4ff8ca4fcd6e3b30920c52298
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp312-cp312-win_amd64.whl

Download URL schubmult-5.4.0-cp312-cp312-win_amd64.whl
Size 983.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
15f28c03e8927c8a60371e372c3aadbc2cae06814c17b34dd8af1cdc17e70d32
BLAKE2b-256 checksum
How to use checksums
077862ef75d9847c7984871780c584c9754eec386d07ba71dcce47b94874b6ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL schubmult-5.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a5493468ca9a3e62ea79cbc733d8d67e34d80571e15dd16d326104c627a41373
BLAKE2b-256 checksum
How to use checksums
166167c86877a18fb882336a27ceac4c202839ead7e61c43b40f226d75a5e3a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL schubmult-5.4.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 2.5 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a843744f25715635bbee8727171e58bf81f31f57ad92dbd4ff073aef77cfe190
BLAKE2b-256 checksum
How to use checksums
e95cea52272b0b9ae38862fd921d60417e64590fcb3b91d91aebce7e5c41c14e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL schubmult-5.4.0-cp312-cp312-macosx_11_0_arm64.whl
Size 830.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6105aa885559377219495e8deaae2be0fe19bddfd7a37ceba0592a8a1ff7847c
BLAKE2b-256 checksum
How to use checksums
9a362266c64424212a7def2d8b2cf8c30e6c85dc9da335d915bf55ecbd484973
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL schubmult-5.4.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 832.0 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
f04be54e502711d6b648cbb638e420c2f230548afde2c0c21cd4d15b3ed399dd
BLAKE2b-256 checksum
How to use checksums
ca28c3110450bbfd01bae11b22279301f5e7799a46708003802fe2fa51c27b0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp311-cp311-win_amd64.whl

Download URL schubmult-5.4.0-cp311-cp311-win_amd64.whl
Size 983.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
379b014991a057c241d7459c85e0e67bce193bd50d395448c27d890e5c1b7b89
BLAKE2b-256 checksum
How to use checksums
25d730a2af56de86b0cb70822d93616b3fc4bffb12d82bc4663e724c9db35133
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL schubmult-5.4.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
385eff86bb78a470edfb9153a581b12c57645a9f7c824aad20676a323b33e6ac
BLAKE2b-256 checksum
How to use checksums
2c2ca8050ad1422f00299d01d72f2ba2059bc1efe8c29d2c87baa0b7e3776cce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL schubmult-5.4.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 2.5 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7ddcc948b892bce8f2e3be5fd55780675abaa1e8bffaeee7c9f0198fd807cc71
BLAKE2b-256 checksum
How to use checksums
65ea46e49dc6b98e421704d7b49c4d8fe59fe8cfba3ed2523ca0c75a6f01b76c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL schubmult-5.4.0-cp311-cp311-macosx_11_0_arm64.whl
Size 831.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eb757ff92478c9fe45fb32798eb77152170a122abb8def6bede718baff9a2c28
BLAKE2b-256 checksum
How to use checksums
26e293f1b0248d35bde587fe2d4d883626793e5ebea09760597b36234412788c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL schubmult-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 833.8 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5b27604dce023d04a04ff820926db23d5e8268c21c8a69b0bd98d7ae1ec74929
BLAKE2b-256 checksum
How to use checksums
056f3360571b8269e09733059040c3260f89db5c49244329b83fa17b6b7dec23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp310-cp310-win_amd64.whl

Download URL schubmult-5.4.0-cp310-cp310-win_amd64.whl
Size 983.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e3d37cdd04ca8fd023879ac366eeb4470e3faa3756b44447c5fc765c595ce84e
BLAKE2b-256 checksum
How to use checksums
5d2803032d9a5c8bd991fbafcbd57ab4e36411c00cae998251cf4e6195a06c16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL schubmult-5.4.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0947f0f6828bcc9b1b137e690634d2185d8421fcfb8752155c54a990e84788fc
BLAKE2b-256 checksum
How to use checksums
cf59a0dc29c71a3783e6ac5e2490595e6ba6d84866f455adbdedf20cf3961521
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL schubmult-5.4.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 2.5 MB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3d0b6082e2c5c42ffd9372d57d12a89d6fee12f1cc95e42c63b3d93dafe361a8
BLAKE2b-256 checksum
How to use checksums
e10f7296197618750e064104c21832a0f2400d72026cf7be8dda17eb18d18066
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL schubmult-5.4.0-cp310-cp310-macosx_11_0_arm64.whl
Size 831.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f852e48a26be6b4c1db235b410bfae43992f5a167a17e5286e27d146adc6728b
BLAKE2b-256 checksum
How to use checksums
1c21d206361f7e5f0a44b1fcce614e657d4378a0a108ab28f284add6fc585a31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / schubmult-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL schubmult-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 833.8 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5e8e75d93fe30937c9d8fda5038a2421d8460fe5a4e19687afeaf14acd3ffb37
BLAKE2b-256 checksum
How to use checksums
9cc683c96c8efac89bfa48a09897a80024fbbf620b0f6723850298f641a20231
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Security for schubmult 5.4.0

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 31 files in this release have been uploaded with provenance metadata.

Select from 31 files

Attestation for schubmult-5.4.0.tar.gz

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 Nov 13, 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

5.4.0 This release

31 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