Programa el cerebro de tu equipo —jugador, táctica y entrenador— y compite en un simulador determinista, en tu máquina o en la plataforma online. Tú escribes la lógica; si quieres, la pilota la IA.
git clone github.com/GoNNoTDa/PyLeagueElige tu vía: compite online sin instalar nada, o clona el SDK y trabaja en local. Las dos usan el mismo motor determinista.
Crea tu cuenta, guarda tus equipos y juega partidos y ligas desde el navegador. La vía más rápida para empezar hoy.
Crear cuenta gratisClona el proyecto (solo Python 3.13, sin dependencias), copia la plantilla y compite en tu máquina.
No mueves jugadores: programas cómo deciden. El motor arbitra igual para todos y es determinista — mismo seed, mismo partido. La IA decide a ritmo lento; una capa determinista ejecuta cada tick, así un modelo no tiene que pensar 20 veces por segundo.
Lee el marcador y el tiempo y fija la mentalidad: atacar, equilibrio o defender.
Coloca al equipo: altura de línea, amplitud, presión y banda de ataque.
Decide cada tick: moverse, pasar o tirar. Rápido y reactivo.
Un prototipo funcional, sin humo: esto corre hoy.
Física vectorial y reglas claras. El mismo seed reproduce el partido exacto: competiciones justas y depurables.
Entrenador y táctica pilotados por un LLM — ya juega partidos reales con Gemini. Cambias de proveedor (Gemini, Claude, OpenAI, Amazon Bedrock, Ollama…) con una variable de entorno.
Cada jugador gestiona su esfuerzo: esprintar y chutar fuerte cansa; sin fuelle corre y chuta peor. Otra capa que programar en tu táctica.
Enfrenta todos los equipos, saca clasificación con puntos y ELO, y un informe HTML listo para compartir.
Posesión, tiros y tiros a puerta, pases y precisión, recuperaciones y distancia. Sabes qué mejorar, no solo el marcador.
Mide tu equipo contra varios rivales en muchas semillas y obtén win-rate y medias. Comparas cambios con datos, no por corazonadas.
El código de terceros corre en un subproceso con límites de tiempo y sin red ni disco: seguro para competir con equipos ajenos.
Tiki-taka, catenaccio, contraataque, gegenpressing… plantillas listas para tunear.
Cada partido se reproduce como una retransmisión: campo a ~60 fps, marcador tipo TV, estadísticas y comentarios de la IA.
El motor solo usa la librería estándar. Los SDK de IA son opcionales. Copias la plantilla y empiezas en minutos.
Decides cuatro mandos —línea, amplitud, presión y foco— como valores fijos o en función del partido. El motor los traduce a posiciones.
from aicup.tactics import TacticalStrategy, progress, possession
def contraataque():
# Sin balón nos replegamos; al recuperar, nos lanzamos.
def mandos(ctx):
defendiendo = possession(ctx) == "theirs" or progress(ctx) < 0.45
if defendiendo:
return {"line_height": 0.30, "pressing": 0.35}
return {"line_height": 0.74, "pressing": 0.50}
return TacticalStrategy("Contraataque", mandos)
Además del SDK local, hay una plataforma web: creas tu cuenta, guardas tus equipos y juegas partidos y ligas desde el navegador, sin instalar nada. Cada partido se ejecuta aislado en el servidor y guarda su repetición.
Cada equipo acumula ELO e historial con los partidos entre equipos registrados. Sube en la clasificación pública.
Competiciones donde cualquiera inscribe su equipo. Te unes con un clic y el organizador la juega.
Tu página con tus equipos, tu mejor ELO, tu récord y tus repeticiones. Tu trayectoria, a la vista.
De cada partido oficial guardamos el código exacto de cada equipo (con su SHA-256), la semilla y la versión del motor. Como el motor es determinista, cualquiera puede reproducir el partido y verificar el resultado — sin fiarse de nadie. En las ligas, cada cruce queda auditado uno a uno.
Genera un enlace público de cualquier partido para verlo o auditarlo sin cuenta. Descarga el código y el replay y compruébalo tú mismo.
Monta ligas con plantillas listas: divisiones por metal (de hierro a diamante), por país o por continente, o a tu medida. Eliges el formato —minutos, límite de goles, muerte súbita— y lo heredan todos los cruces.
¿Organizas? Genera un enlace de suscripción para que cualquiera apunte su equipo —aunque la liga no sea abierta— e invita directamente a usuarios de la plataforma por su nombre.
Guarda varias versiones de tu equipo, etiquétalas y elige cuál juega cada liga sin tocar tu táctica por defecto. La del rival va oculta salvo que decida mostrarla. Cada equipo tiene su historial y sus estadísticas.
PyLeague es un SDK: copias una plantilla que ya juega bien, la haces tuya y la mejoras iterando. Todo local, determinista y sin dependencias. ¿Primera vez? Pásate por la Academia para aprender a programar tu equipo paso a paso, o mira la guía completa en el repositorio.
Solo necesitas Python 3.13 o superior. El motor no tiene dependencias externas.
Tu equipo es una carpeta con tres capas: entrenador, táctica y jugador. Empieza por los puntos marcados y cambia una cosa cada vez.
Juega y míralo en el visor con estadísticas. Usa el sparring para medir tu equipo contra varios rivales de golpe, y monta ligas con clasificación y ELO.
Programar deja de ser un ejercicio en solitario y se convierte en un torneo. Ideal para:
GDGs, meetups y asociaciones: un reto que engancha y da tema para varias sesiones.
Un formato competitivo con resultado claro: gana el mejor código, no el mejor pitch.
Universidades y bootcamps: enseña lógica, IA y estructuras jugando a ganar partidos.
Team building técnico y employer branding con una liga interna a tu marca.
El SDK es y será de código abierto. Si quieres montar una competición para tu evento, te la preparamos llave en mano.
Ideas en el roadmap. Todavía no están — las contamos porque marcan hacia dónde va la liga, no para venderte lo que no existe.
Formato knockout con cuadro, además de las ligas de todos contra todos.
Instrucciones por rol que el jugador ejecuta, además de entrenador y táctica.
Saques de banda y córner, fuera de juego y faltas.
Describe tu plan en lenguaje natural y se traduce a código.
Un árbitro-IA que revisa las jugadas polémicas.
Contenedor/VM por partido para abrir la ejecución pública a gran escala.
Una competición de fútbol virtual donde no juegas con las piernas, sino con código: programas en Python el cerebro de cada jugador, la táctica del equipo y las decisiones del entrenador, y compites en un simulador determinista.
No. Copias la plantilla incluida —que ya juega de forma competitiva— y vas mejorando una capa cada vez. Con conocimientos básicos de Python puedes empezar en minutos.
Sí. PyLeague es de código abierto y puedes usarlo, modificarlo y competir sin coste. Solo ofrecemos servicios opcionales para organizar torneos a medida.
No. El motor y los equipos de ejemplo funcionan sin ninguna API. La IA es opcional: si quieres que el entrenador o la táctica piensen con un modelo de lenguaje, conectas tu proveedor favorito (Claude, OpenAI, Gemini, Groq, Mistral, DeepSeek u Ollama en local).
Sí. PyLeague encaja en hackathons, comunidades de desarrolladores, formación y eventos. Escríbenos y montamos una competición a medida.
En Windows, macOS y Linux. El motor solo necesita Python 3.13 o superior y no tiene dependencias externas.
Sí. En la plataforma online creas una cuenta, guardas tus equipos y juegas partidos y ligas desde el navegador. Cada partido corre aislado en el servidor y guarda su repetición, con ranking global por ELO, perfil público y arenas abiertas donde compite cualquiera.
Porque cada partido oficial es reproducible: guardamos el código exacto de cada equipo con su SHA-256, la semilla y la versión del motor. Como el motor es determinista, cualquiera puede descargar todo y reproducir el partido para verificar que el resultado es legítimo, sin fiarse de nadie. En las ligas, cada cruce queda auditado uno a uno.
PyLeague reúne a desarrolladores compitiendo con código: un público difícil de captar, en un contexto positivo —aprender y ganar—. Asóciate a una liga justa y verificable, y hazlo cuando aún eres de los primeros.
Llegas a perfiles técnicos —desarrolladores y estudiantes— mientras crean y compiten. Perfecto para captación de talento y employer branding.
Tu marca en el visor tipo retransmisión, en las vallas del campo y en los mensajes de la simulación —y en cada repetición que se comparte fuera.
La liga de tu comunidad o universidad, el reto de un hackathon o una liga interna de empresa. Tú eliges el alcance.
Cada partido oficial es auditable y reproducible: se guarda el código, la semilla y la versión del motor. Un torneo con premios serio, al que asociar tu marca sin riesgo reputacional.
Aún no hay patrocinadores: puedes ser el primero. Espacio destacado y trato cercano para quien apuesta antes que nadie.
Ejemplo: tus vallas a pie de campo y en el visor de cada partido.
Crea tu cuenta y compite online en minutos, o clónalo y juega en local. En modo básico funciona sin API ni configuración.
python play.py · python sparring.py · python league.py