Metadata-Version: 2.5
Name: flpq-data
Version: 6.0.0
Summary: Python package containing Graphs and Grammars for experimental analysis of Formal Language constrained Path Querying algorithms
Project-URL: Documentation, https://formallanguageconstrainedpathquerying.github.io/FLPQ_Data
Project-URL: Source Code, https://github.com/FormalLanguageConstrainedPathQuerying/FLPQ_Data
Project-URL: Bug Tracker, https://github.com/FormalLanguageConstrainedPathQuerying/FLPQ_Data/issues
Author-email: Vadim Abzalov <vadim.i.abzalov@gmail.com>, Nikita Kovalev <Nikitoskova123@gmail.com>
License-Expression: Apache-2.0 AND CC-BY-4.0
License-File: LICENSE-DATA.txt
License-File: LICENSE.txt
Keywords: flpq-data,formal-language,grammars,graphs,path-query
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <3.14,>=3.11
Requires-Dist: lark<2.0.0,>=1.3.1
Requires-Dist: networkx<4.0.0,>=3.6.1
Requires-Dist: platformdirs<5.0.0,>=4.12.3
Requires-Dist: pyformlang==1.0.1
Requires-Dist: rdflib<8.0.0,>=7.5.0
Requires-Dist: requests<3.0.0,>=2.32.5
Description-Content-Type: text/x-rst

FLPQ_Data
=========

.. image:: https://github.com/FormalLanguageConstrainedPathQuerying/FLPQ_Data/actions/workflows/tests.yml/badge.svg?branch=master
   :target: https://github.com/FormalLanguageConstrainedPathQuerying/FLPQ_Data/actions/workflows/tests.yml

.. image:: https://codecov.io/gh/FormalLanguageConstrainedPathQuerying/FLPQ_Data/branch/master/graph/badge.svg?token=6IAZM6KZT7
   :target: https://codecov.io/gh/FormalLanguageConstrainedPathQuerying/FLPQ_Data

.. image:: https://img.shields.io/pypi/v/flpq-data.svg
   :target: https://pypi.org/project/flpq-data/

.. image:: https://img.shields.io/pypi/pyversions/flpq-data.svg
   :target: https://pypi.org/project/flpq-data/

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/ambv/black

.. image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
   :target: https://github.com/FormalLanguageConstrainedPathQuerying/FLPQ_Data/blob/master/LICENSE.txt

FLPQ_Data is a Python package for the creation, manipulation, and study of the
structure, dynamics, and functions of complex Graphs and Grammars used for
experimental analysis of Formal Language constrained Path Querying algorithms.

- **Website:** https://formallanguageconstrainedpathquerying.github.io/FLPQ_Data
- **Tutorial:** https://formallanguageconstrainedpathquerying.github.io/FLPQ_Data/tutorial.html
- **Documentation:** https://formallanguageconstrainedpathquerying.github.io/FLPQ_Data/reference/index.html
- **Source Code:** https://github.com/formallanguageconstrainedpathquerying/FLPQ_Data
- **Bug Tracker:** https://github.com/formallanguageconstrainedpathquerying/FLPQ_Data/issues
- **Changelog:** https://github.com/FormalLanguageConstrainedPathQuerying/FLPQ_Data/blob/master/CHANGELOG.md

Installation
************

Install from PyPI with ``pip``::

   pip install flpq-data

Requires Python 3.11–3.13; see the `Install <https://formallanguageconstrainedpathquerying.github.io/FLPQ_Data/install.html>`_ page for details.

What's inside
**************

FLPQ_Data bundles **113 labeled directed graphs** across eight families — C alias analysis, RDF/OWL datasets, Java points-to, field-sensitive aliasing, context-sensitive data-flow, data provenance, name resolution (stack graphs), and biological graphs from UniProt — together with the context-free grammars used to query them. Each graph ships as a per-label MatrixMarket archive; see the `Graphs <https://formallanguageconstrainedpathquerying.github.io/FLPQ_Data/graphs/index.html>`_ page for statistics and download links.

Examples
********

Dataset content
---------------

.. code-block:: python

   >>> import flpq_data
   >>> flpq_data.GRAPHS[:3]
   ['skos', 'wc', 'generations']

The full list of graphs, with statistics and download links, is on the
`Graphs <https://formallanguageconstrainedpathquerying.github.io/FLPQ_Data/graphs/index.html>`_ page.

Load graph from Dataset
-----------------------

.. code-block:: python

   >>> bzip_path = flpq_data.download_graph("bzip")
   >>> bzip = flpq_data.graph_from_mtx_dir(bzip_path / "graph")

For developers
**************

To work on FLPQ_Data itself, set up the development environment (uv)::

   uv sync --all-groups

and run the main local checks that CI enforces — tests, quality checks, and
the docs build::

   uv run pytest
   uv run pre-commit run --all-files
   uv run make -C docs html

The full developer guide — development setup, quality checks, the test
pipeline, docs build and deployment, the package release process, and
contribution guidelines — is on the `Developer <https://formallanguageconstrainedpathquerying.github.io/FLPQ_Data/developer.html>`_ page.

How to add a new graph?
***********************

Just create

- an ``Issue`` corresponding to the `"Issue template for adding a new graph" <https://github.com/formallanguageconstrainedpathquerying/FLPQ_Data/blob/master/.github/ISSUE_TEMPLATE/graph-add-template.md>`_.
- a ``Pull Request`` corresponding to the `"Pull request template for adding a new graph" <https://github.com/formallanguageconstrainedpathquerying/FLPQ_Data/blob/master/.github/PULL_REQUEST_TEMPLATE/new_graph.md>`_.

Citation
********

If you use FLPQ_Data in your work, please cite it — see the `Citation <https://formallanguageconstrainedpathquerying.github.io/FLPQ_Data/about.html#citation>`_ section on the About page for BibTeX entries.

Licensing
*********

The **code** (package source, documentation, and tooling) is licensed under
Apache-2.0 (`LICENSE.txt <https://github.com/FormalLanguageConstrainedPathQuerying/FLPQ_Data/blob/master/LICENSE.txt>`_). The **dataset** (graphs, grammars, and benchmarks) is licensed under CC-BY 4.0 (`LICENSE-DATA.txt <https://github.com/FormalLanguageConstrainedPathQuerying/FLPQ_Data/blob/master/LICENSE-DATA.txt>`_).
