Skip to main content

Python interface to multiple optimization solvers

Project description

PyOptInterface (Python Optimization Interface)

PyOptInterface is an open-source Python library to provide a unified API to construct and solve optimization models with various optimizers.

The detailed documentation can be found here.

Key features compared with other modeling interfaces

It is designed as a very thin wrapper of native C API of optimizers and attempts to provide common abstractions of an algebraic modelling environment including model, variable, constraint and expression with the least overhead of performance.

The key features of PyOptInterface include:

  • Very fast speed to construct optimization model (10x faster than Pyomo, comparable with JuMP.jl and some official Python bindings provided by vendors of optimizer)
  • Highly efficient structured automatic differentiation for nonlinear optimization with JIT compilation (faster than other NLP frameworks)
  • Low overhead to modify and re-solve the problem incrementally (including adding/removing variables/constraints, changing objective function, etc.)
  • Unified API to cover common usages, write once and the code works for all optimizers
  • You still have escape hatch to query or modify solver-specific parameter/attribute/information for different optimizers directly like the vendor-specific Python binding of optimizer

Benchmark

The benchmark comparing PyOptInterface with some other modeling interfaces can be found here. PyOptInterface is among the fastest modeling interfaces in terms of model construction time and automatic differentiation of nonlinear optimization problems.

Installation

PyOptInterface is available on PyPI. You can install it via pip:

pip install pyoptinterface

After installation, you can import the package in Python console:

import pyoptinterface as poi

PyOptInterface has no dependencies other than Python itself. However, to use it with a specific optimizer, you need to install the corresponding optimizer manually. The details can be found on the configurations of optimizers.

In order to provide out-of-the-box support for open source optimizers (currently we support HiGHS), PyOptInterface can also be installed with pre-built optimizers. You can install them via pip:

pip install pyoptinterface[highs]

It will install a full-featured binary version of HiGHS optimizer via highsbox, which can be used with PyOptInterface.

What kind of problems can PyOptInterface solve?

It currently supports the following problem types:

  • Linear Programming (LP)
  • Mixed-Integer Linear Programming (MILP)
  • Quadratic Programming (QP)
  • Mixed-Integer Quadratic Programming (MIQP)
  • Quadratically Constrained Quadratic Programming (QCQP)
  • Mixed-Integer Quadratically Constrained Quadratic Programming (MIQCQP)
  • Second-Order Cone Programming (SOCP)
  • Mixed-Integer Second-Order Cone Programming (MISOCP)
  • Exponential Cone Programming (ECP)
  • Mixed-Integer Exponential Cone Programming (MIECP)
  • Nonlinear Programming (NLP)

What optimizers does PyOptInterface support?

It currently supports the following optimizers:

Short Example

import pyoptinterface as poi
from pyoptinterface import highs

model = highs.Model()

x = model.add_variable(lb=0, ub=1, domain=poi.VariableDomain.Continuous, name="x")
y = model.add_variable(lb=0, ub=1, domain=poi.VariableDomain.Integer, name="y")

con = model.add_linear_constraint(x + y >= 1.2, name="con")

obj = 2*x
model.set_objective(obj, poi.ObjectiveSense.Minimize)

model.set_model_attribute(poi.ModelAttribute.Silent, False)
model.optimize()

print(model.get_model_attribute(poi.ModelAttribute.TerminationStatus))
# TerminationStatusCode.OPTIMAL

x_val = model.get_value(x)
# 0.2

y_val = model.get_value(y)
# 1.0

Citation

If you use PyOptInterface in your research, please consider citing the following paper:

@misc{yang2024pyoptinterface,
      title={PyOptInterface: Design and implementation of an efficient modeling language for mathematical optimization}, 
      author={Yue Yang and Chenhui Lin and Luo Xu and Wenchuan Wu},
      year={2024},
      eprint={2405.10130},
      archivePrefix={arXiv},
      primaryClass={cs.MS}
}

If you use the nonlinear optimization feature of PyOptInterface, please consider citing the following paper as well:

@article{yang2024accelerating,
      title={Accelerating Optimal Power Flow with Structure-aware Automatic Differentiation and Code Generation},
      author={Yang, Yue and Lin, Chenhui and Xu, Luo and Yang, Xiaodong and Wu, Wenchuan and Wang, Bin},
      journal={IEEE Transactions on Power Systems},
      year={2024},
      publisher={IEEE}
}

License

PyOptInterface is licensed under MPL-2.0 License.

It uses nanobind, fmtlib and martinus/unordered_dense as dependencies.

The design of PyOptInterface is inspired by JuMP.jl.

Some solver-related code in src folder is adapted from the corresponding solver interface package in JuMP.jl ecosystem, which is licensed under MIT License.

The header files in thirdparty/solvers directory are from the corresponding distribution of optimizers and are licensed under their own 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyoptinterface-0.5.1-cp312-abi3-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12+Windows x86-64

pyoptinterface-0.5.1-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ x86-64

pyoptinterface-0.5.1-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ ARM64

pyoptinterface-0.5.1-cp312-abi3-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

pyoptinterface-0.5.1-cp312-abi3-macosx_10_14_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12+macOS 10.14+ x86-64

pyoptinterface-0.5.1-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

pyoptinterface-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyoptinterface-0.5.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pyoptinterface-0.5.1-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyoptinterface-0.5.1-cp311-cp311-macosx_10_14_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

pyoptinterface-0.5.1-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

pyoptinterface-0.5.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyoptinterface-0.5.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pyoptinterface-0.5.1-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyoptinterface-0.5.1-cp310-cp310-macosx_10_14_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

pyoptinterface-0.5.1-cp39-cp39-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.9Windows x86-64

pyoptinterface-0.5.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyoptinterface-0.5.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

pyoptinterface-0.5.1-cp39-cp39-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pyoptinterface-0.5.1-cp39-cp39-macosx_10_14_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9macOS 10.14+ x86-64

File details

Details for the file pyoptinterface-0.5.1-cp312-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b50f18fbfd16d6f40d80e766cfd16870ec919c8c9a8fdc72d8ef839ec7c898a8
MD5 a15cf6db2f2090f203b7cd18778eebbb
BLAKE2b-256 ae596e8df18dd2d354bd7e0d3a768894e91a11e7d397718eb508f381f3ec7bb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp312-abi3-win_amd64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6db808d1a8540e493e7c2d5aad275476dbcb5dced670277bc66d646b0299a28a
MD5 6da6ade2611ee9a1d097a742b887788a
BLAKE2b-256 db12e5f5ad88c4791064b30d8c73d55a8e8d7ddcb137adb42970dba3ca8d5f18

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 b9db63a3289abe0f6622bd25fa84ba83e26cc893c2dfd5bb6cc1a80a844d16a0
MD5 969e692709bca8116e0142c8f46dab93
BLAKE2b-256 b18a4178a7714d24c316621c99a8af4153070de042b5d098dee138d475a675a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 710b5b2850039f36d9f3587e78b5c248ef284dc189455f2b2d0aa550494a8b7f
MD5 ffa123221e71e84473a6db2644a75881
BLAKE2b-256 0935d030c269c1540a6d9de43ddcea6a386b7799e143e675cb37009f73267055

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp312-abi3-macosx_11_0_arm64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp312-abi3-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp312-abi3-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 96b00fecc9d4e6fd25396ee68abec24ea83b5da36e020651b17c7f6b2725abba
MD5 41b52e25bfbff0eb94d65fe08ddd57c8
BLAKE2b-256 ac44e745534b1bd8aa9e7dd9be0c16bd3a9095d7ccf420bccc95b471ae950d39

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp312-abi3-macosx_10_14_x86_64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bddc103d2010aa7861cfcf4c2f8dcab029517b1c1be03710642df3eee97fede8
MD5 2463290c12475a2535219271eb6adcb1
BLAKE2b-256 fdd59dd13c4db3504a230ef3e676b6b557d49104d2e40d050e9700841d053d6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp311-cp311-win_amd64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2136244ade9a4a28f08ea50c159f328717b77cd80a5428bd9d288b4d7debfab0
MD5 4d243a266eafd5f70edce0d05890d32e
BLAKE2b-256 8e888632d70799cc20902673ade773112f58bbeb29119e2be3c9b62747f927b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 fcabb5215dfaadb30dc1dcdf60019dcb1d2ca3dae4a026594133958e90a0bdcf
MD5 75e53296dc9500692734bfca8028857a
BLAKE2b-256 372a3e28d83a2065b3fcaa8b4153ad671eb2128526c5a8706cfea232a86066f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70217a82082e38497e6b9b4f0aa5e2d3e08a9615d8dba3f2c82ddbf32830ba55
MD5 25f4349d9756ff934e0a99604a51ff7c
BLAKE2b-256 d7769c3af108c8d1e2fac7439b05e1d96fff6512c531952e82784c9a3e189fd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d38bdb4fe9ea1db4f2199dab82f8ba23bc4ee05ec9cc5d5e4e47b51be5a719ba
MD5 6b7d9b6750e69a7d4121385b2f60e0ad
BLAKE2b-256 4e698f56e4f6fdc3eac2c654af4ab8f0a75cebf5d629d91766fc1df4a70bd4c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp311-cp311-macosx_10_14_x86_64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f3e1175f503a9024ed5d28c51492df45f78b9137bc43c199decdca60c0feb01b
MD5 541e4494f30c648780d9389c9b1edab1
BLAKE2b-256 a2391d04661a3550ebf0532629c8737f43db647a087ea0bc4c1854e25313aa2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp310-cp310-win_amd64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 dc7ac7c23cd0f518c88aeae5c2c7242bc2e35ad0b68fa6988fd89359593d9952
MD5 058883857d678a81e1ea500cc1b9ab18
BLAKE2b-256 88927d35f293428454e59c2761dad136ff38216188f2a5debf46dace41ca7fa5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 9a6b6f8092ee2a5b3fa43d58f74912ef26e1704aea642501d6c9d9b03f235f29
MD5 c9fda60bd1c19c1a9292e7cdcd90eefb
BLAKE2b-256 c7cde210c75aaccacfdd43459757da2fbc9034e9bff59d008faa304ec12318f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3981873b6ee251d51973ee326aeb0ebf237a425313b89d7f0ce595ddd05ba541
MD5 ac7e075874f91bb6233d923c5e4f5628
BLAKE2b-256 c5b435ac4010019734c439264cf7dbd48dba9e4bdcf4a57d57b5d7acff6aeccd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 1cdf8e71abf439edb17a7c597ea9549a339cba1e4aefbf91d512034dbc837e01
MD5 e0ca24c6b6615d3d458ab5e5605582c1
BLAKE2b-256 3451c73bb49207250f7d6c0440abb3079c994f96187741d581f08f812318634a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp310-cp310-macosx_10_14_x86_64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ee63002ac85070f9eec20b872cb4d421a6de1aea2db0338934d0518db5e7d261
MD5 a748967c791a121cf6fdfafdf41377ba
BLAKE2b-256 2af31ebcaad974eb423253e0cbd12c56be1b2c7d181a528d7273f1eee8a46a5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp39-cp39-win_amd64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 11d63eb60aac5131ebcb86c196aa08e2d0c8cf03eef62ada1cc817821797f596
MD5 49ca4b7aeedda2b50d8cc9bec37f89e3
BLAKE2b-256 9b496bd0b76e80e3dbd67cc3612a084a6ba1a35ec387500f260ba570a18b37cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 bd3885103024c280c56815680860e262ce4eccd58c5fa9391ff48ffaa11870fb
MD5 6f9b296264e686dfe6950cb6f6d3bd8f
BLAKE2b-256 c93a900d23881a56462222ac9eb51e5d246f566ae4e58d2e1ec47cde298fc7a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6000f3de50e402b011813a34570e2f6444e5e8beaa1f8ff678ae3700403658e0
MD5 a11ac7a9ec6918a65b7be9abc76a2517
BLAKE2b-256 33cc0da0fb1c68a131e72ef22dc96a881692711c7d1b945ebb7e2a94198fbb1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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

File details

Details for the file pyoptinterface-0.5.1-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyoptinterface-0.5.1-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 4fa67bad5e5e23242f1d8e795073314625511495a36db9bd19d812a09b0ed180
MD5 67fa622a7df8a1d777c8f42e802e4020
BLAKE2b-256 efc6ed470dc20e4de31150432415cda358f144dc3032947f319ddb90e9af6408

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoptinterface-0.5.1-cp39-cp39-macosx_10_14_x86_64.whl:

Publisher: wheel.yml on metab0t/PyOptInterface

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 Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page