-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Thank you. llamdrop exists for people who get left out of the AI conversation because of hardware or money. Every contribution helps someone who was in that position.
All contributions are GPL v3 licensed. Everything stays free. Always.
This is the most valuable thing you can do. Real hardware test results are what the catalog is built on.
If you successfully ran a model:
- Open
models.jsonin the repo - Find the model entry
- Add your device's chipset to
confirmed_devices - Change
"verified": falseto"verified": trueif it ran stably - Open a Pull Request titled:
[device] Confirmed: <model> on <chipset>
Before submitting, confirm:
- GGUF format, downloadable from HuggingFace without login
-
"license_allows_free_use": trueβ check the model's license page - You tested it on a device with β€8GB RAM
-
min_ram_gbvalues come from real observation, not estimated from file size -
prompt_formatis set correctly (chatml,llama3,gemma, orphi3) -
min_device_levelandmax_device_levelare set correctly -
"verified": trueonly if you tested it yourself
Required fields in models.json:
{
"id": "model-id",
"name": "Display Name",
"tier": 2,
"min_device_level": "low",
"max_device_level": "high",
"hf_repo": "org/repo-GGUF",
"prompt_format": "chatml",
"best_for": "what it's good at",
"languages": ["english"],
"license": "Apache 2.0",
"license_allows_free_use": true,
"verified": true,
"note": "Optional notes about this model",
"variants": {
"Q4_K_M": {
"filename": "model-q4_k_m.gguf",
"download_size_gb": 1.0,
"min_ram_gb": 2.0
}
}
}All UI strings are in modules/i18n.py. Currently supported: English, Hindi, Spanish, Portuguese, Arabic. If you can translate to Swahili, Bengali, French, or any other language β open an Issue and we'll set it up. If a translation is incomplete, llamdrop now reports which phrases are missing.
Got llamdrop working on a specific device with some quirks? Write a short guide. Add it to docs/devices/YOUR_DEVICE.md and open a PR.
Open a GitHub Issue and include:
- Device name and chipset
- Output of
llamdrop doctor - Exact error message
- Which model you were running
- OS (Android/Termux, Linux, Raspberry Pi OS)
It helps people find llamdrop when they search for the same problem you had.
- Keep it simple. Readable by someone learning Python.
- No unnecessary dependencies. Standard library only β no extra pip packages.
- Every function does one thing. Comment the why, not just the what.
- Plain language errors. No raw stack traces shown to users.
- Python 3.8+ compatibility. Termux on older Android may have 3.8.
Each module has one job. Don't reach across modules.
| Module | Its job | Do not add |
|---|---|---|
specs.py |
DeviceProfile, tier, backend, shared RAM read | UI, download logic |
device.py |
Hardware detection bridge | UI, download logic |
browser.py |
Model selection UI | Download triggering |
downloader.py |
Download and verify | Launch logic |
launcher.py |
Build llama.cpp command | Chat loop |
chat.py |
Chat loop, context trim | Model selection |
config.py |
Read/write config.json (hot-reload) | Hardware detection |
battery.py |
Battery reading | Any UI |
benchmarks.py |
Store/read t/s scores (rolling avg) | Any UI |
doctor.py |
Health checks + Ollama check | Chat logic |
updater.py |
Pull updates from GitHub | Any UI |
hf_search.py |
HuggingFace API queries | Catalog reads |
ram_monitor.py |
RAM reading | Any UI |
i18n.py |
Translation strings | Any logic |
filecontext.py |
File attachment for chat | Any UI |
backends/ollama.py |
Ollama HTTP API calls | Any UI |
If you add a new module:
- Add it to the
for module in ...list ininstall.sh - Add it to
UPDATE_FILESinmodules/updater.py - Add a graceful
ImportErrorfallback in any file that imports it
- Fork the repo
- Create a branch:
git checkout -b your-change - Make your change and test it in Termux or a Linux terminal
- Open a PR with a clear description of what changed and why
Be kind. This project is for people learning under constraints. Treat everyone β especially beginners β with patience and respect. No gatekeeping. No elitism.
If someone asks a question that seems basic, answer it. That person might be running llamdrop on their only device.
By contributing, you agree your contribution is licensed under GPL v3 β free and open source forever.
LLAMdrop v0.10.0 β’ Built by @DeVenLucaz β’ Free & Open Source
Empowering low-spec devices with local AI.