Skip to main content

iil-authoringfw — Authoring Framework

Domain schemas for AI-assisted creative writing applications.

PyPI Python License: MIT

Installation

pip install iil-authoringfw
# With aifw LLM integration:
pip install "iil-authoringfw[aifw]"
# All optional dependencies:
pip install "iil-authoringfw[all]"

Extras / Optional Dependencies

Extra Dependencies Purpose
aifw iil-aifw>=0.11.4 LLM completion integration (quality_level/priority routing needs >=0.11.2)
yaml pyyaml>=6.0 YAML template loading
promptfw iil-promptfw>=0.5.5 Prompt template rendering
all all above Full feature set

Quick Start

from authoringfw import StyleProfile, CharacterProfile, WorldContext, get_format

# Style constraints for prompt injection
style = StyleProfile(tone="melancholic", pov="third_limited", tense="past")
constraints = style.to_constraints()

# Character context
alice = CharacterProfile(
    name="Alice",
    role="protagonist",
    personality_traits=["brave", "curious"],
    arc="From fear to courage",
)
print(alice.to_context_string())

# World context
world = WorldContext(
    title="The Shattered Realms",
    genre="fantasy",
    world_rules=["Magic costs life force", "Dragons are extinct"],
)
print(world.to_context_string())

# Format profiles (novel, essay, series, scientific)
roman = get_format("roman")
print(roman.style_constraints)

Schemas

  • StyleProfile — tone, POV, tense, vocabulary, sentence rhythm
  • CharacterProfile — name, role, traits, backstory, arc, relationships
  • WorldContext — title, genre, setting, world rules, locations, lore
  • VersionMetadata — immutable content snapshot with hash, semver, LLM metadata
  • PhaseSnapshot — project state at a workflow phase boundary

Format Profiles

Built-in formats: roman (alias novel), essay, serie, scientific, nonfiction, academic, screenplay, short_story, blog_post, podcast_script. The registry (authoringfw.formats.base.FORMAT_REGISTRY) is the source of truth.

from authoringfw.formats.base import get_format, WorkflowPhase

novel = get_format("roman")
outline_steps = novel.steps_for_phase(WorkflowPhase.OUTLINE)

Adapter Interfaces

Protocol-based adapters — no inheritance required:

from authoringfw.adapters.interfaces import IStyleAdapter

class MyStyleAdapter:
    async def get_profile(self, style_id): ...
    async def analyze_text(self, text): ...
    def generate_style_constraints(self, profile): ...
    async def score_conformity(self, text, profile): ...

adapter = MyStyleAdapter()
assert isinstance(adapter, IStyleAdapter)  # True via @runtime_checkable

Changelog

See CHANGELOG.md.

Download files

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

Source Distribution

iil_authoringfw-0.11.6.tar.gz (69.8 kB view details)

Uploaded Source

Built Distribution

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

iil_authoringfw-0.11.6-py3-none-any.whl (55.0 kB view details)

Uploaded Python 3

File details

Details for the file iil_authoringfw-0.11.6.tar.gz.

File metadata

  • Download URL: iil_authoringfw-0.11.6.tar.gz
  • Upload date:
  • Size: 69.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for iil_authoringfw-0.11.6.tar.gz
Algorithm Hash digest
SHA256 6258abae9dc27c63ba1d625d65859b467e5ef8596fb5e61f20a3bc57d724224c
MD5 f706d3b563520770e38eb9dc086b4eb3
BLAKE2b-256 f5d2c0f86f703f3c0cf353c7db5983b59a26798c1c436e728a9cae66cc0dd8d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for iil_authoringfw-0.11.6.tar.gz:

Publisher: publish.yml on achimdehnert/authoringfw

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

File details

Details for the file iil_authoringfw-0.11.6-py3-none-any.whl.

File metadata

File hashes

Hashes for iil_authoringfw-0.11.6-py3-none-any.whl
Algorithm Hash digest
SHA256 577bb0989d7a62fa10aa0785c7c1a79afdd2e0085eae785fc94d741d9bf4d530
MD5 1cff1ad0cf11780557ccaf88926153fc
BLAKE2b-256 c75ea2696522a28427cdc4bea811280cbfe59c09b26c29ee4873da18ced2c16c

See more details on using hashes here.

Provenance

The following attestation bundles were made for iil_authoringfw-0.11.6-py3-none-any.whl:

Publisher: publish.yml on achimdehnert/authoringfw

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.11.6 This release

2 files

0.11.5

2 files

0.11.1

2 files

0.10.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.2

2 files

0.6.0

2 files

0.5.0

2 files

0.3.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