Dict-like task with attribute access.
task ["title" ] # content fields
dict (task ) # all content fields
task .keys () # content field names
Content Fields (dict + attr)
Field
Type
state
str
title
str
priority
str | None
due_date
str | None
planned_date
str | None
done_date
str | None
estimate_minutes
int | None
recurrence
str | None
created_date
str | None
started_date
str | None
paused_date
str | None
assignees
list[str]
project_path
str | None
tags
list[str]
custom_fields
dict[str, str]
subtasks
list[Task]
Location Fields (attr only)
Field
Type
file
Path | None
line
int | None
indent
int
Provenance Fields (attr only)
Field
Type
inherited_project_path
str | None
explicit_project_path
str | None
inherited_tags
list[str]
explicit_tags
list[str]
inherited_assignees
list[str]
explicit_assignees
list[str]
inherited_custom_fields
dict[str, str]
explicit_custom_fields
dict[str, str]
Method
Description
to_dict()
Serialize to dict
to_markdown()
Serialize to markdown
to_markdown_line()
Full line with indent
to_markdown_block()
Task + subtasks
content_eq(other)
Compare content only
content_hash()
Hash for deduplication
Parse result. Iterable over tasks.
for task in store : ...
len (store )
store [0 ]
Field
Type
tasks
list[Task]
warnings
list[Warning]
files
dict[Path, FileInfo]
root_file
Path | None
frontmatter
Frontmatter | None
Property/Method
Description
is_clean
True if no warnings
check()
Raise ParseError if warnings
Changes to apply via update().
Field
Type
state
str | None | REMOVE
title
str | None
priority
str | None | REMOVE
due_date
str | None | REMOVE
planned_date
str | None | REMOVE
done_date
str | None | REMOVE
estimate_minutes
int | None | REMOVE
recurrence
str | None | REMOVE
tags
list[str] | None
assignees
list[str] | None
custom_fields
dict[str, str] | None
subtasks
list[Task] | None
Notes:
None = no change
REMOVE = remove field
Lists replace entirely (use helpers to merge)
Result of update().
Field
Type
status
UpdateStatus
task
Task | None
rejected
list[RejectedChange]
error
str | None
Value
Meaning
SUCCESS
All changes applied
PARTIAL
Some rejected
FAIL
Task not found or ambiguous
Result of batch_update().
Field
Type
total
int
succeeded
int
partial
int
failed
int
results
list[UpdateResult]
Result of write_updates().
Field
Type
files_modified
list[Path]
tasks_updated
int
Sentinel to remove field.
from taskmark import REMOVE
changes = TaskChanges (priority = REMOVE )
Parse warning.
Field
Type
line
int
message
str
source_file
str | None
File metadata.
Field
Type
path
Path
content
str
lines
list[str]
linked_from
Path | None
link_line
int | None
File-level metadata from YAML front matter.
Field
Type
timezone
str | None
locale
str | None
Exception from check().