A Python library for working with the Trello api.
Project description
Meet Trollop
Trollop is a Python library for working with the Trello API.
Quick Start
A Trello connection is instantiated with your API key and a user’s oauth token:
In [1]: from trollop import TrelloConnection In [2]: conn = TrelloConnection(<your developer key>, <user's oauth token>)
The connection object will automatically have a Member object attached, representing the user whose oauth token was used to connect:
In [3]: conn.me Out[3]: <trollop.lib.Member object at 0x101707650> In [4]: conn.me.username Out[4]: u'btubbs'
In the previous example no HTTP request was made until command 4, the access to conn.me.username. Trollop objects are lazy.
The connection object has methods for getting objects by their IDs:
In [5]: card = conn.get_card('4f2e454cefab2bbd4ea71b02') In [6]: card.name Out[6]: u'Build a Python Trello Library' In [7]: card.desc Out[7]: u'And call it Trollop.'
You can use normal Python introspection techniques to see the available attributes. They’ll mostly be named exactly as they are in the JSON returned from Trello:
In [13]: dir(card) Out[13]: ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattr__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_conn', '_id', '_path', '_prefix', 'badges', 'board', 'checkItemStates', 'close', 'closed', 'desc', 'labels', 'list', 'members', 'name', 'url']
The exact parsed JSON returned from trello.com is available as the _data attribute on all Trello objects:
In [7]: card._data Out[7]: {u'badges': {u'attachments': 0, u'checkItems': 0, u'checkItemsChecked': 0, u'comments': 1, u'description': True, u'due': None, u'fogbugz': u'', u'votes': 0}, u'checkItemStates': [], u'closed': True, u'desc': u'And call it Trollop.', u'id': u'4f2e454cefab2bbd4ea71b02', u'idBoard': u'4e8df268f14f2517a7a342fa', u'idList': u'4f17cb04d5c817032301c179', u'idMembers': [], u'idShort': 130, u'labels': [], u'name': u'Build a Python Trello Library', u'url': u'https://trello.com/card/build-a-python-trello-library/4e8df268f14f2517a7a342fa/130'}
Trello objects have smart fields that automatically look up related objects:
In [9]: lst = card.list In [10]: lst Out[10]: <trollop.lib.List object at 0x101707890> In [11]: lst.name Out[11]: u'Icebox' In [12]: lst._id Out[12]: u'4f17cb04d5c817032301c179' In [13]: len(lst.cards) Out[13]: 20 In [14]: lst.cards[-1].name Out[14]: u'Build a Python Trello Library'
Help Wanted
Coverage for creating/updating objects is still really thin. If you’d like to pitch in to finish covering the whole API, please send a pull request with your changes.
License
Trollop is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file trollop-0.0.6.tar.gz
.
File metadata
- Download URL: trollop-0.0.6.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa8bfdfda0b35f59495a098edd4297105a97188030cc5ceee7bde4256397ccc9 |
|
MD5 | f76e986a296fb42bbe4c9320a7d25797 |
|
BLAKE2b-256 | 8190a8f05e7a0694a9076ec9fb440916afde0102213d3439a6f768459b0eb253 |