Skip to main content

Local LLM Made Simple - Consumer-friendly AI assistant

Project description

lmapp - Local LLM, Made Simple โšก

Your AI assistant, anywhere. No cloud. No telemetry. No subscriptions.
One tool to download. One command to run. Works on any device.

License: MIT PyPI Version Python: 3.8+ Tests: 146/146 Passing Code Quality: Linting 0 errors Type Safety: mypy Clean Status: Production Ready


๐Ÿš€ Quick Start (30 seconds)

Installation

pip install lmapp
lmapp install  # Automatically installs and configures Ollama
lmapp chat     # Start chatting!

Update:

pip install --upgrade lmapp

Alternative installations:

# From Source
git clone https://github.com/nabaznyl/lmapp.git && cd lmapp && pip install .

See Installation Guide for more options.

Verify installation:

lmapp --version && lmapp status

โœ… v0.2.1 Now Available - Ollama & llamafile backend integration | Install from PyPI | GitHub Packages | Releases

๐Ÿ’ก Who Is This For?

Developers & Power Users

  • Want LLM access in your terminal workflow
  • Need multi-backend flexibility (Ollama, llamafile)
  • Prefer CLI over GUI
  • Value privacy and local processing
  • Want to understand how it works

Students & Researchers

  • Need AI assistance for studying/research
  • Want offline-first tool (no internet needed after setup)
  • Appreciate well-documented code
  • May want to contribute or fork

Professionals (Non-Technical)

  • Need AI assistance but value privacy
  • Want simple, elegant tool
  • Prefer "just works" experience
  • Don't want subscriptions or cloud dependencies

Anyone Who Wants Universal Access

  • One tool that works on any Linux device
  • Download once, use everywhere
  • No vendor lock-in
  • Open source = you own your data

โœจ What Makes lmapp Different?

Feature lmapp ChatGPT Ollama LM Studio
Setup Time 30 seconds 2 minutes 5 minutes 10 minutes
Privacy โœ… 100% Local โŒ Cloud โœ… Local โœ… Local
No Subscription โœ… Free โŒ Paid โœ… Free โœ… Free
Terminal Native โœ… Built-in โŒ Web โš ๏ธ Manual โŒ GUI only
Configuration โœ… Simple CLI โŒ UI Only โš ๏ธ Complex โš ๏ธ Complex
Multiple Backends โœ… Yes โŒ No โŒ Single โŒ Single
Error Recovery โœ… Smart โŒ Manual โš ๏ธ Basic โš ๏ธ Basic
Test Coverage โœ… 100% N/A โš ๏ธ Partial N/A

The lmapp advantage: Built specifically for seamless, privacy-first, terminal-native AI access.


๐ŸŽฏ Real-World Use Cases

๐Ÿ‘จโ€๐Ÿ’ป Developer: Quick Code Explanations

$ lmapp chat
You: Explain this async/await in Python
AI: [Detailed explanation with examples]
You: /stats
Stats: 1 message, tinyllama, 0.7ยฐ, 23 seconds

๐Ÿ“š Student: Study Partner

$ lmapp chat
You: Summarize the French Revolution
AI: [Comprehensive summary]
You: Break that down into 3 key points
AI: [Simplified explanation]

๐Ÿ’ผ Professional: Research Assistant

$ lmapp chat
You: Analyze this market trend
AI: [Data-driven analysis]
You: What are the implications?
AI: [Strategic insights]

๐Ÿ”ง SysAdmin: Quick Documentation Lookup

$ lmapp chat
You: How do I configure nginx reverse proxy?
AI: [Step-by-step instructions]

๐ŸŽ Core Features

๐Ÿง  Multi-Backend Support

  • Ollama - Full integration, automatic detection
  • llamafile - Single-file models support
  • Mock - Testing & development mode
  • Automatic Selection - Uses what's available

๐Ÿ’ฌ Simple Chat Interface

  • Clean terminal UI (no GUI bloat)
  • Real-time responses
  • Command system: /help, /stats, /clear, /history, /debug, /exit
  • Session context preserved

โš™๏ธ Easy Configuration

lmapp config set model mistral     # Change model
lmapp config set temperature 0.3   # Adjust creativity
lmapp config set debug true        # Enable debug
lmapp config show                  # View all settings

๐Ÿ“Š Helpful Statistics

You: /stats
Stats:
  Messages: 12
  Model: mistral
  Temperature: 0.7
  Session Duration: 5m 43s

๐Ÿ†˜ Smart Error Recovery

  • Automatic retry on failure
  • Falls back to available backends
  • Helpful error messages
  • Contextual debugging info

๐Ÿ“ Comprehensive Logging

  • Auto-rotating logs (kept for 7 days)
  • Debug mode for troubleshooting
  • Stored in ~/.local/share/lmapp/logs/

๐Ÿ“– Usage

Backend Management

lmapp automatically detects and manages AI backends (Ollama or llamafile):

# Check backend status
lmapp status

# Install and start a backend (automatic detection)
lmapp install

# Start backend service
lmapp start

# Stop backend service
lmapp stop

Supported Backends:

  • Ollama (Recommended for 8GB+ RAM) - Fast, efficient, well-maintained
  • llamafile (Best for limited RAM) - Single-file, portable, runs anywhere

Start Chat

# Simple chat (uses default backend and model)
lmapp chat

# With specific model
lmapp chat --model tinyllama:latest

# With debug logging
lmapp --debug chat

# Enable debug via environment
LMAPP_DEBUG=1 lmapp chat

Model Management

# List available models
lmapp models list

# Download a specific model (Ollama)
ollama pull tinyllama:latest
ollama pull qwen2.5:0.5b

# For llamafile, models are downloaded automatically on install

Configure

lmapp config show              # View all settings
lmapp config set key value     # Change a setting
lmapp config validate          # Check configuration
lmapp config reset             # Reset to defaults

View Logs

tail -f ~/.local/share/lmapp/logs/lmapp.log

๐Ÿ“‹ System Requirements

Minimum

  • OS: Debian, Ubuntu, Linux Mint (any APT-based Linux)
  • Python: 3.8 or higher
  • RAM: 4GB minimum
  • Storage: 5-10GB free space
  • Internet: Required for initial setup only

Recommended

  • OS: Ubuntu 22.04 LTS or Debian 12
  • Python: 3.11+
  • RAM: 8GB or more
  • Storage: 20GB+ free
  • CPU: Modern multi-core preferred

๐Ÿ“Š Project Quality

โœ… What's Included

  • 2,627 lines of production code
  • 128 tests passing (100% coverage)
  • 0 flake8 errors (fully formatted)
  • 0 mypy errors (type-safe)
  • 1,000+ lines of documentation
  • 6 comprehensive guides
  • Enterprise-grade logging and recovery
  • Automated environment management

โœ… What's Tested

  • โœ… All backends (Ollama, llamafile, mock)
  • โœ… Chat system (messages, commands, history)
  • โœ… Configuration (persistence, validation)
  • โœ… Error recovery (retries, fallbacks)
  • โœ… CLI interface (all commands)
  • โœ… System checks (diagnostics)

โœ… Production Ready

  • โœ… Zero critical blockers
  • โœ… Zero security issues
  • โœ… 100% test passing rate
  • โœ… Comprehensive documentation
  • โœ… Professional error messages

๐Ÿ“š Documentation

I Want To... Read This
Get started in 5 minutes Contributing Guide
Understand configuration Configuration Guide
Troubleshoot issues Troubleshooting Guide
Learn about the code Architecture Guide
Contribute or modify Contributing Guide
See what's next Roadmap

๐Ÿ” Privacy & Security

  • 100% Local Processing: Everything runs on your device
  • No Cloud: No internet required after initial setup
  • No Telemetry: We don't track anything
  • No Subscriptions: Completely free, forever
  • Open Source: You can review every line of code
  • Your Data: You own everything

๐Ÿ—บ๏ธ Roadmap

v0.1.0 โœ… (Released)

  • Multi-backend support
  • Terminal chat interface
  • Configuration management
  • 100% test coverage
  • Comprehensive documentation

v0.2.0 (Q2 2026)

  • Chat history persistence
  • Performance optimization
  • LocalAI backend support
  • Enhanced error messages
  • Optional deployment automation

v0.3.0 (Q3 2026)

  • Web UI option (complement to CLI)
  • Multi-platform support (Fedora, macOS, Windows)
  • Advanced features (RAG, plugins)

v0.4.0+ (Future)

  • Mobile/Termux support
  • Enterprise features
  • Extended ecosystem

๐Ÿค Contributing

Want to help improve lmapp?

All contributions welcome: bug fixes, features, documentation, tests, and ideas.


๐Ÿ’ฌ Support


โš™๏ธ Troubleshooting

Issue Solution
command not found Add ~/.local/bin to $PATH or use pipx install lmapp
ModuleNotFoundError Reinstall: pip install --upgrade lmapp
Debian/Ubuntu issues Use pipx install lmapp instead of pip

See Troubleshooting Guide for more.


โ“ FAQ

Q: How do I install?
pip install lmapp

Q: How do I update?
pip install --upgrade lmapp

Q: Can I use commercially?
Yes! MIT License allows it. See LICENSE.

Q: Does it collect data?
No. 100% local, no telemetry.

More questions? See Troubleshooting Guide.


๐Ÿ“š Documentation


๐Ÿ“„ License

MIT License - See LICENSE file

This means:

  • โœ… Use commercially
  • โœ… Modify and distribute
  • โœ… Include in closed-source projects
  • โœ… Just include the license

Third-Party Licenses

  • Ollama: MIT License
  • llamafile: Apache 2.0 License
  • Pydantic: MIT License
  • Pytest: MIT License
  • AI Models: Various (see model documentation)

๐Ÿ™ Built With

  • Ollama - LLM management platform
  • llamafile - Portable LLM runtime
  • Pydantic - Data validation
  • Pytest - Testing framework
  • Meta, Mistral, and other amazing AI model creators

โญ Show Your Support

If lmapp helps you, please:

  • โญ Star this repository
  • ๐Ÿ› Report bugs and suggest features
  • ๐Ÿ“ข Share with friends and colleagues
  • ๐Ÿค Contribute improvements
  • ๐Ÿ“ Share your use cases

๐Ÿ“ž Get Started Now

pip install lmapp
lmapp chat

Welcome to the future of local AI. ๐Ÿš€

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lmapp-0.2.1.tar.gz (59.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lmapp-0.2.1-py3-none-any.whl (51.8 kB view details)

Uploaded Python 3

File details

Details for the file lmapp-0.2.1.tar.gz.

File metadata

  • Download URL: lmapp-0.2.1.tar.gz
  • Upload date:
  • Size: 59.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lmapp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ff04a991a52e54e6a78e3e6f137800714647aa24e6851bdc46d60b326536cf95
MD5 a8110f441199ee9b29fc9aaf72b8c305
BLAKE2b-256 d8e72a20982225f4338ddba13fc8501518ef0fb96fe830c3cb6d0b28a0d94529

See more details on using hashes here.

Provenance

The following attestation bundles were made for lmapp-0.2.1.tar.gz:

Publisher: publish.yml on nabaznyl/lmapp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lmapp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: lmapp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 51.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lmapp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a8e3920865cc817f165110cccb2c982aae53f4a2b8e687954d47e6fb928a1897
MD5 2cc00e43f731280efbe70add43d58c57
BLAKE2b-256 d9f2fc82dde1bb74c528eb804ebe7b211bf8603c18c3e838133de1964e1874e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for lmapp-0.2.1-py3-none-any.whl:

Publisher: publish.yml on nabaznyl/lmapp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page