AI and models · Edition No. 35 · 29 Sep 2026

dottxt-ai/outlines

It makes a model return valid structured output by constraining what the model is allowed to generate.

← AI and modelsRead the whole edition →

15,882 stars · Apache-2.0, read from /blob/main/LICENSE on 2026-09-29; plain, copyright "2023- The Outlines developers", no added conditions · v1.3.3 (2026-08-06). THE YEAR TRAP: /releases/latest prints the date without a year and it was read as 2024; PyPI settles it as 2026. Code on 2026-09-21. · Track this in Scout

It makes a model return valid structured output by constraining what the model is allowed to generate.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A Python library at 15,882 stars from the .txt team, in version 1.3.3 since 6 August 2026, with code landing on 21 September 2026. You describe the shape you want, as a list of choices, a JSON schema or a Python class, and it restricts generation to match.

What it is good for. Any program that has to turn a model's answer into a record: pulling fields out of an invoice, tagging a support message, or filling a form from free text. The habit it replaces is asking politely in the prompt and then writing repair code for the times the model ignores you.

Stars15,882
LicenceApache-2.0, read from /blob/main/LICENSE on 2026-09-29; plain, copyright "2023- The Outlines developers", no added conditions
Latestv1.3.3 (2026-08-06). THE YEAR TRAP: /releases/latest prints the date without a year and it was read as 2024; PyPI settles it as 2026. Code on 2026-09-21.
Good
  • It works with models you run yourself through vLLM, Ollama, transformers or llama.cpp, and with hosted services from OpenAI, Gemini and Dottxt.
  • The shape can be as small as a list of three words or as large as a nested schema, and the code looks the same either way.
  • Apache-2.0 read from the licence file, copyright "2023- The Outlines developers", with no added conditions.
Watch for
  • The real guarantee only exists where the library can see and limit each next word, which means a model you run yourself. Against a hosted API it can ask for a shape, not enforce one.
  • It requires Python 3.10, 3.11, 3.12 or 3.13. Python 3.14 is excluded by the package's own metadata, which will catch out anyone on a very new system.
  • Constraining a model costs some speed, and forcing a shape can push a model into stilted wording in order to satisfy it. The output is valid; it is not always good.
Similar repositories
Install
python3 -m venv venv
source venv/bin/activate
pip install outlines
Screenshots
dottxt-ai/outlines: GitHub preview carddottxt-ai/outlines: Screenshot 1dottxt-ai/outlines: Screenshot 2

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.