Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LucasPickering/slumber
Terminal-based HTTP/REST client
https://github.com/LucasPickering/slumber
http http-client ratatui rest-client rust tui
Last synced: 8 days ago
JSON representation
Terminal-based HTTP/REST client
- Host: GitHub
- URL: https://github.com/LucasPickering/slumber
- Owner: LucasPickering
- License: mit
- Created: 2023-08-28T20:11:04.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-31T01:49:03.000Z (9 days ago)
- Last Synced: 2024-10-31T02:23:50.585Z (9 days ago)
- Topics: http, http-client, ratatui, rest-client, rust, tui
- Language: Rust
- Homepage: https://slumber.lucaspickering.me/
- Size: 3.75 MB
- Stars: 412
- Watchers: 6
- Forks: 20
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ratatui - slumber - Terminal-based HTTP/REST client. (💻 Apps / ⌨️ Development Tools)
- awesome-rust-tools - slumber - based HTTP/REST client. (Dev-Utilities)
README
# Slumber
[![Test CI](https://github.com/github/docs/actions/workflows/test.yml/badge.svg)](https://github.com/LucasPickering/slumber/actions)
[![crates.io](https://img.shields.io/crates/v/slumber.svg)](https://crates.io/crates/slumber)
[![Sponsor](https://img.shields.io/github/sponsors/LucasPickering?logo=github)](https://github.com/sponsors/LucasPickering)- [Home Page](https://slumber.lucaspickering.me)
- [Installation](https://slumber.lucaspickering.me/artifacts/)
- [Docs](https://slumber.lucaspickering.me/book/)
- [Changelog](https://slumber.lucaspickering.me/changelog/)![Slumber example](/static/demo.gif)
Slumber is a TUI (terminal user interface) HTTP client. Define, execute, and share configurable HTTP requests. Slumber is built on some basic principles:
- It will remain free to use forever
- You own your data: all configuration and data is stored locally and can be checked into version control
- It will never be [enshittified](https://en.wikipedia.org/wiki/Enshittification)## Features
- Usable as a TUI or CLI
- Source-first configuration, for easy persistence and sharing
- [Import from external formats (e.g. Insomnia)](https://slumber.lucaspickering.me/book/user_guide/import.html)
- [Build requests dynamically from other requests, files, and shell commands](https://slumber.lucaspickering.me/book/user_guide/templates.html)
- [Browse response data using JSONPath selectors](https://slumber.lucaspickering.me/book/user_guide/filter_query.html)
- Switch between different environments easily using [profiles](https://slumber.lucaspickering.me/book/api/request_collection/profile.html)
- And more!## Examples
Slumber is based around **collections**. A collection is a group of request **recipes**, which are templates for the requests you want to run. A simple collection could be:
```yaml
# slumber.yml
requests:
get: !request
method: GET
url: https://httpbin.org/getpost: !request
method: POST
url: https://httpbin.org/post
body: !json { "id": 3, "name": "Slumber" }
```Create this file, then run the TUI with `slumber`.
For a more extensive example, see [the docs](https://slumber.lucaspickering.me/book/getting_started.html).