Skip to main content

CLI endpoint to handle (ASP encoded) graphs

Project description

# Phasme
Graph with ASP made easy.



## Use cases

### Write an ASP graph into gexf

phasme convert data.lp target.gexf

### Rewrite a gml graph with normalized node names

phasme convert data.gml --normalized

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

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

### Generate a small world graph in gml

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


## Packaging

pip install phasme

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


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

- `split`: split by connected component.
- `info`: give info about given graph.
- `convert`: rewrite, anonymize, normalize 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 phasme split data.lp -o "data_{}.lp"

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

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

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

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

# ready-to-draw tikz visualization of ASP graph
python -m phasme convert data.lp graph-in-latex-tikz.tex

# randomize a graph, keeping the same degree distribution, using switching method
python -m phasme randomize data.lp randomized-graph.gml


## Changelog

- 0.0.12
- new subcommand: *randomize*, to build a random graph based on another
- new subcommand: *extract*, to extract subgraphs based on their nodes
- convert: new output format: latex/tikz
- infos: give infos on articulation points
- infos: indicate number of self loops, if any, or give property 'no loop'


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phasme-0.0.12.tar.gz (11.4 kB view hashes)

Uploaded Source

Built Distribution

phasme-0.0.12-py3-none-any.whl (15.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page