TUI REST client to analyze API endpoints
Project description
Freud is a TUI API endpoint analyzer utilizing Python Prompt Toolkit and Requests. It allows creating and saving request headers, authentication (basic and digest), and body using both integrated forms and your native editor.
Currently, it is designed and tested for receiving JSON, XML, and HTML responses, but more can be added later as needed.
Installation
First, create an environment (recommended):
python -m venv .venv
. .venv/bin/activate
Then you can either install through PyPI...
pip install freud
or from sources
git clone https://github.com/stloma/freud
python setup.py install
Keys
Key shortcuts depend on which window you are in. There are 4 windows: server list (left window), response headers (top right), response body (middle right), and server summary (bottom).
-
Server list/left window
- New server:
n
- Select server:
enter
- Edit selected server:
e
- Edit authentication:
a
- Edit body:
b
- Send request for selected server:
r
- Delete selected server:
d
- Sort servers:
s
- Top/bottom of server list:
gg/G
- New server:
-
Header window, Response body window, Server summary window
h/j/k/l
Vi keybindings for movement/
Search texto
: Open response body in external editor
-
General Navigation
- Quit:
Ctrl+c
- Key Binding Quick Reference:
Ctrl+f
- Next window:
Tab
- Previous window:
Shift+Tab
- Quit:
Advanced uses
More keys
- Copy/Paste:
Shift+Click
Changing default configuration
- Settings file:
config/freud.ini
Roadmap
Freud is still in development, but should work well for most use cases.
Currently, it is designed to handle JSON, XML, and HTML responses; I haven't tested others. If you would like it to handle something specific, you can either submit a PR or create an issue and I'll add it!
Goals
- Add more authentication types (e.g., OAuth, Bearer Token, etc.)
- Handle more Content-Types (MIME types)
- Cookie handling
- Add capability to organize requests under categories
- Increase testing coverage
Requirements
- Python: 3.5+
- Python Prompt Toolkit, Requests, Pygments
- set $EDITOR environment variable
- bash/zsh:
export EDITOR=$(which vim)
- bash/zsh:
Testing
python install -e '.[dev]'
pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file freud-0.1.2.tar.gz
.
File metadata
- Download URL: freud-0.1.2.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0afc26dd65e8e9657841e15b5fc5e6cb6e61fbee590eb09d37a40bd5886b41e8 |
|
MD5 | 7349ff9e9400c31bd8bd8d55f970bad0 |
|
BLAKE2b-256 | 5511c1ed744898b6d9fcbffdb8f45eb6eea6654e12deeb08c32761f9b482fb66 |
File details
Details for the file freud-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: freud-0.1.2-py3-none-any.whl
- Upload date:
- Size: 30.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da39bdeeb08f9aeda82985dbc19c55393276614ca131f2287e464d0497e6520b |
|
MD5 | 7adf473bf1885dd3582c38f2b803fc39 |
|
BLAKE2b-256 | f884002d9e9f00f8957ca435a04083a36a253bac4dae49023b8539091a84639f |