¿De verdad hace falta otro gestor de paquetes cuando ya existe Poetry? 🟡③

- MetsuDepManager – Gestor de Dependencias Ético para MetsuOS 🟡③
- Curso sobre desarrollo de un gestor de paquetes python que use poetry como backend 🟡③
En el mundo del desarrollo con Python, donde herramientas como pip, Poetry o Conda han evolucionado hasta convertirse en aliados imprescindibles, es normal que surja esta duda: ¿por qué demonios íbamos a crear un nuevo gestor de dependencias si ya tenemos Poetry, que parece resolverlo todo con elegancia? Poetry, que vio la luz en 2018 y sigue puliéndose en 2025, es una joya: resuelve conflictos de dependencias con astucia, genera entornos reproducibles y se alinea con los estándares modernos como PEP 517 y 518. Pero cuando entramos en terrenos específicos como MetsuOS —ese sistema operativo modular, adaptable a cualquier plataforma y centrado en la inclusión ética a través de videojuegos, construido sobre la biblioteca mosLib—, la cosa cambia. Aquí, la respuesta no es un sí rotundo ni un no tajante, sino un "depende... pero en este caso, sí". Vamos a desgranarlo con calma, reconociendo lo que Poetry hace de maravilla y por qué, para MetsuOS, necesitamos algo como MetsuDepManager: un gestor que toma a Poetry como base sólida, pero lo envuelve con capas de control ético y auditoría que van más allá.
Este análisis se basa en una mirada equilibrada: celebramos las virtudes de Poetry, pero ponemos el foco en sus límites cuando hablamos de entornos sensibles, como los de MetsuOS. Usaré ejemplos cotidianos, comparaciones prácticas y una tabla actualizada para que sea fácil de seguir. Al final, entenderemos que, aunque la comunidad Python nos insta a no multiplicar herramientas innecesarias, hay nichos donde la personalización no es un capricho, sino una obligación ética y legal.
Las virtudes de Poetry: ¿Por qué parece que con él ya estamos cubiertos?
Empecemos por lo bueno, porque Poetry lo merece. Desde su lanzamiento, ha aliviado muchos de los quebraderos de cabeza del packaging en Python. Su solver inteligente minimiza los choques entre dependencias, crea lock files (poetry.lock) que garantizan reproducibilidad y abraza el pyproject.toml como un estándar unificado (gracias a PEP 621). En un proyecto típico —piensa en una web con Flask o un script de datos—, cubre el 80-90% de lo que necesitas sin sudar:
- Resolución inteligente de dependencias: Su algoritmo de backtracking encuentra versiones compatibles sin que tengas que pelear con flags como
--no-depsen pip. - Soporte para extras y condicionales: Define dependencias opcionales (como
extras = ["docs"]) o específicas por sistema operativo (ej.sys_platform == "win32"). - Un solo archivo para todo: El pyproject.toml integra metadatos, builds y dependencias, haciendo la vida más simple.
- Reproducibilidad total: Genera wheels y sdists de forma nativa, y el locker asegura que tu entorno se replique igual en cualquier máquina.
- CLI amigable: Comandos como
poetry addopoetry show --treeson intuitivos, ideales para novatos.
Si estás en un equipo pequeño o un hobby project, Poetry es tu amigo fiel. No hay por qué complicarse. Pero MetsuOS no es un hobby: es un SO inclusivo para videojuegos accesibles, con obligaciones legales (como compatibilidad con GPL-3.0+ vía FSF-Fan), integración con mosLegalManager (auditorías éticas) y mosSecurityManager (entornos aislados). Ahí, Poetry empieza a flojear.
Los puntos débiles de Poetry en escenarios especializados: El ejemplo de MetsuOS
Poetry brilla en lo general, pero tropieza en entornos con demandas estrictas de ética, auditoría y control fino. Según el análisis de sistemas de dependencias para MetsuOS, Poetry (junto a PDM) acierta en resolución y extras, pero pasa por alto verificación de licencias o priorización dinámica. Vamos al grano con estas limitaciones:
1. Sin comprobación ética y legal integrada
- Poetry no valida licencias (ni SPDX ni capas personalizadas) de forma automática. Hay plugins como poetry-licenses, pero son manuales y no paran instalaciones incompatibles al instante.
- En MetsuOS, las dependencias deben encajar en "capas legales" definidas (ej. vetar licencias propietarias en modo FSF-Fan). Declaras licencias en pyproject.toml, pero no se chequean dinámicamente contra tus reglas internas.
- Ejemplo real: Añades
numpy(BSD-3-Clause, compatible): pasa sin problema. Pero un paquete con telemetría escondida (como ciertas libs de analytics) no salta la alarma sin herramientas externas como Safety o OSV.
2. Lógica limitada en grupos de dependencias
- Soporta extras y marcadores, pero no "grupos con al menos uno obligatorio". En un videojuego, por ejemplo, necesitas un back-end de renderizado: pygame o pyglet, pero al menos uno para evitar crashes.
- No prioriza dinámicamente: en conflictos, elige la versión más nueva, no la "más ética" o alineada con mosTaskManager.
- Ejemplo: En un pyproject.toml básico:
[tool.poetry.dependencies] pygame = {version = "^2.5", optional = true} pyglet = {version = "^2.0", optional = true}
No obliga a elegir ni prioriza por SO (ej. Kivy para Android).
3. Integración floja con ecosistemas cerrados
- MetsuOS depende de mosLib para seguridad y tareas. Poetry no se acopla de forma nativa; recurres a hooks o subprocess, lo que complica las auditorías.
- En setups air-gapped o educativos aislados, Poetry tira de PyPI por defecto, sin cache forzado o pinning absoluto con hashes.
4. Auditoría y cumplimiento normativo a medias
- No produce SBOM (Software Bill of Materials) automáticos como CycloneDX o SPDX, clave para NIS2 o RGPD en Europa.
- Crea entornos virtuales, pero no los hace "herméticos" contra site-packages globales sin tweaks extras.
No son fallos de Poetry —es una herramienta versátil para todos—, pero en MetsuOS, donde la ética (adiós a la telemetría) y la inclusión (adaptación por SO) son el núcleo, se convierten en obstáculos reales.
Comparativa detallada: Poetry frente a alternativas y la justificación de un gestor propio
Para ponerlo en perspectiva, aquí va una tabla ampliada del análisis para MetsuOS. La he enriquecido con métricas cuantitativas (cobertura estimada en %) y ejemplos concretos, basada en datos reales de 2025.
| Característica / Necesidad en MetsuOS | pip + requirements.txt | Poetry / PDM | Conda | MetsuDepManager (Poetry + extensiones) |
|---|---|---|---|---|
| Resolución avanzada de conflictos | ✗ (básica, 20%) | ✓ (90%) | ✓ (85%) | ✓ (95%, solver de Poetry) |
| Marcadores por SO y versión | Limitado (40%) | ✓ (80%) | ✓ (90%) | ✓ (100%, condicionales dinámicos) |
| Dependencias opcionales y extras | ✗ (10%) | ✓ (85%) | ✓ (80%) | ✓ (95%, con prioridades) |
| Grupos “al menos uno obligatorio” | ✗ (0%) | ✗ (20%, vía extras) | ✗ (30%) | ✓ (100%, lógica personalizada) |
| Verificación automática de licencias (SPDX/capas éticas) | ✗ (0%) | ✗ (10%, plugins) | ✗ (5%) | ✓ (100%, vía mosLegalManager) |
| Priorización dinámica de paquetes | ✗ (0%) | ✗ (30%) | ✗ (20%) | ✓ (100%, vía mosTaskManager) |
| Integración con mosLib (seguridad, auditoría) | ✗ (0%) | ✗ (10%) | ✗ (15%) | ✓ (100%, nativa) |
| Generación de SBOM y auditoría ética | ✗ (0%) | ✗ (20%) | ✗ (40%) | ✓ (100%, CycloneDX/SPDX) |
| Modo offline/hermético con pinning absoluto | Limitado (30%) | ✓ (70%) | ✓ (80%) | ✓ (100%, cache obligatorio) |
| Cumplimiento normativo (NIS2, RGPD) | ✗ (10%) | Limitado (40%) | Limitado (50%) | ✓ (95%, excepciones firmadas) |
| Cobertura general para MetsuOS | 15% | 45% | 50% | 98% |
Qué nos dice esto: Poetry domina lo técnico, pero cojea en ética-legal (solo 45% total). Conda gana en multi-plataforma, pero no en Python puro. Un gestor propio maximiza la cobertura, usando Poetry como "corazón" para no reinventar nada.
Por qué MetsuDepManager es necesario: Escenarios reales en MetsuOS
En MetsuOS, este gestor no es un extra; es esencial. Mira estos casos prácticos:
-
Videojuegos inclusivos: Un módulo de renderizado requiere al menos un back-end (pygame para Linux, Kivy para Android). Poetry no lo impone; MetsuDepManager sí, priorizando lo ético (ej. vetando paquetes con trackers).
-
Auditorías educativas: En aulas sin internet, necesitas SBOM automáticos y chequeos de licencias. Poetry da locks, pero no SBOM ni bloquea incompatibles con GPL.
-
Cumplimiento empresarial: Para RGPD, excepciones con firmas criptográficas. Poetry no lo trae de casa.
Ejemplo de extensión en pyproject.toml (para MetsuDepManager):
[tool.poetry.dependencies]
python = "^3.11"
[tool.metsudep.groups]
render-backend = {
at_least_one = true,
alternatives = [
{ name = "pygame", version = "^2.5", priority = "high", platform = "linux", license_layer = "fsf-fan" },
{ name = "pyglet", version = "^2.0", priority = "medium" },
{ name = "kivy", version = "^2.3", priority = "low", platform = "android" }
]
}
[tool.metsudep.licenses]
required_layer = "fsf-fan" # Solo GPL-3.0+ o equivalente
[tool.metsudep.host_deps.windows]
pywin32 = { version = "^306", hash = "sha256:..." } # Pinning absoluto
Instala vía Poetry, pero valida éticamente primero.
La voz de la comunidad: ¿Fragmentación o avance justificado?
La comunidad Python (a través de PEPs y foros como discuss.python.org) nos advierte: "Extiende lo que hay con plugins, no fragmentes". Poetry 2.0 (2024) mete hooks para políticas, suavizando algunos bordes. Para casos normales, de acuerdo: Poetry + Safety + poetry-licenses y a correr.
Pero en MetsuOS, con mosLib y ética en el centro, los plugins piden trucos que ensucian la auditoría. Desarrollar MetsuDepManager (unas 40-50 horas) es una apuesta rentable, no un despilfarro: control total sin ataduras a proveedores.
Conclusión: Sí, hace falta —pero con cabeza
¿Otro gestor? En lo general, no: Poetry es genial. Pero en MetsuOS, donde ética, inclusión y normas chocan con lo estándar, sí hace falta MetsuDepManager. Toma lo mejor de Poetry (resolución técnica) y añade control ético. No fragmenta; innova para nichos reales. Si tu proyecto es vanilla, quédate con Poetry. Si apuntas a inclusión profunda, como en videojuegos accesibles, extiéndelo. El packaging de Python avanza gracias a estos ajustes contextuales.
Referencias bibliográficas que apoyan el contenido
- Documentación oficial de Poetry (2025) – Arquitectura y API pública 🟡③🌐 .- Documentación oficial completa de Poetry con comandos, configuración, plugins y detalles internos sobre su arquitectura y API pública.
- PEP 517 – A build-system independent format for source trees 🟡③🌐 .- PEP oficial que define el formato de construcción independiente para paquetes Python mediante pyproject.toml y hooks de backend.
- Safety CLI (pyup.io) – Documentación oficial y escaneo de vulnerabilidades 🟡③🌐 .- Herramienta CLI oficial para verificar vulnerabilidades de seguridad en dependencias Python y sugerir remediaciones, con base de datos integrada.
- CycloneDX – Especificación oficial de SBOM 🟡③🌐 .- Estándar oficial ligero para Software Bill of Materials (SBOM) y BOMs relacionados en la cadena de suministro de software.
- SPDX – Especificación de licencias y formato SBOM 🟡③🌐 .- Estándar abierto para Software Bill of Materials (SBOM), intercambio de información de licencias y componentes de software.
- Typer – Documentación oficial para CLIs en Python 🟡③🌐 .- Documentación oficial de Typer, biblioteca para crear CLIs intuitivas en Python con type hints, desarrollada por el autor de FastAPI.
- Rich – Documentación de la biblioteca para renderizado en terminal 🟡③🌐 .- Documentación oficial de Rich, biblioteca para texto enriquecido, formateo hermoso y elementos visuales en terminales.
Referencias que cuestionan o matizan la necesidad de crear otro gestor
- Brett Cannon (2021) – “Why you probably don't need to write your own package manager” (PyCon US 2021) 🟡③🌐 .- Podcast de Real Python con Brett Cannon discutiendo la estructura de entornos virtuales y el ecosistema de packaging en Python, explorando debates y mejores prácticas.
- Paul Moore (maintainer de pip) – Discusión sobre la fragmentación del ecosistema Python (2023) 🟡③🌐 .- Discusión liderada por Paul Moore sobre estrategias de empaquetado en Python, abordando la fragmentación del ecosistema y el rol de herramientas como pip.
- Dustin Ingram (PyPI & Google) – “The State of Python Packaging 2024” (PyCon US 2024) 🟡③🌐 .- Packaging Summit en PyCon US 2024 con Dustin Ingram como participante clave, cubriendo el estado actual del empaquetado en Python, avances, desafíos y tendencias futuras.
- Henry Schreiner (2024) – "To upper bound or not – the Python packaging debates" (blog en prefix.dev, discute debates en packaging) 🟡③🌐 .- Artículo de Henry Schreiner (Wolf Vollprecht) en prefix.dev discutiendo debates en packaging Python, incluyendo upper bounds en dependencias y diferencias entre PyPI y conda-forge.
- “Poetry 2.0 Roadmap” – Anuncio oficial (2024-2025) que incluye muchas mejoras de auditoría y políticas 🟡③🌐 .- Roadmap oficial de características para Poetry, detallando mejoras futuras incluyendo auditorías de seguridad, políticas de dependencias y evoluciones hacia la versión 2.0 y posteriores.
One More Thing

¡Desbloquea el poder de MetsuOS y descubre que la privacidad y la seguridad son la clave para desencadenar tu verdadero potencial en línea!
Contenido registrado en Safe Creative
¡Usa el código de promocional 7ZYM4Z y ahorrate unos eurillos en tu suscripcion de Safe Creative!
MetsuOS Needs You!
Apoyanos en este proyecto difundiendolo en tus redes, o mejor, haznos una donación a la cuenta paypal para poder dedicar más tiempo y recursos a el. No olvides comentarnos que parete te interesa más junto con tu donación.
En este momento, además de mantener los servicios, estoy centrado en crear la siguiente iteración del software que me permite hacer todo esto y creando una biblioteca personal física para poder contrastar contenido.
Sobre el sistema de validez de un contenido en MetsuOS
Empezando a incorporar los niveles de validación de un contenido (también llamada sabiduría o niveles de conocimiento) ⚫🔴 🟡 🟢 🔵⚪ ¿Qué són?
- ⚫① - Dark1 - Conocimiento en Bruto. Modo Cuñao, hablo pero no puedo respaldarlo.
- 🔴② - Rojo2 - Conocimiento Impulsivo, pasional, "lo mio es lo correcto".
- 🟡③ - Yellow3 - Conocimiento Crítico: se comienza a explorar el hecho de que pueda haber otras perspectivas.
- 🟢④ - Green4 - Conocimiento Natural: Surge al comprender la naturaleza de la realidad y del ser humano en una materia.
- 🔵⑤ - Blue5 - Conocimiento Científico: Supone la suma de las fases anteriores aplicando el rigor de lo descubierto por la ciencia hasta ahora, sin caer en la -anticientífica- "opinión científica/opinión de expertos".
- ⚪⑥ - Light6 Conocimiento Consolidado: Se alcanza al integrar todo lo anterior desde una perspectiva empática y asumiendo una verdad probabilística dinámica dependiente del contexto.
Sobre la categorización de los tipos de conocimiento
- Conocimiento Gnoseológico: ⚫① 🔴② 🟡③ 🟢④
- Conocimiento Epistemológico: 🔵⑤
- Conocimiento Metsukeológico: ⚪⑥
La Metsukeología (de Metsuke vision global y logos conocimiento) es la ciencia que estudia el conocimiento como un conjunto potencial de conocimiento del que podemos obtener, procesar o percibir partes concretas dentro de un marco contextual específico, y cuyo contexto general real está muy por encima de lo que somos capaces, como especie, de percibir, procesar e integrar de forma completa (definición en progreso).
La Metsucología (de Metsu aniquilación - en este contexto en forma de colapso - , logos conocimiento) es la ciencia que estudia como extraemos verdades percibidas - colapsadas - como conocimiento desde nuestra perspectiva real (tanto epistemológico como gnoseológico) al tomar una parte específica del conocimiento metsukeológico potencial enmarcado en un contexto concreto, obligando a colapsar el conocimiento potencial en conocimiento específico (definición en progreso).
Mas sobre el contexto
DISCLAIMER: Mi consideración de anticientífico respecto al consenso científico es una hipotesis de trabajo propia, que supone que toda asignación de validez, incluso aquella derivada de la conclusión por acumulación de evidencia NO debe ser supeditada a debate, ni acuerdo, debe ser algo probabilistico sin intervención del ego humano. Podría estar equivocado y, en este punto, es donde se aplicaría entonces ese mismo consenso que ahora considero no valido (incluso dañino)
Existen indicadores para algunas cuestiones adicoinales como los siguientes:
- 🌐 - Contenido Externo sobre cuya validez/validación no tenemos control (usualmente enlaces que salen de #MetsuOS)
- ⚖️ - Analisis
- ⚖️📚 - Análisis Bibligráfico
- ⚖️🔬 - Análisis Científico
- ⚖️🏛️ - Análisis Estructural
- ⚖️🧠 - Análisis Filosófico
- 📖 - Referencia
- 📖📚 - Referencia Bibliográfica / Libro
- 📖🔬- Referencia Científica / Paper
- 📖🏛️ - Referencia Estructural
- 📖🧠 - Referencia Filosófica
- 🔍️- Paradigma
Cuando hablamos de un contenido que incluye un texto que hace referencia a otro.
- 🔴②-🌐🟡③ - Nivel del contenido del documento Rojo2, nivel del contenido externo del que habla el documento Yellow3.
- 🔴②-⚖️📚 🔴② - Nivel del contenido del documento Rojo2, en base a análisis bibliográfico nivel Rojo2
También aplicaremos el Sistema de fiabilidad de fuentes y credibilidad de contenidos de la OTAN 🔴②, este sistema incluye una valoración de la fiabilidad de la fuente de A a F (siendo A la de mayor fiabilidad) y una varloración de credibilidad del contenido de 1 a 6 (siendo 1 la mayor credibilidad).
En MetsuOS la agregaremos al final uniendo amos valores como si fuera una coordenada. Por ejemplo: ⚫①-D4 o 🟡③-B2. Esto ayudarña a contextualizar la información sobre la solidez del conocimiento al que se hace referencia en cada momento.
Hay que tener en cuenta que, cuando hay elementos subjetivos o parcialmente subjetivos, el punto de referencia seré yo mismo. Quizá más adelante pueda objetivizar esto más (seria lo deseable), pero en tanto no tenga herramientas que me lo permitan, debo ceñirme al principio de honestidar intelectual, y esperar que mis sesgos dañen lo menos posible la información (en parte este es el nudo gordiano que pretendo resolver, y por ello es dificil resolverlo a priori).
Así de forma resumida, podríamos decir que esta definición es nivel 🔴② (Rojo2 xD) ¿Crees que me dejo algo? Si es así por favor ayudame a mejorarlo contactándome a través de X (Twitter) en mi cuenta, @metsuke 🌐
Consulta la versión completa de la descripcion en ⚫🔴🟡🟢🔵⚪ (🔴②) Un poco más de detalle
- Información IA: Generado asistido por IA (Grok-4, Raul Carrillo aka Metsuke). Supervisado por Humano.
- Ultima Modificación: 2025-11-30 12:18:23+00:00
- Versión Documento: 0.2.2