Programma il cervello della tua squadra —giocatore, tattica e allenatore— e gareggia in un simulatore deterministico, sulla tua macchina o sulla piattaforma online. Tu scrivi la logica; se vuoi, la guida l'IA.
git clone github.com/GoNNoTDa/PyLeagueScegli la tua strada: gareggia online senza installare nulla, oppure clona l'SDK e lavora in locale. Entrambe usano lo stesso motore deterministico.
Crea il tuo account, salva le tue squadre e gioca partite e campionati dal browser. Il modo più rapido per iniziare oggi.
Crea un account gratisClona il progetto (solo Python 3.13, senza dipendenze), copia il modello e gareggia sulla tua macchina.
Non muovi i giocatori: programmi come decidono. Il motore arbitra allo stesso modo per tutti ed è deterministico — stesso seed, stessa partita. L'IA decide a ritmo lento; uno strato deterministico esegue a ogni tick, così un modello non deve pensare 20 volte al secondo.
Legge il punteggio e il tempo e fissa la mentalità: attaccare, equilibrio o difendere.
Dispone la squadra: altezza della linea, ampiezza, pressing e lato d'attacco.
Decide a ogni tick: muoversi, passare o tirare. Rapido e reattivo.
Un prototipo funzionante, senza fumo: gira già oggi.
Fisica vettoriale e regole chiare. Lo stesso seed riproduce la partita esatta: competizioni eque e verificabili.
Allenatore e tattica pilotati da un LLM — gioca già partite reali con Gemini. Cambi provider (Gemini, Claude, OpenAI, Amazon Bedrock, Ollama…) con una variabile d'ambiente.
Ogni giocatore gestisce lo sforzo: scattare e tirare forte stanca; senza energie corre e tira peggio. Un altro livello da programmare nella tua tattica.
Fa scontrare tutte le squadre, produce una classifica con punti ed ELO e un report HTML pronto da condividere.
Possesso, tiri e tiri in porta, passaggi e precisione, recuperi e distanza. Sai cosa migliorare, non solo il punteggio.
Misura la tua squadra contro più avversari su molti seed e ottieni win-rate e medie. Confronti le modifiche con i dati, non con le sensazioni.
Il codice di terzi gira in un sottoprocesso con limiti di tempo e senza rete né disco: sicuro per competere con squadre altrui.
Tiki-taka, catenaccio, contropiede, gegenpressing… modelli pronti da regolare.
Ogni partita si rivede come una diretta: campo a ~60 fps, tabellone in stile TV, statistiche e commenti dell'IA.
Il motore usa solo la libreria standard. Gli SDK di IA sono opzionali. Copi il modello e inizi in pochi minuti.
Imposti quattro manopole —linea, ampiezza, pressing e focus— come valori fissi o in base alla partita. Il motore le traduce in posizioni.
from aicup.tactics import TacticalStrategy, progress, possession
def contraataque():
# Senza palla ci ripieghiamo; al recupero, ripartiamo.
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)
Oltre all'SDK locale, c'è una piattaforma web: crei il tuo account, salvi le tue squadre e giochi partite e campionati dal browser, senza installare nulla. Ogni partita viene eseguita isolata sul server e ne salva il replay.
Ogni squadra accumula ELO e storico con le partite tra squadre registrate. Sali nella classifica pubblica.
Competizioni in cui chiunque iscrive la propria squadra. Ti unisci con un clic e l'organizzatore la gioca.
La tua pagina con le tue squadre, il tuo miglior ELO, il tuo record e i tuoi replay. Il tuo percorso, in vista.
Di ogni partita ufficiale conserviamo il codice esatto di ogni squadra (con il suo SHA-256), il seed e la versione del motore. Poiché il motore è deterministico, chiunque può riprodurre la partita e verificare il risultato — senza fidarsi di nessuno. Nei campionati, ogni incontro è verificato uno per uno.
Genera un link pubblico di qualsiasi partita per vederla o verificarla senza account. Scarica il codice e il replay e controlla di persona.
Crea campionati da modelli pronti: divisioni per metallo (dal ferro al diamante), per paese o per continente, o su misura. Scegli il formato —minuti, limite di gol, morte improvvisa— e ogni incontro lo eredita.
Organizzi? Genera un link di iscrizione così chiunque iscrive la sua squadra —anche se il campionato non è aperto— e invita direttamente gli utenti della piattaforma per nome.
Salva più versioni della tua squadra, etichettale e scegli quale gioca ogni campionato senza toccare la tua tattica predefinita. Quella dell'avversario resta nascosta salvo che decida di mostrarla. Ogni squadra ha la sua cronologia e le sue statistiche.
PyLeague è un SDK: copi un modello che gioca già bene, lo fai tuo e lo migliori iterando. Tutto in locale, deterministico e senza dipendenze. Prima volta? Fai un salto all’Accademia per imparare a programmare la tua squadra passo dopo passo, o guarda la guida completa nel repository.
Ti serve solo Python 3.13 o superiore. Il motore non ha dipendenze esterne.
La tua squadra è una cartella con tre strati: allenatore, tattica e giocatore. Parti dai punti segnati e cambia una cosa alla volta.
Gioca e guardala nel visore con le statistiche. Usa lo sparring per misurare la tua squadra contro più avversari in una volta, e crea campionati con classifica ed ELO.
Programmare smette di essere un esercizio solitario e diventa un torneo. Ideale per:
GDG, meetup e associazioni: una sfida che appassiona e dà spunti per più sessioni.
Un formato competitivo dal risultato chiaro: vince il codice migliore, non il pitch migliore.
Università e bootcamp: insegna logica, IA e strutture giocando a vincere le partite.
Team building tecnico ed employer branding con un campionato interno a marchio tuo.
L'SDK è e resterà open source. Se vuoi organizzare una competizione per il tuo evento, te la prepariamo chiavi in mano.
Idee nella roadmap. Non ci sono ancora — le raccontiamo perché indicano dove va il campionato, non per venderti ciò che non esiste.
Formato a eliminazione con tabellone, oltre ai campionati all'italiana.
Istruzioni per ruolo che il giocatore esegue, oltre ad allenatore e tattica.
Rimesse laterali e calci d'angolo, fuorigioco e falli.
Descrivi il tuo piano in linguaggio naturale e viene tradotto in codice.
Un arbitro-IA che rivede le azioni controverse.
Container/VM per partita per aprire l'esecuzione pubblica su larga scala.
Una competizione di calcio virtuale in cui non giochi con le gambe, ma con il codice: programmi in Python il cervello di ogni giocatore, la tattica della squadra e le decisioni dell'allenatore, e gareggi in un simulatore deterministico.
No. Copi il modello incluso —che gioca già in modo competitivo— e migliori uno strato alla volta. Con basi di Python puoi iniziare in pochi minuti.
Sì. PyLeague è open source e puoi usarlo, modificarlo e competere senza costi. Offriamo solo servizi opzionali per organizzare tornei su misura.
No. Il motore e le squadre di esempio funzionano senza alcuna API. L'IA è opzionale: se vuoi che l'allenatore o la tattica ragionino con un modello linguistico, colleghi il tuo provider preferito (Claude, OpenAI, Gemini, Groq, Mistral, DeepSeek oppure Ollama in locale).
Sì. PyLeague si adatta a hackathon, comunità di sviluppatori, formazione ed eventi. Scrivici e organizziamo una competizione su misura.
Su Windows, macOS e Linux. Il motore richiede solo Python 3.13 o superiore e non ha dipendenze esterne.
Sì. Sulla piattaforma online crei un account, salvi le tue squadre e giochi partite e campionati dal browser. Ogni partita gira isolata sul server e ne salva il replay, con classifica globale ELO, profilo pubblico e arene aperte dove chiunque può competere.
Perché ogni partita ufficiale è riproducibile: conserviamo il codice esatto di ogni squadra con il suo SHA-256, il seed e la versione del motore. Poiché il motore è deterministico, chiunque può scaricare tutto e riprodurre la partita per verificare che il risultato sia legittimo, senza fidarsi di nessuno. Nei campionati, ogni incontro è verificato uno per uno.
PyLeague riunisce sviluppatori che competono con il codice: un pubblico difficile da raggiungere, in un contesto positivo —imparare e vincere—. Associati a un campionato equo e verificabile, e fallo mentre sei ancora tra i primi.
Raggiungi profili tecnici —sviluppatori e studenti— mentre creano e competono. Perfetto per talent acquisition ed employer branding.
Il tuo brand nel visore in stile diretta, sui tabelloni a bordo campo e nei messaggi della simulazione —e in ogni replay che viene condiviso.
Il campionato della tua comunità o università, la sfida di un hackathon o un campionato interno aziendale. Scegli tu la portata.
Ogni partita ufficiale è verificabile e riproducibile: vengono salvati il codice, il seed e la versione del motore. Un torneo con premi serio, a cui associare il tuo brand senza rischi reputazionali.
Non ci sono ancora sponsor: puoi essere il primo. Spazio in evidenza e rapporto diretto per chi ci punta prima di tutti.
Esempio: i tuoi tabelloni a bordo campo e nel visore di ogni partita.
Crea il tuo account e gareggia online in pochi minuti, oppure clonalo e gioca in locale. In modalità base funziona senza API né configurazione.
python play.py · python sparring.py · python league.py