Skip to content

crabber-net/python-crabber

Repository files navigation

python-crabber

PyPI version ReadTheDocs

A Python client for the Crabber.net REST API.

Installation

pip install python-crabber

Documentation

You can find the full documentation at ReadTheDocs.

Usage

>>> import crabber
>>> help(crabber.API)

Authentication is done with developer/api keys and access tokens. You can get both of these at https://crabber.net/developer/. Only an API key is needed to access Crabber's API.

>>> api = crabber.API(api_key=YOUR_DEVELOPER_KEY)
>>> jake = api.get_crab_by_username('jake')
>>> jake
<Crab @jake [1]>
>>> jake.display_name
'Jake L.'

If you want to make actions on a user's behalf you'll need to authenticate with an access token. Access tokens are tied to specific accounts, so if you create an access token while logged in as '@thedude' then all applications authenticated with that access token will act as if they are logged in as '@thedude'. This is why it is imperative that access tokens are kept private and not shared with anyone.

>>> jake = api.get_crab_by_username('jake')
>>> jake.follow()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jake/code/python-crabber/crabber/models.py", line 342, in follow
    raise RequiresAuthenticationError(
crabber.exceptions.RequiresAuthenticationError: You are not properly authenticated for this request.
>>> api.authenticate(YOUR_ACCESS_TOKEN)
>>> jake.follow()
True
>>> api.get_current_user() in jake.followers
True
>>> api.post_molt('Hello, world!')
<Molt [683]>

It is also possible to authenticate while intializing the API object rather than afterwards.

>>> api = crabber.API(api_key=YOUR_DEVELOPER_KEY, access_token=YOUR_ACCESS_TOKEN)
>>> api.get_current_user()
<Crab @thedude [85]>