skip to navigation
skip to content

tentapp 0.1.0dev6

Python client/app library for the Tent protocol (


A command-line client for talking to [Tent]( servers such as [](

Current Status

We're in the "move fast and break things" phase right now.

What works:
* Discovery of the tent server's API root using link headers
* Registering an app with the server and requesting permissions using OAuth
* Auth keys are saved to a local config file for use next time
* API methods (both public ones and auth-requiring ones)

It should be possible to register a notification URL using this code, but since it's not necessarily running a webserver it won't be able to be notified of incoming posts. In that case it can poll for new updates.

What needs attention:
* Some API methods have not been written yet. Most of them should be quick to write by starting with copies of the methods that are already done.
* Write tests
* Error handling. Should add a few exception types and also pay closer attention to errors from the `requests` module.
* Documentation
* Find elegant ways to deal with the JSON we get back from the Tent server. Maybe add some classes representing posts, profiles, etc.
* Package this up as a real Python module that can be installed in the usual way


* [requests](

Installation of dependencies:

# get requests using pip
pip install requests

# you might already have an old version of requests that's missing the link headers feature. If so:
pip install --update requests

Quick Start

Run `` and it will launch your browser, have the Tent server ask you to approve the app, and then post a hello world message. The OAuth process is awkward when run from a command line, so read the prompt when it asks you to copy and paste things from your browser. You only have to do this once; after that your auth details are saved in 'auth.cfg' and reused in future runs.

`` will get your latest posts and followings' posts and print them to the shell.

Here's a quick overview:

import tentapp
tentapp.debug = False # Turn this on if you want to see verbose debugging info while
# the app is running. Defaults to False.

# "entity" is the Tent version of a username. It's a full URL.
entityUrl = ''
app = tentapp.TentApp(entityUrl)

# Get your profile info as a JSON-style Python dictionary
print app.getProfile()

# Send the user to their tent server to approve this app
# and save the resulting keys in a local file

# Post a new post. For now you need to supply the JSON dictionary yourself.

You'll need to work directly with the JSON types described here:  
File Type Py Version Uploaded on Size
tentapp-0.1.0dev6-py2.6.egg (md5) Python Egg 2.6 2012-10-17 22KB
tentapp-0.1.0dev6.tar.gz (md5) Source 2012-10-17 17KB