Tenho o prazer de anunciar o primeiro alfa do Couchbase Python Client 3.0. Essa nova e importante versão compartilha os mesmos componentes internos avançados de seu antecessor, ao mesmo tempo em que apresenta uma API nova, harmonizada e revisada, moldada por nossas experiências de suporte e desenvolvimento do SDK2.
Se você quiser começar imediatamente, consulte o guia de introdução aqui . O Python SDK está disponível para download agora mesmo, em um formato alfa de pré-lançamento, executando:
1 |
tubulação instalar couchbase==3.0.0a2 |
Aqui estão alguns dos muitos recursos novos:
Harmonização adicional entre SDKs
A versão 2 do Python SDK iniciou o processo de harmonização da sintaxe e da semântica com as outras APIs do Couchbase, e a versão 3 dá continuidade a esse processo. Ao mesmo tempo, nosso objetivo é sempre expressar a funcionalidade que o Couchbase oferece da forma mais idiomática possível.
Para isso, este alfa mostra a disponibilidade dos OptionBlocks, mantendo os parâmetros nomeados. Adaptamos a nomenclatura de vários serviços e funções de acordo com isso e atualizamos as estruturas de classe Result e error-handling para que estejam em conformidade com um modelo acordado entre os SDKs.
Novidades no Couchbase Server 6.5
Coleções
A versão 3 oferece suporte direto a coleções, que serão pré-visualizadas pelo Couchbase Server em breve. Em alphas posteriores, você poderá criar e manipular coleções individuais, mas, por enquanto, estamos oferecendo suporte à coleção padrão, o que lhe dará uma ideia da nova API.
1 2 3 4 |
agrupamento = Aglomerado("couchbase://hostname", "nome de usuário", "senha") coleção = agrupamento.balde("bucket-name" (nome do balde)).default_collection() fred_details = coleção.obter("Fred", projeto=["cônjuge.nome","casa.cidade"]).content_as[Pessoa] impressão("Fred é casado para {} e vidas em {}".formato(fred_details.cônjuge, fred_details.cidade natal)) |
Durabilidade síncrona
O SDK é compatível com a nova durabilidade mais forte que estará disponível nas próximas visualizações do Couchbase Server:
1 |
coleção.upsert("docId", json, durabilidade = Durabilidade.MAIORIA) |
Baterias incluídas
A versão 3 automatiza totalmente o fornecimento de uma versão apropriada da libcouchbase, o SDK C subjacente que permite o alto desempenho que ela oferece.
Em primeiro lugar, começamos recentemente a oferecer suporte a rodas binárias Python, um método de distribuição de binários pré-construídos para muitas plataformas, para o SDK2, e pretendemos continuar e expandir esse suporte com o passar do tempo.
No entanto, se uma roda não estiver disponível, o instalador procurará uma versão apropriada da biblioteca, construindo e instalando-a juntamente com os binários do Cliente Python do Couchbase, se necessário, supondo que você tenha o tipo certo de ferramentas de desenvolvimento disponíveis. Sempre que você instalar ou atualizar o cliente, ele fornecerá as últimas correções e funcionalidades da libcouchbase.
Sugestões de tipo
Com o objetivo de melhorar a capacidade de descoberta e a confiabilidade do nosso SDK e dos aplicativos que dependem dele, adicionamos um amplo suporte aos padrões emergentes de anotação de tipos Python (consulte PEP 484, PEP 526, PEP 483 para citar apenas alguns). Várias ferramentas, incluindo MyPy, PyDev e PyCharm (tanto autônomas quanto como plug-in) oferecem excelente suporte a elas, como demonstram essas capturas de tela:

Autocompletar, mesmo com métodos encadeados.

Nunca mais adivinhe um parâmetro.

As sobrecargas de métodos são listadas claramente.

O uso inválido da API é destacado claramente.
É claro que há outras coisas que ficaram para trás para obter toda essa grandiosidade. Por enquanto, o Python 2.7 funciona com todos os novos recursos, mas será descontinuado em janeiro de 2020. Portanto, este SDK oferecerá suporte apenas ao Python 3. Tenha isso em mente quando estiver analisando todos os novos recursos da versão 3. As anotações de tipo são um recurso recente do Python e grande parte das ferramentas foi projetada para o Python 3.6 e posterior. Também oferecemos suporte à encarnação do Python 3.7 do asyncio. Isso deve ajudá-lo a simplificar seu código simultâneo e a aproveitar ao máximo o Couchbase.
Conclusão
Se você está animado para começar a usar o Couchbase Python SDK 3.0 alfa, dê uma olhada aqui. Ele está disponível agora mesmo, embora em sua forma alfa inicial. Pode haver algumas mudanças significativas antes do lançamento completo, mas experimente e nos dê seu feedback. Agradecemos a chance de fazer algumas alterações e tornar esta a melhor interface de desenvolvimento Python possível para o Couchbase.