Open source · Python · MIT and Apache-2.0

Frameworks and tooling for machine learning, LLM agents and operational decisions.

We build the layer between a research result and something a team can run: the project structure, the tracking, the interfaces, and the tests that keep a number honest six months after it was measured. Everything here is open source, typed, and tested in CI on Linux, macOS and Windows.

Four maintained projects Python 3.9+ CI on Linux, macOS, Windows

~/drobyshevdev
# a framework for ML, analytics and LLM agents
$ pip install "mlango[sklearn]"
# a minimal, readable agent loop
$ pip install glia-agents
# reinforcement learning for operational decisions
$ pip install decisionrl
# a legal assistant you can check — no API keys
$ docker compose up app
4
Open-source projects
31
Algorithms in decisionrl
400
Tests in decisionrl, 86% covered
4 717
Legal norms indexed in praxis
3
Platforms in CI

Projects

Four systems, one engineering standard

Each project is installable today, documented, and released under a permissive licence. Every number below is measured by a script in the repository that produced it, not asserted in prose.

praxis

a legal assistant you can check

Answers a question about Russian law and returns the specific provisions it rests on, with every citation verified. Retrieval is hybrid — BM25 plus dense embeddings with a cross-encoder reranker — and an NLI model checks that each cited norm actually supports the claim, so a plausible-but-wrong reference is caught rather than shipped. The default answer is extractive, the text of the law itself, and cannot hallucinate; an optional LLM layer passes the same check.

RAG Python 3.12 FastAPI Postgres + pgvector BGE-M3 GraphRAG self-RAG Docker
$ docker compose up app
# → localhost:8077, no keys
Licence
Apache-2.0
Latest release
v0.1.0
Corpus
4 717 norms
recall@5 · MRR
0.92 · 0.94

mlango

a framework for ML, analytics and LLM agents

Django's philosophy, applied to machine learning. You declare datasets, models, agents and evaluations; the framework runs them, versions them, records them and shows them to you. One class body becomes an admin page, a documented API endpoint, a migration and a CLI target at once. Agents are a first-class family beside models, sharing one metastore, one admin and one evaluation system — because most tools in this space handle classical ML or LLMs, and most teams are doing both.

Framework Python 3.10+ scikit-learn PyTorch LLM agents Admin UI Migrations Plugins
$ pip install "mlango[sklearn]"
$ mlango startproject myproject
Licence
MIT
Latest release
v0.2.0
Requires
Python ≥ 3.10
Declarative families
4

glia

a glass-box, minimal library for LLM agents

Every model call, tool call and state transition is a plain object you can log, snapshot and replay. The whole loop fits in one file you can read in an afternoon. The modern techniques — tools, structured outputs, context compaction, durable checkpoints, guardrails, subagents, evals-as-tests — ship as opt-in primitives you can read, not a monolith you have to trust. If you want a graph engine, use LangGraph; if you want a small, transparent loop you fully understand, use this.

LLM agents Python 3.10+ Zero required dependencies Typed Replayable traces Desktop shell
$ pip install glia-agents
# the core needs nothing else
Licence
MIT
Latest release
v0.8.2
Requires
Python ≥ 3.10
Core dependencies
0

decisionrl

reinforcement learning for operational decisions

Pricing, inventory, energy, queues and supply chains: the decisions a business makes thousands of times a day, where a small policy improvement compounds. Every applied environment ships with the classical operations-research baseline beside it, so a learned policy is measured against the standard method rather than asserted to be good — and where the classical method is already optimal, the README says so.

Reinforcement learning Python 3.9+ PyTorch NumPy Gymnasium mypy ruff
$ pip install decisionrl
# or "decisionrl[gym]"
Licence
MIT
Latest release
v0.4.0
Algorithms
31
Environments
22 (9 applied)

Course · free

Want to learn ML, DL and RL? Here is the whole road, free.

lemma is a complete roadmap through machine learning, neural networks, reinforcement learning and recommender systems: twenty-seven modules from the arithmetic of a mean to reproducing a recent paper. No sign-up, no first module free, no instalments. The central skill is checking a claim rather than launching a training run — module one is about baselines and confidence intervals, before any machine learning at all. Written in Russian; the notebooks run on a CPU in seconds.

What we build

The part of the work that usually gets skipped

A model that works in a notebook is a third of a system. The rest is structure, evidence and an interface — and that is the part we ship.

Structure that outlives the sprint

A project layout, a settings module, declarative classes and migrations — the answer web development already found. It is what stops an ML repository turning into a pile of scripts and a checkpoints/ directory nobody can map back to a commit.

Numbers you can re-derive

Runs are versioned and content-addressed, seeds are fixed, splits are deterministic, and the git commit is captured with the metrics. A published figure comes with the script that produces it, so it can be checked rather than believed.

Interfaces, not just libraries

An admin page, a documented HTTP API and a CLI target generated from the same declaration. The result is reachable by a colleague who will never open the source, and that is usually the difference between a prototype and a tool.

How we work

Five rules every repository is held to

These are review criteria, not aspirations. A pull request that breaks one of them gets comments.

01

Errors teach

A message is read at the worst possible moment by someone who does not have the source open. It should say what went wrong and what to do next, and list the alternatives when there are any.

02

Tests are named after the guarantee they protect

test_assignment_is_stable_when_rows_are_added, not test_split. A test whose name does not survive being read aloud is not documenting anything.

03

Verification beats assertion

A green pipeline on one machine is not evidence. Every claim we publish — an accuracy, a benchmark, a "this works on Windows" — is measured on the run it describes, and the numbers in a README are pinned by tests, because prose rots quietly and a failing test does not.

04

Comments explain why

The code already says what it does. The comment is for the constraint a reader cannot see.

05

No hidden control flow

If a framework does something on your behalf, it should be possible to find the line where it happens. Convenience that cannot be traced is a debt with no repayment schedule.

Working with us

Issues and pull requests are welcome on every project

Every repository has a CONTRIBUTING.md — its own, or the organisation-wide default — covering the checks CI will run and the standards review will hold you to, so there is no unwritten rule to discover after the fact.

Contribute
Open an issue describing the change, then a pull request against the default branch. CI runs on Linux, macOS and Windows before review.
Report a vulnerability
Use GitHub's private vulnerability reporting on the affected repository — never a public issue.
Documentation
Written in English and Russian, structured so a third language is one file per page rather than a fork.
Licensing
mlango, glia and decisionrl are MIT; praxis is Apache-2.0. Commercial use is permitted under both.

Start with the project closest to your problem

A framework for the ML work, a readable agent loop, a library for the decisions underneath it, and a worked example of retrieval you can actually audit. All four install in one command.