Metadata-Version: 2.1
Name: libcolgraph
Version: 0.0.2.post2
Summary: this library provides support to construct graphs and their coloring graphs. a coloring graph is a metagraph representing all the valid colorings of a graph. each vertex of a coloring graph represents a coloring of the base graph.
Home-page: https://github.com/aalok-sathe/coloring-graphs.git
Author: Coloring Graphs lab, Univeristy of Richmond
Author-email: aalok.sathe@richmond.edu
License: GPL-3
Description: ## coloring-graphs
        [![pipeline status](https://aalok-sathe.gitlab.io/coloring-graphs/build.svg?v=2825177572518850315)](https://gitlab.com/aalok-sathe/coloring-graphs/)
        
        a coloring graphs library written in C++ for speedy computation and wrapped in
        Python for ease of development and extension!
        
        ### what
        this library provides support to construct graphs and their coloring graphs.
        a coloring graph is a metagraph representing all the valid colorings of a graph.
        each vertex of a coloring graph represents a coloring of the base graph.
        
        in this project, we represent a coloring as an integer, which, when converted to
        base k (for a k-coloring), represents the vertex-wise colors [0,k).
        
        the library is under development being written using Python and C/C++.
        for documentation, feel free to take a look inside `libcolgraph/` and read the docstrings.
        for examples, see the files in `test/`.
        for questions, reach out.
        
        
        ### usage
        - as a module
        
          plot a BaseGraph, its ColoringGraph, and the Meta
          ColoringGraph generated by Tarjans. you would need to
          have a graph formatted in an adjacency matrix file.
          opens plots in new browser windows.
        
          basic usage:
          ```
            colgraphplot [PATH_TO_FILE] [-k COLORS]
            ---
            options:
              usage: colgraphplot [-h] [-k COLORS] [-v] [--no-bg] [--no-cg] [--no-mbg]
                             [--no-mcg]
                             INPUT_GRAPH
        
              positional arguments:
                INPUT_GRAPH           read in BaseGraph from adjacency matrix file
        
              optional arguments:
                -h, --help            show this help message and exit
                -k COLORS, --colors COLORS
                                      number of colors to use to create ColoringGraph
                -v, --verbosity       set output verbosity
                --no-bg               hide BaseGraph?
                --no-cg               hide ColoringGraph?
                --no-mbg              hide meta BaseGraph?
                --no-mcg              hide meta ColoringGraph?
          ```
        
          launch web GUI [WIP]:
          ```
            libcolgraph [OPTIONS]
          ```
        
        
        
        - as a library
        
            ```python
            import libcolgraph
        
            bg = libcolgraph.BaseGraph()
            bg.load_txt('./in/hexmod.in')
        
            cg = bg.build_coloring_graph(4)
        
            print('bg {} led to a cg {}'.format(bg, cg))
        
            for v in cg.get_vertices():
                # do something
                pass
            ```
        
        ### example output
        
        
        ### installation
        
        - for installation from source
            refer to [detailed install instructions](INSTALL.md)
        
        
        - [pypi](https://pypi.org/project/libcolgraph/)
        
            ```bash
            python3 -m pip install libcolgraph [--user] [--upgrade]
            ```
        
            things to note:
            - currently a binary wheel is available only for [`manylinux`](https://www.python.org/dev/peps/pep-0513/)
              distributions e.g. centOS, Debian family, RedHat family, etc.
            - if your distribution is not `manylinux`-supported, then pip
              will need to compile locally using `swig` and `setuptools`.
              in that case, make sure you have `setuptools` and
              [swig](http://www.swig.org/download.html) installed, as they
              will be needed for compilation.
            - in the future we will release wheels for MacOS as well. these
              might not be as frequently maintained, however, so your best
              bet would be to compile locally using `swig`.
        
        
        ### contribute
        
        see [contributing guide](CONTRIBUTING.md)
        
        ### help
        
        full documentation coming soon
        
        
        ### who
        
        Coloring Graphs lab, University of Richmond. Multiple contributors.
        (C) 2017-2019
        
        
Platform: UNKNOWN
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.4
Description-Content-Type: text/markdown
