Tabla de contenido
Una vez más aquí. Hoy vengo a dejar un pequeño programa que creo que podría resultar útil para situaciones como las que me he encontrado en las últimas semanas. La cosa es que me he encontrado un centro educativo en el que hay ordenadores, pero no parece que tengan realizado un inventario con qué cosas tienen instaladas y disponibles cada equipo. Pues El PC y sus cosas permite generar informes más o menos detallados del equipo en el que se ejecuta el programa. Además, permitirá exportar los datos del equipo a formato .sql para guardar dichos datos por equipo o por aula en una base de datos y así tener centralizada toda la información de cada equipo disponible en el centro.
Como digo, esto viene a cuento por que tanto si te dedicas al soporte, como cuando un usuario necesita conocer con detalle qué hardware, qué software y qué configuración tiene un ordenador, lo habitual es ir consultando varias herramientas distintas del sistema operativo. Ese enfoque funciona para una revisión puntual de uno o dos equipos, pero se vuelve lento, incómodo y poco práctico cuando necesitas la información de un buen puñado de equipos, o lo que se quiere es generar un informe completo, guardarlo y poder compartirlo después. Pues este programa nace para intentar hacerle la vida más sencilla a la gente.
Este programa ha sido diseñado utilizando Python, para recopilar información importante del equipo y generar informes claros en varios formatos. Su utilidad es evidente tanto para usuarios avanzados como para técnicos de soporte, administradores de sistemas, pequeños negocios, talleres de reparación o cualquier persona que quiera documentar el estado de un ordenador de forma rápida. El programa debería funcionar en Windows y en Gnu/Linux, lo que lo convierte en una solución especialmente interesante para entornos mixtos.
En las siguientes líneas, vamos a ver a groso modo qué hace exactamente la aplicación, cómo está organizada internamente, qué partes del código son más relevantes y qué ventajas ofrece al usuario final.
Qué hace exactamente El PC y sus cosas

Como ya he mencionado, la función principal del programa es generar un informe de inventario del equipo. Ese informe reúne información clave del sistema y la presenta de manera centralizada. En lugar de depender de varias utilidades separadas, la aplicación ejecuta una recopilación ordenada de datos y después los exporta en formatos que resultan útiles según el contexto.
Entre los datos que puede obtener el programa se encuentran los siguientes:
- Sistema operativo y versión.
- BIOS y placa base.
- Procesador y memoria RAM.
- Discos duros y particiones.
- Tarjeta gráfica, monitor y dispositivos de sonido.
- Configuración de red y adaptadores activos.
- Dispositivos USB conectados.
- Impresoras detectadas.
- Información sobre batería, cuando existe.
- Software instalado.
- Usuarios, grupos y privilegios del sistema.
Una vez recopilada esta información, el usuario puede exportarla en varios formatos, según le interese:
- TXT, para una consulta rápida o para adjuntar en soporte técnico.
- HTML, para disponer de un informe visual más agradable y más fácil de navegar.
- SQL, para integrar los datos en una base de datos o en procesos más avanzados.
Esta combinación de recopilación automática y exportación múltiple es uno de los puntos fuertes del proyecto, porque cubre tanto la parte visual como la parte técnica y documental.
Una aplicación pensada para el usuario final
Aunque internamente el programa tiene una estructura modular, de cara al usuario final la experiencia está pensada para ser simple. La interfaz gráfica, desarrollada con Tkinter, presenta un flujo directo: se seleccionan los formatos de salida, se inicia el escaneo y, cuando finaliza el proceso, se puede abrir la carpeta donde se han guardado los informes o volver a exportarlos a otra ubicación.
Eso significa que el usuario no necesita conocimientos técnicos avanzados para utilizar la aplicación, aun que si necesitará ciertos conocimientos para entender el informe final. No tiene que recordar comandos, ni localizar manualmente cada dato dentro del sistema operativo. El programa centraliza el trabajo y automatiza la salida final.
Cómo está organizado el código del proyecto
Una de las cosas más interesantes de El PC y sus cosas es que no es un script monolítico. Está dividido en módulos con responsabilidades claras. Esa separación hace que el código sea más mantenible, más fácil de ampliar y más comprensible para quien quiera revisarlo o mejorarlo.
El lanzador del proyecto
El primer archivo importante es run_app.py. Esta pieza actúa como lanzador principal. Su trabajo consiste en preparar el entorno antes de ejecutar la aplicación gráfica. En concreto, comprueba si existe el entorno virtual, valida que ese entorno sea utilizable, instala dependencias desde el archivo requirements.txt y finalmente arranca la aplicación principal.
Desde la perspectiva del usuario final, esto simplifica mucho la puesta en marcha. En lugar de obligarle a crear manualmente el entorno virtual o a instalar paquetes uno por uno, el lanzador automatiza ese proceso. Esto es importante porque reduce errores y hace que el proyecto sea mucho más fácil de distribuir.
La interfaz gráfica
El corazón visual del programa está en gui.py. Aquí se construye la ventana principal, se aplican estilos, se organiza el contenido y se definen los controles con los que interactúa el usuario. También es aquí donde se coordina el proceso de recopilación de datos.
Con la lista de pasos de recopilación, en lugar de codificar todo de forma rígida, la aplicación mantiene una secuencia de funciones que se ejecutan una detrás de otra. Esto permite que la barra de progreso avance de forma coherente y que el log interno muestre exactamente qué parte del análisis se está realizando en cada momento.
Otra parte relevante de gui.py es la exportación de resultados. La aplicación centraliza todos los datos recopilados y, según los formatos elegidos por el usuario, llama a los exportadores correspondientes. Ese diseño desacopla muy bien la recopilación del renderizado final, algo importante cuando se quiere mantener un proyecto limpio y escalable.
Los recopiladores
La carpeta recopiladores contiene varios módulos especializados. Cada uno se encarga de una parcela concreta del inventario. Por ejemplo, unos módulos se centran en hardware, otros en red, otros en sistema, software o usuarios. Este reparto es una decisión que evita un archivo gigantesco y facilita la localización de errores o mejoras.
Para el usuario final esto tiene una consecuencia práctica: el programa puede crecer sin perder orden. Si mañana se quiere añadir una nueva sección del informe, lo razonable es incorporar un recopilador adicional o ampliar uno existente, sin necesidad de reescribir toda la aplicación.
Los exportadores
La carpeta exportadores es otro bloque fundamental. Aquí se encuentran los módulos encargados de transformar la información recopilada en archivos finales. El exportador HTML merece una mención especial porque recientemente creo que se ha mejorado la claridad de la presentación, añadiendo un índice de secciones, una cabecera con resumen, tarjetas para elementos repetitivos y una distribución visual mucho más ordenada.

Este detalle creo que importa mucho en términos de experiencia de usuario. No basta con recopilar información; también hay que presentarla de forma clara. Un informe técnico mal dispuesto puede ser casi tan incómodo como no tener informe.
Las utilidades compartidas
El archivo utilidades.py centraliza funciones auxiliares que se usan desde diferentes partes de la aplicación. Por ejemplo, incluye lógica para ejecutar comandos del sistema, parsear ciertas salidas y abrir archivos o carpetas con la aplicación predeterminada del sistema operativo. Este tipo de módulo es muy útil porque evita duplicaciones y mantiene el resto del código más limpio.
La integración con la bandeja del sistema
Otro componente importante es system_tray.py. Este módulo encapsula la lógica del icono de bandeja del sistema. Gracias a este archivo, la aplicación puede ofrecer un menú contextual con acciones clave sin mezclar esa lógica con la construcción principal de la interfaz. A nivel de arquitectura, es una funcionalidad transversal, perfectamente aislable.
Además, esta integración se ha planteado con una degradación segura. Eso significa que, si el entorno no soporta bandeja del sistema o no están disponibles ciertas dependencias, la aplicación puede seguir funcionando sin bloquearse.
Por qué este programa puede interesar al usuario final
La mayoría de los usuarios no quieren estudiar el sistema operativo en profundidad para obtener información básica de su equipo. Lo que quieren es una herramienta que resuma lo importante, que les permita guardar resultados y que les ahorre tiempo. Este programa cumple precisamente esa función.
Estas son algunas ventajas concretas para el usuario final:
- Ahorra tiempo al evitar búsquedas manuales en múltiples utilidades del sistema.
- Permite conservar un histórico de informes del equipo.
- Resulta útil antes de formatear, vender o actualizar un ordenador.
- Facilita compartir la información con un técnico o con soporte remoto.
- Puede servir como base documental en pequeñas empresas o entornos domésticos avanzados.
También hay un punto interesante desde el punto de vista técnico: al exportar en SQL, el proyecto no se limita al usuario doméstico. También abre la puerta a integraciones más avanzadas en sistemas de inventario, auditoría o análisis interno.
Aspectos importantes de cara al futuro
El proyecto ya tiene una base sólida, pero además creo que cuenta con margen claro de crecimiento. Algunas mejoras futuras razonables podrían ser la selección granular de módulos a escanear, la configuración persistente de la carpeta de salida, la generación de notificaciones cuando finaliza un proceso o incluso un empaquetado binario para simplificar aún más la distribución.
Conclusión y repositorio en GitHub
El PC y sus cosas es una aplicación de escritorio pensada para convertir la recopilación de información del sistema en un proceso rápido, claro y útil. Su principal fortaleza es combinar una experiencia sencilla para el usuario final con una arquitectura modular suficientemente bien organizada como para seguir creciendo.
Si alguien busca un programa para generar informes de inventario del equipo en Windows y Gnu/Linux, esta herramienta ofrece una base muy competente: recopila información relevante, exporta en formatos útiles, simplifica la ejecución con un lanzador propio y añade una integración práctica con la bandeja del sistema.
Desde el punto de vista del desarrollo, el proyecto también resulta interesante porque está dividido en módulos claros, reutiliza utilidades compartidas y separa adecuadamente la recopilación, la interfaz y la exportación. En otras palabras, no solo es útil para quien lo ejecuta, sino también para quien quiera mantenerlo, adaptarlo o ampliarlo.
El código completo del programa se puede descargar desde el repositorio en GitHub en el que alojé este proyecto.
