Me complace anunciar la primera versión alfa de Couchbase Python Client 3.0. Esta nueva e importante versión comparte las mismas funciones internas avanzadas de su predecesor, al tiempo que presenta una API nueva, armonizada y revisada, moldeada por nuestras experiencias de soporte y desarrollo del SDK2.
Si quieres ponerte manos a la obra de inmediato, consulta la guía de iniciación aquí . El SDK de Python puede descargarse ahora mismo, en versión alfa, ejecutando :
1 |
pip instale couchbase==3.0.0a2 |
Estas son algunas de las muchas novedades:
Mayor armonización entre SDK
La versión 2 del SDK de Python comenzó el proceso de armonizar la sintaxis y la semántica con las otras APIs de Couchbase y la versión 3 continúa con esto. Al mismo tiempo, nuestro objetivo es siempre expresar la funcionalidad que Couchbase proporciona de la forma más idiomática posible.
Para ello, esta versión alfa muestra la disponibilidad de OptionBlocks conservando los parámetros con nombre. Hemos adaptado los nombres de varios servicios y funciones en consecuencia, y hemos actualizado las estructuras de las clases de resultados y de gestión de errores para que se ajusten a un modelo acordado entre todos los SDK.
Novedades de Couchbase Server 6.5
Colecciones
La versión 3 proporciona soporte directo para colecciones, que serán previsualizadas por Couchbase Server en breve. En alphas posteriores, podrás crear y manipular colecciones individuales, pero por ahora estamos dando soporte a la colección por defecto, que te dará una idea de la nueva API.
1 2 3 4 |
grupo = Grupo("couchbase://hostname", "nombre de usuario", "contraseña") colección = grupo.cubo("nombre-cubo").colección_por_defecto() fred_detalles = colección.consiga("Fred", proyecto=["cónyuge.nombre","Inicio.ciudad"]).contenido_como[Persona] imprimir("Fred es casado a {} y vidas en {}".formato(fred_detalles.cónyuge, fred_detalles.ciudad_de_origen)) |
Durabilidad sincrónica
El SDK soporta la nueva durabilidad más fuerte que estará disponible en las próximas versiones preliminares de Couchbase Server:
1 |
colección.upsert("docId", json, durabilidad = Durabilidad.MAYORÍA) |
Pilas incluidas
La versión 3 automatiza por completo el suministro de una versión adecuada de libcouchbase, el SDK de C subyacente que permite el alto rendimiento que proporciona.
En primer lugar, recientemente hemos empezado a dar soporte a las ruedas binarias de Python, un método de distribución de binarios preconstruidos para muchas plataformas, para SDK2, y tenemos la intención de continuar y ampliar este soporte a medida que pase el tiempo.
Sin embargo, si una rueda no está disponible, el instalador buscará una versión apropiada de la librería, construyéndola e instalándola junto con los binarios del Cliente Python de Couchbase si es necesario, asumiendo que tienes el tipo correcto de herramientas de desarrollo disponibles. Siempre que instales o actualices el cliente, te proporcionará las últimas correcciones y funcionalidades de libcouchbase.
Sugerencias de tipo
Con el fin de mejorar la visibilidad y la fiabilidad de nuestro SDK y de las aplicaciones que dependen de él, hemos añadido una amplia compatibilidad con los nuevos estándares de anotación de tipos de Python (véase PEP 484, PEP 526, PEP 483 por nombrar algunas). Numerosas herramientas, incluyendo MyPy, PyDev y PyCharm (tanto independiente como plugin) ofrecen un excelente soporte para estos, como demuestran estas capturas de pantalla:

Autocompletado, incluso con métodos encadenados.

No vuelvas a adivinar un parámetro.

Las sobrecargas de los métodos se enumeran claramente.

El uso no válido de la API se resalta claramente.
Por supuesto, hay algunas otras cosas que quedan atrás para conseguir toda esta grandeza. Python 2.7 funciona con todas las nuevas características por ahora, pero es EOL en enero de 2020. Por lo tanto, este SDK sólo soportará Python 3. Tenlo en cuenta cuando veas todas las nuevas características de la versión 3. Las anotaciones de tipo son una característica reciente de Python y muchas de las herramientas están diseñadas para Python 3.6 y posteriores. También soportamos la encarnación de Python 3.7 de asyncio. Esto debería ayudarte a simplificar tu código concurrente y sacar el máximo partido de Couchbase.
Conclusión
Si estás impaciente por empezar a utilizar Couchbase Python SDK 3.0 alpha, échale un vistazo aquí. Ya está disponible, aunque en su forma alfa inicial. Puede haber algunos cambios de última hora antes del lanzamiento completo, pero pruébalo y danos tu opinión. Damos la bienvenida a la oportunidad de hacer algunos cambios y hacer de esta la mejor interfaz de desarrollo Python para Couchbase posible.