Metadata-Version: 2.0
Name: graph-asp
Version: 0.0.9
Summary: CLI endpoint to handle (ASP encoded) graphs
Home-page: https://github.com/aluriak/grasp
Author: Lucas Bourneuf
Author-email: lucas.bourneuf@laposte.net
License: GPL
Keywords: graph,Answer Set Programming
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Requires-Dist: clyngor (>=0.3.1)
Requires-Dist: networkx (==2.1)
Requires-Dist: pydot (==1.2.4)

# Grasp
Graph with ASP made easy.



## Use cases

### Write an ASP graph into gexf

    grasp convert data.lp target.gexf

### Extract the biggest cc, write it anonymized in gml

    grasp split data.lp --biggest-first "data_cc.lp" --slice 0 1
    grasp convert data_cc_1.lp target.gml --anonymized

### Generate a small world graph in gml

    grasp generate data.gml erdos_renyi_graph n=100 p=0.01


## Packaging

    pip install graph-asp

Will also populate your env with the executable `grasp`,
enabling access to the CLI.

Note that the package *grasp* exists, but is unrelated to this work.


## CLI commands
CLI provides access to higher level [routines](grasp/routines.py).

- `split`: split by connected component.
- `info`: give info about given graph.
- `convert`: rewrite, anonymize or convert the graph to (clean) ASP or standard format.
- `generate`: generate a graph using a given generation method.
<!-- - `compress`: produce the powergraph compression of given graph as a bubble file -->
<!-- - ``:  -->

### Other examples

    # split a graph by cc
    python -m grasp split data.lp -o "data_{}.lp"

    # get infos
    python -m grasp infos data.lp --graph-properties

    # there is a shitload of options
    python -m grasp infos --help

    # conversions between formats
    python -m grasp convert data.lp data.gml --anonymize

    # generation of new graphs to play with
    python -m grasp generate graph.gml powerlaw_cluster_graph n=5 m=2 p=0.01


