Skip to main content

Just another Data Offline Generator

Project description

https://github.com/petrnymsa/jdog/workflows/build-test/badge.svg https://readthedocs.org/projects/jdog/badge/?version=latest

Just another Data Offline Generator (JDOG) 🐶

🗎 Full documentation.

  • JDOG is Python library which helps generate sample data for your projects.

  • JDOG can be run also as CLI tool.

  • For generating sample data, the data scheme is provided

  • The scheme is in JSON format

Scheme

  • Scheme is provided in JSON format with special placeholders.

  • In the output placeholders are replaced with some generated data.

Any valid JSON is valid scheme.

How to use it?

Prepare scheme

{
  "{{range(people,4)}}": {
    "name": "{{name}}",
    "age": "{{age}}",
    "address": {
      "city": "{{city}}"
    },
    "car": "{{option(mustang,{{empty}})}}"
  }
}
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.

👍 JDOG is using awesome package Faker which is used to generate random data.

CONTRIBUTING

LICENSE

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

jdog-0.2.2.tar.gz (10.6 kB view details)

Uploaded Source

File details

Details for the file jdog-0.2.2.tar.gz.

File metadata

  • Download URL: jdog-0.2.2.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for jdog-0.2.2.tar.gz
Algorithm Hash digest
SHA256 53171f4a8f36c876c9afcce4e46bdbccd1ba452bd78c84ea11fae0ac76b7d2a0
MD5 ef4e7dc70aee5e71b7a8eea1cd95d89a
BLAKE2b-256 ebd1ab33b2e397b79b9ad47408907c79a01be1691ccf7915eb3b9dee8b481fe3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page