Skip to main content

No project description provided

Project description

Syntrend Synthetic Data Generation

Syntrend is a Python Package and Command Line tool for generating synthetic data to express very specific behaviours and trends across multiple inputs.

For example, a simple Project looks like this.

$ cat 5_numbers.yaml
output:
  count: 5
type: integer

$ syntrend generate 5_numbers.yaml
-178
430
-192
-114
-125

Specific objectives for this project is to:

  • Be Lightweight: Make a tool that can easily run from a local workstation, from a CI Pipeline, or embedded into an application.
  • Be Easy to Use: All configurations use YAML, intended as an extendable markup format that allows re-use within and across projects.
  • Be Environment Agnostic: Everyone has preferences of how they want to work so providing formatted outputs that can be easily consumed by target sources is necessary.
  • Support As Many Data Types As Possible: Projects have different expectations of how they consume data: exchange formats, structured, streaming, or a combination of all with references between them.
  • Be Expressive: Data can have a personality, and we need this data to express that personality so we have something consistent to work with.

Quickstart

  1. Install Syntrend

    For a local Python project, use the project release to PyPI

    pip install syntrend
    

    or pull the Docker image

    docker pull ghcr.io/wsidl/syntrend:latest
    
  2. Create a Project File

    Create a text file with the YAML content defined in the Project File structure

    type: string
    
  3. Run the Project File

    syntrend generate project_file.yaml
    

    if using Docker:

    docker run -v $(pwd)/project_file.yaml:/project/project_file.yaml -w /project ghcr.io/wsidl/syntrend:latest generate project_file.yaml
    
  4. Handle the data

    The data can be produced into a number of different locations. This can be handled after the command is generated or piped from the outputs.

Next Steps

  • Become familiar with Project File structure
  • Review the types of data that can be created randomly
  • Understand how to use Expressions to define trends in specific properties across a project.
  • Apply controlled randomness within your data using Value Distributions
  • Understand how data can be formatted and produced to output
  • Read the FAQ's for any un-answered questions

Contributing

see CONTRIBUTING documentation

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

syntrend-0.1.1.tar.gz (161.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

syntrend-0.1.1-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file syntrend-0.1.1.tar.gz.

File metadata

  • Download URL: syntrend-0.1.1.tar.gz
  • Upload date:
  • Size: 161.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.30

File hashes

Hashes for syntrend-0.1.1.tar.gz
Algorithm Hash digest
SHA256 39c41a8b2751fd0ee369fd0f98e2472ef150af845570d02996561b307ff88e69
MD5 42a28993eae7ba29036fcfb4aff89f54
BLAKE2b-256 8bd6ca379054b389bb019cd3ebd41f76a03b8a935ef345b917568aa8f9518d85

See more details on using hashes here.

File details

Details for the file syntrend-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: syntrend-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.30

File hashes

Hashes for syntrend-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 baf5d1c12ffb31908b231e63d30caa5d1fd2c58d04f2fbc46cacdbdbc9b7ac18
MD5 9e2920db5c3768177e18c2ffd3993644
BLAKE2b-256 78dca5549c57a11277f7c3574c2f33e7619e68b5b81632d1f4e3feed5837aa44

See more details on using hashes here.

Supported by

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