Skip to main content

A python wrapper to `POLSYS_PLP` fortran90 package from Layne T. Watson, Steven M. Wise, Andrew J. Sommese, August, 1998.

Project description

PYPOLSYS

pypi release CI-Ubuntu CI-Windows

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:

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 on HOMPACK

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, with m2w64-toolchain on windows with conda or with rtools distribution of mingw64);
  • 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 like openblas and the required development files can be installed with sudo 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 to POLSYS_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 process
    • show_partition and show_coef, show the variables partitions and the monomials respectively.

    some attributs are also available :

    • myroots, containing the roots,
    • path_status and solve_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

  1. 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
    
  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypolsys-0.1.6.tar.gz (155.5 kB view details)

Uploaded Source

Built Distributions

pypolsys-0.1.6-cp313-cp313-win_amd64.whl (499.4 kB view details)

Uploaded CPython 3.13Windows x86-64

pypolsys-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pypolsys-0.1.6-cp313-cp313-macosx_14_0_arm64.whl (878.3 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pypolsys-0.1.6-cp313-cp313-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

pypolsys-0.1.6-cp312-cp312-win_amd64.whl (499.4 kB view details)

Uploaded CPython 3.12Windows x86-64

pypolsys-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pypolsys-0.1.6-cp312-cp312-macosx_14_0_arm64.whl (878.3 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

pypolsys-0.1.6-cp312-cp312-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

pypolsys-0.1.6-cp311-cp311-win_amd64.whl (499.3 kB view details)

Uploaded CPython 3.11Windows x86-64

pypolsys-0.1.6-cp311-cp311-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pypolsys-0.1.6-cp311-cp311-macosx_14_0_arm64.whl (878.3 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

pypolsys-0.1.6-cp311-cp311-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

pypolsys-0.1.6-cp310-cp310-win_amd64.whl (499.3 kB view details)

Uploaded CPython 3.10Windows x86-64

pypolsys-0.1.6-cp310-cp310-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pypolsys-0.1.6-cp310-cp310-macosx_14_0_arm64.whl (878.3 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

pypolsys-0.1.6-cp310-cp310-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

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

Hashes for pypolsys-0.1.6.tar.gz
Algorithm Hash digest
SHA256 0ba29c08e66991f05d91a0829926f5a5c2422244928aff2bff670a6b6e2f222e
MD5 d9822e3f5dc4f9e4c478b88be5b017fe
BLAKE2b-256 c77e94a7780a8c77c13c5b1809228a746310129f08b7a75e32229891da0e6976

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypolsys-0.1.6.tar.gz:

Publisher: CI-build-release.yml on nennigb/pypolsys

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pypolsys-0.1.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c275e96adeaaac100f82cec175805c16fedf577a3b42f263bbf87196ef9755ca
MD5 e374a0b10b8b086b5aa3ff6bfbf272fc
BLAKE2b-256 52f79123fff33f7b7d8bb646b2f4a79c32068f444567afeab4cf0914e0228c78

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1a4cfb4c28c31aff72c49987b4871a886d1defdbb6f8945fa0317888bec946d9
MD5 35f062d6c4309419d646e24ab58e85ec
BLAKE2b-256 da224d25c929417cf01e0440de2d29ed74f8694aea77d4e9d1fcd05df17124c0

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 21c754734fe99f7dde7fed6b3aae9583377166ce4a338fb42cfd9b975408f7b5
MD5 e4176e8feec3069fe319d0c4b9184b7c
BLAKE2b-256 68773b0dac1a4e4fc58ba3587a3d4b9d3143a8dc03cd05b3cb9f49ced5b9543f

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 fcf15fc66b2db83342c4acaef99ade3213d18b5f417f6eb3b70ea6530f6f2d40
MD5 7509f199af7dada304ff1db908a50715
BLAKE2b-256 259a00802b6196459989fabd45a33b8f8e6ea2a06e36d13da0406256ccbec1d3

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pypolsys-0.1.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 578d935a6077ae468bcc6929de258d80e2c8283d1b1349daabb9a8a7a1141f9d
MD5 ec502530573b3c11f891ec90289993c5
BLAKE2b-256 8b9e4a2ef24ae607c94b29288b65f3ce453ee97fb602a0416b0aad7ea4e27ecc

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 775065feb95c5981cd5a7f2d9eaa881d088f032a5d7e17ecd023c6c61fa77628
MD5 ded47e0dde1ddbe2d6ec5e1ada014b6a
BLAKE2b-256 f19b690c7fe70822a5e4efa0ac5f27e7b6b58207aec7b74fd7f7449773ab7a66

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e75d35fac99cbacb141d21141ba9391d601d7bd75b7eec1e0ac54f72c4132111
MD5 5e0ae55481adb11738e11ee36bb3352e
BLAKE2b-256 5bc0767eb807badb667ca848468a24ccb4a5eba4f9c17ca0d93ab1922f6ba965

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 bf6a987ec55e0d8be22005f652ded9b51a809db8ddd90b940b6ad6a719993d3d
MD5 50af6df6aba41e7c24a7c9714ae5749f
BLAKE2b-256 4c273a8eeb6e14061257d8496d2ce01b010675436e447c8370d669b6f3ce1731

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pypolsys-0.1.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e51560eaf35c00b45a1d5071f839319f6759c0f626bad985c44cb300feac74fb
MD5 594f3496eebdef9611f33c7ba3da5d2b
BLAKE2b-256 16ef399858335c1e145229f1b626f7c24d77d41b43d55ef35c9238e3470093c6

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7d6f4e1fc2f2623640377c5aa8df88a404b52cecd39174dbf11d7125e10fb387
MD5 591c94d6ea660c8311995bcf323230ef
BLAKE2b-256 84201bd597776b3cab172bc2f93f6c9273e271f74f9b1d2661dc7ea36e2b585b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c18b225c25144357db694fd2c8ef2266aa4b28468698675793f81ecdaec2a1cf
MD5 b4cb1130478a7e21e9566118a1f3243e
BLAKE2b-256 b83a1bca3ce27bceeeff48bfa36a8ba3a30f8c9c9ebf459bbae4f7a7f4a123c7

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4bda2cf31f8dcc17eb051cf75096cb2095655f632e88469ebcd935e6a769dde3
MD5 fb30db02d13115ee6f887a5708370157
BLAKE2b-256 909921733d7119b2bf955008b1146841b618528a7300ae3ded970445dfd59c11

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pypolsys-0.1.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 644778b84995780671d26057609f8ce4014e0dae39b0f16d2d60f57649229c3e
MD5 0cbb741bc91c6a38f39b696ea51d2a52
BLAKE2b-256 abe3078dc3756058f0f5ceaf6a95d4e037c1ab6c25040573d15a1c169fa58f5e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 82d97260d78bb8268099d72f7658767f1ce42c3b32cbcee0770d8feab16f26c2
MD5 fb1a7394631070878071bc02023000ff
BLAKE2b-256 fd149dad10d3d8e9a47ed8da99f75d3322768d2c211fa916c6437763733edbc8

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e822149bba64dde23b8c271ae1d9ef00d6e5d9568f189aa167db3fd08552e550
MD5 b9c11e1e30872902aef2732c122a47c8
BLAKE2b-256 c0288327064a40ef2a72854f89ba453045b4faa6cd01258dff936aaa1546840a

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypolsys-0.1.6-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pypolsys-0.1.6-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 379d9cd603d39da961ec97e4a07ea4129029cb0c96f6355ef13f3e867eee5e48
MD5 0a7e523b02a728965bf99fe114c8dbe3
BLAKE2b-256 88d051dc324b82ff388da6df835fb5e73783092c9b85b4d28dfef5302c047a1e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page