🧰 Mini Toolkit
A collection of 25 everyday utilities — image editing, document conversion, text tools and website checks — in one fast, clean Streamlit app. No sign-up, no clutter.
Tools
| Category | Tools |
|---|---|
| Image | Background Remover · Image Converter · Image Enhancer · Image Watermarker · Image Color Picker · QR Code Generator · OCR Text Extractor |
| Documents | Document Converter (DOCX ↔ PDF ↔ TXT) · PDF Merge & Split · File Compressor · Resume Builder · Email Signature |
| Text & Security | Text Utilities · Text to Speech · Hash Generator · Password Checker & Generator |
| Web & Developer | Website Status · Page Speed Checker · SSL Certificate Checker · SEO Health Check · Website Image Downloader · URL Shortener · Website Change Tracker · GitHub Trending · Chat Alert Bot (Slack / Teams / Discord) |
Every tool has its own shareable URL, e.g. /?tool=qr-code.
Install from PyPI
pip install streamlit-mini-toolkit # core tools
pip install "streamlit-mini-toolkit[all]" # + background remover, OCR, DOCX/PDF conversion
mini-toolkit # opens the app at http://localhost:8501
Pick extras individually if you prefer: [bg] (Background Remover), [ocr] (OCR Text Extractor), [docs] (DOCX ↔ PDF). Streamlit flags pass through, e.g. mini-toolkit --server.port 8080.
Quick start (from source)
Requires Python 3.9+.
git clone https://github.com/sarif-mia/mini-toolkit.git
cd mini-toolkit
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
streamlit run app.py
The app opens at http://localhost:8501.
System dependencies (optional)
A few tools call external programs. Everything else works without them.
| Feature | Needs |
|---|---|
| OCR Text Extractor | Tesseract |
| DOCX → PDF | LibreOffice (or Microsoft Word on Windows/macOS) |
On Debian/Ubuntu: sudo xargs apt-get install -y < packages.txt
Deployment
Streamlit Community Cloud (recommended, free)
- Go to share.streamlit.io and sign in with GitHub.
- Create app → pick this repository, branch
master, main fileapp.py. - Deploy.
requirements.txtandpackages.txtare picked up automatically.
Docker (Render, Railway, Fly.io, Hugging Face Spaces, …)
docker build -t mini-toolkit .
docker run -p 8501:8501 mini-toolkit
Why not Vercel? Vercel runs short-lived serverless functions, while Streamlit needs a long-running server with a persistent WebSocket connection. Use one of the options above instead.
Optional secrets
The Website Change Tracker can email change summaries. Add these to .streamlit/secrets.toml locally, or to your host's secrets settings:
smtp_server = "smtp.gmail.com"
smtp_port = 587
smtp_user = "you@example.com"
smtp_pass = "app-password"
Project structure
app.py Entry point: page config, routing, home page
core/
registry.py List of tools and categories (add new tools here)
ui.py Shared UI helpers (headers, uploads, ZIP export, footer)
net.py Safe HTTP fetching for the web tools
tools/ One module per tool, each exposing render()
style/style.css Custom styling
.streamlit/ Theme and server config
Adding a tool
- Create
tools/my_tool.pywith arender()function. - Register it in
core/registry.py:Tool("my-tool", "My Tool", "🧪", "One-line description.", TEXT, "my_tool"),
Tools are imported lazily, so a missing optional dependency only affects that one tool.
License
Distributed under the MIT License. See LICENSE.
Metadata
Release files for streamlit-mini-toolkit 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| streamlit_mini_toolkit-0.1.0.tar.gz | 34.7 kB | Without provenance | Details for streamlit_mini_toolkit-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| streamlit_mini_toolkit-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for streamlit_mini_toolkit-0.1.0-py3-none-any.whl |
Total release size: 84.6 kB
Release files / streamlit_mini_toolkit-0.1.0.tar.gz
| Download URL | streamlit_mini_toolkit-0.1.0.tar.gz |
|---|---|
| Size | 34.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9946129b8a01876ebeaa5b5b009879bed531e8f077eab19d57c5bd9883914f33
|
|
BLAKE2b-256 checksum How to use checksums |
b813ef41d5faf802956f2d86c50d96ad1f5f33a2766195e5551b4bfa77202602
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / streamlit_mini_toolkit-0.1.0-py3-none-any.whl
| Download URL | streamlit_mini_toolkit-0.1.0-py3-none-any.whl |
|---|---|
| Size | 49.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6eec483ab91f4291400a45f70c49516aa0aaccfcb5d4d4b9a473db34d540cfeb
|
|
BLAKE2b-256 checksum How to use checksums |
e835acade919895918111564fed694c2200abe19bd1282fdb03523b999141425
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for streamlit-mini-toolkit 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.