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.