Skip to main content

elja

Elja (Icelandic): relentless drive — the quality of working at something without letting up.

A fully-customizable LLM agent harness built on Pydantic AI, designed for local-first models (LM Studio / OpenAI-compatible endpoints) with first-class support for tools, skills, sub-agents, MCP servers, and custom context management.

Status: under active development.

Installation

pip install elja

Usage

Start LM Studio serving a model (default expectation: qwen/qwen3.8-27b at http://localhost:1234/v1), then:

elja chat                      # interactive REPL (session persisted + resumed)
elja chat --once "list the files here and summarize them"
elja chat --config path/to/elja.toml --session mychat

Or from Python:

from elja import EljaDeps, build_agent, build_usage_limits, load_settings

settings = load_settings()
agent = build_agent(settings)
result = agent.run_sync(
    "What's in this directory?",
    deps=EljaDeps.from_settings(settings),
    usage_limits=build_usage_limits(settings),
)
print(result.output)

Configuration lives in elja.toml (all keys optional; ELJA_* env vars override, e.g. ELJA_MODEL__BASE_URL):

[model]
name = "qwen/qwen3.8-27b"
base_url = "http://localhost:1234/v1"
temperature = 0.2

[limits]
request_limit = 25

[workspace]
root = "."

[tools]
run_shell = true

[agent]
instructions = "Optional: replace the default system instructions."

Development

poetry install --with dev
poetry run pre-commit install

Run checks:

poetry run ruff check src tests
poetry run mypy
poetry run pytest -m "not integration"

Integration tests (-m integration) require a running LM Studio server at http://localhost:1234/v1.

License

MIT

Download files

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

Source Distribution

elja-0.2.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

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

elja-0.2.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file elja-0.2.0.tar.gz.

File metadata

  • Download URL: elja-0.2.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elja-0.2.0.tar.gz
Algorithm Hash digest
SHA256 69a7fe8704461b4b471da85f0b0f94ed723b7713913d3ccd5ed785d8e920edf9
MD5 2d0d3998de9982f724b62183aeab32b7
BLAKE2b-256 f2eaffc6b4b5e8aa85bc198a968926f733300a771ef00b8df7caa990d95a99a9

See more details on using hashes here.

File details

Details for the file elja-0.2.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for elja-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b21650b9054fbc6581826a5bf4531648f040a47b4132f009f342f0b837ddcc3
MD5 ff96937710b9434b29d3885af8396e69
BLAKE2b-256 2e3d8b6c65801c9afd3f7d6e2da87ea8d551e511550a459fdf5c6f08c96a04cc

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 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