Pre-release
This release is a pre-release and may not be stable for production use.
python-tent-client
==================
A command-line client for talking to [Tent](http://tent.io/) servers such as [tent.is](https://tent.is/).
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
Dependencies
------------
* [requests](http://docs.python-requests.org/en/latest/#)
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 `example.py` 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.
`example_dashboard.py` 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 = 'https://pythonclienttest.tent.is'
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
app.authorizeFromCommandLine('keystore.js')
# Post a new post. For now you need to supply the JSON dictionary yourself.
app.putPost(yourPostJsonHere)
```
You'll need to work directly with the JSON types described here: http://tent.io/docs/app-server
==================
A command-line client for talking to [Tent](http://tent.io/) servers such as [tent.is](https://tent.is/).
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
Dependencies
------------
* [requests](http://docs.python-requests.org/en/latest/#)
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 `example.py` 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.
`example_dashboard.py` 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 = 'https://pythonclienttest.tent.is'
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
app.authorizeFromCommandLine('keystore.js')
# Post a new post. For now you need to supply the JSON dictionary yourself.
app.putPost(yourPostJsonHere)
```
You'll need to work directly with the JSON types described here: http://tent.io/docs/app-server
Release files for tentapp 0.1.0dev6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tentapp-0.1.0dev6.tar.gz | 18.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tentapp-0.1.0dev6-py2.6.egg | Legacy Egg format | - | - | Details |
Total release size: 41.1 kB
Release files / tentapp-0.1.0dev6.tar.gz
| Download URL | tentapp-0.1.0dev6.tar.gz |
|---|---|
| Size | 18.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
afacb554a490498ad6be5db86b65c331c6f0ce728754dba7eef413026e49b6c6
|
|
BLAKE2b-256 checksum How to use checksums |
8e179be8dccf1635139671dd6719502858648374cc6e06169ce29a0ed46ec3b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / tentapp-0.1.0dev6-py2.6.egg
| Download URL | tentapp-0.1.0dev6-py2.6.egg |
|---|---|
| Size | 22.7 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
1ee937a88f3c43e0648f38d80035846715af48a929fd5c1417e22485c504ee1b
|
|
BLAKE2b-256 checksum How to use checksums |
7be6916403a97608ff43ef9381bc37a57ca3f26f8d45bc86c704b740b5d0bf85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |