Skip to main content

Python wrapper around the Trello API

Project description

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

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

all_boards = client.list_boards()
last_board = all_boards[-1]
print(last_board.name)

working with board lists and cards

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-user

Run

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_trello-0.20.0.tar.gz (31.6 kB view details)

Uploaded Source

Built Distribution

py_trello-0.20.0-py3-none-any.whl (41.5 kB view details)

Uploaded Python 3

File details

Details for the file py_trello-0.20.0.tar.gz.

File metadata

  • Download URL: py_trello-0.20.0.tar.gz
  • Upload date:
  • Size: 31.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for py_trello-0.20.0.tar.gz
Algorithm Hash digest
SHA256 819d7e99d8e2bb8b7148a63463724107ab01f21fe971b35d09472ae698406f81
MD5 e5538f438c5a0ca3d3f82698227f7669
BLAKE2b-256 0ba25bb6e9a38ab32074f173130f5ff59e69abde531af54f56207d3bd1c91ec2

See more details on using hashes here.

File details

Details for the file py_trello-0.20.0-py3-none-any.whl.

File metadata

  • Download URL: py_trello-0.20.0-py3-none-any.whl
  • Upload date:
  • Size: 41.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for py_trello-0.20.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a9d532ff1e4dec96ca12757873cf66fe43d72e6de45a9f0ffd61365f85c3113e
MD5 0bb3669294cee58bd164290f6316164f
BLAKE2b-256 41451897c6df15743a75974724461da71405a2586baa4d71b5537ec4f5279c0e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page