New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

api-buddy

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

api-buddy

The most pleasant HTTP API CLI tool

  • 1.0.1
  • PyPI
  • Socket score

Maintainers
1

API Buddy

Build Status PyPI version

demo

Demo

demo

The most pleasant HTTP API CLI tool

  • Quick to set up
  • Easy to use
  • Automated OAuth2 sign-in
  • Copy/paste-able results

Installation

As long as you have python 3.13 or higher (I recommend using pyenv), just:

pip install api-buddy

Usage

First, specify the API you're exploring

api use https://some.api.com

Which will set the api_url value in your preferences file

# ~/.api-buddy.yaml
api_url: https://some.api.com

Then it's as easy as:

api get some-endpoint
=> 200
{
  "look": "I haz data",
  "thx": "API Buddy"
}

You can add query params in key=val format:

api get \
  my/favorite/endpoint \
  first_name=cosmo \
  last_name=kramer

You can also add request body data in JSON format:

api post \
  some-endpoint \
  '{"id": 1, "field": "value"}'

🤔 Note the single-quotes, which keeps your json as a sing continuous string. This means you can expand across multiple lines too:

api post \
  some-endpoint \
  '{
     "id": 1,
     "field": "value"
  }'

Variables can be interpolated within your endpoint, as part of values in your query params, or anywhere in your request body data, as long as they're defined by name in your preferences:

api post \
  'users/#{{user_id}}' \
  'name=#{{name}}' \
  '{
    "occupation": "#{{occupation}}"
  }'

👉 See all the helpful preferences here

Arguments

  • use: (optional) Set the base api_url you're exploring in your preferences file.
    • It come with the actual api_url value

If you're actually sending an HTTP request:

  • http_method: (optional) The HTTP method to use in your request.
    • It should be one of:
      • get
      • post
      • patch
      • put
      • delete
  • endpoint: (required) The relative path to an API endpoint.
    • AKA you don't need to type the base api url again here.
  • params: (optional) A list of key=val query params
  • data: (optional) A JSON string of requets body data.
    • You can't use this with get because HTTP.

Options

  • -h, --help: Show the help message
  • -v, --version: Show the installed version

Development

Requires:

Steps to start working:

  • Build and create the local venv with bin/setup
  • Make sure everything works with bin/test
  • Try the local cli with poetry run api --help
  • Find other management commands with bin/list

Note to self, publish flow is:

  • bin/bump
  • git add . && git commit -m 'Major/Minor/Patch bump x.x.x -> y.y.y'
  • bin/publish
  • git push
  • bin/tag

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc