pdfo


Namepdfo JSON
Version 2.1.0 PyPI version JSON
download
home_pagehttps://www.pdfo.net
SummaryPowell's Derivative-Free Optimization solvers
upload_time2024-02-05 06:46:38
maintainer
docs_urlNone
author
requires_python>=3.8
licenseBSD 3-Clause License Copyright (c) 2020--2023, Tom M. Ragonneau and Zaikun Zhang Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords blackbox-optimization constrained-optimization derivative-free-optimization hyperparameter-optimization nonlinear-optimization numerical-optimization optimization optimization-algorithms optimization-methods optimization-tools simulation-based-optimization unconstrained-optimization zeroth-order-optimization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="center">PDFO: Powell's Derivative-Free Optimization solvers</h1>

<p align="center"><b><a href="#introduction">Introduction</a> | <a href="#python-version-of-pdfo">Python</a> | <a href="#matlab-version-of-pdfo">MATLAB</a> | <a href="#citing-pdfo">Citing PDFO</a> | <a href="#acknowledgments">Acknowledgments</a></b></p>

Dedicated to the late Professor [M. J. D. Powell](https://www.zhangzk.net/powell.html) FRS (1936&ndash;2015).

[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/pdfo/pdfo/build.yml?logo=github&style=for-the-badge)](https://github.com/pdfo/pdfo/actions/workflows/build.yml)
[![GitHub](https://img.shields.io/github/license/pdfo/pdfo?logo=github&style=for-the-badge)](https://opensource.org/licenses/BSD-3-Clause/)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/pdfo/pdfo?logo=github&style=for-the-badge)](https://github.com/pdfo/pdfo/releases/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/pdfo?logo=pypi&style=for-the-badge)](https://pypi.org/project/pdfo/)
[![View PDFO: Powell's Derivative-Free Optimization solvers on File Exchange](https://img.shields.io/badge/MATLAB-File_Exchange-orange?style=for-the-badge)](https://www.mathworks.com/matlabcentral/fileexchange/75195-pdfo-powell-s-derivative-free-optimization-solvers/)

## Introduction

PDFO (Powell's Derivative-Free Optimization solvers) is a cross-platform package
providing interfaces for using the late Professor [M. J. D. Powell's](https://www.zhangzk.net/powell.html)
derivative-free optimization solvers, including UOBYQA, NEWUOA, BOBYQA, LINCOA,
and COBYLA. See the [PDFO homepage](https://www.pdfo.net) and the [PDFO paper](https://arxiv.org/pdf/2302.13246.pdf) for more information.

This package makes use of a modified version of [Powell's](https://www.zhangzk.net/powell.html)
Fortran code. See the folder [`original`](https://github.com/pdfo/pdfo/tree/main/fsrc/original)
under `fsrc` for [Powell's](https://www.zhangzk.net/powell.html) original code.

## Python version of PDFO

### Installation

#### Recommended installation

To use the Python version of PDFO on Linux, Mac, or Windows, you need
[Python](https://www.python.org/) (version 3.8 or above).

It is highly recommended to install PDFO via [PyPI](https://pypi.org).

Install [pip](https://pip.pypa.io/en/stable/installing/) in your system if
you Python version does not include it. Then execute

```bash
pip install pdfo
```

in a command shell (e.g., the terminal for Linux and macOS, or the Command
Shell for Windows). If your pip launcher is not `pip`, adapt the
command accordingly (it may be `pip3` for example). If this
command runs successfully, PDFO is installed. You may verify the
installation by

```bash
python -m unittest pdfo.testpdfo
```

Once again, if your Python launcher is not `python`, adapt the command accordingly (it may be `python3` for example).
If you are an Anaconda user, PDFO is also available through the conda installer
( https://anaconda.org/conda-forge/pdfo ). However, it is not managed by us.

#### Alternative installation (using source distribution)

Alternatively, although deeply discouraged, PDFO can be installed from the
source code. It requires you to install additional Python headers, a Fortran
compiler (e.g., [gfortran](https://gcc.gnu.org/fortran/)), and
[F2PY](https://numpy.org/doc/stable/f2py/) (provided by
[NumPy](https://numpy.org/)).
Download and decompress the [source code package](https://www.pdfo.net/docs.html#download),
or clone it from [GitHub](https://github.com/pdfo/pdfo) or [Gitee](https://gitee.com/pdfo/pdfo).
You will obtain a folder containing `pyproject.toml`; in a command shell,
change your directory to this folder; then install PDFO by executing

```bash
pip install .
```

### Usage

PDFO provides a Python function `pdfo`, which can solve general constrained or unconstrained optimization problems without using derivatives.

The `pdfo` function can automatically identify the type of your problem and then call one of Powell’s solvers, namely COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA.
The user can also specify the solver by setting the `method` field of the options passed to `pdfo`.

The `pdfo` function is designed to be compatible with the [scipy.optimize.minimize](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html#scipy.optimize.minimize) function of [SciPy](https://scipy.org/). You can call pdfo in exactly the same way as calling [scipy.optimize.minimize](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html#scipy.optimize.minimize) except that `pdfo` does not accept derivative arguments.

For the detailed syntax of `pdfo`, use the standard `help` command
of Python:

```python
from pdfo import pdfo
help(pdfo)
```

### Uninstall

PDFO can be uninstalled by executing the following command in a command shell:

```bash
python3 -m pip uninstall pdfo
```

## MATLAB version of PDFO

### Prerequisites

PDFO supports MATLAB R2014a and later releases. To use PDFO, you need first
set up the [MEX](https://www.mathworks.com/help/matlab/ref/mex.html) of your
MATLAB so that it can compile Fortran.
**The setup of MEX is a pure MATLAB usage problem and it has nothing to do with PDFO.**

To see whether your MEX is ready, run the following code in MATLAB:

```matlab
mex('-setup', '-v', 'fortran'); mex('-v', fullfile(matlabroot, 'extern', 'examples', 'refbook', 'timestwo.F'));
```

If this completes successfully, then your MEX is ready. Otherwise, it is not, and
you may try the [`setup_mex` package](https://github.com/equipez/setup_mex) at
```
https://github.com/equipez/setup_mex
```
It will help you to set MEX up on Windows or macOS (the setup of MEX is trivial on Linux).
In case `setup_mex` does not work, you need to consult a local MATLAB expert or the technical support of
MathWorks about "[how to set up MEX](https://www.mathworks.com/help/matlab/ref/mex.html)", which is
**not** part of PDFO.

### Installation

Download and decompress the [source code package](https://www.pdfo.net/docs.html#download),
or clone it from [GitHub](https://github.com/pdfo/pdfo) or [Gitee](https://gitee.com/pdfo/pdfo).
You will obtain a folder containing `setup.m`. Place this folder at the location
where you  want PDFO to be installed. In MATLAB, change the directory to this
folder, and execute the following command:

```matlab
setup
```

If this command runs successfully, PDFO is installed. You may execute the
following command in MATLAB to verify the installation:

```matlab
testpdfo
```

### Usage

PDFO provides a MATLAB function `pdfo`, which can solve general constrained or unconstrained optimization problems without using derivatives.

The `pdfo` function can automatically identify the type of your problem and then call one of Powell’s solvers, namely COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA.
The user can also specify the solver by setting the `solver` field of the options passed to `pdfo`.

The `pdfo` function is designed to be compatible with the `fmincon` function available in the [Optimization Toolbox](https://www.mathworks.com/products/optimization.html) of MATLAB.
You can call `pdfo` in the same way as calling `fmincon`. In addition, `pdfo` can be called in some flexible ways that are not supported by `fmincon`.

For detailed syntax of `pdfo`, use the standard `help` command
of MATLAB:

```matlab
help pdfo
```


### Uninstall

PDFO can be uninstalled using the setup.m script by executing the following
command in MATLAB:

```matlab
setup uninstall
```

## Citing PDFO

If you use PDFO, please cite the following paper. Note that PDFO contains improvements and bug fixes that do not exist in Powell's original code. See Subsections 4.3--4.5 of the paper for details. 

[1] T. M. Ragonneau and Z. Zhang, [PDFO: a cross-platform package for Powell's derivative-free optimization solvers](https://arxiv.org/pdf/2302.13246.pdf), arXiv:2302.13246, 2023.
```bibtex
@misc{Ragonneau_Zhang_2023,
    title        = {{PDFO}: a cross-platform package for {Powell}'s derivative-free optimization solvers},
    author       = {Ragonneau, T. M. and Zhang, Z.},
    howpublished = {arXiv:2302.13246},
    year         = 2023
}
```

In addition, Powell’s methods can be cited as follows.

[2] M. J. D. Powell. A direct search optimization method that models the objective and constraint functions by linear interpolation. In S. Gomez and J. P. Hennart, editors, *Advances in Optimization and Numerical Analysis*, pages 51–67, Dordrecht, NL, 1994. Springer.

[3] M. J. D. Powell. UOBYQA: unconstrained optimization by quadratic approximation. *Math. Program.*, 92:555–582, 2002.

[4] M. J. D. Powell. The NEWUOA software for unconstrained optimization without derivatives. In G. Di Pillo and M. Roma, editors, *Large-Scale Nonlinear Optimization*, volume 83 of *Nonconvex Optimization and Its Applications*, pages 255–297, Boston, MA, USA, 2006. Springer.

[5] M. J. D. Powell. The BOBYQA algorithm for bound constrained optimization without derivatives. Technical Report DAMTP 2009/NA06, Department of Applied Mathematics and Theoretical Physics, University of Cambridge, Cambridge, UK, 2009.

**Remark:** LINCOA seeks the least value of a nonlinear function subject to
linear inequality constraints without using derivatives of the objective
function. Powell did not publish a paper to introduce the algorithm.

## Acknowledgments

PDFO is dedicated to the memory of the late Professor [Powell](https://www.zhangzk.net/powell.html)
with gratitude for his inspiration and for the treasures he left to us.

We are grateful to Professor [Ya-xiang Yuan](http://lsec.cc.ac.cn/~yyx/) for his
everlasting encouragement and support.

The development of PDFO is a long-term project, which would not be sustainable without the continued
funds from the [Hong Kong Research Grants Council](https://www.ugc.edu.hk/eng/rgc)
(ref. PolyU 253012/17P, PolyU 153054/20P, and PolyU 153066/21P),
the [Hong Kong Ph.D. Fellowship Scheme](https://cerg1.ugc.edu.hk/hkpfs) (ref. PF18-24698),
and the [Hong Kong Polytechnic University](https://www.polyu.edu.hk) (PolyU),
in particular the [Department of Applied Mathematics](https://www.polyu.edu.hk/ama) (AMA).

            

Raw data

            {
    "_id": null,
    "home_page": "https://www.pdfo.net",
    "name": "pdfo",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Tom M. Ragonneau <tom.ragonneau@polyu.edu.hk>, Zaikun Zhang <zaikun.zhang@polyu.edu.hk>",
    "keywords": "blackbox-optimization constrained-optimization derivative-free-optimization hyperparameter-optimization nonlinear-optimization numerical-optimization optimization optimization-algorithms optimization-methods optimization-tools simulation-based-optimization unconstrained-optimization zeroth-order-optimization",
    "author": "",
    "author_email": "Tom M. Ragonneau and Zaikun Zhang <pdfocode@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/10/4c/b68819a7866e8c1ad5c798d9e07503c44d8f1b962ed91e5ffe4a81e2164f/pdfo-2.1.0.tar.gz",
    "platform": null,
    "description": "<h1 align=\"center\">PDFO: Powell's Derivative-Free Optimization solvers</h1>\n\n<p align=\"center\"><b><a href=\"#introduction\">Introduction</a> | <a href=\"#python-version-of-pdfo\">Python</a> | <a href=\"#matlab-version-of-pdfo\">MATLAB</a> | <a href=\"#citing-pdfo\">Citing PDFO</a> | <a href=\"#acknowledgments\">Acknowledgments</a></b></p>\n\nDedicated to the late Professor [M. J. D. Powell](https://www.zhangzk.net/powell.html) FRS (1936&ndash;2015).\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/pdfo/pdfo/build.yml?logo=github&style=for-the-badge)](https://github.com/pdfo/pdfo/actions/workflows/build.yml)\n[![GitHub](https://img.shields.io/github/license/pdfo/pdfo?logo=github&style=for-the-badge)](https://opensource.org/licenses/BSD-3-Clause/)\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/pdfo/pdfo?logo=github&style=for-the-badge)](https://github.com/pdfo/pdfo/releases/)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/pdfo?logo=pypi&style=for-the-badge)](https://pypi.org/project/pdfo/)\n[![View PDFO: Powell's Derivative-Free Optimization solvers on File Exchange](https://img.shields.io/badge/MATLAB-File_Exchange-orange?style=for-the-badge)](https://www.mathworks.com/matlabcentral/fileexchange/75195-pdfo-powell-s-derivative-free-optimization-solvers/)\n\n## Introduction\n\nPDFO (Powell's Derivative-Free Optimization solvers) is a cross-platform package\nproviding interfaces for using the late Professor [M. J. D. Powell's](https://www.zhangzk.net/powell.html)\nderivative-free optimization solvers, including UOBYQA, NEWUOA, BOBYQA, LINCOA,\nand COBYLA. See the [PDFO homepage](https://www.pdfo.net) and the [PDFO paper](https://arxiv.org/pdf/2302.13246.pdf) for more information.\n\nThis package makes use of a modified version of [Powell's](https://www.zhangzk.net/powell.html)\nFortran code. See the folder [`original`](https://github.com/pdfo/pdfo/tree/main/fsrc/original)\nunder `fsrc` for [Powell's](https://www.zhangzk.net/powell.html) original code.\n\n## Python version of PDFO\n\n### Installation\n\n#### Recommended installation\n\nTo use the Python version of PDFO on Linux, Mac, or Windows, you need\n[Python](https://www.python.org/) (version 3.8 or above).\n\nIt is highly recommended to install PDFO via [PyPI](https://pypi.org).\n\nInstall [pip](https://pip.pypa.io/en/stable/installing/) in your system if\nyou Python version does not include it. Then execute\n\n```bash\npip install pdfo\n```\n\nin a command shell (e.g., the terminal for Linux and macOS, or the Command\nShell for Windows). If your pip launcher is not `pip`, adapt the\ncommand accordingly (it may be `pip3` for example). If this\ncommand runs successfully, PDFO is installed. You may verify the\ninstallation by\n\n```bash\npython -m unittest pdfo.testpdfo\n```\n\nOnce again, if your Python launcher is not `python`, adapt the command accordingly (it may be `python3` for example).\nIf you are an Anaconda user, PDFO is also available through the conda installer\n( https://anaconda.org/conda-forge/pdfo ). However, it is not managed by us.\n\n#### Alternative installation (using source distribution)\n\nAlternatively, although deeply discouraged, PDFO can be installed from the\nsource code. It requires you to install additional Python headers, a Fortran\ncompiler (e.g., [gfortran](https://gcc.gnu.org/fortran/)), and\n[F2PY](https://numpy.org/doc/stable/f2py/) (provided by\n[NumPy](https://numpy.org/)).\nDownload and decompress the [source code package](https://www.pdfo.net/docs.html#download),\nor clone it from [GitHub](https://github.com/pdfo/pdfo) or [Gitee](https://gitee.com/pdfo/pdfo).\nYou will obtain a folder containing `pyproject.toml`; in a command shell,\nchange your directory to this folder; then install PDFO by executing\n\n```bash\npip install .\n```\n\n### Usage\n\nPDFO provides a Python function `pdfo`, which can solve general constrained or unconstrained optimization problems without using derivatives.\n\nThe `pdfo` function can automatically identify the type of your problem and then call one of Powell\u2019s solvers, namely COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA.\nThe user can also specify the solver by setting the `method` field of the options passed to `pdfo`.\n\nThe `pdfo` function is designed to be compatible with the [scipy.optimize.minimize](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html#scipy.optimize.minimize) function of [SciPy](https://scipy.org/). You can call pdfo in exactly the same way as calling [scipy.optimize.minimize](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html#scipy.optimize.minimize) except that `pdfo` does not accept derivative arguments.\n\nFor the detailed syntax of `pdfo`, use the standard `help` command\nof Python:\n\n```python\nfrom pdfo import pdfo\nhelp(pdfo)\n```\n\n### Uninstall\n\nPDFO can be uninstalled by executing the following command in a command shell:\n\n```bash\npython3 -m pip uninstall pdfo\n```\n\n## MATLAB version of PDFO\n\n### Prerequisites\n\nPDFO supports MATLAB R2014a and later releases. To use PDFO, you need first\nset up the [MEX](https://www.mathworks.com/help/matlab/ref/mex.html) of your\nMATLAB so that it can compile Fortran.\n**The setup of MEX is a pure MATLAB usage problem and it has nothing to do with PDFO.**\n\nTo see whether your MEX is ready, run the following code in MATLAB:\n\n```matlab\nmex('-setup', '-v', 'fortran'); mex('-v', fullfile(matlabroot, 'extern', 'examples', 'refbook', 'timestwo.F'));\n```\n\nIf this completes successfully, then your MEX is ready. Otherwise, it is not, and\nyou may try the [`setup_mex` package](https://github.com/equipez/setup_mex) at\n```\nhttps://github.com/equipez/setup_mex\n```\nIt will help you to set MEX up on Windows or macOS (the setup of MEX is trivial on Linux).\nIn case `setup_mex` does not work, you need to consult a local MATLAB expert or the technical support of\nMathWorks about \"[how to set up MEX](https://www.mathworks.com/help/matlab/ref/mex.html)\", which is\n**not** part of PDFO.\n\n### Installation\n\nDownload and decompress the [source code package](https://www.pdfo.net/docs.html#download),\nor clone it from [GitHub](https://github.com/pdfo/pdfo) or [Gitee](https://gitee.com/pdfo/pdfo).\nYou will obtain a folder containing `setup.m`. Place this folder at the location\nwhere you  want PDFO to be installed. In MATLAB, change the directory to this\nfolder, and execute the following command:\n\n```matlab\nsetup\n```\n\nIf this command runs successfully, PDFO is installed. You may execute the\nfollowing command in MATLAB to verify the installation:\n\n```matlab\ntestpdfo\n```\n\n### Usage\n\nPDFO provides a MATLAB function `pdfo`, which can solve general constrained or unconstrained optimization problems without using derivatives.\n\nThe `pdfo` function can automatically identify the type of your problem and then call one of Powell\u2019s solvers, namely COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA.\nThe user can also specify the solver by setting the `solver` field of the options passed to `pdfo`.\n\nThe `pdfo` function is designed to be compatible with the `fmincon` function available in the [Optimization Toolbox](https://www.mathworks.com/products/optimization.html) of MATLAB.\nYou can call `pdfo` in the same way as calling `fmincon`. In addition, `pdfo` can be called in some flexible ways that are not supported by `fmincon`.\n\nFor detailed syntax of `pdfo`, use the standard `help` command\nof MATLAB:\n\n```matlab\nhelp pdfo\n```\n\n\n### Uninstall\n\nPDFO can be uninstalled using the setup.m script by executing the following\ncommand in MATLAB:\n\n```matlab\nsetup uninstall\n```\n\n## Citing PDFO\n\nIf you use PDFO, please cite the following paper. Note that PDFO contains improvements and bug fixes that do not exist in Powell's original code. See Subsections 4.3--4.5 of the paper for details. \n\n[1] T. M. Ragonneau and Z. Zhang, [PDFO: a cross-platform package for Powell's derivative-free optimization solvers](https://arxiv.org/pdf/2302.13246.pdf), arXiv:2302.13246, 2023.\n```bibtex\n@misc{Ragonneau_Zhang_2023,\n    title        = {{PDFO}: a cross-platform package for {Powell}'s derivative-free optimization solvers},\n    author       = {Ragonneau, T. M. and Zhang, Z.},\n    howpublished = {arXiv:2302.13246},\n    year         = 2023\n}\n```\n\nIn addition, Powell\u2019s methods can be cited as follows.\n\n[2] M. J. D. Powell. A direct search optimization method that models the objective and constraint functions by linear interpolation. In S. Gomez and J. P. Hennart, editors, *Advances in Optimization and Numerical Analysis*, pages 51\u201367, Dordrecht, NL, 1994. Springer.\n\n[3] M. J. D. Powell. UOBYQA: unconstrained optimization by quadratic approximation. *Math. Program.*, 92:555\u2013582, 2002.\n\n[4] M. J. D. Powell. The NEWUOA software for unconstrained optimization without derivatives. In G. Di Pillo and M. Roma, editors, *Large-Scale Nonlinear Optimization*, volume 83 of *Nonconvex Optimization and Its Applications*, pages 255\u2013297, Boston, MA, USA, 2006. Springer.\n\n[5] M. J. D. Powell. The BOBYQA algorithm for bound constrained optimization without derivatives. Technical Report DAMTP 2009/NA06, Department of Applied Mathematics and Theoretical Physics, University of Cambridge, Cambridge, UK, 2009.\n\n**Remark:** LINCOA seeks the least value of a nonlinear function subject to\nlinear inequality constraints without using derivatives of the objective\nfunction. Powell did not publish a paper to introduce the algorithm.\n\n## Acknowledgments\n\nPDFO is dedicated to the memory of the late Professor [Powell](https://www.zhangzk.net/powell.html)\nwith gratitude for his inspiration and for the treasures he left to us.\n\nWe are grateful to Professor [Ya-xiang Yuan](http://lsec.cc.ac.cn/~yyx/) for his\neverlasting encouragement and support.\n\nThe development of PDFO is a long-term project, which would not be sustainable without the continued\nfunds from the [Hong Kong Research Grants Council](https://www.ugc.edu.hk/eng/rgc)\n(ref. PolyU 253012/17P, PolyU 153054/20P, and PolyU 153066/21P),\nthe [Hong Kong Ph.D. Fellowship Scheme](https://cerg1.ugc.edu.hk/hkpfs) (ref. PF18-24698),\nand the [Hong Kong Polytechnic University](https://www.polyu.edu.hk) (PolyU),\nin particular the [Department of Applied Mathematics](https://www.polyu.edu.hk/ama) (AMA).\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License  Copyright (c) 2020--2023, Tom M. Ragonneau and Zaikun Zhang  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
    "summary": "Powell's Derivative-Free Optimization solvers",
    "version": "2.1.0",
    "project_urls": {
        "Documentation": "https://www.pdfo.net",
        "Download": "https://www.pdfo.net/docs.html#releases",
        "Homepage": "https://www.pdfo.net",
        "Source": "https://github.com/pdfo/pdfo",
        "Tracker": "https://github.com/pdfo/pdfo/issues"
    },
    "split_keywords": [
        "blackbox-optimization",
        "constrained-optimization",
        "derivative-free-optimization",
        "hyperparameter-optimization",
        "nonlinear-optimization",
        "numerical-optimization",
        "optimization",
        "optimization-algorithms",
        "optimization-methods",
        "optimization-tools",
        "simulation-based-optimization",
        "unconstrained-optimization",
        "zeroth-order-optimization"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c4e7351628561fc6b79509ec5d788ba884cf7956cf4ebd3353944762464cd9f3",
                "md5": "34161b563154cf0f1679f67440ed9419",
                "sha256": "818a34a38841bdcfe12ad0118137d2f14a4b80061eb765500b74f2c8cf15c2c6"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "34161b563154cf0f1679f67440ed9419",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1844063,
            "upload_time": "2024-02-05T06:45:48",
            "upload_time_iso_8601": "2024-02-05T06:45:48.630951Z",
            "url": "https://files.pythonhosted.org/packages/c4/e7/351628561fc6b79509ec5d788ba884cf7956cf4ebd3353944762464cd9f3/pdfo-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3609affb03ecfee0135818d85ea2de577f49080d5fb3d73bf8f64dfd8a294873",
                "md5": "80d547f849ecc8233bdbe1500344ba1e",
                "sha256": "1841bd3b92168214c9d69d4bdb916e5e6058f3fbd4fc54eb42635f1aa145b203"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "80d547f849ecc8233bdbe1500344ba1e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1166749,
            "upload_time": "2024-02-05T06:45:51",
            "upload_time_iso_8601": "2024-02-05T06:45:51.424944Z",
            "url": "https://files.pythonhosted.org/packages/36/09/affb03ecfee0135818d85ea2de577f49080d5fb3d73bf8f64dfd8a294873/pdfo-2.1.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dab82f72df68e176c7794f507229497525331168ec0e8fe1715a3ac056a4393c",
                "md5": "60a0d5bf83035fadc1fbeb13027a7b13",
                "sha256": "0ed5f761ad8c6c61d3613ee0f069015fcf0ea1bb41c4335f998d0803540c15b5"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "60a0d5bf83035fadc1fbeb13027a7b13",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1522802,
            "upload_time": "2024-02-05T06:45:54",
            "upload_time_iso_8601": "2024-02-05T06:45:54.033924Z",
            "url": "https://files.pythonhosted.org/packages/da/b8/2f72df68e176c7794f507229497525331168ec0e8fe1715a3ac056a4393c/pdfo-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eadc318a9a2fa0093ebaa7a2c0ad081db8e23526ebe82d52f037a3260d17453b",
                "md5": "0b8ef5386b5b2796da6b63e23f885a01",
                "sha256": "6ed017fcf7dac785728b9fd05fa8645651695f54feb43318083fc4c3afff570c"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0b8ef5386b5b2796da6b63e23f885a01",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2379075,
            "upload_time": "2024-02-05T06:45:56",
            "upload_time_iso_8601": "2024-02-05T06:45:56.830213Z",
            "url": "https://files.pythonhosted.org/packages/ea/dc/318a9a2fa0093ebaa7a2c0ad081db8e23526ebe82d52f037a3260d17453b/pdfo-2.1.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a645992b6dc012da7834dff016e76cb42a47eb2c2c9a886f385d26377842a087",
                "md5": "22447b34f3bb8cd3c14faaacfd4c4580",
                "sha256": "c14b34b90999db00b61e26c61e2438c3df37a8939dbad7521029c3b98f6d267a"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "22447b34f3bb8cd3c14faaacfd4c4580",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1842271,
            "upload_time": "2024-02-05T06:45:59",
            "upload_time_iso_8601": "2024-02-05T06:45:59.089097Z",
            "url": "https://files.pythonhosted.org/packages/a6/45/992b6dc012da7834dff016e76cb42a47eb2c2c9a886f385d26377842a087/pdfo-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e8995cd7ebd0921ad5d38e8d527ba2e983cfb6de8941ba91d30608bdfa2b044",
                "md5": "ab124afa9a4b377a74789b1769a90fc8",
                "sha256": "f6aabb96bc99fe39f9889b4dd2b40ce590fc358da6136e509b6951526d4a97d7"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ab124afa9a4b377a74789b1769a90fc8",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1165943,
            "upload_time": "2024-02-05T06:46:01",
            "upload_time_iso_8601": "2024-02-05T06:46:01.620408Z",
            "url": "https://files.pythonhosted.org/packages/4e/89/95cd7ebd0921ad5d38e8d527ba2e983cfb6de8941ba91d30608bdfa2b044/pdfo-2.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6efaa515aac41f490db9ccd9863c9281b6ed6da7a4e89d06fb942002d5907c83",
                "md5": "4a7d36b2ef2ac46e33533b176ff8abd4",
                "sha256": "36a8794cc5ff9c79548de2cd1848432c1c084b9ba5f31519f029606baa5d3d4c"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4a7d36b2ef2ac46e33533b176ff8abd4",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1522616,
            "upload_time": "2024-02-05T06:46:04",
            "upload_time_iso_8601": "2024-02-05T06:46:04.288823Z",
            "url": "https://files.pythonhosted.org/packages/6e/fa/a515aac41f490db9ccd9863c9281b6ed6da7a4e89d06fb942002d5907c83/pdfo-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ea938dc77851a7fc910d1c20b6995212a5a681dee1051db233fb6382d98a333f",
                "md5": "ac96843ce579374f64fd712f18385962",
                "sha256": "185cc46c7cd37a90fff9239d19041b2dba0e7ddfa2eb9f15e3d7619211166b96"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ac96843ce579374f64fd712f18385962",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2379775,
            "upload_time": "2024-02-05T06:46:07",
            "upload_time_iso_8601": "2024-02-05T06:46:07.162574Z",
            "url": "https://files.pythonhosted.org/packages/ea/93/8dc77851a7fc910d1c20b6995212a5a681dee1051db233fb6382d98a333f/pdfo-2.1.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3cc48e0112b7d815de4b86d280198f74184d32868825879688a0e2ef20cf2e68",
                "md5": "f1d1c47622cace6c6df2ea7fd57733c6",
                "sha256": "e540509eb62ea66ba0ec9acea4912b49178ea52eac66b116fb56d66ea349fcf7"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f1d1c47622cace6c6df2ea7fd57733c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1862834,
            "upload_time": "2024-02-05T06:46:09",
            "upload_time_iso_8601": "2024-02-05T06:46:09.150155Z",
            "url": "https://files.pythonhosted.org/packages/3c/c4/8e0112b7d815de4b86d280198f74184d32868825879688a0e2ef20cf2e68/pdfo-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "93c96b1a6d2ccb28a1c96524fd0ab3dd3e27ca5eba7edcdec9e36aea05b14505",
                "md5": "856b48e247d859ac020909c2b3045466",
                "sha256": "28ac539a57d09ff14fa99b5305f4d68215a907dbf8151fcd668817bbfdc02806"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "856b48e247d859ac020909c2b3045466",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1182832,
            "upload_time": "2024-02-05T06:46:11",
            "upload_time_iso_8601": "2024-02-05T06:46:11.703782Z",
            "url": "https://files.pythonhosted.org/packages/93/c9/6b1a6d2ccb28a1c96524fd0ab3dd3e27ca5eba7edcdec9e36aea05b14505/pdfo-2.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d6e6d959014f2f4a3027c5028bb8b959cb3f43a26c45159653da90175d475b0c",
                "md5": "fd72e6aa43c50440f3f7dfc9812ddafc",
                "sha256": "994740778c43478f6a246c4ebaf831be14a1abc75224b24a3dadc3048db01690"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fd72e6aa43c50440f3f7dfc9812ddafc",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1539019,
            "upload_time": "2024-02-05T06:46:13",
            "upload_time_iso_8601": "2024-02-05T06:46:13.455322Z",
            "url": "https://files.pythonhosted.org/packages/d6/e6/d959014f2f4a3027c5028bb8b959cb3f43a26c45159653da90175d475b0c/pdfo-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c3fe7c3477ca8a0297a0e0c6c4f9557a8fdeb65f48997fe467c457dc4166290",
                "md5": "d65e424b3d400607b05309d2438bf67b",
                "sha256": "6bde969ed10794f5d133a98429d33a2e800240a32e1f32bfb9f8358ed8b6d44d"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d65e424b3d400607b05309d2438bf67b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2392250,
            "upload_time": "2024-02-05T06:46:16",
            "upload_time_iso_8601": "2024-02-05T06:46:16.276316Z",
            "url": "https://files.pythonhosted.org/packages/4c/3f/e7c3477ca8a0297a0e0c6c4f9557a8fdeb65f48997fe467c457dc4166290/pdfo-2.1.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e3603ef01ae43e0e2d3f0969ac5ca6eed24d7b5c2eef8e6fffb0479ed3b650b5",
                "md5": "07e65da00503631e9390058ba487c4b0",
                "sha256": "9302d0f18dd113f0aeda3157333716bd2323148b35029612c199d7d98fbba980"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "07e65da00503631e9390058ba487c4b0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1831999,
            "upload_time": "2024-02-05T06:46:19",
            "upload_time_iso_8601": "2024-02-05T06:46:19.713610Z",
            "url": "https://files.pythonhosted.org/packages/e3/60/3ef01ae43e0e2d3f0969ac5ca6eed24d7b5c2eef8e6fffb0479ed3b650b5/pdfo-2.1.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "271afdde6d74d3acdfd9277ec2d6ce7102db3bca42a2467f9bdc514d118a52d6",
                "md5": "ed327f30033f9f706848022dfd80f963",
                "sha256": "5d71dfc7a16a5cea8cd7ac70acb9ccb614e89a21109a7d9c4145cecfaf0a86fc"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ed327f30033f9f706848022dfd80f963",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1506017,
            "upload_time": "2024-02-05T06:46:22",
            "upload_time_iso_8601": "2024-02-05T06:46:22.330107Z",
            "url": "https://files.pythonhosted.org/packages/27/1a/fdde6d74d3acdfd9277ec2d6ce7102db3bca42a2467f9bdc514d118a52d6/pdfo-2.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "574588e2a1d9996a65bc2292686d2a82d94665109008bb07f1b4413679730762",
                "md5": "b4ad151a024e22127e864cf6bfabfdaf",
                "sha256": "e7e1b3c15bc6291e32f137dd9c963f2af0c24ade58dcb5a9a1c0b81a51d6577b"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b4ad151a024e22127e864cf6bfabfdaf",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2361841,
            "upload_time": "2024-02-05T06:46:25",
            "upload_time_iso_8601": "2024-02-05T06:46:25.074443Z",
            "url": "https://files.pythonhosted.org/packages/57/45/88e2a1d9996a65bc2292686d2a82d94665109008bb07f1b4413679730762/pdfo-2.1.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9b0850b069cfd159adc908c2cf97b10a8a4f3bb033175d8fc2ce46aeda50863e",
                "md5": "080ff6c95aa52102db38354b66f39e16",
                "sha256": "d4497c3a1231e7a8c2a21adf1c795e2b74e7a20a545949fff20ac71810f32335"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "080ff6c95aa52102db38354b66f39e16",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1837846,
            "upload_time": "2024-02-05T06:46:27",
            "upload_time_iso_8601": "2024-02-05T06:46:27.689512Z",
            "url": "https://files.pythonhosted.org/packages/9b/08/50b069cfd159adc908c2cf97b10a8a4f3bb033175d8fc2ce46aeda50863e/pdfo-2.1.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fdd1707525dfdb0a9325dfbb424e43eda913fba5ac7bd7fee58d62bbec14765a",
                "md5": "af2dcd6440ffe73cebaa00c2ca0dffb4",
                "sha256": "fafb2b42e546221580a5c5b202bfde59e3f45d1dde7717bcc39942bd73c1999c"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "af2dcd6440ffe73cebaa00c2ca0dffb4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1166542,
            "upload_time": "2024-02-05T06:46:30",
            "upload_time_iso_8601": "2024-02-05T06:46:30.187277Z",
            "url": "https://files.pythonhosted.org/packages/fd/d1/707525dfdb0a9325dfbb424e43eda913fba5ac7bd7fee58d62bbec14765a/pdfo-2.1.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5989f3e27a8afa6a319f25f4b228999b49bc5ecbf2aa3d825757a6303e4cf586",
                "md5": "bcd320e3f747429524eb266532387313",
                "sha256": "1be65a68e2fa903f08923260c51a44238b5b9085627b53446fd2a721dd041195"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bcd320e3f747429524eb266532387313",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1513767,
            "upload_time": "2024-02-05T06:46:32",
            "upload_time_iso_8601": "2024-02-05T06:46:32.800400Z",
            "url": "https://files.pythonhosted.org/packages/59/89/f3e27a8afa6a319f25f4b228999b49bc5ecbf2aa3d825757a6303e4cf586/pdfo-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "437eab2c1af4828919cd726feb8f96a26c152fcc74656ad2056fecb299af7150",
                "md5": "34025f5ef7623c9244030082257a0241",
                "sha256": "1ba90c06e8671afd81d1d524d8f49698b07cfe56a476c6c3bc10908562deca1e"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "34025f5ef7623c9244030082257a0241",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2372264,
            "upload_time": "2024-02-05T06:46:35",
            "upload_time_iso_8601": "2024-02-05T06:46:35.405447Z",
            "url": "https://files.pythonhosted.org/packages/43/7e/ab2c1af4828919cd726feb8f96a26c152fcc74656ad2056fecb299af7150/pdfo-2.1.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "104cb68819a7866e8c1ad5c798d9e07503c44d8f1b962ed91e5ffe4a81e2164f",
                "md5": "2b64fdfb76b43404ac14c6960163e621",
                "sha256": "c5aa3373cf133da956f25cfbf1597d4f0405a26e869bb19caacce4bfcb25270c"
            },
            "downloads": -1,
            "filename": "pdfo-2.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2b64fdfb76b43404ac14c6960163e621",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 484451,
            "upload_time": "2024-02-05T06:46:38",
            "upload_time_iso_8601": "2024-02-05T06:46:38.072401Z",
            "url": "https://files.pythonhosted.org/packages/10/4c/b68819a7866e8c1ad5c798d9e07503c44d8f1b962ed91e5ffe4a81e2164f/pdfo-2.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-05 06:46:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pdfo",
    "github_project": "pdfo",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pdfo"
}
        
Elapsed time: 0.17302s