Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

opendap support for outputs

Abierto
#512 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
backend

Línea de trabajo

Comienza leyendo la implementación del storage builder y el punto de entrada inout.storage.builder.STORAGE_MAP; después, inspecciona cómo output_path y ComplexOutput gestionan los archivos referenciados. Añade la ruta de almacenamiento DODS propuesta y una URL base basada en la configuración para que las salidas DODS devuelvan un enlace DAP mientras los archivos se escriben normalmente; verifica el comportamiento de la respuesta con una salida netCDF servida por THREDDS.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

Our platform runs a number of different pywps servers. The outputs of the process are stored on a disk that is indexed by THREDDS. THREDDS offers remote access to netCDF files using DAP. So what we'd like to be able to do is for processes to return an opendap url if the data_format is set to DODS.

I think this can be done by

  • implementing a DODSStorageBuilder, using configuration settings to set base_url to the DAP link
  • adding "dods": DODSStorageBuilder to inout.storage.builder.STORAGE_MAP

Then I think we'd configure the THREDDS server to serve what's in the PyWPS output_path. When writing a process' response,
we would declare the dap_output ComplexOutput to be of format DODS and with as_reference=True, then do something like
response['dap_output'].file = <path_to_netcdf_file>

The DODSStorageBuilder would write the file to disk, as usual, but instead of returning an http link to the file stored on the server, it would return a DODS link.

Lenguaje dominante
Python
Estrellas
186
Forks
116
Merge medio
11 d 20 h
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de geopython/pywps

Todos los issues de geopython/pywps

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.