MetsuOS

Construyendo la plena inclusión a través del videojuego

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

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

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:

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

2. Lógica limitada en grupos de dependencias

3. Integración floja con ecosistemas cerrados

4. Auditoría y cumplimiento normativo a medias

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:

  1. 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).

  2. 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.

  3. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. “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

Un escenario de retrocomputación del siglo 24

¡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

Logo 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?

Sobre la categorización de los tipos de conocimiento

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:

Cuando hablamos de un contenido que incluye un texto que hace referencia a otro.

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