Skip to main content

TUI REST client to analyze API endpoints

Project description

Freud terminal gif

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
  • Header window, Response body window, Server summary window

    • h/j/k/l Vi keybindings for movement
    • / Search text
    • o: Open response body in external editor
  • General Navigation

    • Quit: Ctrl+c
    • Key Binding Quick Reference: Ctrl+f
    • Next window: Tab
    • Previous window: Shift+Tab

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)

Testing

python install -e '.[dev]'
pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

freud-0.1.2.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

freud-0.1.2-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

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

Hashes for freud-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0afc26dd65e8e9657841e15b5fc5e6cb6e61fbee590eb09d37a40bd5886b41e8
MD5 7349ff9e9400c31bd8bd8d55f970bad0
BLAKE2b-256 5511c1ed744898b6d9fcbffdb8f45eb6eea6654e12deeb08c32761f9b482fb66

See more details on using hashes here.

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

Hashes for freud-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 da39bdeeb08f9aeda82985dbc19c55393276614ca131f2287e464d0497e6520b
MD5 7adf473bf1885dd3582c38f2b803fc39
BLAKE2b-256 f884002d9e9f00f8957ca435a04083a36a253bac4dae49023b8539091a84639f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page