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 --user 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

  • [ ] Add syntax verifier/fixer for workspace files

  • [ ] Add full usage documentation with examples

  • [ ] Add smart auto completions

  • [ ] Fix interactive mode

  • [ ] Code coverage > 90%

  • [ ] 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

  • [ ] Release version 1

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

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

  • [ ] Postman compatibility

add more goals

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 start 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

  • Use pipenv to install/update dependencies

  • While updating README file, use plugin for auto TOC update. Both README.md and README.rst should be in sync. One easy way is to update README.md and generate README.rst from it using m2r (included as dev dependency)

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.3.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distributions

RESTEasyCLI-0.3.0-py3.5.egg (17.3 kB view details)

Uploaded Source

RESTEasyCLI-0.3.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

RESTEasyCLI-0.3.0-py2.7.egg (41.2 kB view details)

Uploaded Source

File details

Details for the file RESTEasyCLI-0.3.0.tar.gz.

File metadata

  • Download URL: RESTEasyCLI-0.3.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.3

File hashes

Hashes for RESTEasyCLI-0.3.0.tar.gz
Algorithm Hash digest
SHA256 59dc172038def2492756ff89a3f6983663203ff41dd3f0330c5d0d5cfb54f89c
MD5 30fe6be249412e9c1e2f7f73818c7035
BLAKE2b-256 15b93a8ac1c1530dfc7c10c8b180a0ae2d6398e0ed09d57a0ae2eedbc94641c7

See more details on using hashes here.

Provenance

File details

Details for the file RESTEasyCLI-0.3.0-py3.5.egg.

File metadata

  • Download URL: RESTEasyCLI-0.3.0-py3.5.egg
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.3

File hashes

Hashes for RESTEasyCLI-0.3.0-py3.5.egg
Algorithm Hash digest
SHA256 9e03497d95f366a35087e69a1fcc13983895fec158418be09d6a346c26bb417d
MD5 7c2d522bc7167bcab4d496eb1a721822
BLAKE2b-256 fc6fbcb8ce1400d1b6394d7f5fa5ed721f9f32a5100d7f0f07c5943ed4860071

See more details on using hashes here.

Provenance

File details

Details for the file RESTEasyCLI-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: RESTEasyCLI-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.3

File hashes

Hashes for RESTEasyCLI-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b88e97568fa3411995602e9eb367d04739c2af76dfc2cd654ad45b0d3c98bfae
MD5 f1ff14e9549a2efd26504b1e846b4dd5
BLAKE2b-256 1605f6dc68a871bf08ca3674d5bca57855254deed086bcad2acd0a90fb631a41

See more details on using hashes here.

Provenance

File details

Details for the file RESTEasyCLI-0.3.0-py2.7.egg.

File metadata

  • Download URL: RESTEasyCLI-0.3.0-py2.7.egg
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.6

File hashes

Hashes for RESTEasyCLI-0.3.0-py2.7.egg
Algorithm Hash digest
SHA256 25724d5ec975ef84e4faed5f846db986b60e70a08d39aae5dc07b99cf4186614
MD5 bde797931d7bfa3df96406d04bfb2911
BLAKE2b-256 f691dd3de16ab2962dc7357b575bcb4009f9c762a6a37c8bab0d14b58a9cb57f

See more details on using hashes here.

Provenance

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