multi-span / potato /codebook /__init__.py
davidjurgens's picture
Deploy Potato demo: Potato — Multi-Field Spans
dc4d6fd verified
Raw
History Blame Contribute Delete
2.19 kB
"""
Codebook (universal annotation feature).
A mutable, optionally nested set of codes (labels) backed by the
universal `project.sqlite`. Opt-in per scheme via
`annotation_schemes[].codebook: true`; `codebook_mode`
(fixed|extensible|open) governs whether annotators may add codes on the
fly. Universal — usable in standard annotation, solo mode (human + LLM
co-edit), and QDA mode.
Layers:
- `store` — SQLite persistence (codes + annotation_codes).
- `codebook` — read-model: tree + flat label list for the schema bridge.
- `service` — the single audited mutation path (create/rename/recolor/
move_under/delete + annotation links); fires change listeners (ICL
prompt-cache invalidation).
"""
# Import order matters: .service -> .store registers the 0001_codebook
# migration (CREATE TABLE codes) which .revision's ALTER depends on.
from .service import (
CodebookCycleError,
CodebookError,
CodeNotFound,
DuplicateCodeError,
apply_code,
clear_change_listeners,
codes_on,
create_code,
delete_code,
merge_codes,
move_under,
recolor_code,
register_change_listener,
remove_code,
rename_code,
split_code,
)
from .codebook import Codebook
from .similar import derive_code_name, similar_code_names
from . import revision
from . import changelog
from .changelog import propose_change
from .revision import (
all_stale_instances,
codes_added_since,
current_revision,
instance_revision,
record_annotation,
stale_instances,
touch_instances,
)
__all__ = [
"Codebook",
"CodebookError",
"CodeNotFound",
"DuplicateCodeError",
"CodebookCycleError",
"create_code",
"rename_code",
"recolor_code",
"move_under",
"delete_code",
"merge_codes",
"split_code",
"touch_instances",
"apply_code",
"remove_code",
"codes_on",
"register_change_listener",
"clear_change_listeners",
"revision",
"current_revision",
"record_annotation",
"instance_revision",
"stale_instances",
"all_stale_instances",
"codes_added_since",
"derive_code_name",
"similar_code_names",
"changelog",
"propose_change",
]