Estoy soñando con una biblioteca de Python que abstraiga el manejo de archivos de mi aplicación.
La aplicación debe ejecutarse en dos configuraciones diferentes:
Me gustaría hacer una separación de preocupaciones .
Al código de la aplicación no debería importarle qué configuración se usa. La elección de la configuración adecuada (con o sin servidor de almacenamiento) se realiza a través de la gestión de configuración.
No necesito todas las operaciones de archivos que puedo hacer a través de os
y os.path
. Solo necesito todas las operaciones que se pueden realizar a través de s3.
Otras características requeridas:
No quiero todas las operaciones de archivos (como os.walk()
). Solo necesito las API de almacenamiento fundamentales de s3, pero sin un servidor de almacenamiento en ejecución.
Te sugiero que le des una oportunidad a Siilo .
Es una capa de abstracción de almacenamiento para Python.
Siilo le brinda una API base con operaciones como open
y delete
, que puede usar sin preocuparse por lo que se usa a continuación.
Es compatible con:
Puntos negativos:
write
, tendrá que implementarlo usted mismo (en ese caso, envíe una solicitud de extracción)Puntos a favor:
Hay una biblioteca de Python para simular la biblioteca boto (s3):
https://github.com/spulec/moto
Moto es una biblioteca que permite que sus pruebas de python simulen fácilmente la biblioteca boto
Puede ejecutarse en modo de servidor independiente, si desea acceder desde un lenguaje de programación diferente