todoist-python - Todoist官方Python API库
项目描述
# 已废弃
这不再受支持,因为我们正在投资使用我们的[REST API](https://developer.todoist.com/rest/)的SDK。
请考虑使用[Doist/todoist-api-python](https://github.com/Doist/todoist-api-python),它应该涵盖大多数用例。
—
# Todoist官方Python API库
欢迎使用[Todoist Sync API](https://developer.todoist.com/sync/)的官方客户端。
此客户端使使用Sync API的操作更容易使用,并且还本地缓存值,以便正确使用API的部分同步机制。
## 安装
该软件包可以像其他任何pip软件包一样安装
`bash pip install todoist-python `
官方文档可以在以下网址找到:https://todoist-python.readthedocs.io/en/latest/。
## 使用
您可以在Python应用程序中导入 todoist-python,或者直接在Python的REPL(读取-评估-打印循环)中尝试。
这是使用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']) ... 个人购物 工作 事务 要观看的电影 `
state 属性包含了您完整同步的所有数据,而 sync 方法以最佳方式保持数据同步。
您也可以添加或更改数据。以下是一个添加任务并更改任务的示例
`python $ python >>> import todoist >>> api = todoist.TodoistAPI('0123456789abcdef0123456789abcdef01234567') >>> item = api.items.add('My taks') # 错别字! >>> api.commit() # 将更改提交到服务器 {'id': 1234567890, 'content': 'My taks', 'user_id': 1, ...} >>> api.items.update(item['id'], content='My task') >>> api.commit() # 千万别忘了提交! {'id': 1234567890, 'content': 'My task', 'user_id': 1, ...} `
这就完成了!要了解每个对象可用的操作,请参阅我们的[官方文档](https://todoist-python.readthedocs.io)中的Managers。
我们在官方API文档中也记录了该库中所有可用的操作。以下是一个[添加任务端点](https://developer.todoist.com/sync/v8/?python#add-an-item)的示例。检查示例中的 _python_ 选项卡,了解与该库相关的操作。
## 开发
### 构建项目
此项目仍支持Python 2.7,但我们推荐使用Python 3。
我们建议使用[虚拟环境](https://pypi.python.org/pypi/virtualenv)和[pip](https://pypi.python.org/pypi/pip)来创建项目环境。以下是创建环境的步骤:
克隆仓库并进入
$ git clone git@github.com:Doist/todoist-python.git ; cd todoist-python
创建一个环境
$ virtualenv –system-site-packages -p /usr/bin/python2.7 env # 如果需要Python 2.7 $ virtualenv –system-site-packages env # 如果运行Python 3,则使用此命令
激活环境
$ source env/bin/activate
安装库以及所有依赖项(本项目仅需 requests)
$ pip install -e .
### 构建文档
如果您还想构建文档,需要安装一些额外的包
$ pip install -r doc/requirements.txt
构建文档
$ (cd doc ; make html)
通过打开以下文件阅读构建的文档
doc/_build/html/index.html
## 测试库
我们有一套测试来确保我们支持Python 2.x和3.x。
要测试它,请确保您的系统已安装Python 2和Python 3。然后全局(推荐方式)或在本地环境中安装“tox”。
# apt-get install python-tox
或者
$ pip install tox
您还需要有 pytest.ini 文件。我们提供了一个 pytest.ini.sample,您可以复制并粘贴以创建自己的 pytest.ini。
您需要两个不同的令牌(在 pytest.ini 中的 token 和 token2 键)才能成功运行所有测试,因为我们有共享功能的测试。
设置完成后,您只需运行
$ tox
请注意,运行整个测试套件可能会使某些测试失败,因为您肯定会遇到 API 使用的一些限制。我们建议仅运行您功能的测试。