Skip to main content

A Python-native synthd client library

Project description

What is this?

This is Synth! A fast and highly configurable NoSQL synthetic data engine. It reconciles the two worlds of synthetic data and test data by letting users generate realistic synthetic data for testing their applications and ML models.

What can I do with this?

With Synth you can:

  • Anonymize sensitive data easily. As simple as JSON-in/JSON-out. If you're not happy with the result, simply tweak the synthetic data model with a custom JSON metadata format and Synth will adjust everything on the fly, no additional ETL required.

  • Augment your datasets with synthetic data. For those times when you already have some data but just not enough of it to do what you need to do. It can extrapolate from patterns it finds in your data, so you can create as much of it as you want.

  • Create entirely new fake data declaratively. You can even add you own set of constraints and logic to create completely unseen scenario.

How does it work?

It has two components:

  • synthd: a persistent process that ingests raw (usually sensitive) training data and trains and builds synthetic data models from it. Think of it as a NoSQL datastore that never persists actual data, only anonymized model parameters.
  • synthpy: our reference Python implementation for the synthd API. This lets you leverage synthd in custom scripts and test harnesses.

Quickstart

Here is an end-to-end example using the Python client, synthpy.

from synthpy import Synth

# Assuming `synthd` is running on `localhost` with default settings
client = Synth("localhost:8182")

with open("my_users_data.json", "r") as data_f:
    documents = json.load(data_f)

# Submit your JSON documents to `synthd` for training
client.put_documents(namespace="app", collection="users", batch=documents)

# Generate 100 new synthetic users
synthetic_users = client.get_documents(namespace="app", collection="users", size=100)

Want to know more?

As of now, only the Python client for Synth is free and open-source. But it is also on our roadmap to open-source big chunks of the daemon, synthd, where the real magic happens! So stay tuned!

In the meantime, head over to our documentation or hit us up if you want to give Synth a try!

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

getsynthpy-0.2.1.tar.gz (139.5 kB view details)

Uploaded Source

Built Distribution

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

getsynthpy-0.2.1-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file getsynthpy-0.2.1.tar.gz.

File metadata

  • Download URL: getsynthpy-0.2.1.tar.gz
  • Upload date:
  • Size: 139.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200709 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for getsynthpy-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4424dd2c6b2cb70f72e7fb40cb54440658c812792e67a2ace69014a52866b4b5
MD5 8f36080700b0e5ca3452bf4523610b5f
BLAKE2b-256 28f7dc3482450c5c7e7e3184ef4d5d92c8ccde495fb6fc0befebbdd066a6808f

See more details on using hashes here.

File details

Details for the file getsynthpy-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: getsynthpy-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200709 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for getsynthpy-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5522613f4b0e32baf7aba0d39cee45c9f2677e04e10943ebbd02f0defd7f7faa
MD5 9a17a13f7622ab2d9633c1274b41efac
BLAKE2b-256 8e4ad68099bda5673fac8adbf654fa25a1fe9272d7a0cff770134736ffd85e11

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