Metadata-Version: 2.4
Name: behave-runner
Version: 1.0.0
Summary: CLI completa para Behave con subcomandos — punto de entrada unificado del ecosistema BehaveLib
Project-URL: Documentation, https://mathiaspaulenko.github.io/behave-runner/
Project-URL: Homepage, https://github.com/MathiasPaulenko/behave-runner
Project-URL: Repository, https://github.com/MathiasPaulenko/behave-runner
Project-URL: Issues, https://github.com/MathiasPaulenko/behave-runner/issues
Project-URL: Changelog, https://github.com/MathiasPaulenko/behave-runner/blob/main/CHANGELOG.md
Author: Mathias Paulenko
License-Expression: MIT
License-File: LICENSE
Keywords: bdd,behave,cli,impact-analysis,runner,test-runner,typer,watch
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Testing :: BDD
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: behave-kit>=0.1.0
Requires-Dist: behave-model>=1.0
Requires-Dist: behave>=1.2.6
Requires-Dist: rich>=13.0
Requires-Dist: typer>=0.12
Provides-Extra: all
Requires-Dist: behave-comments>=0.1.0; extra == 'all'
Requires-Dist: behave-doctor>=0.1.0; extra == 'all'
Requires-Dist: behave-format>=0.1.0; extra == 'all'
Requires-Dist: behave-gen>=0.1.0; extra == 'all'
Requires-Dist: behave-lint>=0.1.0; extra == 'all'
Requires-Dist: behave-modern-console-report>=0.1.0; extra == 'all'
Requires-Dist: behave-modern-file-report>=0.1.0; extra == 'all'
Requires-Dist: behave-modern-html-report>=0.1.0; extra == 'all'
Requires-Dist: behave-modern-json-report>=0.1.0; extra == 'all'
Requires-Dist: behave-modern-md-report>=0.1.0; extra == 'all'
Requires-Dist: behave-modern-sheets-report>=0.1.0; extra == 'all'
Requires-Dist: behave-pool>=0.1.0; extra == 'all'
Requires-Dist: behave-priority>=0.1.0; extra == 'all'
Requires-Dist: behave-retry>=0.1.0; extra == 'all'
Requires-Dist: behave-steplib>=0.1.0; extra == 'all'
Requires-Dist: behave-trace>=0.1.0; extra == 'all'
Requires-Dist: wavexis>=0.1.0; extra == 'all'
Provides-Extra: comments
Requires-Dist: behave-comments>=0.1.0; extra == 'comments'
Provides-Extra: dev
Requires-Dist: build>=1.0; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pre-commit>=3.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
Requires-Dist: mkdocs>=1.6; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.24; extra == 'docs'
Provides-Extra: doctor
Requires-Dist: behave-doctor>=0.1.0; extra == 'doctor'
Provides-Extra: format
Requires-Dist: behave-format>=0.1.0; extra == 'format'
Provides-Extra: gen
Requires-Dist: behave-gen>=0.1.0; extra == 'gen'
Provides-Extra: lint
Requires-Dist: behave-lint>=0.1.0; extra == 'lint'
Provides-Extra: parallel
Requires-Dist: behave-pool>=0.1.0; extra == 'parallel'
Provides-Extra: priority
Requires-Dist: behave-priority>=0.1.0; extra == 'priority'
Provides-Extra: record
Requires-Dist: wavexis>=0.1.0; extra == 'record'
Provides-Extra: report-console
Requires-Dist: behave-modern-console-report>=0.1.0; extra == 'report-console'
Provides-Extra: report-file
Requires-Dist: behave-modern-file-report>=0.1.0; extra == 'report-file'
Provides-Extra: report-html
Requires-Dist: behave-modern-html-report>=0.1.0; extra == 'report-html'
Provides-Extra: report-json
Requires-Dist: behave-modern-json-report>=0.1.0; extra == 'report-json'
Provides-Extra: report-md
Requires-Dist: behave-modern-md-report>=0.1.0; extra == 'report-md'
Provides-Extra: report-sheets
Requires-Dist: behave-modern-sheets-report>=0.1.0; extra == 'report-sheets'
Provides-Extra: retry
Requires-Dist: behave-retry>=0.1.0; extra == 'retry'
Provides-Extra: steplib
Requires-Dist: behave-steplib>=0.1.0; extra == 'steplib'
Provides-Extra: trace
Requires-Dist: behave-trace>=0.1.0; extra == 'trace'
Description-Content-Type: text/markdown

# behave-runner

> CLI completa para Behave con subcomandos.

<!-- markdownlint-disable MD013 -->
[![CI](https://github.com/MathiasPaulenko/behave-runner/actions/workflows/ci.yml/badge.svg)](https://github.com/MathiasPaulenko/behave-runner/actions/workflows/ci.yml)
[![PyPI](https://img.shields.io/pypi/v/behave-runner)](https://pypi.org/project/behave-runner/)
[![Python](https://img.shields.io/pypi/pyversions/behave-runner)](https://pypi.org/project/behave-runner/)
[![Coverage](https://codecov.io/gh/MathiasPaulenko/behave-runner/branch/main/graph/badge.svg)](https://codecov.io/gh/MathiasPaulenko/behave-runner)
<!-- markdownlint-enable MD013 -->

## Features

- CLI unificada para ejecutar, listar, filtrar y gestionar escenarios Behave.
- Soporte de ejecución en paralelo, sharding, prioridad y reintentos.
- Perfiles de configuración en `pyproject.toml` o `behave.ini`.
- Modo *watch* para re-ejecutar tests automáticamente al cambiar archivos.
- Reportes en consola, HTML, Markdown, JSON, XLSX y PDF.
- Trace viewer y UI web para depuración.
- Gestión de step libraries, generación de features y grabación de navegador.
- Análisis de impacto para detectar escenarios afectados por cambios de código.
- Degradación graceful: si falta una extra opcional, el comando sigue funcionando.

## Installation

```bash
pip install behave-runner
pip install "behave-runner[all]"  # con todas las extras
```

Para desarrollo:

```bash
pip install -e ".[dev]"
pre-commit install
```

## Quick Start

```bash
behave-runner init
behave-runner run
behave-runner list
behave-runner watch
```

## Commands

| Command | Description |
| --- | --- |
| `run` | Ejecutar tests de Behave. |
| `watch` | Re-ejecutar tests al detectar cambios. |
| `list` | Listar escenarios sin ejecutarlos. |
| `select` | Filtrar escenarios por tags, regex o nombre. |
| `lint` | Lint de archivos `.feature`. |
| `format` | Formatear archivos `.feature`. |
| `doctor` | Diagnóstico de salud del proyecto. |
| `init` | Inicializar un proyecto Behave. |
| `generate` | Generar steps o features. |
| `record` | Grabar sesión de navegador y generar steps. |
| `report` | Generar y abrir reportes. |
| `trace` | Ver trace viewer o servir dashboard. |
| `steps` | Gestionar step libraries. |
| `impact` | Detectar escenarios afectados por cambios. |
| `open` | Abrir el último reporte o trace en el navegador. |
| `config` | Gestionar la configuración. |

## Documentation

La documentación completa está en:

<https://mathiaspaulenko.github.io/behave-runner/>

## Links

- **Repositorio**: <https://github.com/MathiasPaulenko/behave-runner>
- **Issues**: <https://github.com/MathiasPaulenko/behave-runner/issues>
- **Discussions**: <https://github.com/MathiasPaulenko/behave-runner/discussions>
- **PyPI**: <https://pypi.org/project/behave-runner/>

## License

MIT
