Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sarumont/py-trello
Python API wrapper around Trello's API
https://github.com/sarumont/py-trello
Last synced: 3 months ago
JSON representation
Python API wrapper around Trello's API
- Host: GitHub
- URL: https://github.com/sarumont/py-trello
- Owner: sarumont
- License: bsd-3-clause
- Created: 2012-01-07T08:31:17.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2024-06-11T16:31:07.000Z (5 months ago)
- Last Synced: 2024-07-19T22:50:03.168Z (4 months ago)
- Language: Python
- Homepage:
- Size: 707 KB
- Stars: 942
- Watchers: 43
- Forks: 329
- Open Issues: 64
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG
- License: LICENSE
- Authors: AUTHORS.md
Awesome Lists containing this project
README
A wrapper around the Trello API written in Python. Each Trello object is
represented by a corresponding Python object. The attributes of these objects
are cached, but the child objects are not. This can possibly be improved when
the API allows for notification subscriptions; this would allow caching
(assuming a connection was available to invalidate the cache as appropriate).I've created a `Trello Board `_
for feature requests, discussion and some development tracking.Install
=======::
pip install py-trello
Usage
=====.. code-block:: python
from trello import TrelloClient
client = TrelloClient(
api_key='your-key',
api_secret='your-secret',
token='your-oauth-token-key',
token_secret='your-oauth-token-secret'
)Where ``token`` and ``token_secret`` come from the 3-legged OAuth process and
``api_key`` and ``api_secret`` are your Trello API credentials that are
(`generated here `_).To use without 3-legged OAuth, use only ``api_key`` and ``api_secret`` on client.
Working with boards
--------------------.. code-block:: python
all_boards = client.list_boards()
last_board = all_boards[-1]
print(last_board.name)working with board lists and cards
----------------------------------.. code-block:: python
all_boards = client.list_boards()
last_board = all_boards[-1]
last_board.list_lists()
my_list = last_board.get_list(list_id)for card in my_list.list_cards():
print(card.name)Getting your Trello OAuth Token
===============================
Make sure the following environment variables are set:* ``TRELLO_API_KEY``
* ``TRELLO_API_SECRET``These are obtained from the link mentioned above.
``TRELLO_EXPIRATION`` is optional. Set it to a string such as 'never' or '1day'.
Trello's default OAuth Token expiration is 30 days.Default permissions are read/write.
More info on setting the expiration here:
https://trello.com/docs/gettingstarted/#getting-a-token-from-a-userRun
::
python -m trello oauth
Required Python modules
=======================Found in ``requirements.txt``
Tests
=====To run the tests, run ``python -m unittest discover``. Four environment variables must be set:
* ``TRELLO_API_KEY``: your Trello API key
* ``TRELLO_TOKEN``: your Trello OAuth token
* ``TRELLO_TEST_BOARD_COUNT``: the number of boards in your Trello account
* ``TRELLO_TEST_BOARD_NAME``: name of the board to test card manipulation on. Must be unique, or the first match will be used
* ``TRELLO_TEST_STAR_COUNT``: the number of stars on your test Trello board*WARNING*: The tests will delete all cards on the board called `TRELLO_TEST_BOARD_NAME`!
To run tests across various Python versions,
`tox `_ is supported. Install it
and simply run ``tox`` from the ``py-trello`` directory.