A python wrapper to `POLSYS_PLP` fortran90 package from Layne T. Watson, Steven M. Wise, Andrew J. Sommese, August, 1998.
Project description
PYPOLSYS
This package provides a python wrapper to POLSYS_PLP
fortran90 package from Layne T. Watson, Steven M. Wise, Andrew J. Sommese, August, 1998.
POLSYS_PLP
is a solver for N complex coefficients polynomial systems of equations in N unknowns by a probability-one, globally convergent homotopy method.
For a quick survey on homotopy continuation see the very clear practical presentation available on HomotopyContinuation.jl website or this nice tutorial.
There are several other homotopy softwares (more recent, also with python interface, ...) allowing more advanced applications. See for instance:
- PHCpack
- Bertini
- Hom4PSpy and the wrapper on pypi
- HomotopyContinuation.jl
The advantage of POLSYS_PLP
is to be an open-source self-content single f90 file (it requires few blas
and lapack
functions that are shipped with POLSYS_PLP
sources or that may be linked to optimized libraries). The idea of pypolsys
project is to create an easy to install and to deploy python package to start with Homotopy method.
This wrapper has been developped to tackle polynomial systems obtained by high order perturbation of multi-parametric eigenvalue problems obtained with EasterEig
. This yields to dense polynomial system. In this context, multivariate Horner algorithm has been added to quickly evaluate simultaneously the polynomial and its Jacobian matrix.
POLSYS_PLP
POLSYS_PLP
use a probability-one globally convergent homotopy method,
to find all finite isolated complex solutions to a system
F(X) = 0 of N polynomial equations in N unknowns with complex
coefficients. A partitioned linear product (PLP) formulation is used
for the start system of the homotopy map.
The whole algorithm and its fortran90 implementation is described in
Wise, Steven M., Andrew J. Sommese, and Layne T. Watson. "Algorithm 801: POLSYS_PLP: A partitioned linear product homotopy code for solving polynomial systems of equations." ACM Transactions on Mathematical Software (TOMS) 26.1 (2000): 176-200.
- The sources are available on netlib.
- The theoretical part of
POLSYS_PLP
is available here POLSYS_PLP
is based onHOMPACK
To facilitate the build of this module, a copy of POLSYS_PLP
original sources is included in the pypolsys/801
folder.
Installation
From the wheel
The easiest way to install pypolsys
is to use the wheel available on pypi. Wheels are availlable for the most usual 64 bits architectures and os (Linux, Windows, Macos).
You can install pypolsys
from pip:
pip install pypolsys [--user]
you can also use a virtual environnement for better isolation.
From the source
If wheels are not available or if you need to modify the code or the last developpement version, you need to build pypolsys
from the source. The sources are available on pypi or on the github repos.
You'll need :
- python (tested for v >= 3.10);
- pip;
- fortran compiler (tested with
gfortran
on linux and macos, withm2w64-toolchain
on windows with conda or withrtools
distribution ofmingw64
); - lapack and blas installation (only on linux), optional. The useful lapack/blas routines are also shipped with
POLSYS_PLP
sources and built by default on Window or on demand on linux (see below). Optimized library are preferred and often already present on linux systems. If not, library likeopenblas
and the required development files can be installed withsudo apt install libopenblas-dev
on debian based distribution (including ubuntu).
After, just use
pip install pypolsys [--user]
it will download the source from pypi and build pypolsys
.
If you manualy get the sources, in the pypolsys
source folder (where there is the meson.build
file), run
pip install .
or,
pip install -v --no-build-isolation --editable .
to install it in editable mode.
If needed, please see the steps given in the continuous integration scripts ci-ubuntu, ci-windows or CI-build-release.yml.
Running tests
To execute the full test suite, run :
python -m pypolsys.test
Troubleshooting
With old gfortran
version present on ubuntu 16.04 (see here) the building may failed. To avoid this, intent(in, out)
statement has to be removed from the original pypolsys/801/polsys_plp.f90
. It seems to work out of the box with gfortan-8
.
Usage
Note that this projet is a work in progress and the API may change.
Get started
Let us consider the following example
x**2 + y + z - 1 = 0
x + y**2 + z - 1 = 0
x + y + z**2 - 1 = 0
Cox, David, John Little, and Donal O'Shea. Ideals, varieties, and algorithms: an introduction to computational algebraic geometry and commutative algebra. Springer Science & Business Media, 2013, From page 122.
With 5 distinct solutions in C : (1,0,0) (0,1,0), (0,0,1), (-1+√2, -1+√2, -1+√2), (-1 -√2, -1-√2, -1-√2). The main steps of pypolsys
's workflow are:
import numpy as np
import pypolsys
# Declare the number of equation of the polynomial system
N = 3
# and the number of monoms of each equation (here 4 monoms for each equation).
n_coef_per_eq = np.array([4, 4, 4], dtype=np.int32)
# Provide the coefficients as 1D array
all_coef = np.array([1, 1, 1, -1,
1, 1, 1, -1,
1, 1, 1, -1], dtype=complex)
# then the degree of each monom
all_deg = np.zeros((np.sum(n_coef_per_eq), N), dtype=np.int32)
all_deg[0, 0] = 2
all_deg[1, 1] = 1
all_deg[2, 2] = 1
all_deg[4, 0] = 1
all_deg[5, 1] = 2
all_deg[6, 2] = 1
all_deg[8, 0] = 1
all_deg[9, 1] = 1
all_deg[10, 2] = 2
# Pass it to POLSYS_PLP
pypolsys.polsys.init_poly(N, n_coef_per_eq, all_coef, all_deg)
# Create homogeneous partition
# (N.B. Partitions are important to limit the number of paths
# to track associated to solutions at infinity)
part = pypolsys.utils.make_h_part(3)
# Pass it to POLSYS_PLP
pypolsys.polsys.init_partition(*part)
# Show coef
pypolsys.polsys.show_coef()
# Found 8 solutions, and track 8 paths; some solutions appear twice
bplp = pypolsys.polsys.solve(1e-8, 1e-14, 0.0)
# Get the roots, array of size (N+1) x bplp
r = pypolsys.polsys.myroots
# Get status of the solving process
pypolsys.polsys.report()
Note that due to projective transformation, the r[N, :]
is the homogeneous variable. All results are returned ready to used (unscaled and untransformed).
Another way, sometimes more convenient, is to setup the polynomial with function pypolsys.utils.fromSympy
,
import numpy as np
import pypolsys
import sympy as sym
x, y, z = sym.symbols('x, y, z')
pol = pypolsys.utils.fromSympy([sym.poly(x**2 + y + z - 1, (x, y, z)),
sym.poly(x + y**2 + z - 1, (x, y, z)),
sym.poly(x + y + z**2 - 1, (x, y, z))])
# Pass it to POLSYS_PLP
pypolsys.polsys.init_poly(*pol)
# Create homogeneous partition
part = pypolsys.utils.make_h_part(3)
# Pass it to POLSYS_PLP
pypolsys.polsys.init_partition(*part)
# Solve
bplp = pypolsys.polsys.solve(1e-8, 1e-14, 0.0)
# Get the roots, array of size (N+1) x bplp
r = pypolsys.polsys.myroots
# Get status of the solving process
pypolsys.polsys.report()
More examples are available in the pypolsys/test.py
file. For dense polynomial system, dense
flag can be passed to the solve
method to speed up evaluation.
Organisation
This python package is divided into two parts
-
pypolsys.polsys
corresponds to the interface toPOLSYS_PLP
and maps the following fortran subroutines (more doc is emmbedded in the f90 files) :init_poly
, initialize the polynomials monomials,init_partition
, initialize the variables partition,solve
, solve the polynomial system,refine
, refine the given paths,bezout
, compute the Bezout PLP number corresponding to the variable partition, usefull to test partition without solving,report
, show a report on the homotopy solving processshow_partition
andshow_coef
, show the variables partitions and the monomials respectively.
some attributs are also available :
myroots
, containing the roots,path_status
andsolve_status
, containing the status of each tracked path and of the global solving process,num_jac_eval
, containing the number of evaluation of the Jacobian matrix.
-
pypolsys.utils
contains utilities to facilitate the creation of the partition, polynomial or the estimation of the number of path (full python).
View documentation
The doctrings are compatible with several Auto-generate API documentation, like pdoc3
. Once the package has been installed or the at pypolsys
location run,
pdoc3 --html --force --config latex_math=True pypolsys
The html files are generated in place. Then open the pypolsys/index.html
file. This interactive doc is particularly useful to see latex includes.
Limitation
Due to shared variables in modules, only one polynomial instance can be handled. Concurrent calls to the .so
file may create unexpected behavior.
To solve several polynomials, you can use concurrent.futures
.
How to contribute
This project started because we need some easy to deploy Homotopy solver. We are users but not experts on these methods.
If you want to contribute to pypolsys
, your are welcomed! Don't hesitate to
- report bugs, installation problems or ask questions on issues;
- propose some enhancements in the code or in documentation through pull requests (PR);
- add or enhance support to other plateforms
To ensure code homogeneity among contributors, we use a source-code analyzer (eg. pylint). Before submitting a PR, run the tests suite ;-)
Developpement
If you need to modify wrapper.f90
fortran source file. You will need to re-build the Fortran extension. This should be done into 2 steps
-
The pyf file that avoid trouble with user_defined fortran type should be updated with
f2py
utilities :f2py -m polsys -h polsys.pyf wrapper.f90 --overwrite-signature
-
Re run the install
License
This file is part of pypolsys, a simple python wrapper to fortran package polsys_plp. pypolsys is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. pypolsys is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with pypolsys. If not, see https://www.gnu.org/licenses/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file pypolsys-0.1.6.tar.gz
.
File metadata
- Download URL: pypolsys-0.1.6.tar.gz
- Upload date:
- Size: 155.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
0ba29c08e66991f05d91a0829926f5a5c2422244928aff2bff670a6b6e2f222e
|
|
MD5 |
d9822e3f5dc4f9e4c478b88be5b017fe
|
|
BLAKE2b-256 |
c77e94a7780a8c77c13c5b1809228a746310129f08b7a75e32229891da0e6976
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6.tar.gz
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6.tar.gz
-
Subject digest:
0ba29c08e66991f05d91a0829926f5a5c2422244928aff2bff670a6b6e2f222e
- Sigstore transparency entry: 208444431
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp313-cp313-win_amd64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 499.4 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
c275e96adeaaac100f82cec175805c16fedf577a3b42f263bbf87196ef9755ca
|
|
MD5 |
e374a0b10b8b086b5aa3ff6bfbf272fc
|
|
BLAKE2b-256 |
52f79123fff33f7b7d8bb646b2f4a79c32068f444567afeab4cf0914e0228c78
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp313-cp313-win_amd64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp313-cp313-win_amd64.whl
-
Subject digest:
c275e96adeaaac100f82cec175805c16fedf577a3b42f263bbf87196ef9755ca
- Sigstore transparency entry: 208444437
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
1a4cfb4c28c31aff72c49987b4871a886d1defdbb6f8945fa0317888bec946d9
|
|
MD5 |
35f062d6c4309419d646e24ab58e85ec
|
|
BLAKE2b-256 |
da224d25c929417cf01e0440de2d29ed74f8694aea77d4e9d1fcd05df17124c0
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl
-
Subject digest:
1a4cfb4c28c31aff72c49987b4871a886d1defdbb6f8945fa0317888bec946d9
- Sigstore transparency entry: 208444432
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp313-cp313-macosx_14_0_arm64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp313-cp313-macosx_14_0_arm64.whl
- Upload date:
- Size: 878.3 kB
- Tags: CPython 3.13, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
21c754734fe99f7dde7fed6b3aae9583377166ce4a338fb42cfd9b975408f7b5
|
|
MD5 |
e4176e8feec3069fe319d0c4b9184b7c
|
|
BLAKE2b-256 |
68773b0dac1a4e4fc58ba3587a3d4b9d3143a8dc03cd05b3cb9f49ced5b9543f
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp313-cp313-macosx_14_0_arm64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp313-cp313-macosx_14_0_arm64.whl
-
Subject digest:
21c754734fe99f7dde7fed6b3aae9583377166ce4a338fb42cfd9b975408f7b5
- Sigstore transparency entry: 208444464
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp313-cp313-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp313-cp313-macosx_13_0_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
fcf15fc66b2db83342c4acaef99ade3213d18b5f417f6eb3b70ea6530f6f2d40
|
|
MD5 |
7509f199af7dada304ff1db908a50715
|
|
BLAKE2b-256 |
259a00802b6196459989fabd45a33b8f8e6ea2a06e36d13da0406256ccbec1d3
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp313-cp313-macosx_13_0_x86_64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp313-cp313-macosx_13_0_x86_64.whl
-
Subject digest:
fcf15fc66b2db83342c4acaef99ade3213d18b5f417f6eb3b70ea6530f6f2d40
- Sigstore transparency entry: 208444450
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp312-cp312-win_amd64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 499.4 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
578d935a6077ae468bcc6929de258d80e2c8283d1b1349daabb9a8a7a1141f9d
|
|
MD5 |
ec502530573b3c11f891ec90289993c5
|
|
BLAKE2b-256 |
8b9e4a2ef24ae607c94b29288b65f3ce453ee97fb602a0416b0aad7ea4e27ecc
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp312-cp312-win_amd64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp312-cp312-win_amd64.whl
-
Subject digest:
578d935a6077ae468bcc6929de258d80e2c8283d1b1349daabb9a8a7a1141f9d
- Sigstore transparency entry: 208444456
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
775065feb95c5981cd5a7f2d9eaa881d088f032a5d7e17ecd023c6c61fa77628
|
|
MD5 |
ded47e0dde1ddbe2d6ec5e1ada014b6a
|
|
BLAKE2b-256 |
f19b690c7fe70822a5e4efa0ac5f27e7b6b58207aec7b74fd7f7449773ab7a66
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl
-
Subject digest:
775065feb95c5981cd5a7f2d9eaa881d088f032a5d7e17ecd023c6c61fa77628
- Sigstore transparency entry: 208444444
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp312-cp312-macosx_14_0_arm64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp312-cp312-macosx_14_0_arm64.whl
- Upload date:
- Size: 878.3 kB
- Tags: CPython 3.12, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
e75d35fac99cbacb141d21141ba9391d601d7bd75b7eec1e0ac54f72c4132111
|
|
MD5 |
5e0ae55481adb11738e11ee36bb3352e
|
|
BLAKE2b-256 |
5bc0767eb807badb667ca848468a24ccb4a5eba4f9c17ca0d93ab1922f6ba965
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp312-cp312-macosx_14_0_arm64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp312-cp312-macosx_14_0_arm64.whl
-
Subject digest:
e75d35fac99cbacb141d21141ba9391d601d7bd75b7eec1e0ac54f72c4132111
- Sigstore transparency entry: 208444448
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp312-cp312-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp312-cp312-macosx_13_0_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.12, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
bf6a987ec55e0d8be22005f652ded9b51a809db8ddd90b940b6ad6a719993d3d
|
|
MD5 |
50af6df6aba41e7c24a7c9714ae5749f
|
|
BLAKE2b-256 |
4c273a8eeb6e14061257d8496d2ce01b010675436e447c8370d669b6f3ce1731
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp312-cp312-macosx_13_0_x86_64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp312-cp312-macosx_13_0_x86_64.whl
-
Subject digest:
bf6a987ec55e0d8be22005f652ded9b51a809db8ddd90b940b6ad6a719993d3d
- Sigstore transparency entry: 208444453
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 499.3 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
e51560eaf35c00b45a1d5071f839319f6759c0f626bad985c44cb300feac74fb
|
|
MD5 |
594f3496eebdef9611f33c7ba3da5d2b
|
|
BLAKE2b-256 |
16ef399858335c1e145229f1b626f7c24d77d41b43d55ef35c9238e3470093c6
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp311-cp311-win_amd64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp311-cp311-win_amd64.whl
-
Subject digest:
e51560eaf35c00b45a1d5071f839319f6759c0f626bad985c44cb300feac74fb
- Sigstore transparency entry: 208444434
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp311-cp311-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
7d6f4e1fc2f2623640377c5aa8df88a404b52cecd39174dbf11d7125e10fb387
|
|
MD5 |
591c94d6ea660c8311995bcf323230ef
|
|
BLAKE2b-256 |
84201bd597776b3cab172bc2f93f6c9273e271f74f9b1d2661dc7ea36e2b585b
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp311-cp311-manylinux_2_28_x86_64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp311-cp311-manylinux_2_28_x86_64.whl
-
Subject digest:
7d6f4e1fc2f2623640377c5aa8df88a404b52cecd39174dbf11d7125e10fb387
- Sigstore transparency entry: 208444440
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp311-cp311-macosx_14_0_arm64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 878.3 kB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
c18b225c25144357db694fd2c8ef2266aa4b28468698675793f81ecdaec2a1cf
|
|
MD5 |
b4cb1130478a7e21e9566118a1f3243e
|
|
BLAKE2b-256 |
b83a1bca3ce27bceeeff48bfa36a8ba3a30f8c9c9ebf459bbae4f7a7f4a123c7
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp311-cp311-macosx_14_0_arm64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp311-cp311-macosx_14_0_arm64.whl
-
Subject digest:
c18b225c25144357db694fd2c8ef2266aa4b28468698675793f81ecdaec2a1cf
- Sigstore transparency entry: 208444454
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp311-cp311-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp311-cp311-macosx_13_0_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
4bda2cf31f8dcc17eb051cf75096cb2095655f632e88469ebcd935e6a769dde3
|
|
MD5 |
fb30db02d13115ee6f887a5708370157
|
|
BLAKE2b-256 |
909921733d7119b2bf955008b1146841b618528a7300ae3ded970445dfd59c11
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp311-cp311-macosx_13_0_x86_64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp311-cp311-macosx_13_0_x86_64.whl
-
Subject digest:
4bda2cf31f8dcc17eb051cf75096cb2095655f632e88469ebcd935e6a769dde3
- Sigstore transparency entry: 208444459
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 499.3 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
644778b84995780671d26057609f8ce4014e0dae39b0f16d2d60f57649229c3e
|
|
MD5 |
0cbb741bc91c6a38f39b696ea51d2a52
|
|
BLAKE2b-256 |
abe3078dc3756058f0f5ceaf6a95d4e037c1ab6c25040573d15a1c169fa58f5e
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp310-cp310-win_amd64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp310-cp310-win_amd64.whl
-
Subject digest:
644778b84995780671d26057609f8ce4014e0dae39b0f16d2d60f57649229c3e
- Sigstore transparency entry: 208444433
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp310-cp310-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
82d97260d78bb8268099d72f7658767f1ce42c3b32cbcee0770d8feab16f26c2
|
|
MD5 |
fb1a7394631070878071bc02023000ff
|
|
BLAKE2b-256 |
fd149dad10d3d8e9a47ed8da99f75d3322768d2c211fa916c6437763733edbc8
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp310-cp310-manylinux_2_28_x86_64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp310-cp310-manylinux_2_28_x86_64.whl
-
Subject digest:
82d97260d78bb8268099d72f7658767f1ce42c3b32cbcee0770d8feab16f26c2
- Sigstore transparency entry: 208444461
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp310-cp310-macosx_14_0_arm64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp310-cp310-macosx_14_0_arm64.whl
- Upload date:
- Size: 878.3 kB
- Tags: CPython 3.10, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
e822149bba64dde23b8c271ae1d9ef00d6e5d9568f189aa167db3fd08552e550
|
|
MD5 |
b9c11e1e30872902aef2732c122a47c8
|
|
BLAKE2b-256 |
c0288327064a40ef2a72854f89ba453045b4faa6cd01258dff936aaa1546840a
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp310-cp310-macosx_14_0_arm64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp310-cp310-macosx_14_0_arm64.whl
-
Subject digest:
e822149bba64dde23b8c271ae1d9ef00d6e5d9568f189aa167db3fd08552e550
- Sigstore transparency entry: 208444441
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type:
File details
Details for the file pypolsys-0.1.6-cp310-cp310-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: pypolsys-0.1.6-cp310-cp310-macosx_13_0_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
379d9cd603d39da961ec97e4a07ea4129029cb0c96f6355ef13f3e867eee5e48
|
|
MD5 |
0a7e523b02a728965bf99fe114c8dbe3
|
|
BLAKE2b-256 |
88d051dc324b82ff388da6df835fb5e73783092c9b85b4d28dfef5302c047a1e
|
Provenance
The following attestation bundles were made for pypolsys-0.1.6-cp310-cp310-macosx_13_0_x86_64.whl
:
Publisher:
CI-build-release.yml
on nennigb/pypolsys
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
pypolsys-0.1.6-cp310-cp310-macosx_13_0_x86_64.whl
-
Subject digest:
379d9cd603d39da961ec97e4a07ea4129029cb0c96f6355ef13f3e867eee5e48
- Sigstore transparency entry: 208444447
- Sigstore integration time:
-
Permalink:
nennigb/pypolsys@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Branch / Tag:
refs/tags/v0.1.6
- Owner: https://github.com/nennigb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
CI-build-release.yml@d85ddd09dfe0f0efbf0ff9d1a93f438c556e044b
-
Trigger Event:
push
-
Statement type: