Metadata-Version: 2.4
Name: snatch-cli
Version: 0.2.1
Summary: An interactive, stateful command line tool for HTTP requests.
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31.0
Dynamic: license-file

# Snatch

## About

Snatch is an interactive, stateful command-line HTTP client. Don't like typing long cURL commands just to see them fail and have to retype them? Me neither -- that's why I made Snatch.

## Example

**Here is a real-life example of sending a request in Snatch and cURL so you can compare the two.**

### cURL

```sh
$ curl -X POST -d '{"name": "John", "age": 27}' -H "Content-Type: application/json" http://localhost
```

### Snatch

```snatch
snatch> set url http://localhost
[+] Successfully set attribute 'url'

snatch> set method post
[+] Successfully set attribute 'method'

snatch> set body {"name": "John", "age": 27}
[+] Successfully set attribute 'body'

snatch> set headers Content-Type application/json
[+] Successfully set sub-attribute 'Content-Type' of attribute 'headers'

snatch> snatch
[*] Sending POST request to https://localhost
[+] Response Received: 200 OK
{"details": "success"}
```

Snatch might require more individual commands, but all those commands are significantly shorter and more intuitive, making the tool more overall easier to learn to use and easier to use for simple API testing.

## Installation

**One of these commands should work!**

```sh
pipx install snatch-cli
```

```sh
pip3 install snatch-cli
```

```sh
pip install snatch-cli
```
