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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1623c54ccdd6bf86bed0a296dfc9433d55c2c8432d954e9e116dd1765c7b23ab |
|
MD5 | 2e77387320d6cf0b6e14370ccfdc21b6 |
|
BLAKE2b-256 | abf8f3587b836d8484529ae7db875252e3e6c752111607ccae38e5297b3a9b89 |
File details
Details for the file ha_py_trello-0.23.1-py3-none-any.whl
.
File metadata
- Download URL: ha_py_trello-0.23.1-py3-none-any.whl
- Upload date:
- Size: 43.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bcf69bae23b20bddd6a301e5eba47d67b40a442ae54fb778940caf3e022a225 |
|
MD5 | 548191d0362e01431dc743fd347c1c7d |
|
BLAKE2b-256 | ce344165c02128e4c7d94eaa7cc90e314d9a533d427338f6db05e598a6ce46fd |