Metadata-Version: 2.1
Name: pygplib
Version: 2.0.1
Summary: Python First-Order Graph Property Library
Home-page: https://github.com/toda-lab/pygplib
License: MIT
Keywords: logic,first-order-logic,graph,sat-solver,satisfiability
Author: Takahisa Toda
Author-email: pygplib+contact@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Mathematics
Provides-Extra: docs
Provides-Extra: test
Requires-Dist: Sphinx (>=7.2.6,<8.0.0) ; extra == "docs"
Requires-Dist: argparse (>=1.4.0,<2.0.0) ; extra == "test"
Requires-Dist: pallets-sphinx-themes (>=2.1.1,<3.0.0) ; extra == "docs"
Requires-Dist: pyparsing (>=3.1.1,<4.0.0)
Requires-Dist: pytest (>=7.4.2,<8.0.0) ; extra == "test"
Requires-Dist: pytest-cov (>=4.1.0,<5.0.0) ; extra == "test"
Requires-Dist: python-sat (>=0.1.8.dev10,<0.2.0) ; extra == "test"
Requires-Dist: sphinx-removed-in (>=0.2.1,<0.3.0) ; extra == "docs"
Requires-Dist: sphinxcontrib-trio (>=1.1.2,<2.0.0) ; extra == "docs"
Requires-Dist: tox (>=4.11.3,<5.0.0) ; extra == "test"
Project-URL: Documentation, https://pygplib.readthedocs.io/en/latest/
Project-URL: Repository, https://github.com/toda-lab/pygplib
Description-Content-Type: text/x-rst

Pygplib: Python First-Order Graph Property Library
==================================================

|PyPI Version| |Python Versions| |Test| |Coverage| |License| |Documentation|

Introduction
============

``Pygplib`` (Python First-Order Graph Property Library) is a Python module 
for constructing, manipulating, and encoding graph properties expressible 
with first-order logic of graphs.
It serves as a prototyping tool to tackle with 
various graph related applications.
It provides access to state-of-the-art satisfiability technologies 
without advanced knowledge.
Basic steps to follow are :

- Express a graph property of interest as a first-order formula.
- Set a graph structure, and encode a first-order formula into CNF, 
  a canonical normal form for propositional formulas.
- Apply satisfiability tools to the CNF to compute satisfying
  assignments.
- Decode the result into an assignment of first-order variables.

Documentation
=============

For installation, examples, tutorials, and so on, please see `online documentation <https://pygplib.readthedocs.io/en/latest/>`__ .


Citation
========

Please cite the following paper if you use ``pygplib``:

::

   Takahisa Toda, Takehiro Ito, Jun Kawahara, Takehide Soh, Akira Suzuki, Junichi Teruyama, Solving Reconfiguration Problems of First-Order Expressible Properties of Graph Vertices with Boolean Satisfiability, The 35th IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2023), accepted.

Bugs/Requests/Discussions
=========================

Please report bugs and requests from `GitHub Issues
<https://github.com/toda-lab/pygplib/issues>`__ , and 
ask questions from `GitHub Discussions <https://github.com/toda-lab/pygplib/discussions>`__ .

History
=======
Please see `CHANGES <https://github.com/toda-lab/pygplib/blob/main/CHANGES>`__ .

License
=======

Please see `LICENSE <https://github.com/toda-lab/pygplib/blob/main/LICENSE>`__ .

.. |Test| image:: https://github.com/toda-lab/pygplib/actions/workflows/test.yml/badge.svg
   :target: https://github.com/toda-lab/pygplib/actions/workflows/test.yml

.. |Coverage| image:: https://codecov.io/gh/toda-lab/pygplib/graph/badge.svg?token=WWR54JE3M1
   :target: https://codecov.io/gh/toda-lab/pygplib

.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/pygplib
   :target: https://pypi.org/project/pygplib/
   :alt: PyPI - Python Versions

.. |PyPI Version| image:: https://img.shields.io/pypi/v/pygplib
   :target: https://pypi.org/project/pygplib/
   :alt: PyPI - Version

.. |License| image:: https://img.shields.io/badge/License-MIT-yellow.svg
    :target: https://opensource.org/licenses/MIT
    :alt: License

.. |Documentation| image:: https://readthedocs.org/projects/pygplib/badge/?version=latest
    :target: https://pygplib.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

