Todoist REST API的官方Python SDK。
项目描述
Todoist API Python客户端
这是Todoist REST API的官方Python API客户端。
安装
可以将仓库作为Poetry依赖项包含在pyproject.toml
中。最好与发布标签集成,以确保稳定的依赖关系
[tool.poetry.dependencies]
todoist-api-python = "^v2.0.0"
支持的Python版本
Python 3.9得到完全支持和测试,尽管它可能与其他Python 3版本兼容,但我们并未对其进行测试。
用法
初始化API客户端并获取用户的任务的示例
from todoist_api_python.api_async import TodoistAPIAsync
from todoist_api_python.api import TodoistAPI
# Fetch tasks asynchronously
async def get_tasks_async():
api = TodoistAPIAsync("YOURTOKEN")
try:
tasks = await api.get_tasks()
print(tasks)
except Exception as error:
print(error)
# Fetch tasks synchronously
def get_tasks_sync():
api = TodoistAPI("my token")
try:
tasks = api.get_tasks()
print(tasks)
except Exception as error:
print(error)
分页遍历已完成项目任务的示例
def get_all_completed_items(original_params: dict):
params = original_params.copy()
results = []
while True:
response = api.get_completed_items(**(params | {"limit": 100}))
results.append(response.items)
if not response.has_more:
break
params["cursor"] = response.next_cursor
# flatten the results
return [item for sublist in results for item in sublist]
items = get_all_completed_items({"project_id": 123})
文档
有关更详细的参考文档,请参阅包含 Python 示例的API 文档。
开发
要安装 Python 依赖项
$ poetry install
要安装 pre-commit
$ poetry run pre-commit install
您可以通过运行以下命令尝试您的更改
$ poetry run python
然后,您可以在不创建文件的情况下,按照使用说明导入库。如果您决定使用 TodoistAPIAsync
,请注意您必须 import asyncio
并运行 asyncio.run(yourmethod())
来使异步方法按预期运行。
版本发布
此 API 客户端是公开的,可在 PyPI 仓库中找到。
通过在格式为 vX.Y.Z
(v<主版本>.<次版本>.<修订版本>
)的标签中创建版本,GitHub Actions 会自动发布新更新。
API 客户端用户可以在他们的 pyproject.toml
文件中更新到新版本。
反馈
有关错误、问题、评论等的任何反馈,都可以在此存储库中报告为 问题,并由 Doist 处理。
贡献
我们欢迎在此存储库中以 拉取请求 的形式贡献。