• Stars
    star
    497
  • Rank 85,637 (Top 2 %)
  • Language
    Go
  • License
    MIT License
  • Created about 4 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Restish is a CLI for interacting with REST-ish HTTP APIs with some nice features built-in

Restish Logo

Works With Restish User Guide CI codecov Docs Go Report Card

Restish is a CLI for interacting with REST-ish HTTP APIs with some nice features built-in β€” like always having the latest API resources, fields, and operations available when they go live on the API without needing to install or update anything. Check out how Restish compares to cURL & HTTPie.

See the user guide for how to install Restish and get started.

Features include:

  • HTTP/2 (RFC 7540) with TLS by default with fallback to HTTP/1.1
  • Generic head/get/post/put/patch/delete verbs like curl or HTTPie
  • Generated commands for CLI operations, e.g. restish my-api list-users
    • Automatically discovers API descriptions
    • Supported formats
    • Automatic configuration of API auth if advertised by the API
    • Shell command completion for Bash, Fish, Zsh, Powershell
  • Automatic pagination of resource collections via RFC 5988 prev and next hypermedia links
  • API endpoint-based auth built-in with support for profiles:
    • HTTP Basic
    • API key via header or query param
    • OAuth2 client credentials flow (machine-to-machine, RFC 6749)
    • OAuth2 authorization code (with PKCE RFC 7636) flow
    • On the fly authorization through external tools for custom API signature mechanisms
  • Content negotiation, decoding & unmarshalling built-in:
  • Standardized hypermedia parsing into queryable/followable response links:
  • Local caching that respects RFC 7234 Cache-Control and Expires headers
  • CLI shorthand for structured data input (e.g. for JSON)
  • Shorthand query response filtering & projection
  • Colorized prettified readable output
  • Fast native zero-dependency binary

Articles:

This project started life as a fork of OpenAPI CLI Generator.

More Repositories

1

aglio

An API Blueprint renderer with theme support that outputs static HTML
CoffeeScript
4,743
star
2

python-betterproto

Clean, modern, Python 3.6+ code generator & library for Protobuf 3 and async gRPC
Python
1,370
star
3

jpeg-archive

Utilities for archiving JPEGs for long term storage.
C
1,149
star
4

huma

Huma REST/HTTP API Framework for Golang with OpenAPI 3.1
Go
1,123
star
5

apisprout

Lightweight, blazing fast, cross-platform OpenAPI 3 mock server with validation
Go
639
star
6

qtfaststart

Quicktime atom positioning in Python for fast streaming
Python
450
star
7

nesh

An enhanced, extensible interactive shell for Node.js and CoffeeScript
CoffeeScript
287
star
8

openapi-cli-generator

Generate a CLI from an OpenAPI 3 specification
Go
154
star
9

arista

Arista Transcoder
Python
120
star
10

ladon

A small, simple cross-platform utility to process many files in parallel.
JavaScript
81
star
11

braintree_django

Braintree Django Module
Python
52
star
12

atom-api-blueprint-preview

Live preview API Blueprint in Atom
CoffeeScript
45
star
13

html5-space-fighter

HTML5 Space Fighter Game
JavaScript
30
star
14

apilint

Extensible REST API linter utility
JavaScript
27
star
15

malt.io

Malt.io free community for brewers
Python
26
star
16

qtrotate

Tools for handling rotated Quicktime/MP4 files
Python
26
star
17

qtfaststart.js

Javascript version of qt-faststart
JavaScript
21
star
18

guid-tool-web

GUID conversion tool website
Python
18
star
19

atom-language-api-blueprint

API Blueprint and MSON grammars for the Atom.io text editor.
CoffeeScript
14
star
20

django-ccss

Django CleverCSS
Python
13
star
21

tech-talk

Markdown slideshows with a built-in terminal that just works
JavaScript
13
star
22

mexpr

Micro expression parser library for Go
Go
12
star
23

node-desktop-uploader

Recursively watch directories and upload new/updated files
CoffeeScript
11
star
24

shorthand

Structured data & CLI shorthand syntax for Go
Go
10
star
25

atom-monokai-extended

Extended Monokai theme for the Atom text editor
CSS
9
star
26

guid-tool

A tool to convert between various forms of GUID
Python
7
star
27

ffmpeg

FFmpeg + patches
C
7
star
28

unistyle

β„±π’Άπ“ƒπ’Έπ“Ž π˜π—²π˜…π˜ 𝘴𝘡𝘺𝘭𝘦𝘴 𝔣𝔬𝔯 GΜ³oΜ³lΜ³aΜ³nΜ³gΜ³ in a compact, zero dependency library.
Go
7
star
29

eidolon

Generate JSON or JSON Schema from Refract & MSON data structures
CoffeeScript
6
star
30

paodate

Simpler Python date handling
Python
5
star
31

mateo

A simple API description interface library
JavaScript
5
star
32

sdt

Structured Data Templates
Go
4
star
33

peasant

An opinionated Node.js ES6 module lint/build/test/coverage helper
JavaScript
3
star
34

dotfiles

My public dotfiles to help bootstrap a new machine
Shell
3
star
35

apiscrub

OpenAPI Scrubber
Python
3
star
36

polaris

Lightweight backend utilities for static websites
CoffeeScript
3
star
37

bible-ref

Utilities for handling Bible references
CoffeeScript
2
star
38

homebrew-restish

Homebrew Tap for Restish https://rest.sh/
Ruby
2
star
39

casing

An intelligent casing conversion library for Go
Go
2
star
40

injectobot

Developer-friendly programmable IRC bot
CoffeeScript
2
star
41

apibin

Example API with modern features
Go
2
star
42

huma-build

Docker build utility for Huma REST OpenAPI projects
Go
2
star
43

rhs-color

R.H.S. color conversion utilities
JavaScript
2
star
44

nesh-hello

A simple example plugin for Nesh, the Node.js enhanced shell.
JavaScript
1
star
45

arista-website

Arista Transcoder Website
JavaScript
1
star
46

gaaflora-website

http://www.gaaflora.com/
HTML
1
star
47

vscode-sdt

Visual Studio Code support for Structured Data Templates
JavaScript
1
star