Skip to main content

Todoosy - Markdown-based todo system parser, formatter, linter, and query engine

Project description

Todoosy Python Library

Python implementation of the Todoosy format parser, formatter, linter, and query engine.

Installation

pip install -e .

For development:

pip install -e ".[dev]"

Usage

from todoosy import parse, format, lint, query_upcoming, query_misc, parse_scheme

# Parse a document
result = parse('''
# Work

- Task (due 2026-01-15 p1 2h)

# Misc
''')

# Access the AST
for item in result.ast.items:
    print(f"{item.title_text}: due={item.metadata.due}")

# Format a document
formatted = format(input_text)

# Lint a document
warnings = lint(input_text)
for w in warnings.warnings:
    print(f"{w.code}: {w.message}")

# Query upcoming items
scheme = parse_scheme(scheme_text)
upcoming = query_upcoming(input_text, scheme)
for item in upcoming.items:
    print(f"{item.path}: {item.due}")

# Query misc items
misc = query_misc(input_text)
for item in misc.items:
    print(item.title_text)

Running Tests

pytest

Project details


Download files

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

Source Distribution

todoosy-0.3.5.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

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

todoosy-0.3.5-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

Details for the file todoosy-0.3.5.tar.gz.

File metadata

  • Download URL: todoosy-0.3.5.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for todoosy-0.3.5.tar.gz
Algorithm Hash digest
SHA256 371d2fb4e7304d96fb31c3378862734bf83201dd6c48b736136ec981b2698eb6
MD5 8d951a84361f7106df9109462abedd2f
BLAKE2b-256 511dfdf1751f05c2683cd044cc22da53cf97be87a5c3c29ed92e865ca6a54a3b

See more details on using hashes here.

File details

Details for the file todoosy-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: todoosy-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 24.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for todoosy-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6c37d51064310684390da919b28f44e1fbd0eef20e7008f7a19a54f3d8638403
MD5 04dbd300dcf978b2442ce631842663e7
BLAKE2b-256 c9cad7d3a7ea8b720ba3a7f91f38077e66fdc6bc763c39953595052b11ee1e11

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page