Extensible command-line REPL for interacting with JSON-graphs containing business objects
Project description
# json-graph-repl
Extensible command-line REPL for interacting with JSON graphs containing business objects.
The JSON format is based on the `json-graph` specification at: https://github.com/jsongraph/json-graph-specification
Several additional assumptions are made:
* We assume that the graph contains no cycles
* We treat node IDs as case-insensitive
* There are certain `metadata` fields that some aspects of the tool depend on (but none of these are mandatory)
Sample graphs are provided in the `tests` directory.
To use from the command line, just point the `jgrepl` tool to your JSON graph:
$ ./jgrepl/jgrepl.py tests/food-graph.json
Once in the REPL, type `help` for the list of available commands. Use `ctrl-d` to exit.
Here is a sample session using the "food" graph:
*** Loading graph from 'tests/food-graph.json'...
JSON Graph REPL v.0.1.2
/ >info // The `info` command displays information about the current node or graph
CURRENT GRAPH: Sample Food Graph ('tests/food-graph.json')
GRAPH TYPE: food graph
NODES: 14
EDGES: 11
{ // All metadata is shown here:
"version": "1.0"
}
/ >ls -l
CAT1 category Vegetables
CAT2 category Fruits
CAT3 category Sweets
/ >cd CAT3 // Change to a new path. Note the prompt changes to reflect your location.
/CAT3 >info
NODE ID: cat3
NODE TYPE: category
NODE LABEL: Sweets
{
"available_from": "2017-07-18",
"available_to": "2017-11-18"
}
/CAT3 >find food8 // Print all paths to this node ID
/CAT3/CAT32/FOOD8
Extensible command-line REPL for interacting with JSON graphs containing business objects.
The JSON format is based on the `json-graph` specification at: https://github.com/jsongraph/json-graph-specification
Several additional assumptions are made:
* We assume that the graph contains no cycles
* We treat node IDs as case-insensitive
* There are certain `metadata` fields that some aspects of the tool depend on (but none of these are mandatory)
Sample graphs are provided in the `tests` directory.
To use from the command line, just point the `jgrepl` tool to your JSON graph:
$ ./jgrepl/jgrepl.py tests/food-graph.json
Once in the REPL, type `help` for the list of available commands. Use `ctrl-d` to exit.
Here is a sample session using the "food" graph:
*** Loading graph from 'tests/food-graph.json'...
JSON Graph REPL v.0.1.2
/ >info // The `info` command displays information about the current node or graph
CURRENT GRAPH: Sample Food Graph ('tests/food-graph.json')
GRAPH TYPE: food graph
NODES: 14
EDGES: 11
{ // All metadata is shown here:
"version": "1.0"
}
/ >ls -l
CAT1 category Vegetables
CAT2 category Fruits
CAT3 category Sweets
/ >cd CAT3 // Change to a new path. Note the prompt changes to reflect your location.
/CAT3 >info
NODE ID: cat3
NODE TYPE: category
NODE LABEL: Sweets
{
"available_from": "2017-07-18",
"available_to": "2017-11-18"
}
/CAT3 >find food8 // Print all paths to this node ID
/CAT3/CAT32/FOOD8
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
jgrepl-0.1.2.tar.gz
(3.8 kB
view hashes)
Built Distribution
jgrepl-0.1.2-py3-none-any.whl
(6.3 kB
view hashes)