Skip to main content

# DEPRECATED

This is no longer supported, as we’re investing in SDKs using our [REST API](https://developer.todoist.com/rest/).

Please consider using [Doist/todoist-api-python](https://github.com/Doist/todoist-api-python) instead, which should cover most use-cases.

—

# The official Todoist Python API library

Welcome to the official client to the [Todoist Sync API](https://developer.todoist.com/sync/).

This client makes actions using the Sync API easier to use and also caches values locally to make right usage of the partial sync mechanism of the API.

## Installing

The package can be installed as any other pip package:

`bash pip install todoist-python `

The official Documentation can be found at https://todoist-python.readthedocs.io/en/latest/.

## Using

You can import todoist-python on your Python application or just try it out from the python REPL (read-eval-print-loop).

This is how it looks like when using the REPL:

`python $ python >>> import todoist >>> api = todoist.TodoistAPI('0123456789abcdef0123456789abcdef01234567') >>> api.sync() >>> full_name = api.state['user']['full_name'] >>> print(full_name) John Doe >>> for project in api.state['projects']: ... print(project['name']) ... Personal Shopping Work Errands Movies to watch `

The state attribute has all the data of your full sync and the sync method does the job of keeping things in sync in the best way possible.

You can add or change data as well. Let’s add a task and change it as examples:

`python $ python >>> import todoist >>> api = todoist.TodoistAPI('0123456789abcdef0123456789abcdef01234567') >>> item = api.items.add('My taks') # oh no, typo! >>> api.commit() # commit the changes to the server {'id': 1234567890, u'content': u'My taks', u'user_id': 1, ...} >>> >>> api.items.update(item['id'], content='My task') >>> api.commit() # never forget to commit! {'id': 1234567890, u'content': u'My task', u'user_id': 1, ...} `

That’s it! To know what actions are available for each object, refer to Managers in our [official documentation](https://todoist-python.readthedocs.io).

We also document all the actions available on this library along with our official API documentation. Here is one example of the [add task endpoint](https://developer.todoist.com/sync/v8/?python#add-an-item). Check the _python_ tab on the examples for actions related to this library.

## Development

### Build Project

This project still supports Python 2.7 but we recommend Python 3.

We recommend using [virtualenv](https://pypi.python.org/pypi/virtualenv) and [pip](https://pypi.python.org/pypi/pip) for the project bootstrap. Below is a step by step of the bootstrap process:

Clone the repo and enter it:

$ git clone git@github.com:Doist/todoist-python.git ; cd todoist-python

Create an environment:

$ virtualenv –system-site-packages -p /usr/bin/python2.7 env # if you need python2.7 $ virtualenv –system-site-packages env # use only python3 if you run this

Activate the environment:

$ source env/bin/activate

Install the library along with all the dependencies (just requests for this project):

$ pip install -e .

### Build Documentation

If you want to build the documentation as well, install some extra packages:

$ pip install -r doc/requirements.txt

Build the documentation:

$ (cd doc ; make html)

Read the built documentation by opening:

doc/_build/html/index.html

## Testing the library

We have a set of tests to ensure we support Python both 2.x and 3.x.

To test it out, please make sure you have python 2 and python 3 installed in your system. Then install “tox” either globally (preferred way) or in your local environment.

# apt-get install python-tox

or

$ pip install tox

You will also need to have the pytest.ini file. We are providing a pytest.ini.sample that you can copy and paste to create your own pytest.ini.

You will need two different tokens (token and token2 keys on on pytest.ini) to be able to run all the tests successfully, since we have tests for the sharing features.

With the setup done, you can just run:

$ tox

Keep in mind that running the whole test suit may cause some tests to fail as you will certaily hit some limits of API usage. We recommend only running the test for your feature.

Release files for todoist-python 8.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for todoist-python 8.1.4
File Size Uploaded
todoist-python-8.1.4.tar.gz 28.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for todoist-python 8.1.4
File Interpreter ABI Platform
todoist_python-8.1.4-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 55.4 kB

Release files / todoist-python-8.1.4.tar.gz

Download URL todoist-python-8.1.4.tar.gz
Size 28.9 kB
Tags Source
SHA-256 checksum
How to use checksums
46483a7922e241ef0365a56ed8312794a2def112e44702a6a70f936988fe969d
BLAKE2b-256 checksum
How to use checksums
edf1d2e361e5dac20fe33ecde22d1d738ff4632564487e753a9a429cb70d6aa6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release files / todoist_python-8.1.4-py2.py3-none-any.whl

Download URL todoist_python-8.1.4-py2.py3-none-any.whl
Size 26.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ad2e06934de62466c3540c8b94b5b86d82dbd9df65de02d7f4b4987b91b21f3f
BLAKE2b-256 checksum
How to use checksums
db5c79991ae3a2615d2c9d0be725104bac001eb9023b885855a2a930d34bb976
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release history Release notifications | RSS feed

This release

8.1.4 This release

2 release files

8.1.3

2 release files

8.1.2

1 release file

8.1.1

2 release files

8.1.0

2 release files

8.0.2

1 release file

8.0.1

1 release file

8.0.0

2 release files

7.0.19

1 release file

7.0.18

1 release file

7.0.17

2 release files

7.0.16

1 release file

7.0.15

1 release file

7.0.14

1 release file

7.0.13

1 release file

7.0.12

1 release file

7.0.11

1 release file

7.0.10

1 release file

7.0.9

1 release file

7.0.8

1 release file

7.0.7

1 release file

7.0.6

1 release file

7.0.5

1 release file

7.0.4

1 release file

7.0.3

1 release file

7.0.2

1 release file

7.0.1

1 release file

7.0

1 release file

0.2.26

1 release file

0.2.25

1 release file

0.2.24

1 release file

0.2.23

1 release file

0.2.22

1 release file

0.2.21

1 release file

0.2.20

1 release file

0.2.19

1 release file

0.2.18

1 release file

0.2.17

2 release files

0.2.16

1 release file

0.2.15

1 release file

0.2.14

1 release file

0.2.13

1 release file

0.2.12

1 release file

0.2.11

1 release file

0.2.10

1 release file

0.2.9

1 release file

0.2.8

1 release file

0.2.7

1 release file

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page