21 stable releases (3 major)
Uses new Rust 2024
| 4.2.0 | Oct 14, 2025 |
|---|---|
| 3.4.0 | Aug 17, 2025 |
| 3.3.0 | Jul 23, 2025 |
| 3.0.1 | Feb 19, 2025 |
| 1.8.1 | Aug 11, 2024 |
#1815 in Database interfaces
436 downloads per month
Used in slumber
1.5MB
30K
SLoC
Terminal user interface for Slumber.
This crate is not semver compliant. The version is locked to the root
slumber crate version. If you choose to depend directly on this crate, you
do so at your own risk of breakage.
Slumber

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
Features
- Usable as a TUI, CLI, or Python package
- Source-first configuration, for easy persistence and sharing
- Import from external formats (e.g. Insomnia)
- Build requests dynamically from other requests, files, and shell commands
- Browse response data using JSONPath selectors
- Switch between different environments easily using profiles
- 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:
# slumber.yml
requests:
get:
method: GET
url: https://shoal.lucaspickering.me/fish
post:
method: POST
url: https://shoal.lucaspickering.me/fish
body:
type: json
data:
{ "name": "Barry", "species": "Barracuda", "age": 3, "weight_kg": 6.2 }
Create this file, then run the TUI with slumber.
For a more extensive example, see the docs.
Development
If you want to contribute to Slumber, see CONTRIBUTING.md for guidelines, development instructions, etc.
Dependencies
~60–82MB
~1.5M SLoC