Metadata-Version: 1.0
Name: tentapp
Version: 0.1.0dev3
Summary: Python client/app library for the Tent protocol (https://tent.io)
Home-page: https://github.com/longears/python-tent-client/
Author: David Wallace
Author-email: david.wallace+tentapp@gmail.com
License: MIT License
Description: 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
        
        
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python
Classifier: Topic :: Communications
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries :: Python Modules
