1. Paginate through all current level blocks before recursing into children (before this PR we would go back and forth between paginate and recurse) 2. For top-level blocks only, split blocks into 5 lists, and concurrently get their content --------- From my local timing benchmarks, this speeds up the tool call by ~60% (23 seconds to 9.1 seconds) for larger Notion pages Without optimization: Avg 22995 Attempt 1: 27503.49497795105 Attempt 2: 20863.977909088135 Attempt 3: 20888.309955596924 Attempt 4: 18574.61714744568 Attempt 5: 27147.75586128235 With optimization: Avg 9148.6 Attempt 1: 9941.372871398926 Attempt 2: 10097.685098648071 Attempt 3: 7855.895042419434 Attempt 4: 9078.719854354858 Attempt 5: 8772.69196510315
39 lines
862 B
TOML
39 lines
862 B
TOML
[tool.poetry]
|
|
name = "arcade_notion_toolkit"
|
|
version = "0.1.3"
|
|
description = "Arcade.dev LLM tools for Notion"
|
|
authors = ["ArcadeAI <dev@arcade.dev>"]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.10"
|
|
arcade-ai = "^1.1.2"
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
pytest = "^8.3.0"
|
|
pytest-cov = "^4.0.0"
|
|
mypy = "^1.5.1"
|
|
pre-commit = "^3.4.0"
|
|
tox = "^4.11.1"
|
|
ruff = "^0.7.4"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0,<2.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.mypy]
|
|
files = ["arcade_notion_toolkit/**/*.py"]
|
|
python_version = "3.10"
|
|
disallow_untyped_defs = "True"
|
|
disallow_any_unimported = "True"
|
|
no_implicit_optional = "True"
|
|
check_untyped_defs = "True"
|
|
warn_return_any = "True"
|
|
warn_unused_ignores = "True"
|
|
show_error_codes = "True"
|
|
ignore_missing_imports = "True"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
|
|
[tool.coverage.report]
|
|
skip_empty = true
|