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.14
- 0.0.13
- randomize: `--per-cc` option to run it on each connected component independantly
- 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'
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.14
- 0.0.13
- randomize: `--per-cc` option to run it on each connected component independantly
- 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.14.tar.gz
(10.4 kB
view hashes)
Built Distribution
phasme-0.0.14-py3-none-any.whl
(14.2 kB
view hashes)