Skip to content

Commit 575a943

Browse files
v0.4.0: GUI funcional, suporte a icones e automação de build
1 parent f510a68 commit 575a943

7 files changed

Lines changed: 231 additions & 66 deletions

File tree

.gitignore

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
# ====================================
2-
# 1. ARQUIVOS DE COMPILAÇÃO E DISTRIBUIÇÃO (PyInstaller)
3-
# ====================================
1+
42
# Pastas geradas pelo PyInstaller:
53
dist/
64
build/
@@ -12,51 +10,70 @@ build/
1210
*.so
1311
*.dylib
1412

15-
# ====================================
16-
# 2. CACHE E AMBIENTE PYTHON
17-
# ====================================
13+
14+
1815
# Cache de bytecode (criado ao rodar o Python):
1916
__pycache__/
20-
*.pyc
17+
*.py[cod]
18+
*$py.class
2119

22-
# Ambientes virtuais (muito grandes e não devem ser versionados):
20+
# Ambientes virtuais
2321
venv/
2422
.venv/
2523
env/
24+
ENV/
25+
26+
# Bibliotecas instaladas via pip no modo editável
27+
*.egg-info/
28+
.installed.cfg
29+
*.egg
30+
MANIFEST
2631

2732
# ====================================
28-
# 3. METADADOS, LOGS E SENHAS (Dados Sensíveis)
33+
# 3. METADADOS, LOGS E SENHAS
2934
# ====================================
30-
# Logs de testes, diagnóstico ou erro (podem conter caminhos do sistema ou dados):
35+
# Logs de testes, diagnóstico ou erro:
3136
*.log
3237
*.err
3338
*.out
3439
logs/
35-
*.egg-info/
36-
dist/
37-
build/
38-
3940

40-
# Arquivos de configuração/variáveis de ambiente que contêm chaves ou senhas:
41+
# Arquivos de configuração/variáveis de ambiente :
4142
.env
4243
.flaskenv
4344
config.local.py
4445
settings_local.py
4546
secrets.py
4647
keys.json
48+
credentials*
4749

48-
# Arquivos de dados temporários e de teste:
49-
# Se seus testes criam arquivos de saída, inclua-os aqui:
5050
test_output/
5151
*.tmp
5252
*.temp
5353
test_results.json
5454

55-
# ====================================
56-
# 4. CONFIGURAÇÕES DE EDITOR (VS Code e Outros)
57-
# ====================================
58-
# Configurações específicas do usuário/ambiente do VS Code:
55+
# Configurações específicas do VS Code:
5956
.vscode/
57+
!.vscode/settings.json
58+
!.vscode/tasks.json
59+
!.vscode/launch.json
60+
!.vscode/extensions.json
61+
62+
# Arquivos do sistema (Windows/Mac)
63+
Thumbs.db
64+
desktop.ini
65+
.DS_Store
6066

6167
# Configurações do Sublime Text:
6268
*.sublime-workspace
69+
*.sublime-project
70+
# Resultados de diagnósticos e logs
71+
diagnostico_canivete.html
72+
*.html
73+
*.log
74+
*.report
75+
76+
# Pastas de build
77+
build/
78+
dist/
79+
*.spec

PToolKit Canivete Suico.spec

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,50 @@
11
# -*- mode: python ; coding: utf-8 -*-
22

3+
block_cipher = None
4+
5+
# Configuração de inclusão de arquivos estáticos (Imagens/Ícones)
6+
# O PyInstaller precisa saber onde estão os assets da sua v0.4.0
7+
added_files = [
8+
('src/canivete/docs/*', 'canivete/docs'), # Inclui imagens da interface
9+
]
310

411
a = Analysis(
5-
['src\\canivete.py'],
12+
['src/canivete/gui.py'], # Novo ponto de entrada (Interface Gráfica)
613
pathex=[],
714
binaries=[],
8-
datas=[],
9-
hiddenimports=[],
15+
datas=added_files, # Adiciona os assets configurados acima
16+
hiddenimports=['customtkinter'], # Garante a inclusão do framework visual
1017
hookspath=[],
1118
hooksconfig={},
1219
runtime_hooks=[],
1320
excludes=[],
21+
win_no_prefer_redirects=False,
22+
win_private_assemblies=False,
23+
cipher=block_cipher,
1424
noarchive=False,
15-
optimize=0,
1625
)
17-
pyz = PYZ(a.pure)
26+
27+
pyz = PYZ(a.pure, a.cipher)
1828

1929
exe = EXE(
2030
pyz,
2131
a.scripts,
2232
a.binaries,
33+
a.zipfiles,
2334
a.datas,
2435
[],
25-
name='PToolKit Canivete Suico',
36+
name='Canivete Suico Toolkit', # Nome final do seu .exe
2637
debug=False,
2738
bootloader_ignore_signals=False,
2839
strip=False,
29-
upx=True,
40+
upx=True, # Comprime o executável
3041
upx_exclude=[],
3142
runtime_tmpdir=None,
32-
console=False,
43+
console=False, # Define como FALSE para não abrir o CMD
3344
disable_windowed_traceback=False,
3445
argv_emulation=False,
3546
target_arch=None,
3647
codesign_identity=None,
3748
entitlements_file=None,
38-
)
49+
icon='src/canivete/docs/icon.ico' # Caminho opcional para o ícone do .exe
50+
)

README.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,22 @@ O **Canivete Suíço** é uma solução modular de alto desempenho projetada par
5959

6060
---
6161

62-
## 🚀 Deployment & Quick Start
62+
## 🛠️ Stack Técnica e Capacidades
63+
64+
* **Core Engine:** Python 3.9+ com arquitetura modular.
65+
* **GUI Framework:** `CustomTkinter` para UI/UX acelerada por hardware.
66+
* **System Integration:** Hooks nativos para Win32 API e subprocessos Unix.
67+
* **Network Intelligence:** Monitoramento de I/O em tempo real e scan de sub-redes.
68+
69+
---
6370

64-
### Requisitos de Ambiente
65-
* Terminal com **Privilégios Elevados** (Run as Administrator / Sudo).
66-
* Interpretador Python 3.9 ou superior instalado.
71+
## 🆕 Release Notes - v0.4.0 (GUI Milestone)
6772

73+
* **Modularization:** Transição completa para o padrão `src-layout` (PEP 517/518).
74+
* **Maintenance Suite:** Implementação de triggers para integridade de sistema (SFC, DISM).
75+
* **Print Services:** Módulo especializado para gestão de Spooler e patches de registro.
76+
* **CI/CD Ready:** Integração com GitHub Actions para validação automatizada de pacotes.
77+
---
6878
### Procedimento de Instalação (Windows/Linux)
6979

7080
* git clone https://github.com/joaopedrosvr97-hub/Python-Toolkit.git

build_v4.bat

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
@echo off
2+
title Build Canivete v0.4.0
3+
echo [1/3] Limpando ambiente...
4+
if exist build rd /s /q build
5+
if exist dist rd /s /q dist
6+
if exist "Canivete-v0.4.0.spec" del /q "Canivete-v0.4.0.spec"
7+
8+
echo [2/3] Compilando executavel v0.4.0...
9+
:: O uso do --collect-all pode ser útil se você usar bibliotecas complexas,
10+
:: mas o --paths ja ajuda o script a enxergar a pasta core.
11+
pyinstaller --noconfirm --onefile --windowed ^
12+
--add-data "src/docs;docs" ^
13+
--icon "src/docs/app_v4.ico" ^
14+
--name "Canivete-v0.4.0" ^
15+
--paths "src" ^
16+
src/canivete/gui.py
17+
18+
echo [3/3] Finalizado! Verifique a pasta 'dist'.
19+
pause

0 commit comments

Comments
 (0)