restcli user manual


restcli is a terminal web API client written in Python. It draws inspiration from Postman and HTTPie, and offers some of the best features of both.

Features

  • save requests as YAML files

  • scripting

  • parameterized requests using Jinja2 templating

  • expressive commandline syntax, inspired by HTTPie

  • first-class JSON support

  • interactive prompt with autocomplete

  • colored output

CLI Usage

Command-line usage is documented in the Usage manual.

Installation

With pip:

$ pip install -r requirements.txt
$ pip install .

With setup.py:

$ python setup.py install

With setup.py but allow edits to the files under restcli/ and reflect those changes without having to reinstall restcli:

$ python setup.py develop

If you have invoke, you can use it for running the tests and installation. If not, you can install it with pip install invoke.

$ invoke test     # Run the tests
$ invoke install  # Install it
$ invoke build    # Run the whole build workflow

Docker

Assuming Docker is installed, restcli can run inside a container. To build the Docker container, run the following from the project root:

$ docker build -t restcli .

Then you can run commands from within the container:

$ docker run -it restcli -c foobar.yaml run foo bar
$ docker run -it restcli --save -c api.yaml -e env.yaml env foo:bar

Roadmap

Short-term

Here’s what we have in store for the foreseeable future.

  • autocomplete Group and Request names in the command prompt

  • support for other formats (plaintext, forms, file uploads)

  • convert to/from Postman collections

Long-term

Here are some longer-term feature concepts that may or may not get implemented.

License

This software is distributed under the Apache License, Version 2.0.