Identidad del paquete: Influent.packagemaker.v3.2.7-26.05-20.13-AlphaCube
Autor: JesusQuijada34
Plataforma: AlphaCube
Descripción: Estructura reparada por MoonFix
Este repositorio fue normalizado mediante MoonFix, usando la estructura de PackageMaker 3.2.7. El paquete público debe conservar details.xml, version.res, autorun, autorun.bat, .storedetail, updater.py, config/settings.json, los marcadores .container y los archivos de documentación correspondientes. El publisher conserva la capitalización de details.xml (Influent) y la versión pública incluye el sufijo canónico de plataforma (Danenone, Knosthalij o AlphaCube).
Instala las dependencias declaradas en lib/requirements.txt cuando exista y ejecuta el entrypoint real del proyecto. En Linux, los comandos privilegiados son específicos de Danenone y no deben trasladarse a Windows. En proyectos AlphaCube, la validación Windows debe realizarse con el buildthis oficial de PackageMaker.
La fuente debe pasar compilación sintáctica, pruebas funcionales disponibles, comprobación de identidad XML, protección contra traversal en ZIP y llamadas seguras a subprocess. Los artefactos .iflapp deben ser generados por PackageMaker; los paquetes Debian deben usar el nombre canónico Influent.packagemaker.v3.2.7-26.05-20.13_ARCH.deb.
El tag y el título del release deben ser exactamente v3.2.7-26.05-20.13. Los assets deben usar el nombre canónico del paquete y una extensión objetiva. No se permite publicar un release AlphaCube que contenga únicamente el build Linux.
Influent Package Maker es un entorno de desarrollo integrado (IDE) profesional para crear, empaquetar y distribuir aplicaciones Python con interfaces modernas estilo Windows 11.
Versión Actual: v3.2.7-26.05-20.13 - Mejoras en la detección de editores, gestión de compilación y limpieza de artefactos.
- Barra de título personalizada: Basada en
Leviathan-UIcon diseño limpio - Efectos visuales: Soporte para acrílico, mica y blur
- Tema oscuro: Paleta consistente #3a3f4b (fondo) / #ff5722 (acento)
- Sin gradientes: Interfaz limpia y consistente sin gradientes
- Fondos sólidos: Optimizados para evitar artifacts visuales
- Detección automática: Encuentra scripts candidatos (
if __name__ == '__main__') - Extracción de clases: Separa automáticamente clases a
lib/_class/ - Gestión de dependencias: Analiza e incluye imports necesarios
- Minificación: Reduce tamaño del código compilado
- Integración con .gitignore: Excluye automáticamente archivos y carpetas especificadas en
.gitignoredurante la compilación y empaquetado, incluyendo archivos de GitHub como.githuby.vscode. - Limpieza Post-Compilación: Elimina automáticamente los directorios
build/,dist/y los archivos.specgenerados por PyInstaller después de cada proceso de compilación. - Entrega y limpieza segura: Una vez validado el
.iflappgenerado fuera del directorio fuente, elimina el paquete temporal. Esta protección se aplica a GUI, TUI,compile,--buildthisyscripts/build_headless.py; conserva las fuentes por defecto y solo permite eliminarlas mediante una autorización explícita.
| Método | Descripción | Seguridad |
|---|---|---|
| Simple Blind | Empaqueta todo en .iflappb |
🔒🔒 |
| Super Blind | Clases separadas por script + encriptación | 🔒🔒🔒🔒 |
- Windows: Ejecutables
.execon PyInstaller - Android: APK generable vía Buildozer
- Linux: AppImage y paquetes nativos con renderizado de iconos mejorado.
- Más Editores Soportados: El diálogo "Abrir con" ahora detecta y permite abrir proyectos con una gama más amplia de editores de código, incluyendo Zed, Fleet, Emacs, Geany, Kate y Gedit. Esto proporciona mayor flexibilidad a los desarrolladores para usar su herramienta preferida.
- Renderizado de Iconos en Linux: Se ha mejorado la detección y el renderizado de iconos para editores en entornos Linux (Ubuntu, etc.), asegurando que los iconos se muestren correctamente en el diálogo "Abrir con" y en el sistema.
- Exclusión de Archivos con .gitignore: El proceso de compilación ahora respeta el archivo
.gitignoredel proyecto, excluyendo automáticamente los archivos y directorios listados. Esto incluye archivos relacionados con el control de versiones (.git,.github) y configuraciones de IDE (.vscode,.idea), evitando que se incluyan en el paquete final. - Limpieza Automática de Artefactos de Compilación: Después de cada compilación y empaquetado, el sistema ahora limpia automáticamente los archivos temporales y directorios generados por PyInstaller (
build/,dist/,.spec). Esto se aplica tanto a la compilación a través de la GUI como a las invocaciones por línea de comandos (compiley--buildthis), garantizando un directorio de proyecto ordenado.
- Error en EditorInfo - TypeError: Corregido un
TypeErrorenlib/openWithDialog.pyal inicializarEditorInfoparapmCodeEditor, asegurando que el campoexecutablese pase correctamente. - Bug de Fondo Blanco al Maximizar: Solucionado el problema de fondos blancos al maximizar la ventana, asegurando una consistencia visual con el tema oscuro en todo momento.
- Iconos de Editores - Gradiente Radial: Eliminado un gradiente radial innecesario en los iconos de los editores en
lib/openWithDialog.py, resultando en una apariencia más limpia y moderna.
# Clonar repositorio
git clone https://github.com/JesusQuijada34/packagemaker.git
cd packagemaker
# Instalar dependencias
pip install -r lib/requirements.txt
# Ejecutar IDE
python packagemaker.py- Python 3.8+ 🐍
- PyQt6 6.5+ 🎨
- Windows 10/11 (Linux/macOS parcial) 💻
Archivo → Nuevo Proyecto → Seleccionar carpeta
- Modo Bundle: Switch para cambiar entre "Empaquetar" y "Compilar Bundle"
- Método de Blindado: Simple vs Super Blind
- Opciones adicionales: Firma digital, compresión, icono personalizado
Click en "Compilar" (verde) o "Compilar Bundle y Firmar" (azul)
- Output en
releases/(o la ruta configurada) - Listo para subir a GitHub Releases
python packagemaker.py --buildthis /ruta/al/proyectoEl proyecto debe contener details.xml y su script principal. La salida se crea en ~/Documents/Packagemaker Projects/Compiled, salvo que se especifique --output. El nombre del directorio y del archivo sigue la convención exacta Publisher.appname.vX.x[.z]-YY.MM-HH.MM-Platform, usando Danenone, Knosthalij o AlphaCube como plataforma. El empaquetador respeta .gitignore, por lo que excluye .git, .github, .vscode y demás patrones declarados. El proyecto fuente se conserva por defecto; cualquier eliminación requiere autorización explícita del llamador y solo se permite después de validar un .iflapp externo.
El sistema ahora busca ejecutables de editores en rutas estándar de Linux y utiliza un mapeo de nombres para encontrar iconos relevantes, mejorando la experiencia en sistemas operativos basados en Linux.
/* Contenedor del diálogo (línea 215-222) */
QFrame {
background-color: #252526;
border: none;
border-radius: 8px;
}
/* Header (línea 228-236) */
background-color: rgba(255, 255, 255, 0.02);
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
/* Item pmCodeEditor seleccionado (línea 524-529) */
background-color: rgba(255, 87, 34, 0.12);
border: 1px solid rgba(255, 87, 34, 0.55);
/* Botones (línea 374-394) */
#0078d4 (background)
#006cbd (hover)
#005a9e (pressed)Cuando compilas un proyecto, Packagemaker:
- Análisis: Lee scripts candidatos y detecta clases
- Exclusión de Archivos: Aplica patrones de
.gitignorepara ignorar archivos y directorios no deseados. - Extracción: Mueve clases a
lib/_class/ScriptName/ - Modificación: Actualiza imports en scripts originales
- Generación: Crea
lib/__init__.pycon imports consolidados - Minificación: Reduce tamaño de código
- Empaquetado: Genera un archivo
.iflappcon nombre canónico. - Firma: Opcionalmente firma el paquete.
- Limpieza: Elimina artefactos de compilación (
build/,dist/,.spec), el paquete temporal y, tras validar el.iflappexterno, la carpeta de proyecto procesada.
Packagemaker utiliza Leviathan-UI como base visual:
| Componente | Uso | Versión |
|---|---|---|
CustomTitleBar |
Barra de título unificada | ✅ |
WipeWindow |
Efectos visuales consistentes | ✅ |
LeviathanProgressBar |
Indicadores de progreso | ✅ |
InmersiveSplash |
Pantallas de carga | ✅ |
docs/getting-started.md- Guía de inicio rápidodocs/build-system.md- Sistema de compilacióndocs/android-deployment.md- Despliegue AndroidFAQ.md- Preguntas frecuentesCHANGELOG.md- Historial de cambiosRELEASE_NOTES.md- Notas de versión
GNU GPL v3 - Libre para uso personal y comercial.
Desarrollado con ❤️ usando Python + PyQt6 + Leviathan-UI