Skip to main content

storycad

Python wrapper around the StoryCAD .NET API (StoryCADLib.Services.API.StoryCADApi). Hosts the CLR in-process via pythonnet and exposes a Pythonic, snake_case surface; errors surface as StoryCADError instead of OperationResult<T> sentinels, and async (Task<T>) methods are joined inline.

The wheel bundles a published build of StoryCADLib under storycad/runtime/, so end users do not need the .NET SDK — only the .NET 10 runtime (the wheel is built with --self-contained false).

Prerequisites

  • Python 3.10+
  • .NET 10 runtime installed on the host (https://dotnet.microsoft.com/download)
  • A supported platform (pip picks the matching wheel automatically): Linux x64, Linux arm64, macOS arm64, Windows x64.

Install

pip install StoryCADLib

Quick example

from storycad import StoryCAD

sc = StoryCAD()
guids = sc.create_empty_outline("My Story", "Author", "0")
overview = next(e for e in sc.get_all_elements() if e.element_type == "StoryOverview")
hero = sc.add_element(sc.item_type.Character, overview.uuid, "Hero")
sc.write_outline("/tmp/my_story.stbx")

Building from source

git clone https://github.com/storybuilder-org/StoryCAD
cd StoryCAD/bindings/python
./build-wheel.sh   # runs dotnet publish, stages runtime, then python -m build

The script detects your host RID, publishes StoryCADLib for the matching framework-dependent target, and produces a platform wheel under dist/.

Known limitations

  • Async methods are joined synchronously on the calling thread — no real asyncio integration yet.
  • Wheels are platform-specific; you need a wheel built for your OS + arch.
  • StoryCAD is GPL-3.0-or-later. Bundling its DLL into a wheel inherits that license; any project that ships this wheel must comply.

Metadata

Release files for StoryCADLib 4.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for StoryCADLib 4.3.2
File
storycadlib-4.3.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
storycadlib-4.3.2-cp312-cp312-manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
storycadlib-4.3.2-cp312-cp312-manylinux_2_17_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
storycadlib-4.3.2-cp312-cp312-macosx_26_0_arm64.whl CPython 3.12 CPython 3.12 macOS 26.0+ ARM64 Details

Total release size: 73.3 MB

Release files / storycadlib-4.3.2-cp312-cp312-win_amd64.whl

Download URL storycadlib-4.3.2-cp312-cp312-win_amd64.whl
Size 20.7 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
4efc33eb2aa6e135df489783fa5095c047ce1511eccbf4bd68128d7b54f25ebf
BLAKE2b-256 checksum
How to use checksums
79878ac55fae4d91ce11888e2a8cbe418c9c825f6d4af09f053279ffa2e7121d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / storycadlib-4.3.2-cp312-cp312-manylinux_2_17_x86_64.whl

Download URL storycadlib-4.3.2-cp312-cp312-manylinux_2_17_x86_64.whl
Size 15.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
10f434c49d2ff7b901a94d9135922ab9c39f5bc7f472dbb4e44e143cc2b6b6ca
BLAKE2b-256 checksum
How to use checksums
20b3482a3d480fdb07ed4e7050d4a3c0417cf929c26ce5ce43d9df6be908c8e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / storycadlib-4.3.2-cp312-cp312-manylinux_2_17_aarch64.whl

Download URL storycadlib-4.3.2-cp312-cp312-manylinux_2_17_aarch64.whl
Size 15.2 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
23f9ec5df686a3447bec3310000ce53bdccf1da1733eb74c71a10c08309de90a
BLAKE2b-256 checksum
How to use checksums
836cdf20b7614bff1519f80c0e8670e71ecfb73c8a953d2e7de9d17dabebe3e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / storycadlib-4.3.2-cp312-cp312-macosx_26_0_arm64.whl

Download URL storycadlib-4.3.2-cp312-cp312-macosx_26_0_arm64.whl
Size 22.2 MB
Tags CPython 3.12 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
5e47a2c67be545b6841cdad6bcbc27cbfef878c1255cf005468bd75be8f5bf6c
BLAKE2b-256 checksum
How to use checksums
08c540eebf2f0ae366b8eac6487bb28f37f0985f888c16abe48693c4e2802c10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

4.3.2 This release

4 release files

4.3.1

4 release files

4.3.0

4 release files

4.2.0

2 release 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