An open API service indexing awesome lists of open source software.

https://github.com/dharshan-kumarj/pingstream

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.
https://github.com/dharshan-kumarj/pingstream

api-testing-tool curl developer-tools json lightweight linux-tools low-memory openapi postman-alternative productivity python python3 rest-api streamlit

Last synced: about 1 month ago
JSON representation

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.

Awesome Lists containing this project

README

          

# ๐Ÿš€ 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

```bash
# 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:

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

Or create a config file:

```toml
# .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](https://github.com/dharshan-kumarj) on April 13, 2025, with love for developers using low-end machines.

**UI Enhancements by** [@ronnie-allen](https://github.com/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โ€.

---