Skip to main content

LePika — a cat in a speech bubble with a terminal prompt

LePika

One command → local AI chat in your browser.
(luh-PEE-ka)

CI PyPI License: MIT

lepika: detect the machine, pick a model, chat UI ready

Your gaming GPU is already an AI machine. LePika self-hosts LLMs on the hardware you already own — Mac (Metal), Linux and Windows (NVIDIA) — with zero configuration. No Docker, no API keys, no monthly bill, and nothing you type ever leaves the box.

Named after Pika, the cat who supervises this project. Like any cat, Pika has everything worth having at home and no use for the cloud. Same idea, for your AI.

Install

Mac / Linux

curl -fsSL https://raw.githubusercontent.com/MikaelSabuhi/lepika/main/install.sh | sh

Windows (PowerShell)

irm https://raw.githubusercontent.com/MikaelSabuhi/lepika/main/install.ps1 | iex

Already have uv?

uv tool install lepika

Then run lepika. It detects your OS, GPU, and RAM, offers the models that actually fit your machine, installs Ollama + OpenWebUI, pulls your pick, and opens the chat UI at http://localhost:3000.

LePika installs into ~/.local/bin — if a new terminal can't find the lepika command, add that directory to your PATH or restart your shell.

Prefer to read the source first, or hack on it? git clone https://github.com/MikaelSabuhi/lepika && cd lepika && uv run lepika — git and uv are the only prerequisites; uv fetches its own Python.

What it does

  • Native GPU, no containers — Apple Metal on macOS, CUDA on Linux/Windows. Ollama arrives via Homebrew, the official install script, or winget; OpenWebUI via uv tool. CPU-only machines work too (LePika warns you they'll be slow).
  • Models that fit — a curated list filtered to your RAM, so there's no guessing whether a 27B fits in 16 GB.
  • Any model, one field — Ollama tags, Hugging Face GGUF builds, or full-weight safetensors repos. Model guide →
  • Private by default — everything listens on 127.0.0.1 until you explicitly run lepika expose.
  • Two modes — ⚡ Express (default): everything native, no Docker. 🐳 Server: the same thing as one readable docker compose stack, for the box under the desk. Server guide →

LePika reuses an Ollama you already have instead of installing a second copy.

Everyday commands

Command What it does
lepika The setup wizard: detect → pick a model → install → chat
lepika up / lepika down Start / stop the local AI stack
lepika status Mode, engine, UI, and default model at a glance
lepika doctor Diagnose the setup; every ✗ has a one-line fix
lepika logs Tail LePika's logs (--lines, default 50)
lepika update Upgrade the engine and OpenWebUI — chats kept
lepika model add [ref] Download a model and make it the default (no ref → browse)
lepika model import <dir> Import safetensors weights already on disk
lepika model list / lepika model rm List / remove downloaded models
lepika expose Share engine + UI on your network behind a generated key
lepika connect <url> Use an engine on another machine (--local to go back)

Global flags: --version, --mode express|server (the wizard's, not a per-command switch), --dry-run, and --help on every command.

All state lives in one place: ~/.lepika — config, logs, and (in Express mode) OpenWebUI's own chats and uploads. That is what makes lepika update keep your chats. Point LEPIKA_HOME somewhere else if you prefer.

Why not just use Ollama directly?

You absolutely can. LePika drives Ollama and OpenWebUI; it doesn't replace them. What it saves you:

By hand With LePika
First run Install Ollama, install Python, install open-webui, set OLLAMA_BASE_URL, start both, find the port One command
Choosing a model Guess, download 20 GB, find out it swaps A list filtered to the RAM you actually have
Wiring UI ↔ engine Environment variables, by hand, per shell Done for you
Something's broken Two sets of logs, two projects' issue trackers lepika doctor, one fix hint per failure
Staying current Update each piece separately, per platform lepika update

If you'd rather run the raw tools, their docs are excellent and LePika gets out of your way. Curious what it's doing on your behalf? It's a few files of plain Python in src/lepika/: three dependencies, no magic.

Requirements

  • Disk for the models: ~0.5 GB for a tiny one, ~5 GB for a good all-rounder, 40 GB+ for the flagships.
  • 8 GB RAM recommended. Less works: LePika steers you to smaller models.
  • A GPU is optional. CPU-only machines run everything, slowly, and LePika says so up front.
  • macOS: Homebrew (without it, LePika points you at the Ollama.app download). Windows: winget, which ships with Windows 10/11. Full-weight imports have their own fine print — see the model guide.

Documentation

  • Model guide — every model-ref shape, full-weight imports, gated repos
  • Server mode — the compose stack, using a GPU box remotely, security
  • Architecture — design rules and how it's built
  • Changelog — what changed in each release

Roadmap

Both modes are v0.1 and work today. Next up: a published package, so installing is a plain name instead of a repo URL. Star the repo to follow along, or open an issue with what you'd want next.

Contributing

Issues and pull requests are welcome; CONTRIBUTING.md has the short version of how a change gets in. Found a security problem? SECURITY.md says how to report it privately.

uv sync --dev && uv run pre-commit install && uv run pytest -q

License

MIT © Mikael Sabuhi

Download files

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

Source Distribution

lepika-0.1.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

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

lepika-0.1.1-py3-none-any.whl (68.8 kB view details)

Uploaded Python 3

File details

Details for the file lepika-0.1.1.tar.gz.

File metadata

  • Download URL: lepika-0.1.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for lepika-0.1.1.tar.gz
Algorithm Hash digest
SHA256 55ddf0515b02e7191c9288b1325f9ca235612d5c5b0153bda4e45da2a2b19cd8
MD5 dff0471d1f85d35fc943cc9c1378cd98
BLAKE2b-256 f22e4c7fa66a4327df51798840d6e5afa507b7f1fc4fe041b8300c9d86412362

See more details on using hashes here.

Provenance

The following attestation bundles were made for lepika-0.1.1.tar.gz:

Publisher: release.yml on MikaelSabuhi/lepika

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

File details

Details for the file lepika-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: lepika-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 68.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for lepika-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 00a238acdee2656b6876c4be072a101bc573fdb3d253cb33c7efa50d4e358450
MD5 45a6b07d92832d6f7eb56f3a0de7884c
BLAKE2b-256 dbd1bc94a918e91ee7f3cb92cb1cb10ff6172d45bef997965a944937595f3d62

See more details on using hashes here.

Provenance

The following attestation bundles were made for lepika-0.1.1-py3-none-any.whl:

Publisher: release.yml on MikaelSabuhi/lepika

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

Release history Release notifications | RSS feed

0.1.2

2 files

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page