Metadata-Version: 2.4
Name: pycgdescent
Version: 0.10.4
Summary: Python wrapper for the CG_DESCENT library
Keywords: cg,optimization
Author-Email: Alexandru Fikl <alexfikl@gmail.com>
Maintainer-Email: Alexandru Fikl <alexfikl@gmail.com>
License-Expression: GPL-2.0-or-later AND MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Utilities
Project-URL: Documentation, https://pycgdescent.readthedocs.io
Project-URL: Repository, https://github.com/alexfikl/pycgdescent
Requires-Python: >=3.10
Requires-Dist: numpy>=2.1
Requires-Dist: typing-extensions>=4.10
Provides-Extra: dev
Requires-Dist: pyproject-fmt; extra == "dev"
Requires-Dist: reuse; extra == "dev"
Requires-Dist: typos; extra == "dev"
Requires-Dist: uv; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=6; extra == "docs"
Requires-Dist: sphinx-autoapi; extra == "docs"
Requires-Dist: sphinx-book-theme; extra == "docs"
Provides-Extra: test
Requires-Dist: basedpyright; extra == "test"
Requires-Dist: matplotlib; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: rich; extra == "test"
Requires-Dist: ruff; extra == "test"
Requires-Dist: types-dataclasses; extra == "test"
Description-Content-Type: text/x-rst

pycgdescent
===========

.. |badge-ci| image:: https://github.com/alexfikl/pycgdescent/actions/workflows/ci.yml/badge.svg
    :alt: Build Status
    :target: https://github.com/alexfikl/pycgdescent/actions/workflows/ci.yml

.. |badge-rtd| image:: https://readthedocs.org/projects/pycgdescent/badge/?version=latest
    :alt: Documentation
    :target: https://pycgdescent.readthedocs.io/en/latest/?badge=latest

.. |badge-pypi| image:: https://badge.fury.io/py/pycgdescent.svg
    :alt: PyPI
    :target: https://pypi.org/project/pycgdescent/

.. |badge-license| image:: https://img.shields.io/badge/License-MIT-green.svg
    :target: https://spdx.org/licenses/MIT.html
    :alt: MIT License

.. |badge-reuse| image:: https://api.reuse.software/badge/github.com/alexfikl/pycgdescent
    :alt: REUSE
    :target: https://api.reuse.software/info/github.com/alexfikl/pycgdescent

|badge-ci| |badge-rtd| |badge-pypi| |badge-reuse|

Python wrapper for the `CG_DESCENT <https://people.clas.ufl.edu/hager/software/>`__
algorithm by Hager and Zhang (see `DOI <https://doi.org/10.1145/1132973.1132979>`__).
A previous wrapper can be found `here <https://github.com/martiniani-lab/PyCG_DESCENT>`__.
Some differences:

* This one only depends on `pybind11 <https://github.com/pybind/pybind11>`__.
* Tries to emulate the interface of `scipy.optimize.minimize <https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html>`__
  (still needs work).

Interesting links:

* `Documentation <https://pycgdescent.readthedocs.io/en/latest/>`__.
* `Code <https://github.com/alexfikl/pycgdescent>`__.
