Skip to content

CarlosMSCastro/Exploitigl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exploit IGL — Analisador de Jogadores de Poker

Ferramenta 100% Python com frontend em PySide6 para analisar históricos da PokerStars, gerar métricas e destacar leaks exploráveis — agora com cache instantâneo (state.json) para arranque quase imediato. Sem dependência de PokerTracker, feita para ser rápida, leve e fácil de expandir.


⚡ Funcionalidades

  • Parser PokerStars → lê .txt, normaliza e grava em SQLite sem duplicados.
  • Métricas por jogador → VPIP, PFR, BB/100, e outras. Base modular para novas estatísticas.
  • UI PySide6 → estados de loading/reset, seleção de Hero, contadores por stake e fluxo fluido.
  • UI fluida → estados de loading/reset, seleção de Hero, importação assíncrona.
  • Cache inteligente → guarda estado (JSON) e permite abrir a app instantaneamente sem ler a DB.

📸 Interface

Importação e Seleção de Hero

Importação de mãos

Processamento de Dados

Processamento

Nota: Dashboard de análise em desenvolvimento. Métricas atualmente validadas via PokerTracker.


🧱 Estrutura do Projeto

Exploitigl/
├─ backend/
│  ├─ db/                     # maos.sqlite e artefactos da BD
│  ├─ dados/                  # CSVs auxiliares (debug/legado)
│  ├─ config.py               # caminhos e configuração central
│  ├─ criar_bd.py             # criação/seed da BD (utilitário)
│  ├─ cache_state.py          # gestão do state.json (cache instantâneo)
│  ├─ db_utils.py             # todas as queries/utilitários SQLite
│  ├─ gerar_stats.py          # cálculo de métricas (motor)
│  ├─ parser_stars.py         # parser de mãos PokerStars
│  ├─ state.json              # cache persistente (gerado automaticamente)
│  ├─ regras.py               # regras e constantes de parsing/estatística
│  └─ __init__.py
│
├─ frontend/
│  ├─ assets/                 # ícones/logótipo usados na UI
│  ├─ import_thread.py        # thread que corre o parser em background
│  ├─ main.py                 # entrypoint da aplicação (arranque da UI)
│  ├─ ui_builder.py           # criação de widgets, layouts e estilos
│  ├─ ui_states.py            # gestão de estados visuais (set_state)
│  ├─ ui_table.py             # tabela/visões de estatísticas (UI)
│  ├─ welcome_dialog.py       # coordenação geral do fluxo
│  └─ __init__.py
│
├─ vba/                       # versão antiga/legacy em VBA
├─ venv/                      # ambiente virtual (local)
├─ README.md
├─ requirements.txt
└─ LICENSE

Backend

  • parser_stars.py: transforma .txt PokerStars em registos estruturados.
  • db_utils.py: API direta para SQLite (contagens, top heroes, stats por stake).
  • gerar_stats.py: cálculo de métricas e preparação de dados para o frontend.
  • config.py: define caminhos e constantes globais (ex.: DB_PATH).

Frontend

  • welcome_dialog.py: controla o fluxo da app e liga todos os módulos.
  • ui_builder.py: desenha e estiliza a interface.
  • ui_states.py: mostra/esconde componentes conforme o estado.
  • import_thread.py: executa o parsing em background.
  • assets/: logótipo e ícone da aplicação.

🧭 Como Usar

  1. Arranca a aplicação:
    python frontend/main.py
  2. Na janela de boas-vindas:
    • Clica em Procurar… e escolhe a pasta ou ficheiro de mãos PokerStars.
    • Clica em Importar.
  3. Depois do parsing:
    • O total de mãos e novos registos aparecem automaticamente.
    • Seleciona o Hero e clica Continuar.
  4. Os dados são guardados em backend/db/maos.sqlite e ficam disponíveis para análise.

🩺 Estado Atual (v2.4.8)

  • Sistema de cache (state.json) com carregamento instantâneo ✅
  • Estrutura de BD compatível com PokerTracker 4:
    • cash_limit: preenchida automaticamente com valores corretos de blinds ✅
    • cash_tables: mapeia nomes de mesas a IDs únicos ✅
    • cash_hand_summary: popula hand_no, id_limit, id_table, date_played, date_imported ✅
    • cash_hand_summary agora popula corretamente metade das colunas (até str_aggressors_r)

🚧 Roadmap

  • Dashboard com gráficos e filtros.
  • Comparador de jogadores e métricas avançadas.
  • Integração com SQLAlchemy.
  • Detetor automático de leaks por posição/stack depth.
  • Multi-stake/multi-table simultâneo.

🤝 Participar

O projeto é aberto e colaborativo.
Se quiseres melhorar algo, abrir uma issue, propor uma ideia ou optimizar código — força.
Mantém o estilo modular e documenta bem o que muda.


⚖️ Licença

Distribuído sob a MIT License.
Consulta o ficheiro LICENSE para detalhes.

About

ExploitIGL - Poker statistic analysis Software

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages