---
name: get_text_stats
kind: function
lang: py
domain: core
version: "1.0.0"
purity: pure
signature: "def get_text_stats(text: str) -> dict"
description: "Estadisticas basicas de un texto: total de caracteres, lineas y palabras."
tags: [text, statistics, stats, characters, words, lines]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: []
params:
  - name: text
    desc: "string de texto a analizar"
output: "dict con claves total_chars, total_lines, total_words conteniendo conteos basicos"
tested: true
tests: ["texto normal con palabras y lineas", "texto vacio retorna ceros", "texto con solo newlines"]
test_file_path: "python/functions/core/get_text_stats_test.py"
file_path: "python/functions/core/core.py"
---

## Ejemplo

```python
stats = get_text_stats("hello world\nfoo bar")
# {"total_chars": 19, "total_lines": 2, "total_words": 4}
```

## Notas

Funcion pura sin dependencias externas. `total_lines` cuenta newlines + 1, por lo que un texto vacio cuenta como 1 linea (comportamiento consistente con `wc -l` + 1). `total_words` usa `str.split()` que separa por cualquier whitespace y descarta vacios, equivalente a contar tokens separados por espacios.
