Série Programming One Kindle

Python One

Do primeiro print à API REST em produção

Python do zero até uma API REST completa: FastAPI, PostgreSQL, SQLAlchemy, validação, JWT, testes e Docker. O catálogo de uma cooperativa, de um notebook que ninguém desliga até um programa que outra empresa consegue chamar.

R$ 4,99 R$ 29,99 Promoção

Atenção: o idioma desta edição é português.

43capítulos
10partes
1projeto do início ao fim
Capa de Python One: Do primeiro print à API REST em produção, de Thiago Nogueira Edição Brasil
Python 3.12FastAPIPydanticSQLAlchemyPostgreSQLAlembicJWTpytestDocker
código do livro

Menos teoria vazia.
Mais código que funciona.

Nada de exemplo solto com foo e bar. Todo trecho pertence ao mesmo projeto, que cresce capítulo a capítulo — e os erros aparecem como aparecem na sua tela, para serem lidos linha por linha.

app/main.py
from fastapi import FastAPIapp = FastAPI(title="Catálogo Bem-Te-Vi")@app.get("/produtos/{produto_id}")def buscar(produto_id: int):    return {"id": produto_id, "nome": "Café especial"}
terminal
curl -s localhost:8000/produtos/7{"id":7,"nome":"Café especial","preco":42.9}pytest -q48 passed in 1.92s
o projeto

Um sistema só, do primeiro arquivo ao deploy

README.md

A Cooperativa Bem-Te-Vi calcula preço num notebook que só um funcionário entendia — e ele mudou de estado. Ao longo do livro, essa regra vira código testado e depois uma API com FastAPI, PostgreSQL, autenticação e Docker, que outra empresa consegue chamar.

Do primeiro print à API REST em produção.

  • Um projeto só: a cooperativa, do notebook até a API no ar
  • Cada conceito aparece quando o projeto precisa dele
  • Erros de verdade, lidos linha por linha
  • API com validação, segurança, testes e Docker
leitura de amostra

Leia uma prévia gratuita de Python One

Esta amostra contém os primeiros capítulos. O PDF completo continua protegido para compradores.

Abrir prévia em nova aba →
sumário

43 capítulos em 10 partes

Abra uma parte para ver os capítulos — e a frase que abre cada um.

parte 01 Começando do zeroDe onde a linguagem veio, por que a indentação é sintaxe, e o primeiro programa que roda fora da máquina do galpão. 9 cap.
  1. 01
    O Python que você ouviu falarUma linguagem escrita nas férias de Natal para substituir outra, e que hoje fecha o preço do tomate num computador que ninguém desliga.
  2. 02
    O que vamos construirOnze caixas num slide, setenta e quatro mil reais, e ninguém na sala capaz de dizer o que a célula 14 faz.
  3. 03
    O primeiro programaDois Pythons na mesma manhã, e só um deles pode fechar o galpão.
  4. 04
    Variáveis e tiposO Python não pergunta o tipo. Isso não quer dizer que ele não se importe.
  5. 05
    OperadoresOs símbolos são os de sempre. As regras por trás deles é que não são.
  6. 06
    CondicionaisEscolher um caminho é assumir o outro — inclusive quando ele não está escrito.
  7. 07
    RepetiçõesEm Python não se conta índice. Se percorre — e essa diferença muda o que você consegue escrever.
  8. 08
    FunçõesDar nome a um pedaço de trabalho é a primeira decisão de arquitetura que alguém toma.
  9. 09
    Estruturas de dadosQuatro coleções e uma pergunta: o que você vai precisar perguntar a esses dados depois?
parte 02 O Python que você realmente precisaNão a linguagem toda — a parte dela que sustenta uma API. Módulos, objetos, exceções e tipagem moderna, na dose exata. 6 cap.
  1. 10
    Módulos e ambienteUm arquivo só é um script. Dois arquivos já são uma decisão de arquitetura.
  2. 11
    Classes e objetosUm dicionário aceita qualquer chave. Um tipo com nome recusa a chave errada — e isso é o serviço que ele presta.
  3. 12
    EncapsulamentoPython não tranca a porta. Ele coloca uma placa — e a placa funciona melhor do que quase ninguém espera.
  4. 13
    Herança e protocolosEm Python, parecer um pato basta. A pergunta é quando isso é liberdade e quando é armadilha.
  5. 14
    ExceçõesUm erro tratado errado é pior que um erro não tratado: ele apaga a evidência.
  6. 15
    Tipagem e dataclassesO Python ignora as anotações de tipo em execução. Quase tudo o mais no seu projeto, não.
parte 03 Entrando no FastAPIO framework que lê tipos Python e devolve documentação, validação e rotas prontas. E o preço disso: entender o que ele decide por você. 4 cap.
  1. 16
    O que é o FastAPIUm framework é um monte de decisões já tomadas. Vale saber quais são antes de aceitá-las.
  2. 17
    O primeiro projetoUm arquivo `main.py` de mil linhas nunca foi uma decisão. Foi a ausência de uma.
  3. 18
    A primeira APICinco rotas, uma lista na memória, e a primeira vez que outro programa consegue usar o seu.
  4. 19
    Modelando com PydanticA mesma classe que descreve o dado também o recusa quando ele chega errado.
parte 04 Construindo o CRUDA espinha dorsal do livro. Schema, banco, repositório, serviço e rota — nesta ordem, uma camada por vez. 5 cap.
  1. 20
    Banco de dadosUm lugar que não esquece, não se contradiz e aguenta dez pessoas escrevendo ao mesmo tempo.
  2. 21
    SQLAlchemyO ORM não esconde o banco. Ele traduz — e quem não sabe a língua de origem não percebe quando a tradução ficou ruim.
  3. 22
    RepositórioA camada que conhece o banco — e a única do projeto que tem esse direito.
  4. 23
    ServiçoA camada onde mora a cooperativa — e não o HTTP, nem o SQL.
  5. 24
    O CRUD completoAs quatro camadas ligadas, as cinco rotas no ar, e o primeiro dia em que o dado sobrevive ao reinício.
parte 05 API de verdadeO que separa um CRUD de exercício de uma API que outra pessoa usa: validação, erro honesto, paginação e busca. 5 cap.
  1. 25
    EsquemasO esquema é o contrato público. A tabela é assunto interno — e confundir os dois é publicar o seu banco.
  2. 26
    ValidaçãoTrês camadas validam a mesma coisa, e nenhuma das três é redundante.
  3. 27
    Tratamento de errosA resposta de erro é a parte da API que mais gente lê e menos gente projeta.
  4. 28
    PaginaçãoToda listagem sem limite é uma promessa que o servidor não consegue cumprir para sempre.
  5. 29
    Filtros e buscasToda busca começa com uma comparação injusta: o usuário digita sem acento e o banco guarda com.
parte 06 O Python que ninguém vê no tutorialRelacionamentos, migrações, injeção de dependência e async — onde o framework fica poderoso e perigoso na mesma medida. 4 cap.
  1. 30
    RelacionamentosO ORM faz parecer que o objeto já tem tudo dentro. A conta chega uma consulta por vez.
  2. 31
    MigraçõesO banco de produção não pode ser recriado. Ele só pode ser transformado, um passo por vez, na mesma ordem em todo lugar.
  3. 32
    Injeção de dependênciaO framework monta o grafo de objetos a cada requisição — e você o descreve com anotações de tipo.
  4. 33
    AssíncronoConcorrência não é velocidade. É deixar de ficar parado esperando.
parte 07 SegurançaAutenticação, autorização e um token que diz quem você é sem que o servidor precise lembrar. 3 cap.
  1. 34
    AutenticaçãoGuardar senha é a única parte do sistema em que improvisar é indefensável.
  2. 35
    JWTUm crachá que o servidor emite, assina e não guarda — e é o "não guarda" que custa caro.
  3. 36
    Usuários e permissõesSaber quem é a pessoa responde metade da pergunta. A outra metade é o que ela pode fazer com o dado que é de outro.
parte 08 TestesA rede que permite mexer no código sem medo. Unidade, integração e um banco de verdade dentro do teste. 4 cap.
  1. 37
    Testando PythonO teste não prova que o código está certo. Ele prova que aquilo que já funcionava continua funcionando.
  2. 38
    Testando serviçosAs regras da cooperativa não precisam de banco para serem verdadeiras — nem para serem testadas.
  3. 39
    Testando a APIO teste de API não verifica a regra. Ele verifica o contrato: status, corpo e cabeçalho.
  4. 40
    Testando o bancoUm teste verde em outro banco é uma opinião sobre outro sistema.
parte 09 Documentação e ferramentasUma API que ninguém sabe usar não existe. E um projeto sem histórico não tem volta. 2 cap.
  1. 41
    OpenAPIDocumentação que não nasce do código começa a mentir no dia seguinte.
  2. 42
    GitUm projeto sem histórico não tem volta — e a volta é a única coisa que se quer quando algo dá errado.
parte 10 Projeto finalAgora sem mastigar. Você recebe os requisitos e constrói a loja inteira — e depois a coloca no ar. 1 cap.
  1. 43
    Projeto finalAgora sem mastigar: os requisitos, o prazo e o dia em que alguém de fora usa o que você fez.
avaliações verificadas

O que leitores dizem sobre Python One

Carregando avaliações deste livro…

Ver todas as avaliações deste livro →
git commit -m "primeiro capítulo"

Python One

Do primeiro print à API REST em produção. O projeto começa a rodar no primeiro capítulo — e não para mais.

Atenção: o idioma desta edição é português.