Package for HipChat's v2 API
Project description
A Python package for HipChat’s v2 JSON REST API. It’s based on v2’s navigability and self-declaration.
Concepts
There are two basic types in HypChat: Linker and RestObject. They are not meant to be instantiated directly but instead created as references from other objects.
Linker
A simple callable that represents an unfollowed reference.
- l.url
The URL this object points to
- l()
Calling a Linker will perform the request and return a RestObject
RestObject
A subclass of dict, contains additional functionality for links and actions.
Links
As part of the v2 API, all objects have a links property with references to other objects. This is used to create Linker objects as attributes.
For example, all objects have a link called self. This may be referenced as:
obj.self
And the request performed by calling it:
obj.self()
If Title Expansion is desired, just past a list of things to be expanded as the expand keyword argument.
Other Actions
Many of the v2 types define additional types, eg Rooms have methods for messaging, setting the topic, getting the history, and inviting users to the room. These are implemented as methods of subclasses. The complete listing is in the Type List.
Usage
First, create a HypChat object with the token
hc = HypChat("mytoken")
There are several root links:
rooms = hc.rooms() users = hc.users() emots = hc.emoticons() caps = hc.capabilities()
In addition, the HypChat object has methods for creating objects and directly referencing the basic types.
Console
If you call python -m hypchat, a interactive prompt (using IPython if available) will appear. The environment will contain hipchat, an instance of the HypChat object. The token is pulled from ~/.hypchat, /etc/hypchat, or the environment variable HIPCHAT_TOKEN.
Type List
See TYPES.rst
TODO List
Proper Datetime and Timezone (dateutils) support
API Links
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.