Construindo API's robustas utilizando Python

Overview

🐂 Construindo API's robustas utilizando Python

Lu do Magalu em um computador

Neste tutorial vamos aprender a construir API's utilizando Python e FastAPI, integrá-las a serviços externos e também a como torná-las robustas. Discutiremos a importância de uma boa documentação e testes.

Abordaremos conceitos como integração com serviços externos, integração contínua e testes automatizados. Analisaremos cenários onde precisaremos de uma melhor performance e algumas técnicas para alcançar este objetivo como chamadas a funções assíncronas.

Vamos tentar nos preparar para situações ruins que possam acontecer e garantir que nosso sistema será resiliente.

O que veremos?

  • Integração com serviços externos
  • Integração contínua
  • Testes automatizados
  • Invocação de processos assíncronos
  • Circuit breaker
  • Compartilhamento de memória

Pré-requisitos

  • Conhecimento básico de Python
  • Conhecimento de desenvolvimento web
  • Python 3.7+

Sumário

  1. 💭 Planejando o que será desenvolvido

  2. 🧰 Escolhendo as melhores ferramentas

  3. 📐 Iniciando o projeto

  4. 👋 Olá API

  5. 🤝 Integração com serviços externos

  6. 📜 Documentação

  7. ✔️ Integração contínua

  8. 🏆 Desafios

  9. 🐆 Processos assíncronos

  10. 🔌 Circuit breaker

  11. 🦸 Técnicas (um pouco) mais avançadas

  12. 📑 Referências e Dicas

Comments
  • Conexão com api simuladas.

    Conexão com api simuladas.

    Estou seguindo o tutorial e ao tentar as solicitar itens da api_simulda, tenho um retorno de um "Erro no Servidor Interno", tentei diversas formas e não o consegui seguir a partir disso... desde ja agradeço qualquer ajuda ou sujestão...

    bug 
    opened by Guilherme-Macena 7
  • The previous get-poetry.py installer is now deprecated

    The previous get-poetry.py installer is now deprecated

    The previous get-poetry.py installer is now deprecated, if you are currently using it you should migrate to the new, supported, install-poetry.py installer.

    opened by thales-t 1
  • Ajustes necessários para ministrar o tutorial na pybr-2021

    Ajustes necessários para ministrar o tutorial na pybr-2021

    • Remove espaço desnecessario
    • Adiciona dica sobre vcrpy
    • Vincula pagina de logging a seçao de log
    • Ajusta texto para integrar com api falsa de catalogo
    • Remove parametro que pode causar confusao
    • Adiciona instruçoes sobre como acessar API do Magalu
    opened by cassiobotaro 0
  • Dg add logging doc

    Dg add logging doc

    O PR tem como objetivo adicionar uma sugestão de documentação para utilização de logging.

    Detalhe: Não fiz os links de voltar e avançar, pois não sei em que parte vai se encaixar. @jeanmask fiz a alteração que pediu por aqui por conta das alterações de repositório

    opened by denisfrm 0
  • Adicionar doc sobre logging

    Adicionar doc sobre logging

    O PR tem como objetivo adicionar uma sugestão de documentação para utilização de logging.

    Detalhe: Não fiz os links de voltar e avançar, pois não sei em que parte vai se encaixar.

    opened by denisfrm 0
  • Meu primeiro python

    Meu primeiro python

    Print (Vou tentar criar algo, já que é minha primeira vez, não sei como funciona)

    Nome = Input ( float ('escolha seu nome:'))

    A = Input (float (' qual o ano que você nasceu ?')

    Idade = A - 2022

    Print('Sua idade é de :',ldade, 'anos')

    opened by CauaPadua 0
Owner
luizalabs
luizalabs
🐍 The official Python client library for Google's discovery based APIs.

Google API Client This is the Python client library for Google's discovery based APIs. To get started, please see the docs folder. These client librar

Google APIs 6.2k Jan 8, 2023
Actively maintained, pure Python wrapper for the Twitter API. Supports both normal and streaming Twitter APIs.

Twython Twython is a Python library providing an easy way to access Twitter data. Supports Python 3. It's been battle tested by companies, educational

Ryan McGrath 1.9k Jan 2, 2023
The official Python client library for the Kite Connect trading APIs

The Kite Connect API Python client - v3 The official Python client for communicating with the Kite Connect API. Kite Connect is a set of REST-like API

Zerodha Technology 756 Jan 6, 2023
:snake: Python SDK to query Scaleway APIs.

Scaleway SDK Python SDK to query Scaleway's APIs. Stable release: Development: Installation The package is available on pip. To install it in a virtua

Scaleway 114 Dec 11, 2022
Python wrapper for the Sportradar APIs ⚽️🏈

Sportradar APIs This is a Python wrapper for the sports APIs provided by Sportradar. You'll need to sign up for an API key to use the service. Sportra

John W. Miller 39 Jan 1, 2023
Python interface to the World Bank Indicators and Climate APIs

wbpy A Python interface to the World Bank Indicators and Climate APIs. Readthedocs Github source World Bank API docs The Indicators API lets you acces

Matt Duck 47 Oct 31, 2022
🐍 The official Python client library for Google's discovery based APIs.

Google API Client This is the Python client library for Google's discovery based APIs. To get started, please see the docs folder. These client librar

Google APIs 6.2k Dec 31, 2022
Die wichtigsten APIs Deutschlands in einem Python Paket.

Deutschland A python package that gives you easy access to the most valuable datasets of Germany. Installation pip install deutschland Geographic data

Bundesstelle für Open Data 921 Jan 8, 2023
Python wrapper for Coinex APIs

coinexpy - Python wrapper for Coinex APIs Through coinexpy you can simply buy or sell crypto in your Coinex account Features place limit order place m

Iman Mousaei 16 Jan 2, 2023
Automation application was made by me using Google, Sheet and Slack APIs with Python.

README This application is used to transfer the data in the xlsx document we have to the Google Drive environment and calculate the "total budget" wit

null 3 Apr 12, 2022
Autodrive is designed to make it as easy as possible to interact with the Google Drive and Sheets APIs via Python

Autodrive Autodrive is designed to make it as easy as possible to interact with the Google Drive and Sheets APIs via Python. It is especially designed

Chris Larabee 1 Oct 2, 2021
Python client for the iNaturalist APIs

pyinaturalist Introduction iNaturalist is a community science platform that helps people get involved in the natural world by observing and identifyin

Nicolas Noé 79 Dec 22, 2022
Prisma Cloud utility scripts, and a Python SDK for Prisma Cloud APIs.

pcs-toolbox Prisma Cloud utility scripts, and a Python SDK for Prisma Cloud APIs. Table of Contents Support Setup Configuration Script Usage CSPM Scri

Palo Alto Networks 34 Dec 15, 2022
AuthGG is a Python library for dealing with Auth.gg apis

AuthGG AuthGG is a Python library for dealing with Auth.gg apis Installation Use the package manager pip to install requests Add the auth.py file in y

ExtremeDev 1 Dec 20, 2021
An API Client package to access the APIs for NBA.com

nba_api An API Client package to access the APIs for NBA.com Development Version: v1.1.9 nba_api is an API Client for www.nba.com. This package is mea

Swar Patel 1.4k Jan 1, 2023
A collective list of free APIs for use in software and web development.

Public APIs A collective list of free APIs for use in software and web development. A public API for this project can be found here! For information o

null 222.5k Jan 2, 2023
Stop writing scripts to interact with your APIs. Call them as CLIs instead.

Zum Stop writing scripts to interact with your APIs. Call them as CLIs instead. Zum (German word roughly meaning "to the" or "to" depending on the con

Daniel Leal 84 Nov 17, 2022
Some examples regarding how to use the Twitter APIs for academic research

Twitter Developer Platform: Using Twitter APIs for Academic Research All the scripts require a config.ini file in which the keys are put. There is a t

Federico Bianchi 6 Feb 13, 2022
Criando Lambda Functions para Ingerir Dados de APIs com AWS CDK

LIVE001 - AWS Lambda para Ingerir Dados de APIs Fazer o deploy de uma função lambda com infraestrutura como código Lambda vai numa API externa e extra

Andre Sionek 12 Nov 20, 2022