Skip to main content

Handy REST API client on your terminal

Project description

Handy REST API client on your terminal

PyPI version Build Status asciicast

Installation

pip install resteasycli

# OR

pipenv install resteasycli

Usage

Help menu

recli help

Initialize workspace

mkdir myworkspace
cd myworkspace
recli init
# Few template files should be generated namely: auth.yml  headers.yml  saved.yml  sites.yml

Do CRUD requests

recli get testing/todos
recli post testing/todos --kwargs title=abcd userId=10
recli put testing/todos/1 --kwargs title=abcd
recli patch testing/todo1 --kwargs title=xyz
recli delete testing/todos/1

Special formatting of data

List

recli list testing/todos

Show

recli show testing/todos/1

Save a request for later use

recli get testing/todos/1 -s my_request

# Request will be saved in saved.yml as "my_request"

Do or redo a saved request

# Without formatting
recli do remind_shopping
# Same as
recli redo remind_shopping

# With formatting
recli dolst remind_shopping -m GET -k
# Same as
recli redo-list remind_shopping --method GET --kwargs

Most importantly fake a request

recli redo-show remind_shopping -m GET -k --fake

# It can be used with -s to save the request for later use without doing it

recli redo-show remind_shopping -m GET -k --fake -s get_todos

TODO list

  • [x] CRUD requests

  • [x] Formatted outputs

  • [x] Save requests feature

  • [x] Refactored sites, headers, authentication methods, saved requests

  • [ ] Design a icon for it and it’s dependency RESTEasy

  • [ ] Add full usage documentation with examples

  • [ ] Add smart auto completions

  • [ ] Fix interactive mode

  • [ ] Code coverage > 90%

  • [ ] Release version 1

  • [ ] Test cases with different environment variables

  • [ ] API server for full end to end test with custom headers, authentication

  • [ ] Add more authentication methods

  • [ ] Add proxy support

  • [ ] Token detection for automatic authentication headers update

  • [ ] Generate and publish API documentation feature

  • [ ] Initialize workspace from generated API documentation

  • [ ] Write a blog post, create a youtube video on it

  • [ ] Postman compatibility

…[add more goals](https://github.com/rapidstack/RESTEasyCLI/issues/new)

Contribution guide

This is a new born project and has lots of scope for improvements.

If you feel that you can help with any of above TODO list or if you have a totally unique idea, feel free to jump right in.

Here are some tips to get started with contributing to this project right away.

  • Instead of directly creating pull requests, create a issue first to check it’s relevence and save efforts. However,

  • If you find a bug, feel free to directly create pull requests by forking master branch

  • Awesome if commit messages and pull request description are clear and concise

  • One of it’s depedency RESTEasy has a gitter channel for any doubt or discussion related to this project or RESTEasy

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RESTEasyCLI-0.2.3.tar.gz (13.6 kB view hashes)

Uploaded Source

Built Distribution

RESTEasyCLI-0.2.3-py3-none-any.whl (18.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page