Saltar a contenido

wsbuilder

wsbuilder se distribuye como paquete Python puro, sin dependencias de runtime. Eso permite una instalacion simple con pip en Linux, macOS y Windows siempre que el usuario tenga Python 3.11+.

Esta documentacion cubre la superficie publica principal del proyecto:

  • nucleo App, HTTPServer, Request y Response.
  • WebSocket, cache, seguridad, metricas, logs y tareas.
  • ORM SQLite, replicas de lectura y optimizacion.
  • DNS local, proxy HTTP y utilidades de borde.
  • IA, prediccion y un proyecto integral de ejemplo separado.

Instalacion recomendada

python -m pip install --upgrade pip
python -m pip install wsbuilder

Si tu distribucion protege el Python del sistema con PEP 668 y muestra externally-managed-environment, usa el flujo en venv documentado abajo.

La guia completa esta en Instalacion.

Instalacion en entorno virtual

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install wsbuilder
py -m venv .venv
.venv\Scripts\Activate.ps1
py -m pip install --upgrade pip
py -m pip install wsbuilder

Verificar que quedo bien

python -c "import wsbuilder; print(wsbuilder.__version__)"
wsbuilder --help

Instalar desde codigo fuente

Para instalar desde este repositorio:

python -m pip install .

La instalacion editable solo se recomienda para desarrollo:

python -m pip install -e .

Instalar sin internet

Si necesitas compilar e instalar localmente sin acceso a PyPI, usa:

python -m build --no-isolation
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --no-index dist/wsbuilder-*.whl

La explicacion detallada y la alternativa desde codigo fuente estan en Instalacion.

Inicio rapido

from wsbuilder import App, Response

app = App(cors_allow_origin="*")

@app.view("/")
def home(_request):
    return Response.html("<h1>wsbuilder</h1>")

@app.api("/api/health")
def health(_request):
    return {"ok": True}

app.run("0.0.0.0", 8765)

Demo incluida

Tras instalar el paquete puedes levantar la demo:

wsbuilder --host 0.0.0.0 --port 8765

Siguientes lecturas