SkyQuest: aplicación Python para programar sesiones de astrofotografía

SkyQuest es una aplicación en Python para planificar sesiones de astronomía y astrofotografía. Visualiza 24 horas de tránsito celeste con animación, capas y exportación de vídeo mediante Skyfield y Matplotlib.

8 sept 2025 • 6 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

TLDR: pequeña aplicación en Python para planificar sesiones de astronomía y astrofotografía, creada con el método Story-Code y publicada en GitHub. La reescribimos y traducimos al español, con una explicación clara de su arquitectura y funcionalidades.

SkyQuest muestra la observabilidad de cuerpos celestes desde un punto de observación terrestre. Presenta una vista diaria de 24 horas en la que se ve cómo los objetos seleccionados transitan por el cielo; se pueden apilar varios días consecutivos. El eje X muestra la hora local con sensibilidad a cambios por horario de verano; el eje Y fija el rango de altitud trazado.

También puede mostrar bandas de luz diurna y de crepúsculos civil, náutico y astronómico, mediante bloques de color en el fondo. Siempre se incluye el arco lunar, en gris, con brillo según la iluminación de la Luna en cada hora trazada. Las trayectorias de los objetos elegidos usan transparencia inversamente proporcional a la iluminación lunar, para sugerir su visibilidad potencial, siempre condicionada por altitud y meteorología.

El resultado permite identificar horas óptimas de observación considerando nivel de luz, iluminación lunar y altitud, en una o varias fechas y desde cualquier lugar del mundo. El conjunto de datos de skyfield cubre hasta poco antes del cumpleaños 113 de John Lennon, por lo que tocará actualizarlo en algún momento.

Una vez generado el gráfico, puede animarse: el lienzo se limpia y se redibuja hora a hora y día a día, con opción de grabar vídeo. SkyQuest mantiene dos vistas del mismo conjunto de datos, la estática y la secuencial animada, para alternar rápidamente visibilidad de elementos como el arco lunar y decidir si entran o no en la grabación. La animación puede avanzar acumulando días o con ventana deslizante, útil para ver, por ejemplo, un mes completo desplazándose a lo largo de un año.

Principios fundacionales del diseño: un día es el periodo de 24 horas que sigue al mediodía de una fecha; altitudes e iluminación se muestrean por hora; los eventos solares y crepusculares se trazan con resolución de minuto; hay 9 eventos como máximo por día; el vídeo sale en HD a 50 fps, equivalentes a dos días animados por segundo.

Metáfora narrativa y reparto clásico: el tiempo material es Chronos y su mecánica es Kairos, con la influencia de las Moirai. Tiphys gestiona el punto de observación y el destino astronómico. Idmon consulta los almanaques de skyfield. Astraeus dibuja todo en el pergamino con herramientas de inscripción y un tablero artístico. Todo ocurre dentro del Observatorio, que orquesta la consulta, activa la animación y gobierna el ciclo de vida de la app.

Tiempo y destino. Chronos fija el intervalo de consulta y define la cronogénesis, el aion y el eschatos. Cualquier cambio de fecha o duración activa una nueva búsqueda. Kairos aporta la práctica del tiempo: hora local real con DST, bandas de luz del día, paso a UTC y horas verdaderas desde el mediodía de referencia. Base conceptual clave: trabajamos desde el mediodía para situar la medianoche en el centro del estudio, y dividimos el día en un máximo de 9 bandas entre día, crepúsculos y noche cerrada.

Lugar y conocimiento. Tiphys administra el lugar de observación y los objetivos. Por ahora incluye una lista curada de planetas y objetos RA Dec, seleccionables individualmente o por conjunto; la ubicación se protege mediante un botón que oculta datos sensibles, y podría integrarse con un selector de mapas. Idmon, el vidente, realiza el trabajo pesado: arcadas de altitud por hora para cada objetivo y día, bandas de crepúsculo con sus intervalos, e iluminación lunar por hora. El lunar siempre está disponible y además condiciona la transparencia de los demás arcos.

El maestro escriba. Astraeus dirige la visualización sobre el Pergamino, sustentada por Matplotlib, y operada desde el ArtBoard. Este tablero agrupa herramientas de inscripción e interfaz para encender o apagar capas, configurar rango de altitudes, guías horizontales y rejilla. Las inscripciones se dividen en velo completo y segmentos animables por hora, ofreciendo dos vistas de un mismo elemento: global y paso a paso.

Herramientas de inscripción. Arcos: añaden líneas compuestas, una por objetivo o por día. Fondo: genera y actualiza bandas de día y crepúsculos, creciendo el primer día y reajustando límites en los siguientes. Rejilla: control de visibilidad y estilo. Umbral: una guía horizontal ajustable, sin animación. Las capas del ArtBoard exponen controles de visibilidad y parámetros, por ejemplo el rango de altitud y el valor del umbral.

El Pergamino. Define la estética global, maneja títulos y ejes, y permite guardar y restaurar el estado del lienzo al alternar entre gráfico completo y animación. Puede cambiar la geometría para vídeo HD usando el escritor de FFMPEG. ChartedElements guarda colecciones de líneas de arcos, rectángulos de fondo, ticks del eje X y el título original para restaurarlos después. InnerChartElements dibuja líneas y bloques, extiende y decae segmentos, reorganiza límites de bandas y controla la visibilidad de inscripciones.

Trazado y flujo. El Observatorio ensambla una consulta, recorre el rango de días, y coordina a Idmon y Astraeus. Cada día se dibujan bandas, se trazan arcos, se actualizan título y eje X por si hay cambio de horario de verano, y se completan los detalles como el umbral y la rejilla. Finalmente, el ArtBoard ordena mostrar los velos pertinentes y el Pergamino renderiza.

Animación. El tablero solicita el modo de animación, ya sea acumulativo o con ventana deslizante. Un filtro de animación recuerda qué estaba visible para limitar la animación a esos elementos y restaurar el estado al finalizar. La ejecución avanza día a día, hora a hora y paso a paso, añadiendo segmentos, creciendo o reajustando bandas, actualizando título y ticks, y expirando segmentos antiguos cuando corresponde. Un DayTracker gobierna la progresión y el periodo de desenrollado; un ArcLimiter registra qué se añadió cada hora para poder retirarlo con precisión.

Continuum. La app centraliza importaciones externas en un único módulo base: sys, collections y math para utilidades; numpy para secuencias ligeras; gc y time para limpieza y pausas; datetime y zoneinfo para tiempos en UTC y conversión local. Skyfield provee la astronomía. PyQt5 ofrece la interfaz. Matplotlib da vida al trazado, al backend interactivo QT y al backend para vídeo, con colecciones de líneas, colores con transparencia, fuentes y patches para las bandas. Se libera memoria de la figura cuando procede.

Recursos. Código fuente completo en GitHub: repositorio de SkyQuest. Si te interesa el enfoque cognitivo y la metáfora aplicada al código, consulta también el artículo Story-Coding: Metaphor as Cognition en dev.to.

Cómo puede ayudarte Q2BSTUDIO. En Q2BSTUDIO desarrollamos aplicaciones a medida y software a medida para visualización científica, control de dispositivos, ingeniería de datos y analítica avanzada, con especial foco en inteligencia artificial, agentes IA e IA para empresas. Si necesitas una herramienta como SkyQuest, una suite multiplataforma o integración con servicios cloud AWS y Azure, podemos construirla con un enfoque robusto y escalable. Descubre nuestro servicio de desarrollo de aplicaciones y software en aplicaciones a medida y software multiplataforma.

Además, reforzamos la seguridad desde el diseño con buenas prácticas de ciberseguridad y pentesting, y conectamos tus datos con decisiones mediante inteligencia de negocio y power BI. Si buscas dotar a tu herramienta de capacidades predictivas o asistentes inteligentes, conoce nuestras soluciones de inteligencia artificial para empresas. También ofrecemos automatización de procesos, servicios cloud en AWS y Azure, y cuadros de mando de power BI listos para negocio.

Si quieres llevar tus ideas del papel al pergamino, escríbenos y diseñaremos juntos la próxima generación de tus herramientas de observación, análisis y decisión.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat