Giter VIP home page Giter VIP logo

freud's Introduction

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

You can install through PyPI...

python -m venv .venv
. .venv/bin/activate
pip install freud

or from sources

git clone https://github.com/stloma/freud
cd freud
python -m venv .venv
. .venv/bin/activate
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

pip install -e '.[dev]'
pytest

freud's People

Contributors

stloma avatar

Stargazers

 avatar Oussama EL GHANNAMI avatar Christian Bø avatar Y Blackfrost avatar  avatar Daniel Rosel avatar Kyle L. Davis avatar Jhonas Nascimento avatar Niixtek avatar Mohamed Emad avatar Josh Averyt avatar Paulo Caldas avatar da_habakuk avatar Syakhisk Al-Azmi avatar Deepak Ramachandran avatar Jeroen Marsman avatar lax avatar Nick Allgood avatar  avatar Yasin ATEŞ avatar Alexander Barton avatar Erik Körner avatar snotr avatar wukuan405 avatar Rogério Zambon avatar Artur Kulik avatar Piotr Spieker avatar  avatar UniqueVN avatar Cristian Morataya avatar Josh Teneycke avatar 聂琨琳 avatar Ian Channing avatar Rhys Ulerich avatar  avatar Mike Funk avatar Gokul Soumya avatar Camilo avatar Troy Zimmerman avatar André P. Santos avatar Oguzhan Inan avatar  avatar io avatar Jon Nalley avatar Michael Lazar avatar JerodG avatar

Watchers

 avatar Jeroen Marsman avatar

freud's Issues

[Question] Is it possible to use default vim instance?

Hello, there! I'm a vim lover and have my .vimrc configs. At first glance looks like the app runs its own vim instance. Is it possible to run my compiled/installed default version? Or your just emulating vim, perhaps?

Nice app, btw! I didn't managed to find a single one but this

When first opening, summary box not updating

When Freud is first opened, it is designed to auto-select the first button. This is so, for example, just pressing r will send a request, e will edit the server, etc.

This works as expected, except the server summary box is not updated until a key (any key) is pressed.

Dev run instruction

I wish to add a feature pull request, but due to my inexperience with setuptools I cannot manage to run the project locally. Could you add instructions to the README to achieve this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.