Skip to main content

Python wrapper around the Trello API (Home Assistant specific)

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).

Install

pip install ha-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

NOTE: It’s recommended to create a separate Trello account for testing. While the tests try to only modify or delete resources they’ve created, to remove all possibility of unintentional data loss, we recommend not using a personal Trello account with existing data.

To run tests across various Python versions, tox is supported. Install it and simply run tox from the ha-py-trello directory.

## Publishing To publish, simply create a release on GitHub and a workflow will kick off to publish to PyPI. If you’d like to publish locally, follow the below instructions.

First ensure the appropriate tools are installed locally: `shell python3 -m pip install --upgrade build python3 -m pip install --upgrade twine ` Then build and publish: `shell python3 -m build python3 -m twine upload dist/* ` For more information see the [official packaging and publishing docs](https://packaging.python.org/en/latest/tutorials/packaging-projects).

Forked from original: https://github.com/sarumont/py-trello

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

ha-py-trello-0.23.1.tar.gz (32.7 kB view details)

Uploaded Source

Built Distribution

ha_py_trello-0.23.1-py3-none-any.whl (43.8 kB view details)

Uploaded Python 3

File details

Details for the file ha-py-trello-0.23.1.tar.gz.

File metadata

  • Download URL: ha-py-trello-0.23.1.tar.gz
  • Upload date:
  • Size: 32.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for ha-py-trello-0.23.1.tar.gz
Algorithm Hash digest
SHA256 1623c54ccdd6bf86bed0a296dfc9433d55c2c8432d954e9e116dd1765c7b23ab
MD5 2e77387320d6cf0b6e14370ccfdc21b6
BLAKE2b-256 abf8f3587b836d8484529ae7db875252e3e6c752111607ccae38e5297b3a9b89

See more details on using hashes here.

File details

Details for the file ha_py_trello-0.23.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ha_py_trello-0.23.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4bcf69bae23b20bddd6a301e5eba47d67b40a442ae54fb778940caf3e022a225
MD5 548191d0362e01431dc743fd347c1c7d
BLAKE2b-256 ce344165c02128e4c7d94eaa7cc90e314d9a533d427338f6db05e598a6ce46fd

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 Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page