Skip to main content

DataMaker

License: MIT uv Ruff

The official Python library for the Automators DataMaker API.

Installation

You can install the package using pip:

pip install datamaker-py

Quick start

Basic example:

from datamaker import DataMaker, Template

# Create an instance of DataMaker
datamaker = DataMaker()


def main():
    # Define the template
    template = Template(
        name="basic template",
        quantity=2,
        fields=[
            {"name": "first_name", "type": "First Name"},
            {"name": "last_name", "type": "Last Name"},
            {
                "name": "email",
                "type": "Derived",
                "options": {"value": "{{first_name}}.{{last_name}}@automators.com"},
            },
        ],
    )

    # Generate data using the template
    result = datamaker.generate(template)
    print(result)


if __name__ == "__main__":
    main()

Autocomplete Types

This SDK automatically generates TypeScript autocomplete definitions for use in the datamaker application.

The artifact is generated automatically on every push to the main branch and can be fetched from:

https://raw.githubusercontent.com/automators/datamaker-py/main/artifacts/autocomplete-types.ts

See artifacts/README.md for more details.

Development & Contibutions

See the contributing.md guide for details on how to contribute to this project.

Types

Response types are generated from the API's OpenAPI document, not hand-written:

spec/openapi.json  ->  src/datamaker/generated/schema.py  ->  src/datamaker/types.py

Import from datamaker.types, which resolves each spec schema name to the class that really matches it:

from datamaker.types import Project, Plan, Template

projects: list[Project] = dm.get_projects()

They are TypedDicts, so nothing changes at runtime — methods still return the plain dicts response.json() produces, and project["name"] works exactly as before. The types are checker-only.

To regenerate after the API changes:

python scripts/generate_schema.py

CI runs python scripts/generate_schema.py --check and fails if the committed types drift from the spec.

Three schemas cannot currently be generated (SetDetail, PackInstallListItem, SchemaGraphNavigation): they are composed with allOf, which the generator merges away rather than emitting as a named class. Methods returning those keep Dict. The generator script lists them explicitly and fails if the set grows.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datamaker_py-0.10.0.tar.gz (40.7 kB view details)

Uploaded Source

Built Distribution

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

datamaker_py-0.10.0-py3-none-any.whl (39.9 kB view details)

Uploaded Python 3

File details

Details for the file datamaker_py-0.10.0.tar.gz.

File metadata

  • Download URL: datamaker_py-0.10.0.tar.gz
  • Upload date:
  • Size: 40.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for datamaker_py-0.10.0.tar.gz
Algorithm Hash digest
SHA256 ec899765d5d36a7adf60d0ee82e29437d820a568d8c4887a9657b304fd5415c3
MD5 2367cba493f661e38ae8a3a8fcfd89b5
BLAKE2b-256 10f68b7afb76355d75508ef4cca9bab05aeb343b878d07a1dd023f5c9c0dd764

See more details on using hashes here.

Provenance

The following attestation bundles were made for datamaker_py-0.10.0.tar.gz:

Publisher: python-publish.yml on automators-com/datamaker-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file datamaker_py-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: datamaker_py-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 39.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for datamaker_py-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22db0b6a3597db8ac3beb518662fcfb87451e71838da02738d17c2e123893c26
MD5 b33184f6390fdc056595cb0c3433e6e9
BLAKE2b-256 aea162d9e48114829ecda312f719217cd9f332681dd64cd8a96698f88a52eca1

See more details on using hashes here.

Provenance

The following attestation bundles were made for datamaker_py-0.10.0-py3-none-any.whl:

Publisher: python-publish.yml on automators-com/datamaker-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.10.0 This release

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page