MetsuOS

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

¿Que sistema de dependencias para python es apropiado para MetsuOS? 🟡③

mosDepManager

mosLib El Corazón de MetsuOS ⚫①

OJO WIP

Introducción

MetsuOS es un entorno modular, agnóstico al sistema operativo y construido completamente en Python sobre la biblioteca mosLib. Su diseño busca máxima inclusión, adaptabilidad y control ético-legal del software que se ejecuta en él. Por ello, las herramientas tradicionales de gestión de dependencias de Python (pip + requirements.txt, Poetry, PDM o Conda) resultan insuficientes: ninguna cubre de forma nativa la combinación de requisitos que MetsuOS necesita:

Por todo ello, la solución más robusta y coherente es crear un gestor de dependencias propio llamado MetsuDepManager, que toma como base el motor de resolución de Poetry (el más avanzado del ecosistema Python actual) pero lo extiende con toda la lógica específica de MetsuOS.

Características principales de MetsuDepManager

Ejemplo práctico de declaración (pyproject.toml extendido)

[tool.poetry.dependencies]
python = "^3.11"

# Dependencias obligatorias clásicas
numpy = "^1.26"

# Dependencias con metadatos MetsuOS
pillow = { version = "^10.0", optional = true, priority = "high" }

[tool.metsudep.groups]
render-backend = { 
  at_least_one = true,
  alternatives = [
    { name = "pygame", version = "^2.5", priority = "high", platform = "linux" },
    { name = "pyglet", version = "^2.0", priority = "medium" },
    { name = "kivy", version = "^2.3", priority = "low", platform = "android" }
  ]
}

[tool.metsudep.host_deps.windows]
pywin32 = "^306"

[tool.metsudep.licenses]
required_layer = "fsf-fan"   # Solo paquetes compatibles GPL-3.0 o superior

Ventajas frente a alternativas existentes

Característica pip + requirements Poetry/PDM Conda MetsuDepManager
Resolución avanzada de conflictos
Marcadores por SO y versión limitado ✓ (ampliado)
Dependencias opcionales y extras
Grupos “al menos uno obligatorio”
Comprobación automática de licencias
Priorización dinámica de paquetes
Integración nativa con mosLib

Referencias bibliográficas que apoyan esta propuesta

  1. Poetry – Documentación oficial 🟡③🌐 - La base técnica más sólida para gestores modernos de dependencias en Python (actualizada continuamente).
  2. Learning Python, 5ª edición – Mark Lutz 🟡③🌐 - Capítulo 23 sobre empaquetado y distribución; referencia clásica aún vigente.
  3. The Hitchhiker’s Guide to Python – Packaging 🟡③🌐 - Guía práctica mantenida por la comunidad sobre mejores prácticas de empaquetado.
  4. PEP 508 – Dependency specification for Python 🟡③🌐 - Especificación oficial de marcadores y requisitos de dependencias.
  5. PEP 621 – Storing project metadata in pyproject.toml 🟡③🌐 - Estándar moderno para metadatos de proyecto y dependencias.
  6. REUSE – Free Software Foundation Europe 🟡③🌐 - Herramienta y guía oficial para cumplimiento automático de licencias en proyectos de software.

Referencias que refutan o matizan la necesidad de un gestor propio

  1. PDM – Gestión de dependencias y grupos 🟡③🌐 - Documentación oficial de PDM que detalla el uso de grupos opcionales (extras), marcadores condicionales y hooks para una resolución flexible, argumentando por qué esto suele bastar sin solvers custom.
  2. Conda – Managing environments 🟡③🌐 - Documentación oficial de Conda defendiendo su capacidad multi-plataforma y gestión de licencias vía canales curados.
  3. Python Packaging User Guide – Best practices 🟡③🌐 - Guía oficial que desaconseja sobre-ingeniería en empaquetado y recomienda herramientas estándar.
  4. Python in a Nutshell, 4ª edición – Alex Martelli et al. 🟡③🌐 - Capítulo de empaquetado que advierte explícitamente contra reinventar la rueda.
  5. PyCon US 2023 – “Modern Python Packaging: Avoiding Common Pitfalls” – Itamar Turner-Trauring 🟡③🌐 - Charla en inglés con subtítulos (2023) que muestra pitfalls en packaging, incluyendo por qué solvers custom pueden ser un lastre, promoviendo herramientas estándar como Poetry para simplicidad.

Conclusión equilibrada

Aunque es técnicamente posible (y en el caso de MetsuOS justificable) crear un gestor propio como MetsuDepManager, la literatura actual y la experiencia de la comunidad Python recomiendan agotar primero todas las posibilidades de Poetry + plugins + hooks antes de embarcarse en una solución 100 % propia. En el caso concreto de MetsuOS, la combinación de requisitos éticos-legales estrictos y la integración profunda con mosLib hacen que la solución personalizada sea razonable y, probablemente, la más limpia a medio-largo plazo.

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