A zero-dependency terminal tool for uploading files over HTTP — built entirely on Python's standard library.
| Feature | Description |
|---|---|
| 🖥️ Interactive Mode | Guided prompts — no flags to remember |
| ⚡ One-Shot Mode | Upload in a single command via CLI args |
| 📦 Zero Dependencies | Uses only Python's standard library — no pip install needed |
| 🔒 Multipart Upload | Sends files as multipart/form-data with proper MIME types |
| 🌐 Unicode-Safe | Correctly handles filenames with special characters |
python3 puploader.pyor use the wrapper script:
./puploaderYou'll be prompted for the upload URL and file path — that's it!
python3 puploader.py \
--url "http://127.0.0.1:8000/upload" \
--file "/path/to/file.txt"| Flag | Default | Description |
|---|---|---|
--field |
files |
Multipart form field name |
--timeout |
30 |
HTTP timeout in seconds |
- Python 3.8 or newer
- No external packages required ✅
$ python3 puploader.py
╭────────────────────────────────────────────────────────────╮
│ 📤 PUPLOADER │
│ (Simple Standard Library File Uploader) │
╰────────────────────────────────────────────────────────────╯
This tool uploads one file to an HTTP endpoint.
Upload URL: http://localhost:8000/upload
Path to file: ./report.pdf
Uploading...
Upload finished with HTTP 200.
Server response (first 1000 chars):
{"status": "ok", "filename": "report.pdf"}
Upload another file? (y/N): n
Goodbye!
Contributions, issues, and feature requests are welcome! Feel free to open an issue or submit a pull request.
This project is open source. See the LICENSE file for details.