---
name: from_jsonl
kind: function
lang: py
domain: core
version: "1.0.0"
purity: pure
signature: "from_jsonl(text: str) -> list[dict]"
description: "Parser JSONL a lista de dicts. Ignora lineas vacias. Lanza ValueError con el numero de linea si una linea contiene JSON invalido. Complemento de to_jsonl."
tags: [jsonl, json, parser, import, streaming, format]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: ["json"]
params:
  - name: text
    desc: "string con contenido JSONL (JSON Lines, una linea por objeto)"
output: "lista de dicts, cada uno parseado desde una linea del JSONL"
tested: true
tests:
  - "jsonl valido"
  - "lineas vacias intercaladas"
  - "linea invalida raise con numero"
test_file_path: "python/functions/core/from_jsonl_test.py"
file_path: "python/functions/core/from_jsonl.py"
---

## Ejemplo

```python
text = '{"id": 1}\n{"id": 2}'
rows = from_jsonl(text)
# [{"id": 1}, {"id": 2}]

# Lineas vacias ignoradas
text = '{"id": 1}\n\n{"id": 2}\n'
rows = from_jsonl(text)
# [{"id": 1}, {"id": 2}]

# JSON invalido levanta error con numero de linea
try:
    from_jsonl('{"ok": 1}\nnot-json')
except ValueError as e:
    print(e)  # "JSON invalido en linea 2: ..."
```

## Notas

Aunque se declara pure (no hace I/O), puede lanzar ValueError para JSON invalido.
Esto es consistente con la convencion del registry: funciones puras pueden lanzar
excepciones de validacion — solo las funciones impuras retornan error como valor.
