Metadata-Version: 1.1
Name: crest
Version: 0.0.1
Summary: CLI to access RESTful service
Home-page: https://github.com/manishtomar/crest
Author: Manish Tomar
Author-email: manish.tomar@gmail.com
License: MIT
Description: "Curl"REST API Command line client
        ==================================
        
        A generic CLI to access any RESTful service with a little bit of configuration.
        Think of it as something in between curl and proper CLI.
        
        Features:
        ---------
        
        - Replace parts of JSON request body while sending the request using simple ``object.property[index]`` notation
        - Print only part of JSON response using above described notation
        - History: Previously sent request are stored and can be resent using ``--last`` option
        - Templates: Store preset requests of a particular URL and send them using ``--template`` option
        - Service config: Store common headers, URL prefix, preset requests of a particular service in config
        
        It has options similar to curl to fetch and provide request body. ``-d, -H`` and ``-d`` are
        same as curl. ``-X`` is changed to ``-m``. Currently, the tool uses ``requests`` to send
        HTTP requests. In future, it may just be wrapper on top of curl delegating all options to
        curl.
        
        Sample usage:
        -------------
        
        With following `configuration <https://github.com/manishtomar/crest/blob/master/configs/raxid.py>`_ in ``~/.crest/raxid/config.py``::
        
           tokens_request = {
               "auth": {
                   "passwordCredentials":{
                       "username":"REPLACE_USERNAME",
                       "password":"REPLACE_PASSWORD"
                   }
               }
           }
           config = {
               "name": "raxid",
               "description": "Rackspace Identity Service",
               "uriprefix": "https://identity.api.rackspacecloud.com/v2.0",
               "headers": {
                   "accept": "application/json",
                   "content-type": "application/json"
               },
               "resources": {
                   "tokens/?$": {
                       "templates": {"default": tokens_request},
                       "aliases": {
                           "username": "auth.passwordCredentials.username",
                           "password": "auth.passwordCredentials.password",
                       },
                       "help": "Authenticate via username/password"
                   }
               }
           }
        
        one can authenticate to `Rackspace Identity Service <http://docs.rackspace.com/auth/api/v2.0/auth-client-devguide/content/QuickStart-000.html>`_
        and extract token using following command::
        
           crest -s raxid tokens -m post -t -r username=myuname -r password=mypwd -o access.token.id
        
        For more details check `usage <https://github.com/manishtomar/crest/blob/master/usage.md>`_
        
        Installation
        ------------
        ::
        
           pip install crest
           mkdir -p ~/.crest/generic_history  # for --history and --service to work
        
        Thanks
        ------
        
        Thanks to Rackspace for having a culture of hacking on side projects and allowing me to work on this, and having an
        *excellent* `open source employee contribution policy <https://www.rackspace.com/blog/rackspaces-policy-on-contributing-to-open-source/>`_
        
Keywords: restful cli
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2 :: Only
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Internet :: WWW/HTTP
