Just another Data Offline Generator (JDOG) 🐶¶
JDOG is a Python library which helps generate a sample data for your projects.
JDOG can also be run as CLI tool.
For generating a sample data, the data scheme is provided.
Scheme¶
The scheme is provided in JSON format with special placeholders.
In the output, the placeholders are replaced with some generated data.
Any valid JSON is valid scheme.
How to use it?¶
Install it
python -m pip install jdog
Prepare a scheme
{
"{{range(people,4)}}": {
"name": "{{name}}",
"age": "{{age}}",
"address": {
"city": "{{city}}"
},
"car": "{{option(mustang,{{empty}})}}"
}
}
Use it
from jdog import Jdog
def main():
jdog = Jdog()
scheme = ... # your loaded scheme
# parse scheme
jdog.parse_scheme(scheme)
# generate instance
result = jdog.generate()
print(result) # result is JSON
And the example result:
{
"people": [
{
"name": "Brandi Young",
"age": 39,
"address": {
"city": "Jamietown"
},
"car": "mustang"
},
{
"name": "Michelle Best",
"age": 70,
"address": {
"city": "Port Dustin"
},
"car": ""
},
{
"name": "Donald Hernandez",
"age": 79,
"address": {
"city": "East Julieshire"
},
"car": "mustang"
},
{
"name": "Kaitlyn Cook",
"age": 3,
"address": {
"city": "Rachelton"
},
"car": "mustang"
}
]
}
CLI¶
Package can be used as cli tool.
Usage: jdog [OPTIONS] SCHEME
Accepts SCHEME and generates new data to stdin or to specified OUTPUT
Options:
-p, --pretty Output as pretty JSON.
-s, --strict Raise error when no matching placeholder is found.
-l, --lang TEXT Language to use.
--lang-help Displays available language codes and exit.
-o, --output FILENAME Output file where result is written.
--help Show this message and exit.
By default, CLI tool does not save output to file, just print results to standard output.