Skip to content

Pingstream is a lightweight, Streamlit-based API testing tool using curl under the hood. Designed for low-RAM systems, it supports GET, POST, PUT, DELETE with JSON, headers, file uploads, and Postman/OpenAPI import.

Notifications You must be signed in to change notification settings

dharshan-kumarj/Pingstream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Pingstream โ€” The Lightweight API Tester

Pingstream is a minimalist, memory-efficient GUI tool for testing REST APIs. Built using Python, Streamlit, and curl, itโ€™s perfect for developers working in low-resource environments (like 4GB RAM machines) where heavy tools like Postman just don't cut it.


๐Ÿ”ง Features

  • โšก Lightweight โ€“ Ideal for systems with limited RAM
  • ๐Ÿ”„ Core HTTP Methods โ€“ GET, POST, PUT, DELETE
  • ๐Ÿงฑ Request Builder โ€“ Build complete API calls with ease
  • ๐Ÿงฉ Header Manager โ€“ Add, edit, and remove custom headers
  • ๐Ÿงฎ Query Parameter Support โ€“ Clean interface for managing query params
  • ๐Ÿ“ฆ JSON Body Editor โ€“ Includes automatic JSON validation
  • ๐Ÿ“ File Upload โ€“ Send files with your API requests
  • ๐Ÿ•“ Request History โ€“ View your recent API calls
  • ๐ŸŒ€ Curl-based Engine โ€“ Reliable, fast request handling
  • ๐Ÿ“ค Import/Export โ€“ Supports Postman collections and OpenAPI JSON files

๐Ÿ“ฅ Installation

โœ… Prerequisites

  • Python 3.7+
  • pip
  • curl (should be installed and accessible in your system PATH)

๐Ÿ›  Setup

# Clone or download this repo
git clone https://github.com/yourusername/pingstream.git
cd pingstream

# Install dependencies
pip install streamlit

# Run the app
streamlit run pingstream.py

๐Ÿš€ Usage Guide

๐Ÿ”น Make a Request

  1. Select HTTP method (GET, POST, etc.)
  2. Enter the API URL
  3. Click "Send Request"

๐Ÿ”น Manage Headers

  • Go to the "Headers" tab
  • Add key-value pairs
  • Click "Add Header" as needed

๐Ÿ”น Add Query Params

  • Go to the "Params" tab
  • Add key-value pairs
  • Click "Add Parameter"

๐Ÿ”น Send JSON Body

  • Go to the "Body" tab
  • Choose โ€œraw JSONโ€
  • Paste your JSON (automatic validation included)

๐Ÿ”น Upload Files

  • Go to the "Files" tab
  • Use the uploader to include your file in the request

๐Ÿ”น Import/Export

  • Import API definitions from Postman or OpenAPI JSON
  • Export your requests for reuse or sharing

๐Ÿงฐ Troubleshooting

โš  ScriptRunContext Warnings

If you see warnings like missing ScriptRunContext, you can suppress them with:

streamlit run pingstream.py --logger.level=error

Or create a config file:

# .streamlit/config.toml
[logger]
level = "error"

โŒ Request Errors

  • Confirm curl is installed: curl --version
  • Check your internet and API endpoint
  • Validate your JSON structure

๐Ÿงพ Requirements

  • Python 3.7+
  • Streamlit
  • curl

๐Ÿ‘จโ€๐Ÿ’ป Created By

Pingstream was developed by @dharshan-kumarj on April 13, 2025, with love for developers using low-end machines.

UI Enhancements by @ronnie-allen โ€” improving the design and experience of the Streamlit interface.

๐Ÿ’ก Built on Linux, powered by curl, and designed to work even when your RAM says โ€œnoโ€.


About

Pingstream is a lightweight, Streamlit-based API testing tool using curl under the hood. Designed for low-RAM systems, it supports GET, POST, PUT, DELETE with JSON, headers, file uploads, and Postman/OpenAPI import.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages