Metadata-Version: 2.5
Name: render-lab-tasks-notion
Version: 0.1.0
Summary: notion tasks for Render Workflows
Project-URL: Repository, https://github.com/render-lab/render-tasks-python
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: httpx<0.29,>=0.28
Requires-Dist: render-lab-tasks-core<0.2,>=0.1.1
Requires-Dist: render==1.0.1
Description-Content-Type: text/markdown

# Notion tasks for Python

Install `render-lab-tasks-notion` and import the tasks and `app` from
`render_lab_tasks_notion.tasks`. Raw `*_impl` functions take injectable
`Deps(notion=...)`. The package root and Markdown helpers are registration-free.

## Environment

`NOTION_TOKEN` is read lazily. The adapter pins Notion API `2025-09-03` and performs
one HTTP attempt. Durable task retries own backoff. No live workspace writes have
been used for verification.

Database operations resolve the first data source. Query and comment results carry
continuation cursors; search and users collect up to their requested limit.
Upserts preserve the TS title/property matching and duplicate cleanup behavior.
Markdown supports headings, nested lists, to-dos, quotes, code, tables, inline
styles and links. Append/create requests split at 100 blocks; rich text splits at
2000 characters. Retrieval renders children only when supplied inline by the API.

Rich-text chunks count Unicode code points, preserving whole characters. The TS
implementation counts UTF-16 units and can split surrogate pairs; Python keeps
valid Unicode throughout the JSON boundary (ADR-0018).

## Installation

```sh
pip install render-lab-tasks-notion==0.1.0
```
