Skip to main content

A transparent Python interface to the SLSQP optimization algorithm, with advanced features and visualization capabilities.

Project description

PySLSQP

GitHub Actions Test Badge Coverage Status Documentation Status Pypi version License

The SLSQP algorithm is designed to solve nonlinear programming (NLP) problems. PySLSQP is a Python package that wraps the original SLSQP algorithm implemented in Fortran by Dieter Kraft. While the Fortran code is sourced from scipy.optimize.minimize, PySLSQP extends its functionality by offering new features for further analysis of optimization problems, thereby significantly improving the utility of the original algorithm. The prebuilt packages for various system architectures are available on PyPI for download, thus avoiding the need for the user to compile the Fortran sources.

Some of the additional features provided by PySLSQP include:

  • Data Saving: PySLSQP allows you to save optimization data during the optimization process. This can be useful for analyzing the progress of the optimization, for post-processing purposes, or for warm/hot restart of the optimization.

  • Warm/Hot Starting: PySLSQP supports warm/hot starting, enabling users to initialize the optimization algorithm with a previously saved solution. This can be particularly useful when you want to restart an optimization from a previous solution or continue an optimization that was terminated for various reasons.

  • Live Visualization: PySLSQP provides the capability to visualize the optimization progress in real-time, enabling users to monitor the convergence via the optimality and feasibility measures. This also helps the users understand how the objective function, constraints, and design variables are changing during the optimization.

  • Scaling: PySLSQP allows you to independently scale the objective function, constraints, and design variables, separate from their original definitions. Scaling can help improve the convergence behavior of the optimization algorithm and make it more robust.

  • More Internal Optimization Variables: PySLSQP provides access to additional internal optimization variables such as optimality, feasibility, Lagrange multipliers, etc. which can be useful for advanced analysis of the optimization problem. In scipy.optimize.minimize, the original callback function returns only the optimization variables, and only for the major iterations.

These additional features make PySLSQP a powerful tool for solving constrained optimization problems in Python. In addition, PySLSQP also supports the estimation of gradients using first-order finite differencing, as in the Scipy version.

Installation

To install the latest release of PySLSQP on PyPI, run on the terminal or command line

pip install pyslsqp

Warning

Precompiled wheels for common Ubuntu, macOS, and Windows architectures are available on PyPI. However, if a wheel for your system's architecture is not available, the above installation will compile the source distribution directly on your machine. In such scenarios, if your Fortran compilers aren't compatible, you may encounter compilation errors. Additional troubleshooting may be required to resolve these errors depending on their specifics.

To install the latest commit from the main branch, run

pip install git+https://github.com/anugrahjo/PySLSQP.git@main

Note that this installation method will compile the Fortran sources locally on your machine. Therefore, we only recommend this method if you are a developer looking to modify the package for your own use case.

To upgrade PySLSQP from an older version to the latest released version on PyPI, run

pip install --upgrade pyslsqp

To uninstall PySLSQP, run

pip uninstall pyslsqp

Testing

To test if the package works correctly and as intended, install pytest using

pip install pytest

and run the following line on the terminal from the project's root directory:

pytest -m "not visualize"

Usage

Most features of the PySLSQP package can be accessed through the optimize function. However, there are some additional utility functions that are available for post-processing. Here is a small optimization example that minimizes x^2 + y^2.

import numpy as np
from pyslsqp import optimize

# `v` represents the vector of optimization variables
def objective(v):
    # the objective function
    return v[0]**2 + v[1]**2

x0 = np.array([1., 1.])
# optimize() returns a dictionary that contains the results from optimization
results = optimize(x0, obj=objective)
print(results)

Note that we did not provide the gradient for the objective function above. In the absence of user-provided gradients, optimize estimates the gradients using first-order finite differencing. However, it is always more efficient for the user to provide the exact gradients. Note also that we did not have any constraints or variable bounds in this problem. Examples with user-defined gradients, constraints, and bounds can be found in the Basic User Guide.

Documentation

For API reference and more details on installation and usage, visit the documentation.

Citation

If you use PySLSQP in your work, please use the following reference for citation:

@article{joshy2024pyslsqp,
  title={PySLSQP: A transparent Python package for the SLSQP optimization algorithm modernized with utilities for visualization and post-processing},
  author={Joshy, Anugrah Jo and Hwang, John T},
  journal={arXiv preprint},
  year={2024},
  doi= {10.48550/arXiv.2408.13420},
}

Bugs, feature requests, questions

Please use the GitHub issue tracker for reporting bugs, requesting new features, or any other questions.

Contributing

We always welcome contributions to PySLSQP. Please refer the CONTRIBUTING.md file for guidelines on how to contribute.

License

This project is licensed under the terms of the BSD 3-Clause "New" or "Revised" License.

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

pyslsqp-0.1.1.tar.gz (1.5 MB view details)

Uploaded Source

Built Distributions

pyslsqp-0.1.1-cp312-cp312-win_amd64.whl (241.6 kB view details)

Uploaded CPython 3.12 Windows x86-64

pyslsqp-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyslsqp-0.1.1-cp312-cp312-macosx_14_0_arm64.whl (937.8 kB view details)

Uploaded CPython 3.12 macOS 14.0+ ARM64

pyslsqp-0.1.1-cp312-cp312-macosx_13_0_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12 macOS 13.0+ x86-64

pyslsqp-0.1.1-cp312-cp312-macosx_12_0_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12 macOS 12.0+ x86-64

pyslsqp-0.1.1-cp311-cp311-win_amd64.whl (190.8 kB view details)

Uploaded CPython 3.11 Windows x86-64

pyslsqp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyslsqp-0.1.1-cp311-cp311-macosx_14_0_arm64.whl (900.2 kB view details)

Uploaded CPython 3.11 macOS 14.0+ ARM64

pyslsqp-0.1.1-cp311-cp311-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11 macOS 13.0+ x86-64

pyslsqp-0.1.1-cp311-cp311-macosx_12_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11 macOS 12.0+ x86-64

pyslsqp-0.1.1-cp310-cp310-win_amd64.whl (152.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

pyslsqp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyslsqp-0.1.1-cp310-cp310-macosx_14_0_arm64.whl (863.3 kB view details)

Uploaded CPython 3.10 macOS 14.0+ ARM64

pyslsqp-0.1.1-cp310-cp310-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10 macOS 13.0+ x86-64

pyslsqp-0.1.1-cp310-cp310-macosx_12_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10 macOS 12.0+ x86-64

pyslsqp-0.1.1-cp39-cp39-win_amd64.whl (90.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

pyslsqp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyslsqp-0.1.1-cp39-cp39-macosx_14_0_arm64.whl (827.0 kB view details)

Uploaded CPython 3.9 macOS 14.0+ ARM64

pyslsqp-0.1.1-cp39-cp39-macosx_13_0_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9 macOS 13.0+ x86-64

pyslsqp-0.1.1-cp39-cp39-macosx_12_0_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9 macOS 12.0+ x86-64

pyslsqp-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyslsqp-0.1.1-cp38-cp38-macosx_14_0_arm64.whl (790.8 kB view details)

Uploaded CPython 3.8 macOS 14.0+ ARM64

pyslsqp-0.1.1-cp38-cp38-macosx_13_0_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 macOS 13.0+ x86-64

pyslsqp-0.1.1-cp38-cp38-macosx_12_0_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 macOS 12.0+ x86-64

File details

Details for the file pyslsqp-0.1.1.tar.gz.

File metadata

  • Download URL: pyslsqp-0.1.1.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyslsqp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 04935f88068313d4810d47f7a6eda4b3512d87b7a9f506a12c923d48c4ac8d08
MD5 cea34940a563d9677007f65529735684
BLAKE2b-256 1a8022f3fe97b04c373dbdbadd9211731c9d91a5f63872ae5f20ecf6a320a0c0

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyslsqp-0.1.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 241.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyslsqp-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ab10afe661f3f9495b81300ec502dd870769af4044d78b6ca02f41d82054d43b
MD5 96bc230ff6fdb79b2adf185b93289442
BLAKE2b-256 d8c3db02aae780415968693a35feaff5992db3372b583f416428e209a3cae0d0

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d4fb5e2562ef101b3119ba7547e13321d6292c018ded7d1e525366278c1a8a54
MD5 3601d34c6ea12bf942967075c51b4780
BLAKE2b-256 75b4023f3d3fa67d597480cfa64b1c8e64f0e5fb49a00df7ca74c6ec2680ce33

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5c963a69d1a8c22ffe8ad539891a4960efafb6de1f9214048d086747c8512cee
MD5 829f459b4bd5a5c6882e8bf0a834adda
BLAKE2b-256 bb62c884fd02cddf1d8cc6a5463efac114856cc4e6bdeb250be54a00acb9d084

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 739e441db5e80820bf847ed459de9cd817b518d0538bf1563745ca05dbef63ee
MD5 2cc4a4c6e0726d75bf4a4be9436527c1
BLAKE2b-256 fbf0119663b5a4054778b1ec6160cdf7414263f32beb81fd2ae62125a749594d

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp312-cp312-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp312-cp312-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 9d461587586daf06568f3956a5f7d9b9fc64bfc0dff5a67b4826176bb6e672cb
MD5 fade4bb21fb899ca940569cb1ad1a6f3
BLAKE2b-256 7380263984c46d9728af1bad0b43525f85f5bb89c5fb708001be6da183543505

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyslsqp-0.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 190.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyslsqp-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5823737f4b3b2494aa50b8e4817a0cc57d33ad31d195484309ad453d01ef64d9
MD5 e4a9ddbcef7a630bfcfc161d8418ec7a
BLAKE2b-256 0a9d46cbea2c390742d1a91b91d150d643caab11cb5cf4cbd165de484e8c92da

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27652ad4ad88c4e720d4f160037690b6cbd633a95b3e8c74e70ae6b408947a84
MD5 f7c2cbee1a3606e936febcfba61feb4e
BLAKE2b-256 d11f98ada02b9270713a85e13a3b7933442ea743c496e74ab1e05c834aca9d89

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4d9e6261e8c2379b2af0cd2737ecf4a81bb1afc3cfdb7f3b2e2bd7f74aded80a
MD5 601ad30dedd3eac8cb7c604d822552e1
BLAKE2b-256 98822481c3a74eeb7b08a5423ef4763a58706df6e2ed921391d0ce124628c4ac

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a8321df260cf30e9c3a028c588fbcfef4fa97f97b1ee31d3cc7f0b8da91a9887
MD5 72ea9f20eeff0072550f4dbf7a890c20
BLAKE2b-256 669edc3ebcb8b5b0e48935e704b0b0ef48f39084a174b08540975e225bdca2c2

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp311-cp311-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 4d5b5a735e9e4027fc8199b8b68ea081fcaac09167a582063a54d09a1f7e11f5
MD5 41acc5303218a01e7db0e3b18feee60e
BLAKE2b-256 3860860b0b9996e4fa673e18d02d47bc2ae55b7eae1a1aa366f323d0d329288d

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyslsqp-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 152.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyslsqp-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5560aab46d9ac548353edd0c0d526c1e3c84a4ff885557f82d3d7d25ee50723c
MD5 e9acb4e03baaa31124fd3af134e325e4
BLAKE2b-256 7e1235cdb76063e9eceb0691b2387cda46eaf0fa9d6fda66102af2214626b0b7

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e45a2c686b19816612d2154d2abf4e681a24318180d2205d09350c3b7798598c
MD5 e85a229bfe34e74f74f79ae3573a8eb6
BLAKE2b-256 9526c890961e91ad9c41df36af03b1817a802c02dcdaf53abc7e1d47a74e6ac2

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 200aacce86b46b82c7dd0ad647fa28372902ad1856928f768b2d348318505d2c
MD5 621c9136ca10d83c90af8f0d758cf95d
BLAKE2b-256 afc1533061b8c8c0791c281bf95e1411c60c1b2ccdb4a3de5ea5bad9ebbf2d6b

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d82dc353bd8d9e5018f4d75e190a600741afc24cd9e8c316134c2cf6634b352f
MD5 807d2ec4d98e35bd33b6eb3c4cdbfa4a
BLAKE2b-256 bcb6dbdef52fa10ab042a87f0a432e78be20f8193a176cc56603077e018f6861

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp310-cp310-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 7b1e623070cb5e6a49711c15ca1078288e7faa8a2ce749f00c078564f30f90c7
MD5 a7600350870565b7a2f711f19453bf9e
BLAKE2b-256 2610def3e1ab62d93fc54160917d0924603a685f0df290a95ddcbfdf9dfc3218

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyslsqp-0.1.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 90.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyslsqp-0.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3373874d81b7fcc621488ba68fbbf42073c7194e1634745f69f3b39970c698ec
MD5 f819b398b0f2bf98237f779115ed686d
BLAKE2b-256 1a64029a4058cf42cd552585d2a1aea9f65e6e2ed49112c92511e206b87f6d75

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4cb1556b2cd92e7032ac0925b0955813be78a4e577c1ab8aa5947daed9d9b8c3
MD5 9c982e4f5cc9e2382b97b119a69124a2
BLAKE2b-256 902f3d7f2f83a4fbce7ed34f91ef5eac0a04d4eaa2212b87bcd95db37411f80e

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1096f94b4ec8e7c9c2a9b24b505c1ccf460f75d80421f2873e4f8ec39c8ea111
MD5 1383435479da174e1539d2b7dac4aa61
BLAKE2b-256 d777c7f37846a4938e1c4e733659c7ef74d145f4e281677117a851abd63d82e6

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4265cff988b2cd12ee08b1aa2ec357fb6b9798deb4ee7677e705cf768717c2e8
MD5 56e88f0ba583ad3790152c0830d8c0ea
BLAKE2b-256 94caa69988a35a162d4243fcdb965c598325a2d6d77ee429e15f64bd5c11f6f3

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp39-cp39-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 34dc81e54a0497e989c45c124dc400d28f82a96c0a427e51cb7a3d81119a533e
MD5 eecb8b0b8ee56b2c431ab4e8f2192cc7
BLAKE2b-256 827ef27daa01be5e3293fe872ef21b720e302539d567e93b3c6e7668b832ce0b

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64d7f68d07e5440cefc8576cdeb51d5470d104c41b90fe3a21402e1f6b128b9d
MD5 aa03a21075c40a3617f4179862b72d98
BLAKE2b-256 18ff327ec9d295c673cbe6fa2c05ff2ff7da495b52bb69b31d4bae5e3490de81

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp38-cp38-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp38-cp38-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ce07d5b2ddd6ce7475d22149fa316dc58ee4f64f70bbae5a7e0410e5badf8267
MD5 422c344968f8a5b12025422139a0b29e
BLAKE2b-256 a05485e1893e0cf0c56e2d4b8e00c1d06e2925eef35d0465acfcb303b5216f0e

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp38-cp38-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 44ec74e25c9c768eef4edb411e6d26a0919710d4eff844ee4ba2f34350165838
MD5 5d37eb807a17b0694219dbe1ffdab26d
BLAKE2b-256 c3deeea8f470b7ac63891df7836fd71f7683fdfb848b4a1c07f11953011e744d

See more details on using hashes here.

File details

Details for the file pyslsqp-0.1.1-cp38-cp38-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pyslsqp-0.1.1-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 33c0809959f901ccea8103762501f8b98cec3c20a544a63f2c42659da02fb163
MD5 0bb5cec96d165f7accb688a80bcd9295
BLAKE2b-256 ab5fffb2ec80f927dd729b04d2ce64ffe3b3e76289a7a56df8e5dbe2b62d9ecb

See more details on using hashes here.

Supported by

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