netsiphd/netrd

Add CLI functionality

leotrs opened this issue · 6 comments

Examples of desired usage:

$ netrd --dist NBD edgelist1.txt edgelist2.txt
$ netrd --recons ConvergentCrossMapping timeseries.csv
$ netrd --simulate SIR edgelist.txt

Adding CLI functionality to the package is very very easy and will not require a different package (as suggested on #186). It pretty much just requires one more module and some boilerplate in setup.py.

How do parameters work, given that each method has different ones? Still --param?

Good question. It won't be hard to make the CLI commands accept a variable number of parameters using argparse. The problem I think will be with the naming of all the parameters. We don't want something like this

$ netrd --dist NonBacktrackingSpectral file1.txt file2.txt --num_eigs 10
$ netrd --dist LaplacianSpectral file1.txt file2.txt --eigenvalues 10

when both num_eigs and eigenvalues are doing the exact same thing. So jointly with this we would have to implement a fairly major review and standardization of parameters.

I guess that can be our post-NetSci breaking change.

Flagging that this almost certainly can't be developed at the same time as #174.