SDAC/VSO Update 2025
Abstract
The Virtual Solar Observatory (VSO) is being re-written in Python, using the frameworks FastAPI and Flask-AppBuilder as a Model-View-Controller application, consisting of several suites of APIs and their associated endpoints. We currently have 7 RESTful informational services running under FastAPI, together with 2 general purpose search endpoints. We also have a new web client running under Flask-AppBuilder. More endpoints in both framework currently are under active development.
Full text
SDAC/VSO Update 2025 E. Mansky NASA/GSFC & ADNET Systems Inc. Welcome to VSO 2.0 The Virtual Solar Observatory (VSO) is being re-written in Python, using the frameworks FastAPI and Flask-AppBuilder as a Model-View-Controller application, consisting of several suites of APIs and their associated endpoints. We currently have 7 RESTful informational services running under FastAPI, together with 2 general purpose search endpoints. We also have a new web client running under Flask-AppBuilder. More endpoints in both framework currently are under active development. The FastAPI endpoints are available for testing at: http://vso04.nispdc.nso.edu:8080 The FastAPI endpoint documentation can be viewed at: http://vso04.nispdc.nso.edu:8080/docs The VSO 2.0 web client can be tested at: http://vso04.nispdc.nso.edu:26997/vsobase/show_forms
The overall architecture of VSO 2.0 is:
Key Features of VSO 2.0 •Registry is now stored in an SQLite DB instead of XML files on disc •SQLAlchemy used to connect to both SQLite and legacy DBs containing mission data using Python objects (models) instead of lower-level SQL commands •Use of Pydantic to validate all endpoint requests and responses •Automatic logging of timings of endpoints to the SQLite DB via a logging API
VSO 2.0 Documentation (automatically generated by FastAPI)
VSO 2.0 Web client Datetime picker with millisecond accuracy
VSO 2.0 Search for SOAR data for July 1-2, 2022
VSO 2.0 SOAR Search results (TAP client) Execution time 12-13 secs.
VSO 2.0 Get Data Results Page