Metadata-Version: 2.2
Name: pykp
Version: 3.5.2
Summary: Tooling for sampling and solving instances of the 0-1 Knapsack Problem.
Author-email: Hassan Andrabi <hrs.andrabi@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/HRSAndrabi/pykp
Project-URL: Documentation, https://github.com/HRSAndrabi/pykp
Project-URL: Repository, https://github.com/HRSAndrabi/pykp
Project-URL: Issues, https://github.com/HRSAndrabi/pykp/issues
Keywords: knapsack,optimisation,sampling,algorithms
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas>=2.2.3
Requires-Dist: matplotlib==3.9.2
Requires-Dist: numpy==2.1.3
Requires-Dist: networkx==3.4.2
Requires-Dist: tqdm==4.66.6
Requires-Dist: nest-asyncio==1.6.0
Requires-Dist: minizinc==0.9.0
Provides-Extra: test
Requires-Dist: numpy==2.1.3; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-timeout; extra == "test"
Provides-Extra: dev
Requires-Dist: ruff; extra == "dev"
Provides-Extra: doc
Requires-Dist: Sphinx==8.1.3; extra == "doc"
Requires-Dist: sphinx-autobuild==2024.10.3; extra == "doc"
Requires-Dist: sphinx-copybutton==0.5.2; extra == "doc"
Requires-Dist: sphinx-favicon==1.0.1; extra == "doc"
Requires-Dist: sphinx-sitemap==2.6.0; extra == "doc"
Requires-Dist: sphinx_design==0.6.1; extra == "doc"
Requires-Dist: pydata-sphinx-theme==0.16.1; extra == "doc"
Requires-Dist: numpydoc; extra == "doc"
Requires-Dist: numpy==2.1.3; extra == "doc"
Requires-Dist: tqdm==4.66.6; extra == "doc"
Requires-Dist: matplotlib==3.10.0; extra == "doc"

# PyKP

<img align="left" width="110" height="110" src="https://raw.githubusercontent.com/HRSAndrabi/pykp/main/docs/source/_static/logo.svg" alt="pykp logo" style="padding-right: 15px">

[![PyPI Downloads](https://img.shields.io/pypi/dm/pykp.svg?label=Pypi%20downloads)](https://pypi.org/project/pykp/)
[![image](https://img.shields.io/pypi/v/pykp.svg)](https://pypi.python.org/pypi/pykp)
[![image](https://img.shields.io/pypi/l/pykp.svg)](https://github.com/astral-sh/pykp/blob/main/LICENSE)
[![image](https://img.shields.io/pypi/pyversions/pykp.svg)](https://pypi.python.org/pypi/pykp)

PyKP is an open-source Python library designed for efficiently solving and analysing knapsack problems. It includes tools for defining problem instances, solving them using various algorithms, and visualising and evaluating solutions.

- **Documentation:** [https://pykp.readthedocs.io](https://pykp.readthedocs.io)
- **Installation** [https://pykp.readthedocs.io/latest/installation/index.html](https://pykp.readthedocs.io/latest/installation/index.html)
- **Source code:** [https://github.com/pykp/pykp](https://github.com/HRSAndrabi/pykp)
- **Contributing:** [https://pykp.readthedocs.io/en/latest/contributing.html](https://pykp.readthedocs.io/latest/contributing/index.html)
- **Bug reports:** [https://github.com/HRSAndrabi/pykp/issues](https://github.com/HRSAndrabi/pykp/issues)

PyKP provides a Python interface for working with knapsack problems. For installation instructions, see [our install guide](https://pykp.readthedocs.io/latest/installation/index.html).

---

## Call for Contributions

Contributions via small improvements or fixes are always appreciated. If you are interested in contributing, have a look at [our contributing guide](https://pykp.readthedocs.io/latest/contributing/index.html).

Writing code isn’t the only way to contribute to PyKP. You can also:

- Review pull requests
- Develop tutorials, presentations, and other educational materials
- Maintain and improve the [documentation](https://pykp.readthedocs.io/latest/index.html)

If you are new to contributing to open source, [this guide](https://opensource.guide/how-to-contribute/) helps explain why, what, and how to get involved.
