This release is a pre-release and may not be stable for production use.
Loreley
Whole-repository Quality‑Diversity optimization for real git codebases.
Loreley is a distributed system that evolves entire git repositories (the unit of search is a git commit). It continuously samples base commits, asks external planning/coding agents to implement repo-wide changes, evaluates the result with your evaluator, and stores metrics plus a MAP‑Elites archive in Postgres for later sampling and reuse.
Why use it
- Whole-repo evolution: cross-module refactors and “production-style” changes are first-class.
- QD-native (MAP-Elites): keeps multiple high-performing but different solutions instead of a single champion line.
- Learned behaviour space: behaviour descriptors come from repo-state code embeddings (cached by git blob SHA), not hand-crafted heuristics.
- Production loop: scheduler + Redis/Dramatiq workers + Postgres, with preflight checks, logs, and reproducible git history.
Quick start (local)
Requirements: Python 3.11+, uv, Git (worktrees), PostgreSQL, Redis, and an OpenAI-compatible API for embeddings and some summaries (OPENAI_API_KEY). You also need:
- Planning/coding backend: default is the
kilocodeCLI onPATH(override viaWORKER_PLANNING_BACKEND/WORKER_CODING_BACKEND). - Evaluator plugin:
WORKER_EVALUATOR_PLUGIN=module:callablethat runs unattended and returns structured metrics.
git clone <YOUR_FORK_OR_ORIGIN_URL> loreley
cd loreley
uv sync
docker compose up -d postgres redis
cp env.example .env
# Minimal required vars (in addition to defaults in env.example):
# - EXPERIMENT_ID=<uuid or slug>
# - SCHEDULER_MAX_TOTAL_JOBS=<positive integer>
# - OPENAI_API_KEY
# - MAPELITES_EXPERIMENT_ROOT_COMMIT=<git commit hash>
# - WORKER_REPO_REMOTE_URL=<git remote URL with push access>
# - WORKER_EVALUATOR_PLUGIN=module:callable
#
# Recommended:
# - SCHEDULER_REPO_ROOT=/abs/path/to/your/target-git-checkout
# - WORKER_EVOLUTION_GLOBAL_GOAL="..."
#
# Optional:
# - WORKER_EVALUATOR_PYTHON_PATHS=["/abs/path/to/plugin_dir"]
# - SCHEDULER_STARTUP_APPROVE=true # skip interactive startup approval
uv run loreley doctor --role all
uv run loreley scheduler
uv run loreley worker
uv run loreley status
Optional UI (read-only)
uv sync --extra ui
uv run loreley ui
Documentation
docs/index.md(local)- Online docs
- Key guides:
docs/loreley/config.md,docs/script/run_scheduler.md,docs/script/run_worker.md
Metadata
Release files for loreley 0.7.6a0
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 |
|---|---|---|---|---|
| loreley-0.7.6a0.tar.gz | 2.1 MB | Without provenance | Details for loreley-0.7.6a0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| loreley-0.7.6a0-py3-none-any.whl | Python 3 | none | any | Details for loreley-0.7.6a0-py3-none-any.whl |
Total release size: 2.3 MB
Release files / loreley-0.7.6a0.tar.gz
| Download URL | loreley-0.7.6a0.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fb0d0cd31a87c1646507c5a4a957591a404a95d8c3076a7ef3a55ce070227ec8
|
|
BLAKE2b-256 checksum How to use checksums |
67afb17ecd3d44f57f5ceac9d4538cb106a77c02135fc6deb099ce9945cfebbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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 / loreley-0.7.6a0-py3-none-any.whl
| Download URL | loreley-0.7.6a0-py3-none-any.whl |
|---|---|
| Size | 219.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b0ed62519926f71af4ba47f6ed9d4a7fd6c609b01f5fa1bb02c34ab954bd254
|
|
BLAKE2b-256 checksum How to use checksums |
3538eb5a69762b2e880c8f022b1642487275d81a516561b05527b4050af96f4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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 loreley 0.7.6a0
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.