Implementation
Prompty has runtime implementations in multiple languages. Each follows the same pipeline architecture, uses generated model types from the in-repository schema, and is validated by shared conformance vectors for observable behavior.
| Language | Status | Package |
|---|---|---|
| Python | ✅ Stable | prompty on PyPI |
| TypeScript | ✅ Stable | @prompty/core on npm |
| C# | ✅ Stable | Prompty.Core, Prompty.OpenAI, Prompty.Foundry, Prompty.Anthropic on NuGet |
| Rust | ✅ Stable | prompty, prompty-openai, prompty-foundry, prompty-anthropic on crates.io |
| Java | ✅ Alpha | Java runtime packages |
| Go | ✅ Alpha | Go module under runtime/go/prompty |
| Swift | ✅ Alpha | Prompty, PromptyOpenAI, PromptyFoundry, PromptyAnthropic SwiftPM packages |
Choosing a Runtime
Section titled “Choosing a Runtime”All runtimes share the same .prompty file format and generated model contract
— a prompt written for one runtime should load and prepare the same way in any
other runtime. The differences are in installation, API style, host integration,
and provider packages.
Canonical vectors cover load, render, parse, provider wire contracts, response processing, agent/tool behavior, memory behavior, memory context injection, and live provider acceptance when environment variables are present. Missing live provider credentials skip those checks; present credentials plus provider rejection fail them.
Python
Section titled “Python”- Most mature runtime with all features implemented
- Async support via
_asyncvariants of every function - Entry-point-based plugin discovery
- Install:
uv pip install "prompty[all]"
TypeScript
Section titled “TypeScript”- Modular package architecture (
@prompty/core+ provider packages) - Native async/await throughout
- Provider registration via side-effect imports
- Install:
npm install @prompty/core @prompty/openai
- Stable packages available on NuGet:
Prompty.Core,Prompty.OpenAI,Prompty.Foundry,Prompty.Anthropic - Static
PipelineAPI with async-first design - Same four-stage render → parse → execute → process architecture
- Install:
dotnet add package Prompty.Core
- Async-only runtime (Tokio) with zero-cost abstractions
- Modular crate architecture (
promptycore + provider crates) - Trait-based plugin system (
Executor,Processor,Renderer,Parser) - Full agent loop with events, cancellation, guardrails, and steering
- Install:
cargo add prompty prompty-openai
Provider Packages
Section titled “Provider Packages”| Provider | Python | TypeScript | C# | Rust | Swift |
|---|---|---|---|---|---|
| OpenAI | prompty[openai] |
@prompty/openai |
Prompty.OpenAI |
prompty-openai |
PromptyOpenAI |
| Microsoft Foundry | prompty[foundry] |
@prompty/foundry |
Prompty.Foundry |
prompty-foundry |
PromptyFoundry |
| Anthropic | prompty[anthropic] |
@prompty/anthropic |
Prompty.Anthropic |
prompty-anthropic |
PromptyAnthropic |
Provider feature coverage is not identical in every runtime. For model/deployment discovery support, see Discover Available Models. For endpoint-backed verification, see Run Live Provider Tests.
Code Generation
Section titled “Code Generation”Prompty’s runtime model types and schema reference are generated from the in-repository TypeSpec model via the Typra emitter. For details on how the generator works, see Code Generation.