|PyPI Version| |Python Versions| |Test| |Coverage| |License| |Documentation|
Python First-Order Graph Property Library
==================================================
.. image:: docs/img/pypg_color.png
:align: center
:height: 150
:alt: pygplib
``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``:
::
@INPROCEEDINGS {10356599,
author = {T. Toda and T. Ito and J. Kawahara and T. Soh and A. Suzuki and J. Teruyama},
booktitle = {2023 IEEE 35th International Conference on Tools with Artificial Intelligence (ICTAI)},
title = {Solving Reconfiguration Problems of First-Order Expressible Properties of Graph Vertices with Boolean Satisfiability},
year = {2023},
volume = {},
issn = {},
pages = {294-302},
abstract = {This paper presents a unified framework for capturing a variety of graph reconfiguration problems in terms of firstorder expressible properties and proposes a Boolean encoding for formulas in the first-order logic of graphs based on the exploitation of fundamental properties of graphs. We show that a variety of graph reconfiguration problems captured in our framework can be computed in a unified way by combining our encoding and Boolean satisfiability solver in a bounded model checking approach but allowing us to use quantifiers and predicates on vertices to express reconfiguration properties.},
keywords = {automata;model checking;encoding;artificial intelligence},
doi = {10.1109/ICTAI59109.2023.00050},
url = {https://doi.ieeecomputersociety.org/10.1109/ICTAI59109.2023.00050},
publisher = {IEEE Computer Society},
address = {Los Alamitos, CA, USA},
month = {nov}
}
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.rst>`__ .
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
Raw data
{
"_id": null,
"home_page": "https://github.com/toda-lab/pygplib",
"name": "pygplib",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "logic, first-order-logic, graph, sat-solver, satisfiability",
"author": "Takahisa Toda",
"author_email": "pygplib+contact@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/0f/fc/ffb23cf609e670abbaa813cde83cae536fe2e2b2b95f7c94e8a0f32d9b88/pygplib-2.2.0.tar.gz",
"platform": null,
"description": "|PyPI Version| |Python Versions| |Test| |Coverage| |License| |Documentation|\n\nPython First-Order Graph Property Library\n==================================================\n\n.. image:: docs/img/pypg_color.png\n :align: center\n :height: 150\n :alt: pygplib\n\n``Pygplib`` (Python First-Order Graph Property Library) is a Python module \nfor constructing, manipulating, and encoding graph properties expressible \nwith first-order logic of graphs.\nIt serves as a prototyping tool to tackle with \nvarious graph related applications.\nIt provides access to state-of-the-art satisfiability technologies \nwithout advanced knowledge.\nBasic steps to follow are :\n\n- Express a graph property of interest as a first-order formula.\n- Set a graph structure, and encode a first-order formula into CNF, \n a canonical normal form for propositional formulas.\n- Apply satisfiability tools to the CNF to compute satisfying\n assignments.\n- Decode the result into an assignment of first-order variables.\n\nDocumentation\n=============\n\nFor installation, examples, tutorials, and so on, please see `online documentation <https://pygplib.readthedocs.io/en/latest/>`__ .\n\n\nCitation\n========\n\nPlease cite the following paper if you use ``pygplib``:\n\n::\n\n @INPROCEEDINGS {10356599,\n author = {T. Toda and T. Ito and J. Kawahara and T. Soh and A. Suzuki and J. Teruyama},\n booktitle = {2023 IEEE 35th International Conference on Tools with Artificial Intelligence (ICTAI)},\n title = {Solving Reconfiguration Problems of First-Order Expressible Properties of Graph Vertices with Boolean Satisfiability},\n year = {2023},\n volume = {},\n issn = {},\n pages = {294-302},\n abstract = {This paper presents a unified framework for capturing a variety of graph reconfiguration problems in terms of firstorder expressible properties and proposes a Boolean encoding for formulas in the first-order logic of graphs based on the exploitation of fundamental properties of graphs. We show that a variety of graph reconfiguration problems captured in our framework can be computed in a unified way by combining our encoding and Boolean satisfiability solver in a bounded model checking approach but allowing us to use quantifiers and predicates on vertices to express reconfiguration properties.},\n keywords = {automata;model checking;encoding;artificial intelligence},\n doi = {10.1109/ICTAI59109.2023.00050},\n url = {https://doi.ieeecomputersociety.org/10.1109/ICTAI59109.2023.00050},\n publisher = {IEEE Computer Society},\n address = {Los Alamitos, CA, USA},\n month = {nov}\n }\n\n\nBugs/Requests/Discussions\n=========================\n\nPlease report bugs and requests from `GitHub Issues\n<https://github.com/toda-lab/pygplib/issues>`__ , and \nask questions from `GitHub Discussions <https://github.com/toda-lab/pygplib/discussions>`__ .\n\nHistory\n=======\nPlease see `CHANGES <https://github.com/toda-lab/pygplib/blob/main/CHANGES.rst>`__ .\n\nLicense\n=======\n\nPlease see `LICENSE <https://github.com/toda-lab/pygplib/blob/main/LICENSE>`__ .\n\n.. |Test| image:: https://github.com/toda-lab/pygplib/actions/workflows/test.yml/badge.svg\n :target: https://github.com/toda-lab/pygplib/actions/workflows/test.yml\n\n.. |Coverage| image:: https://codecov.io/gh/toda-lab/pygplib/graph/badge.svg?token=WWR54JE3M1\n :target: https://codecov.io/gh/toda-lab/pygplib\n\n.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/pygplib\n :target: https://pypi.org/project/pygplib/\n :alt: PyPI - Python Versions\n\n.. |PyPI Version| image:: https://img.shields.io/pypi/v/pygplib\n :target: https://pypi.org/project/pygplib/\n :alt: PyPI - Version\n\n.. |License| image:: https://img.shields.io/badge/License-MIT-yellow.svg\n :target: https://opensource.org/licenses/MIT\n :alt: License\n\n.. |Documentation| image:: https://readthedocs.org/projects/pygplib/badge/?version=latest\n :target: https://pygplib.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python First-Order Graph Property Library",
"version": "2.2.0",
"project_urls": {
"Documentation": "https://pygplib.readthedocs.io/en/latest/",
"Homepage": "https://github.com/toda-lab/pygplib",
"Repository": "https://github.com/toda-lab/pygplib"
},
"split_keywords": [
"logic",
" first-order-logic",
" graph",
" sat-solver",
" satisfiability"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d24b84fa8a9e95b0b2081a6a55cc15b34fe8c9af9b60001e0325bb654c061716",
"md5": "be2bbe0c1e2e7d75ee5987b874026269",
"sha256": "e9a0966dbcc6978e794de6d528a50df60e0446c385980ac39eb06566eea49f6c"
},
"downloads": -1,
"filename": "pygplib-2.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "be2bbe0c1e2e7d75ee5987b874026269",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 36067,
"upload_time": "2024-09-09T03:46:31",
"upload_time_iso_8601": "2024-09-09T03:46:31.650060Z",
"url": "https://files.pythonhosted.org/packages/d2/4b/84fa8a9e95b0b2081a6a55cc15b34fe8c9af9b60001e0325bb654c061716/pygplib-2.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0ffcffb23cf609e670abbaa813cde83cae536fe2e2b2b95f7c94e8a0f32d9b88",
"md5": "b9ba5b0bb1a405881bc03d604d28ffa2",
"sha256": "f0fcfbad95524ae4f7da75b14cf966c51bc124c3496e3e8c2d55a5a31c7e452c"
},
"downloads": -1,
"filename": "pygplib-2.2.0.tar.gz",
"has_sig": false,
"md5_digest": "b9ba5b0bb1a405881bc03d604d28ffa2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 30570,
"upload_time": "2024-09-09T03:46:33",
"upload_time_iso_8601": "2024-09-09T03:46:33.393021Z",
"url": "https://files.pythonhosted.org/packages/0f/fc/ffb23cf609e670abbaa813cde83cae536fe2e2b2b95f7c94e8a0f32d9b88/pygplib-2.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-09 03:46:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "toda-lab",
"github_project": "pygplib",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "pygplib"
}