Skip to main content

Generate large corpora of synthetic data for world building

Project description

Asynmov

Generate large corpora of synthetic data for world building. Asynmov pairs a Python API with a high-performance Rust core so you can produce millions of coherent entities, events, and relationships — the raw material for fiction, games, simulation, and LLM training data — without hitting a performance wall.

Features

  • Entity generation — characters with internally consistent attributes driven by world configuration
  • Event generation — causally ordered life events (birth, migration, occupation, death, and more)
  • Relationship graphs — social, family, and professional networks across the population
  • Configuration-first — describe the world in a TOML file; Asynmov handles the rest
  • Deterministic — supply a seed and get identical output every time
  • Multiple output formats — JSON, JSONL, and CSV, ready to load into any downstream tool
  • CLI includedasynmov generate and asynmov validate for scripted pipelines

Installation

pip install asynmov

Pre-built wheels are provided for Linux (x86_64, aarch64), macOS (x86_64, arm64), and Windows (x86_64). No Rust toolchain required to use the package.

Quick start

from asynmov import World

world = World.from_config("my_world.toml")
corpus = world.generate(scale=1000)
corpus.export("output/", format="json")

A minimal config:

[world]
name = "The Gilded Republic"
era = "1880-1920"
setting = "american_historical"
seed = 42

[population]
size = 1000
regions = ["northeast", "midwest", "south"]

CLI

# Generate a corpus
asynmov generate --config my_world.toml --scale 5000 --output output/ --format jsonl

# Validate a config without generating
asynmov validate my_world.toml

Development

Requires a Rust toolchain (rustup.rs) and maturin.

pip install maturin
maturin develop      # compile Rust extension and install into current venv
pytest               # run tests

Documentation

Full design and architecture documentation lives in docs/.

License

MIT — see 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

asynmov-0.0.1a0.tar.gz (33.5 kB view details)

Uploaded Source

Built Distributions

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

asynmov-0.0.1a0-cp313-cp313-win_amd64.whl (92.6 kB view details)

Uploaded CPython 3.13Windows x86-64

asynmov-0.0.1a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (183.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

asynmov-0.0.1a0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (177.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

asynmov-0.0.1a0-cp313-cp313-macosx_11_0_arm64.whl (171.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

asynmov-0.0.1a0-cp313-cp313-macosx_10_12_x86_64.whl (178.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

File details

Details for the file asynmov-0.0.1a0.tar.gz.

File metadata

  • Download URL: asynmov-0.0.1a0.tar.gz
  • Upload date:
  • Size: 33.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for asynmov-0.0.1a0.tar.gz
Algorithm Hash digest
SHA256 c88737f9122d100a2e2bfe2f286148e5754f47bfdf4b53ce2f872a997c97cff9
MD5 1b5acee2e700d5c6ed4426e3eb61b1b5
BLAKE2b-256 8dfac72b52dd114e64db39b92ba2a124982c3835c15d9c1599aa4dc2039ec3a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for asynmov-0.0.1a0.tar.gz:

Publisher: publish.yml on DecisionNerd/asynmov

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

File details

Details for the file asynmov-0.0.1a0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: asynmov-0.0.1a0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 92.6 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for asynmov-0.0.1a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 08bbbeb62964e394459cfdd7219cb094a0d4f298c82f312d9e3e871d96823601
MD5 f061b80e55edfa29ef254bcabe0563a0
BLAKE2b-256 b05f6bd3972c7d7d8f6325da289459085c28151f1da197a0c8b9d72c89adf23f

See more details on using hashes here.

Provenance

The following attestation bundles were made for asynmov-0.0.1a0-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on DecisionNerd/asynmov

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

File details

Details for the file asynmov-0.0.1a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for asynmov-0.0.1a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4edb3a980451c74f70bb9adae3b8f6db3c327f0f3e0d8143265665d4cb67147d
MD5 ae94ee15b552801627cb4e57648f4f9b
BLAKE2b-256 fd00b31a9b5ab4d648dc7e38b8439f537dcabb005461fa4c8e4d160b12c71f46

See more details on using hashes here.

Provenance

The following attestation bundles were made for asynmov-0.0.1a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on DecisionNerd/asynmov

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

File details

Details for the file asynmov-0.0.1a0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for asynmov-0.0.1a0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0f6de5af1c0b0625e181b07f8a9598208e6109c76cc68d981aea7bb1e46eb643
MD5 898af157f0f2dd6e5cc7b1cee5ec2515
BLAKE2b-256 00910a10362ebb54b3ca9da4cf1189a9289cb3a7c539ff9d065d1962aa43afba

See more details on using hashes here.

Provenance

The following attestation bundles were made for asynmov-0.0.1a0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on DecisionNerd/asynmov

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

File details

Details for the file asynmov-0.0.1a0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for asynmov-0.0.1a0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 056b8975e60ffa734bc7de14dffb462d427aceedc68c439410f80c50ae856bcf
MD5 8db2d1b902c884720e8dd06fa0e79873
BLAKE2b-256 bde2704a99f6667b7647b4bfb0daf1a7ff34650c8d167482908c97faca343a0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for asynmov-0.0.1a0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on DecisionNerd/asynmov

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

File details

Details for the file asynmov-0.0.1a0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for asynmov-0.0.1a0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3cbee4ee1e1a91d61fa5352e384d80718a951a3a24e9c377f6b99c3907faedc2
MD5 2ccbb75974fa89c03676430b5bac8052
BLAKE2b-256 bf15ebd1cf8a0861c24569fa2542f940f8ddc65a00e0ff67431f000c759647d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for asynmov-0.0.1a0-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: publish.yml on DecisionNerd/asynmov

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

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