SkyQuest: app en Python con narrativa para programar sesiones de astrofotografía

SkyQuest es una app en Python para planificar sesiones de astronomía y astrofotografía. Muestra una vista diaria de 24 h (con varios días), arcos lunares, bandas de luz y la visibilidad de objetos. Código abierto en GitHub.

8 sept 2025 • 7 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

TLDR Pequeña app para planificar sesiones de astronomía y astrofotografía, creada en Python con el método Story Code. Puede ser útil para otros y está disponible en GitHub. Además, la usamos como ejemplo real de cómo aplicar narrativa a código.

SkyQuest muestra la observabilidad de cuerpos celestes desde un punto de observación en la Tierra. Presenta una vista diaria de 24 horas donde se apilan varios días si lo deseas. El eje X refleja la hora local respetando cambios de horario de verano y, cuando hay varios días, muestra las etiquetas del último día dibujado. El eje Y controla el rango de altitudes.

El fondo puede incluir bandas de luz diurna que segmentan día, noche y los crepúsculos civil, náutico y astronómico. Siempre está disponible el arco lunar, trazado en gris con brillo proporcional a la iluminación de la Luna por hora. Los arcos de los cuerpos seleccionados se dibujan con transparencia inversamente proporcional a la iluminación lunar para sugerir su visibilidad potencial, teniendo en cuenta también la altitud y el clima externo.

Así puedes encontrar el momento óptimo para observar objetos del cielo nocturno según nivel de luz ambiente, iluminación lunar y altura, para uno o varios días y en cualquier lugar del mundo. El conjunto de efemérides de skyfield incluido cubre hasta casi el 113 aniversario de John Lennon, por lo que convendrá actualizarlo a futuro.

Una vez generado un gráfico, puede animarse borrando y redibujando por horas y días, con opción de producir un video. La app mantiene dos vistas simultáneas de los datos, la completa y la secuenciada para animación, lo que permite activar o desactivar elementos al instante o excluirlos de la grabación. La animación puede acumular todo el periodo o funcionar como ventana deslizante para recorrer, por ejemplo, un mes a lo largo de un año.

Supuestos de diseño principales de SkyQuest: un día es el periodo de 24 horas que sigue al mediodía; altitudes e iluminación por resolución horaria; eventos solares por resolución de minuto; máximo de 9 eventos diarios; video en 1080p a 50 fps, equivalente a 2 días completos por segundo.

La app personifica funciones como en la mitología griega. Cronos representa el tiempo material y Kairós su mecánica; las Moiras la fortuna. Tifis cuida la navegación entre el punto de observación y los objetivos; Idmón consulta los almanaques de skyfield; y Astreo dibuja la profecía con tablero, herramientas de inscripción y pergamino.

Observatorio Es el entorno donde todo sucede. Permite consultas por días y orquesta los paneles de control: ubicación y objetivos desde Tifis; fechas y rango desde Cronos; y ajustes de trazo desde Astreo. Un control maestro lanza la consulta a Idmón.

Tiempo y destino El módulo de forja del tiempo separa el tiempo como materia de su expresión práctica. Dos ideas gobiernan todo: los días empiezan a mediodía y duran exactamente 24 horas; cada día se divide como mucho en 9 bandas entre día, crepúsculos y noche. Cronos fija fecha inicial y duración del rango de días; Kairós resuelve horas verdaderas, conversiones a UTC, diferencia de horas y la banda de luz de un instante, teniendo en cuenta el huso y el horario de verano.

Lugar y conocimiento Tifis gestiona el punto de observación y el destino. Ofrece un pequeño catálogo curado de objetivos con planetas y objetos RA Dec, y una HomeBase que oculta la ubicación real para evitar capturas indeseadas. Idmón carga efemérides y calcula arcos de tránsito por horas, además de bandas de luz diurna por día y la iluminación lunar por hora. Para múltiples días u objetivos, Idmón se consulta repetidamente.

El maestro escriba Astreo organiza todo lo visual. Se apoya en un ArtBoard que agrupa herramientas de inscripción y un pergamino donde se traza. Las inscripciones son elementos que tienen velo completo y, además, una versión segmentada apta para animación por hora y por día. El pergamino encapsula matplotlib, maneja título y ejes, guarda y restaura estados para alternar entre gráfico estático y animado y, si procede, abre un escritor de video.

ArtBoard Capas y herramientas. Permite activar o desactivar grupos como fondo, arco lunar y arcos de tránsito, ajustar el rango de altitudes y lanzar la animación. Las herramientas incluyen InscribeArc para arcos complejos, InscribeBackground para bandas de fondo que se expanden o desplazan día a día, InscribeGrid para la rejilla y InscribeThreshold para una guía horizontal. El tablero sabe qué día se está representando en consultas multidiarias.

Inscriptions Unifican cómo se agregan marcas al pergamino, se controlan visibilidad y animación y se segmentan líneas o fondos por hora. Hay operaciones para añadir, actualizar y mostrar u ocultar el velo completo, crear segmentos horarios para arcos, construir los pasos de fondo y disparar la animación respetando lo visible al inicio. La animación itera por días, por horas y por pasos, añade segmentos, crece o baraja bandas de día y elimina segmentos caducados si animamos en ventana deslizante. DayTracker controla el avance del rango y el desenrollado final; ArcLimiter registra y vence marcas antiguas cuando hay que borrar horas pasadas.

Pergamino y ejes Gestiona guardar y restaurar geometría, contenido y formato cuando se hace animación o video, limpia colecciones de líneas y bloques ultra finos al preparar una nueva consulta y ofrece operaciones de bajo nivel para añadir colecciones de líneas, extender y decaer líneas, agregar o reajustar bloques, barajar y decaer bloques, trazar guía horizontal, conmutar rejilla y retitular. El eje X actualiza etiquetas en días con horario de verano; el eje Y ajusta el rango activo. El repintado asegura que todo quede en pantalla o en el fotograma del video.

Flujo de presentación El observatorio arma cada consulta con Idmón y Astreo. Astreo inicia la presentación sobre un pergamino fresco, dibuja las bandas de luz, agrega todos los arcos del día, actualiza título y ejes en cada jornada y completa con guía de umbral y visibilidad final. Por defecto siempre hay conjunto de arcos lunares más uno o varios cuerpos objetivos, con colores definidos y una escala de grises para el brillo del arco lunar según su iluminación.

Animación El ArtBoard permite elegir si la animación acumula días o desliza una ventana temporal. AnimationFilter memoriza qué estaba visible antes de animar para que solo eso se anime y luego se restaure. La animación también puede grabarse a video en HD a 50 fps.

Continuum Fundacional. Se importan sys para CLI, collections y defaultdict para indexar horas, math y numpy para utilidades, gc y time para limpieza y ritmos interactivos, datetime y zoneinfo para manejar UTC y cambios de hora. Skyfield aporta efemérides. La interfaz usa PyQt5. La visualización confía en matplotlib con colecciones de líneas, patches para bandas, fuentes, backends para pantalla y para video, y un escritor FFMPEG.

Repositorio Código fuente completo en GitHub en el proyecto SkyQuest. Puedes explorarlo en este repositorio.

Cómo podemos ayudarte desde Q2BSTUDIO En Q2BSTUDIO diseñamos y desarrollamos aplicaciones a medida y software a medida para llevar ideas como SkyQuest a producción empresarial, integrarlas con tus datos, desplegarlas en escritorio o web y automatizar flujos de trabajo. Si buscas un partner para crear o escalar soluciones similares, visita nuestro servicio de desarrollo de aplicaciones y plataformas multiplataforma en desarrollo de software a medida.

Inteligencia artificial y más Allá de la astronomía, aplicamos inteligencia artificial e IA para empresas para recomendadores, predicción de demanda, visión por computador, agentes IA y copilotos internos. También reforzamos la ciberseguridad con auditorías y pentesting, ofrecemos servicios cloud AWS y Azure, servicios inteligencia de negocio con Power BI y la modernización de datos extremo a extremo. Descubre cómo acelerar tus iniciativas con nuestro equipo de IA en soluciones de inteligencia artificial.

Palabras clave relacionadas para tu equipo aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

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