Metadata-Version: 2.4 Name: todoist_api_python Version: 3.1.0 Summary: Official Python SDK for the Todoist API. Project-URL: Homepage, https://github.com/Doist/todoist-api-python Project-URL: Repository, https://github.com/Doist/todoist-api-python Project-URL: Documentation, https://developer.todoist.com/rest/ Author-email: Doist Developers License-Expression: MIT License-File: LICENSE Keywords: api,python,rest,sync,todoist Classifier: Intended Audience :: Developers Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Python: ~=3.9 Requires-Dist: annotated-types Requires-Dist: dataclass-wizard<1.0,>=0.35.0 Requires-Dist: requests<3,>=2.32.3 Description-Content-Type: text/markdown # Todoist API Python Client This is the official Python SDK for the Todoist API. ## Installation ```bash pip install todoist-api-python ``` Or add the project as a dependency in `pyproject.toml`: ```toml dependencies = [ "todoist-api-python>=3.1.0,<4", ] ``` ### Supported Python Versions Python version 3.9 and above. ## Usage Here's an example of initializing the API client, fetching a task, and paginating through its comments: ```python from todoist_api_python.api import TodoistAPI api = TodoistAPI("YOUR_API_TOKEN") task = api.get_task("6X4Vw2Hfmg73Q2XR") print(f"Task: {task.content}") comments_iter = api.get_comments(task_id=task.id) for comments in comments_iter: for comment in comments: print(f"Comment: {comment.content}") ``` ## Documentation For more detailed reference documentation, have a look at the [SDK documentation](https://doist.github.io/todoist-api-python/) and the [API documentation](https://developer.todoist.com). ## Development To install Python dependencies: ```sh $ uv sync ``` To install pre-commit: ```sh $ uv run pre-commit install ``` You can try your changes via REPL by running: ```sh $ uv run python ``` You can then import the library as described in [Usage](#usage) without having to create a file. If you decide to use `TodoistAPIAsync`, please keep in mind that you have to `import asyncio` and run `asyncio.run(yourmethod())` to make your async methods run as expected. ### Releases This API client is public, and available in a PyPI repository. A new update is automatically released by GitHub Actions, by creating a release with a tag in the format `vX.Y.Z` (`v..`). Users of the API client can then update to the new version in their `pyproject.toml` file. ## Feedback Any feedback, bugs, questions, comments, etc., can be reported as *Issues* in this repository. ### Contributions We would love contributions! *Pull requests* are welcome.