Unknown

0 views21594 WordsCopy TextShare
Unknown
Video Transcript:
Olá pessoas acho que agora eu estou na tela alguma confusão aqui como é que vocês estão boa noite me dê um feedback se o som tá legal se o vídeo Tá ok eu sou o dinossauro boas-vindas a nossa primeira aula oficial né a gente teve a abertura do curso agora a gente vai fazer a nossa primeira aula que é a hora deig um ambiente ver o que que vai acontecer e tudo mais então pô tô bem empolgado para começar aqui e eu espero que seja divertido para vocês assim como vai ser para mim eu tenho
certeza disso bom sobre o que que a gente vai falar hoje né a gente vai começar a configurar o ambiente de desenvolvimento que é essa coisa maravilhosa aqui e bom eu queria eu queria de verdade começar essa aula fazendo um adendo aqui porque eu acho que é muito importante euer ó dinossauro sincerão aqui eu preciso falar uma coisa aqui antes da gente começar para quem nunca configurou um ambiente inteiro Python de cabo a rabo para quem não tem essa experiência às vezes um pouco mais de mercado isso aqui pode ser um pouco complicado tá ligado
pode dar erro tem algumas variações são muitos sistemas né é windows 32 Windows 64 Windows 8 Windows 10 Windows 11 várias distribuições Linux Mac OS com Silicon Mac OS Intel sabe então eu queria falar uma coisa pode ser que algumas coisas deem errado mas não desiste tá ligado Tipo assim essa parte é um pouco mais complicada mas eu vou tentar fazer junto com vocês no Linux no no Windows e a gente vai dando Qualquer coisa a gente abre uma live amanhã na Twitch discute sobre isso a gente faz o que for possível sabe tipo assim
a ideia é tipo assim não se frustre porque talvez dê errado mas tá tudo bem tá ligado usa o grupo no telegram ele tá aqui na descrição a gente vai trocando uma ideia eu queria fazer esse adenda eu acho que é importante porque às vezes as coisas dão errado e tá tudo bem então vamos lá vamos começar que que a gente vai falar sobre que que a gente vai fazer ou sobre o que que a gente vai conversar hoje a gente vai fazer uma introdução ao ambiente de desenvolvimento né então tipo assim pô quais ferramentas
a gente vai usar que ferramentas a gente vai usar para testes como é que a gente configura as ferramentas e etc então tem algumas coisas aqui que a gente vai usar que são bem especiais como o poetry o p Envy eu vou explicando com detalhes a hora que a gente for falando a gente vai instalar o fash Api as dependências configurar o nosso próprio projeto além de configurar o ambiente a gente tem que configurar o projeto e depois a gente vai fazer um hello world com fash api e fazer isso com testes né então eu
acho que vai ser muito legal essa primeira oportun unidade as coisas vão dar errado assinado vida exatamente ó o o Franca falou aqui peguei para configurar ontem foi sofrimento minha primeira vez configurando no ambiente Python então é era sobre isso que eu queria falar com vocês assim então não se sintam sabe frustrados tá tudo bem a gente vai conseguir sabe fazer a coisinha acontecer da maneira que deveria E se a gente não conseguir nessa Live a gente se encontra amanhã na Twitch a gente troca ideia e faz o que for possível sabe então vamos lá
que que eu quero que vocês entendam um pouco sobre o ambiente de desenvolvimento A ideia é que você tenha um editor de texto para usar durante o seu desenvolvimento do curso eu não sei qual qual editor você mais gosta tem gente que gosta do vs code tem gente que gosta do P Charm tem gente que gosta do Sublime tem gente que usa vin tem gente que usa imx eu sou uma dessas pessoas que usa ginu imx então escolha um editor de texto à sua escolha tem alguém que tá perdido aí falou tipo assim pô eu
não tenho nenhum editor que editor você recomenda que eu use Se for assim eu recomendo que você use um editor chamado VS codum que é esse aqui é muito legal é a versão open source do vs code sem coisas proprietárias e tudo mais então se alguém tiver essa dúvida tipo assim pô eu queria usar um editor Qual que você acha legal eu acho esse legal a gente precisa usar um terminal todos os comandos vão rodar via terminal se você tiver no no Linux bom Com certeza você já tá acostumado a mexer no terminal e tá
bem próximo para quem usa Mac Eu recomendo o iterm então que eu acho massa e para quem usa Windows o Windows tem uma aplicação chamada terminal não é o CMD não é o powershell Windows tem um uma coisa chamada terminal que é uma coisa nova do Windows então eu recomendo que você use assim vai vai ser bom a gente precisa da versão 3.11 mais do do Python instalado ou a 311 ou a 312 né são as duas últimas versões e a gente vai instalar isso aqui via P en Essa é a parte que dá um
pouquinho de nó na cabeça assim de quem tá usando e tudo mais então eu vou eu vou tentar configurar tudo isso com vocês assim eu não quero que seja frustrante sabe mas qualquer coisa a gente vai tirando dúvidas vamos fazer o possível aqui a gente vai usar uma ferramenta chamada poet para gerenciar o ambiente virtual e a instalação dos pacotes porque isso é interessante Porque a partir do momento em que a gente passar desse dessa coisa um pouco triste e instalar o polet os comandos vão ficar iguais Tanto para quem usa Linux quanto para quem
usa Mac Tanto para quem usa Windows então vai ficar legal aí eu preciso que vocês tenham o Git instalado no na na distribuição no sistema operacional de vocês e o docker o docker tem algumas peculiaridades para instalar essas duas ferramentas a gente não vai instalar porque tipo vai depender de sistema para sistema mas o o docker as coisas eu deixei um guia aqui ó eu não sei se vocês chegaram a ver essa parte aqui no no na na aula no vídeo texto e tudo mais então eu deixei aqui uma coisa específica aqui ó tipo assim
ah a gente vai usar essas ferramentas caso você tenha alguma dificuldade e precisa instalar eu deixei um passo a passo aqui que é um apendice do material explicando tipo assim ah como é que eu instalo o p no Windows como é que eu instalo no Linux e no macos como que eu faço a instalação do Python via ping essas coisas que são um pouquinho mais técnicas eu não fiz grandes explicações aqui mas tipo todas as ferramentas que eu recomendei eu deixei pelo menos o link o guia o lugar correto de onde vocês podem instalar isso
aqui então a minha ideia é trabalhar com isso aqui massa então Caso seja preciso eu sei que nem todo mundo que tá acompanhando esse curso tem sei lá um conhecimento avançado sobre Git não precisa sabe tipo assim ah eu preciso saber muito de Git não se souber os comandos básicos Git pull Git push Git comit Git Ed tá resolvido aqui mas se vocês precisarem de uma ajuda para fazer isso aqui tem um uma playlist do T que eu é uma pessoa que eu adoro muito que faz conteúdos assim como eu de graça para todo mundo
que é um cursinho de então se você achar que precisa tiver essa necessidade tem aqui e uma outro material tipo assim para quem também nunca mexeu com docker tem algumas coisas que acham interessantes tem aqui o o curso do Linux chips Jefferson muito legal então Jefferson e t obrigado por esse conteúdo eu não sei se vocês estão vendo mas ó Jefferson eel muito obrigado por fazerem conteúdo de graça pra gente pra comunidade e tudo mais então caso preciso E aí tem algumas ferramentas opcionais elas não são mandatórias mas eu gosto de usar elas que é
o ppx que é para instalar ferramentas globais o igr para criar o nosso Git ignor e o GH que é uma ferramenta do github que faz com que a gente não tenha que ficar indo na plataforma e clica clica e clica a gente executa alguns comandos no terminal e a coisa funciona massa então legal pra gente instalar o Python a gente vai instalar o Python via pen quero dizer uma coisa aqui para quem já tá acostumado para quem já tá acostumado com P inv A única coisa que eu quero que vocês façam é Rode o
p env install 3.2 3.12 na última versão o curso suporta 3.11 3.12 mas durante as aulas síncronas eu vou dar preferência pra gente fazer na última versão que é o 3.12 ele é mais rápido ele tá mais atualizado ele tem mais funcionalidades Então a gente vai se basear nisso aqui massa legal então o que que é o p env tipo assim para quem já tem o p env e tal são esses dois comandos dá um update instala a última versão e tudo mais para quem não conhece o pen ainda o que que o pen faz
isso isso é importante que a gente converse aqui um pouquinho para vocês entenderem por essa ferramenta é importante você falar ah eu posso instalar o Python lá do negócio eu baixo o xz Dou dois cliques e funciona Então qual é que é a ideia aqui o p é uma ferramenta externa o Python ele não faz parte do Python que a gente consegue instalar diferentes versões do Python Então vamos supor que você já tá estudando aí tá fazendo suas coisinhas tem um projeto que tá rolando aí na tua máquina sei lá na versão 3.10 do Python
3.11 do Python a ideia a ideia do P env é poder instalar várias versões porque quando você vai lá baixa e dá dois cliques no exz você só consegue usar uma versão e porque o sistema só comporta uma única versão e a ideia aqui é que a gente possa instalar várias versões e fazer isso funcionar legal na computação existe uma coisa que resume bem o que o p é ele é uma característica uma espécie de Shin eu vou mandar aqui o link depois vocês vão vocês dão uma olhada aí no que que significa mas basicamente
o que o p faz é uma espécie de proxy Ou seja quando a gente chama o Python no terminal a gente abre o nosso terminal e digita Python ele vai e executa uma versão do Python específica que eu tô usando nesse ambiente a 3.13.0 Beta 1 é literalmente a última da última da última versão eu não quero que vocês usem essa versão mas est mostrando então quando eu faço essa chamada Python no terminal ele redireciona pro P env sabe então o p env é quem manda nas versões então se eu der aqui um p menos
menos list Só der um p en Tem várias coisas aqui aí eu posso ver o versions e aqui Essas são todas as versões do Python que eu tenho instalado no meu sistema Então eu tenho o Python do sistema o 39 310 várias versões do 311 várias versões do 312 algumas versões do 313 então é é isso que permite Então você tá vendo aqui que no meu Shell eu coloco isso aqui no de vocês não vai aparecer mas eu coloco pra gente sempre saber qual versão eu tô usando então se eu der um p env global
e fal Olha eu quero trocar a versão do meu sistema paraa versão sei lá 3.9 então 3.9.1 ah eu não sei qual versão do 3.9 eu tenho instalado aqui eu acabei de listar e esqueci 3.9.19 então 3.9.19 aí tá vendo que agora ele muda a versão do meu Python então quando eu chamar o Python então Python ele executa a versão 3.9 do Python E se eu fizesse isso aqui e Sasse outra versão 3.10.1 por exemplo P1 que é a versão que eu tenho instalado aqui a partir do momento em que eu digito Python eu posso
usar o menos menos Version para não entrar no Shell ele muda essa versão então a ideia aqui é que a gente consiga fazer esse tipo de trit então a gente consiga ter várias versões do Python instaladas e o pen é quem vai decidir Quais são as coisas que a gente sabe qual versão do Python a gente vai usar isso aqui a gente usou a configuração Global né que define todo vez que eu chamar o Python mas o p env tem uma espécie de coisa que eu consigo falar sobre Ah nesse projeto específico eu quero usar
essa versão específica do Python então isso ajuda muito muito muito Ó Gabriel falou Pô tem um monte de gente vendo e menos likes deixem o like aí mano ajuda o canal a chegar mais longe é um conteúdo de graça fez sentido Para que serve o p env eu tô perguntando porque eu sei que é um pouco complicado eu sei que às vezes você não tem muito uma ar manha de sabe trocar ideia com o terminal e fazer esse tipo de coisa mas fez sentido o que ele faz a gente já vai instalar ele mas eu
queria mostrar para vocês o que ele faz como ele faz porque isso isso é importante sabe entender o por a gente vai usar essa ferramenta Eu acho que isso é mais importante do que tudo massa então legal é isso que faz o p env e aí a gente tem esses comandos que são Super simples aqui ó atualiza o p env para pegar as novas versões do Python E aí você fala P env instal 3.12 latest que é a última versão do 3.12 e ele vai lá e baixa a versão instala no seu computador e tá
tudo resolvido não tem que abrir o navegador ir lá na página do Python fazer o download ele faz isso aqui aí alguém perguntou o pen é tipo nvm sim o nvm É bem parecido com python é também o o a sdf também tem alguma dessas outras coisas também tem algumas outras ferramentas Eu usei o p env porque é a ferramenta que é sobre Python e tudo mais legal então a partir disso como é que a gente instala o PV então o p env Depende muito do sistema operacional que você tá usando tipo assim porque no
Linux existem versões do Python que são compiladas para Linux Ah no macos tem versões que são compiladas para macos no Windows também tem então a gente vai fazer junto essa instalação aqui para trocar essa ideia então eu vou abrir um Windows aqui deixa eu abrir o eu já deveria ter deixado ele aqui mas tudo bem aqui ó eu criei uma máquina Windows especificamente pra gente conversar sobre isso aqui e aí nessa nessa aula aqui eu vou abrir isso aqui a gente vai fazer junto Porque eu sei que é um pouco complicado quem usa Windows aqui
levanta a mão no chat e fala assim eu uso Windows e me diz como é que você faz as coisas tipo assim você tem familiaridade com terminal sabe não precisa ter medo de responder ninguém aqui tá julgando ninguém tá tudo bem sabe Cleiton muito obrigado pelo teu super chat tamo junto Espero que eu cumpra suas expectativas aqui e eu queria que o Windows funcionasse aqui né Mas acho que ele ah subiu Ele só não colocou em tela cheia ele não tá funcionando em tela cheia Ah quem interessante legal mas não tem problema a gente se
vira aqui com o que tem então V Grant aí eu uso Windows eu uso Windows Pô legal então tem algumas pessoas que usam Windows aqui que que a gente vai fazer aqui dentro do Windows a gente precisa abrir aqui ó clicar e a gente vai procurar pelo terminal aqui terminal que é essa aplicação zinha aqui uma coisa interessante falar que existe o CMD que é o prompt de comando existe também o Power Shell dentro do Windows que é aquele que é meio azulzinho para quem já conhece a gente vai usar esse aqui que é o
terminal literalmente a aplicação se chama terminal se não tiver você pode instalar na loja aí e funciona bem massa a partir disso a gente vai quando a Microsoft parar de me traquear aqui pera aí a gente vai na página do P env beleza finish aqui ó P env Win você não precisa ficar lembrando de tudo isso aqui eu deixei aqui o comando certo para você rodar mas eu eu quero mostrar da onde você acha essa informação aqui tá ligado ó uma coisa Quero mostrar tem aqui eu não sei se eu já tenho instalado aqui eu
acho que não espero que não Eu nunca usei o terminal ó não tenho P instalado tá um pouco lento porque é uma máquina virtual rodando tô fazendo Live meu pc também aguenta as coisas mas não é da NASA também aqui né então vamos lá a gente copia esse comando que ele dá aqui pra gente e cola ele no Shell aqui aí você dá um p tudo bem Ah uma coisa importante que eu tenho que dizer o Shell precisa estar como administrador então se você não é o administrador da máquina Clica com o direito Abrir como
administrador bom quem usa o Windows já tá acostumado com isso então legal rodei o comando aqui desculpa que a fonte tá um pouco pequena aqui eu não pensei nisso Pera aí Ah E aí o que que vai rolar aqui ele falou ó o p env não tá instalado a gente rodou aquele comando que ele deu e ele falou aqui no final ó P env Wi e sucessfully installed ou seja tá instalado com sucesso você precisa fechar e abrir de novo o seu terminal para que isso funcione então a gente vem aqui digita terminal e a
partir disso quando a gente executar o p en aqui p en ele já tá instalado e tá funcionando então a partir disso a gente pode rodar o comando lá então se a gente d o p env install a 3.12 pon eu não sei qual a última versão do 3.12 Esse comando às vezes funciona às vezes não no Windows que é o latest latest ó ele não funcionou ele não não sabe qual a última versão do latest Às vezes isso acontece no Windows S um bug intermitente eu coloquei lá no texto como é que faz para
burlar isso aqui mas basicamente a última versão a gente pode ver aqui o seguinte P env install menos menos list E ele fala ó tem um monte de versões aqui qual é que é que a gente quer a gente quer a 3.12.3 que é a última versão agora de aqui na loja você consegue instalar isso aqui na loja de aplicativos loja Store na Microsoft Store aqui você consegue vir aqui e procar pelo terminal instalar então partir disso a gente pode dar um PV install 3.12.3 que é última versão aí vai demorar um pouquinho que ele
vai fazer o download fazer algumas coisinhas aqui config a máquina a partir disso quando a gente rodar o PV já vai ter essa versão instalada massa já temos aqui então se a gente vier aqui e digitar Python Olha o que que vai acontecer ele não vai ter nenhuma versão ele falou ó a gente tem essa versão aqui a gente tem versões mas não tem nenhuma Global Então você dá um p env global 3.12.3 e a partir disso quando a gente for digitar Python aqui Python a gente consegue já abriu aqui funciona tá na tá na
versão então Exit para sair aqui abre e fecha legal se você quiser ver qual versão que ele tá rodando menos menos version e tá funcionando agora a gente já tem o Python instalado via P env massa funcionou então é é basicamente essa essa parte aqui que a gente funciona essa versão é segura para produção Sim Sempre que a release sai ela já está segura para usar em produção Alguém sabe a diferença entre o CMD e o powershell CMD é o terminal antigo o powershell é o terminal novo então é basicamente essa a diferença Então deixa
eu agradecer Aqui as pessoas Laércio Obrigado pelo teu super chat Tamo Junto André Obrigado também tamo junto e Carlos que mandou o último aqui obrigado também Coquinha tá paga Valeu demais vocês são incríveis Muito obrigado massa legal então a descrição de como executar esses comandos de novo tá nessa página aqui caso você se sinta um pouco e tudo mais basicamente aqui tem como fazer esses comandos legal vou vou sair daqui do Windows e vou lá pro Linux pra gente instalar o PV no Linux massa que é o que a gente precisa fazer agora para quem
para quem é do Linux precisa saber como rodar no Linux eu sei que no Linux é do mesmo jeito que funciona no Mac é literalmente da mesma forma então a gente pode simples rodar aqui e e vai funcionar legal então vou abrir aqui o Ubunto agora eu vou usar no Ubunto alguém vai falar ah mas eu uso qualquer outra base que não é Debian based desculpa tá ligado Tipo assim eu vou fazendo uma que eu acredito que é que a mais pessoas t e tudo mais massa então sub aqui basicamente é a mesma coisa só
que a gente não vai usar o PV Win a gente vai usar o PV installer aqui então vou abrir um terminal e vou abrir um navegador Será que eu tenho um navegador aqui tenho Firefox então legal aqui eu também não consigo pô durante a Live não funciona o Full Screen Beleza então a gente tem o p en que é essa ferramenta aqui E aí basicamente você precisa rodar Esse comando aqui que é o Curl tal tal tal tal tal tal beleza rodou Esse comando você vem aqui no terminal e simplesmente fala ó CP tal tal
tal beleza ele vai baixar uma coisa aqui e vai começar a rodar aqui pra gente ele baixa fez uma coisa super rapidinha e aí ele fala pra gente colocar aqui ó tipo assim pô beleza funcionou PR isso funcionar Iona esses comentários aqui no seu no seu B RC para que ele consiga entender que o p en tá instalado aqui basicamente você precisa colocar essas duas essas três linhas aqui no seu B RC então copy vamos lá então nano PB RC essas coisas já estão aqui porque eu fiquei com medo de instalar no brio instala via
não instala via faz a instalação pelo p installer a versão do brill Ó é bom que isso tenha alguém tenha falado sobre isso a versão do brill não é completa instala o do P installer massa legal E aí você só precisa adicionar essas três linhas aqui no final tipo assim que são aquelas últimas três o comando já tá aqui né é essa linha e essas outras três aqui massa para funcionar sai do Shell abre o Shell de novo E aí você roda aqui o p env p en a partir disso Você já tem o p
inv aqui e ele tá falando Ah que que você quer você quer instalar uma versão E aí você roda aquele comando P inv install 3.12 aqui no Linux costuma funcionar o latest então latest e aí ele vai baixar vai instalar vai funcionar da maneira que precisa você faz aquele mesmo comando que a gente acabou de fazer para setar o Global massa isso no Linux costuma demorar um pouco Então vale a pena D dar uma olhada ISO Vai demorar um pouquinho eu não vou me prender muito aqui mas é isso aqui funciona tá ligado Tipo assim
depois disso você vai rodar aquele comando que é tipo coloca o Global na versão do Python tal tal tal aqui mas costuma demorar bastante porque ele compila a versão do Python no Linux é um pouco diferente legal espero que vocês consigam rodar Esse comando aí aí a partir disso aqui tudo todos os comandos vão rodar igual em em todos sabe a partir daqui você já tem esse esse esquema e vai funcionar bem obrigado harano ó beijo para você tamo junto Valeu pelo tua super com o valor da versão do Python é tipo o npm não
ele é tipo nvm é Paulo dá uma voltada aí tipo assim pra gente não se perder muito aqui eu eu passei um tempo explicando isso aqui no meu faltou alguns pacotes Ah o skite bzip Então é bom que ele fala né aí depende da distro que você tá usando e tudo mais você recomendo a sdf também cara você pode usar o que você quiser aqui se você não quiser usar o Potter não quiser usar o o p inv fica à vontade eu só vou seguir o conteúdo programático sabe então conteúdo programático conta com essas ferramentas
eu não quero discutir sobre outras ferramentas aqui tá ligado eu passei um tempo escrevendo para tudo funcionar com isso se você quiser fazer no seu ambiente fica à vontade é por conta e risco no macos o comando do Linux deve funcionar deve bastar para vocês e tudo mais então o que que a gente precisa fazer é isso aqui pen update pen install essa última versão aqui beleza tem algumas ferramentas que eu considero opcionais e eu vou instalar elas porque eu acho que elas são importantes né então eu vou fazer isso lá no Windows porque eu
acho que é legal a a principal que eu quero aqui é o PIP o pipex que eu acho que é muito importante aqui minha a bateria acabou aqui do meu da minha luz vir Virtual Box eu fazendo Windows porque eu acho que o Windows ele é sabe costuma dar mais erro o pessoal que tá aprendendo a mexer no terminal e tudo mais Diogo muito obrigado pelo teu super chat tamo junto Ah então legal abrir aqui a próxima ferramenta que eu recomendo que vocês instalem não precisa ter ela mas tipo assim para mim vai ajudar bastante
massa Então vamos lá terminal e que que eu vou fazer aqui com vocês eu vou usar o PIP que é o instalador do Python para instalar uma coisa chamada PIP X então PIP install PIP X é exatamente isso aqui ppx chame como você achar melhor aqui Sandro Obrigado tamo junto Valeu demais é nós e [Música] E aí qual que é a ideia usuário de Mac loot cara se você quiser me dar o Mac eu posso fazer instalações aqui tipo assim o problema é eu não faço porque eu não tenho um Mac Mas tudo bem então
a gente dá esse comando ele vai rodar uma resolução aqui falando olha o ppx agora está instalado se você rodar ppx aqui no terminal ele consegue instalar aplicações Python que não são do nosso ambiente de desenvolvimento mas do nosso ambiente Geral do computador massa então eu vou instalar o poetry por aqui ppx install poetry aí ele vai dar uma reclamada e eu quero que ele dê esse erro porque o erro é importante aqui porque sabe aquelas coisas que que acontecem tipo assim sabe aquele negócio Pô na minha máquina deu um erro bizarro você quer chamar
o poit mas o pitre não funciona sabe então aqui ó poet você instalou aqui rodou PIP instal poet tal tal tal agora você vai rodar o poet E ele fala pô eu não conheço um comando chamado poet tipo assim erros coisas acontecem Então para que o ppx crie um lugar específico onde a gente consiga rodar essas coisas é importante que sabe dê erro sabe é legal é legal o erro é legal porque a gente aprende com ele Fernando muito obrigado pelo teu super chat estamos junto é errando que você aprende exatamente Carlos então o que
que a gente tem que fazer a gente tem que rodar um comando aqui que é o ppx ure Ur ure a partir disso aqui ele vai colocar os ambientes do ppx nas variáveis de ambiente do sistema então agora a gente pode chamar o po Ainda não por porque mudou as variáveis de ambiente precisa fechar e abrir o terminal de novo então vamos fechar o terminal abrir ele novamente e vamos ver o que que acontece aqui poetry os comandos são o mesmo no Mac no Linux sabe essa parte tô fazendo no Windows porque eu entendo que
as pessoas tipo geralmente que uso o Windows tem menos familiaridade com com terminal mas basicamente é isso agora a gente conseguiu tá funcionando e tudo mais lembrando Pô tô com dúvida nesse esquema preciso de um help a gente fez aqui deixou um help com todos os comandos e todas as coisinhas aqui que você precisa fazer se você precisar e tiver algum erro então tá aqui queria dizer isso uma outra ferramenta opcional que eu vou usar é o igr que cria Git gor é totalmente dispensável mas eu vou instalar igr massa e GNR tá aqui já
tá funcionando tudo então aqui tá tá tudo legal massa essa é a configuração no Windows espero que vocês consigam fazer aí eu sei que isso dá um um pouco de trabalho a mais tipo assim e tá tudo certo tá ligado mesmo se der errado tá tudo bem eu eu eu queria frisar isso né tipo assim pô deu deu um erro aqui não consegui entender e sabe começa a ficar tudo maluco a gente tem esse guia aqui usem o grupo do telegram ele tá aqui na descrição para tirar dúvidas se você tiver dúvidas sobre essas instalações
sabe então tem Tente fazer se der erro pergunte lá no grupo pode perguntar Eu tô disposto a parar e ajudar sabe pra gente fazer isso se tiver alguma coisa de Fora sabe aí a gente vê Daniel eu não vou ler perguntas fora do tema Eu quero seguir o conteúdo senão a gente não chega no final aqui massa Por que o uso o uso do po deve ser Global não podemos instalar direto no ambiente virtual do projeto não porque o poet é quem configura o ambiente virtual do projeto não é a gente massa então é é
é é esse o ponto então legal aí Tem o GH o GH também tem aqui né um guia lá na página se você quiser instalar ele ele tá tipo assim aqui embaixo aonde que baixa como que instala no Windows no Linux no Mac tudo que eu deixei links aqui é porque a própria documentação ensina como instalar a parada aqui então massa é isso aqui espero que dê tudo certinho legal Onde fica o meu potre o Petre fica dentro de um ambiente virtual que é criado pelo ppx massa então legal voltando aqui PPN p inv poetry
agora a gente tem o poetry a partir desse momento a coisa começa a ficar legal por todos os comandos o o a beleza do poet é essa no Mac no Linux no Windows no BSD vão ser o mesmo comando então ah maravilhoso então eu não preciso ficar trocando de sistema operacional e todo mundo consegue seguir Junto André Obrigado pelo teu super chat mano ó beijo para você tamo junto por não virtual Envy por não simplesmente tipo assim não questionem as minhas escolhas do ambiente cara tipo assim só usa tá ligado senão a gente vai ficar
TR C horas discutindo Ah por que eu escolhi tal ferramenta vamos seguir aqui tá tudo bem tá ligado Tipo assim tá tudo certo um beijo Obrigado aí pelo super chat massa então legal a gente tem o po instalado e a partir do Pet a gente pode fazer aqui eu deixi o link aqui nos slides também e é isso então a partir doet a gente pode começar a gerenciar o nosso projeto tá ligado saca E por que que a gente precisa do poet E aí é é Aquela Velha História Ah por que que não usa xpto
cara eu vou usar essa aqui porque eu quero tá ligado Tipo assim eu tive que escolher uma ferramenta então eu escolhi essa tá ligado E tá tudo bem sabe modo seita Exatamente isso aí tipo assim pô eu quero usar porque eu testei eu validei sabe tá tudo bem sab é é é isso tá ligado Carlos Obrigado pelo teu super chat ó um beijo para você tamos junto Valeu ó beijinho tamo junto Pô eu me achando VM Vou vou caçar cara tipo assim o vnv é legal mas o vnv tem comandos diferentes para sistemas diferentes que
é uma coisa que a gente não quer tem 300 pessoas aqui a gente quer que funcione igual para todo mundo então é é esse o ponto então o poet é uma ferramenta que vai gerenciar o nosso ambiente Então a gente vai vir aqui no Shell e a gente vai digitar o mantra mágico aqui né então a gente vai falar poet New e o nome do nosso projeto eu vou chamar o meu projeto de fast zero porque o nome do curso é fast api do zero mas você pode chamar o seu o seu projeto com o
nome que você quiser a única regra é não coloque traços e nem espaços no nome se de preferência não coloque números também coloque letras e underline pode chamar do jeito que você quiser aqui vai mudar o para criar o v na mesma passe do projeto Não não vou vou usar a configuração padrão aqui massa aí então New Fast zer legal aí ele falou aqui creating package junto Valeu demais mano valeu então aqui falou Create package F zer F zer o ISO signica essa mensag tem umao específica ela falando falando foi criado ume F zer dentro
de chamada F zer Então se a gente for para lá CD F zer a gente vai ver que ele criou essa estrutura de de diretórios aqui tá vendo então ele criou uma pasta que é onde a gente tá que chama Fast zero e aqui dentro ele criou o um pacote chamado fast zero e ele já deu toda uma estrutura pra gente aqui ó o arquivo Fest zero criou um pacote um pacote de testes pra gente testar a nossa aplicação Ele criou um ridm que não tem nada por enquanto e ele criou esse arquivo aqui que
é o grande a grande estrela do Python que é o p Project p l eu sei que tem gente que que tem um problema com isso aqui tipo assim ah sabe eu uso requirements.txt Ah porque não sei o que sabe tipo assim eu não vou discutir sobre isso o p Project é o presente e o futuro então a gente vai declarar as dependências do projeto aqui massa legal e o que que tem dentro desse arquivo aqui então ah P Project p L aqui então ele especifica ó Qual que é o nome do projeto Qual que
é a versão que o projeto tá descrição Quem é o autor onde tá o ridm sabe você coloca aqui as informações que você quiser colocar aqui você pode colocar sua própria versão pode colocar uma descrição meu projeto fash api do zer sabe pode brincar aqui pode colocar seu e-mail fica à vontade e aqui tem uma coisa que ele fala ó Qual que é a dependência que a gente tem para rodar esse projeto é a versão 3 12 do Python massa é assim que ele vai ficar aqui beleza Ah mas eu já tinha o poet de
outra versão legal então eu vou editar esse arquivo e a gente uma recomendação que eu faço para vocês é o seguinte venham aqui e troquem abram no seu editor de texto esse arquivo e troque Isso aqui faz assim ó 3.2 asterisco porque aí você trava o seu arquivo para rodar em qualquer versão do Python 3.12 porque pode ser que amanhã já saiu o 3.12.4 o meu tá desatualizado mas tipo assim a gente sabe é é interessante porque no futuro atualiza a versão E aí você quer tipo manter o mesmo projeto funcionando então faça isso aqui
massa então roda na versão 3.12 pon qualquer coisa o asterisco é um Wild Card que significa qualquer coisa então basicamente Essa é a estrutura inicial do nosso projeto então eu vou abrir ela aqui no meu editor massa Então você abre no seu editor aí a forma como você achar melhor eu vou aumentar um pouco a fonte aqui para vocês poderem acompanhar junto comigo então dentro do desse esquema a gente tá aqui a gente tem o nosso Fast zero e o nosso test massa é é esse esquema que a gente precisa aqui ele aceita a versão
3.12 alguma coisa exatamente isso legal então a gente tá aqui na estrutura do nosso projeto criamos esse projeto uma coisa que você pode fazer Lembra daquela viagem que eu falei para vocês pô mas a versão do Python é definida pelo p env e tudo mais essa é a grande sacada dentro do seu terminal aonde ele tiver dentro do seu Espaço Exclusivo dentro do seu projeto aqui ó na pasta do meu projeto que se chama Fest zero eu vou fazer o seguinte você tá vendo que a minha versão Global do Python que eu fiquei mudando e
brincando com vocês eu coloquei a versão 3.10.14 aqui não é a versão que a gente vai usar no curso né então tudo mais ah César Obrigado pelo seu super chat sua mensagem tem emoji Meu chat tá bugado eu não consigo destacar mas muito obrigado tamo junto tá vendo que a versão Global do meu Python é outra versão então caso acontecer alguma coisa então o meu tá três asterisco então foi isso que eu falei agora a pouco muda para esse formato aqui pode mudar mesmo o arquivo e salva ele então eu vou vir aqui falar assim
P env local então local significa que é a versão desse projeto Então 3.12.3 olha que interessante agora ele tá nessa versão agora Ele criou um arquivo aqui chamado Python version que é onde tem a versão específica do Python que a gente vai usar nesse projeto em específico legal então olha o que que acontece lembra daquele negócio do Shin que eu tava falando que muda as coisas ó eu tô em alguma pasta tá vendo tá na 310 14 se eu for PR para essa pasta no terminal CD Fast z0 CD Change Director né muda de pasta
então eu vou pra pasta Fast zero e a partir do momento que eu executar Esse comando você vai ver que a versão do Python vai mudar porque o PV faz esse proxy tá vendo Então global é essa versão mas nesse projeto é exatamente essa versão Então essa é a função do P inv Ficou claro aqui no Windows a gente pode só clicar no arquivo e escrever normal sim sim eu recomendo que você abra essa pasta Fast Zero no o seu editor de texto qualquer editor que você tiver aí sei lá se usa o vs code
o p Charm abre abre esse esse projeto dentro do seu editor massa se vocês tiverem dúvida algum problema com como fazer isso a gente vai lá no Windows e faz sem sem problema nenhum massa então legal essa é a estrutura base do nosso projeto dentro desse Fast zero Aqui é onde a gente vai escrever nosso projeto é o pacote que a gente vai desenvolver durante o curso ou seja aonde a gente vai escrever ver o código como é que funciona quais são as rotas Quais são as coisas tudo isso a gente vai definir dentro dessa
pasta dentro da pastinha de testes a gente vai definir todas as coisas que a gente vai testar como é que testa esse bloco de código a gente vai escrever código aqui dentro dessa pastinha e aqui dentro do p project.el a gente vai configurar as outras ferramentas aqui dentro massa Por que tem que usar underline de traço porque em alguns sistemas o traço dá problema River no Linux não tem problema que eu sei o que que você usa mas não use traço tem alguns sistemas que dão problema com esse tipo de escape de traço Então vamos
garantir que todo mundo vai começar conseguindo fazer funcionar legal massa então toda a configuração do projeto fica nesse arquivo o p Project ptl né o nome do arquivo tá sempre aqui embaixo P Project e código no Fest zero testes na pasta de testes legal então a gente pode começar agora a brincar com isso aí aqui foi aquele esquema que eu falei olha seta versão local usa o o dependence desse jeito dizer que a versão que a gente vai usar é qualquer versão da 312 se tiver fazendo da 311 qualquer versão da 311 e massa então
legal agora que as coisas funcionaram e tudo mais a gente prisa criar o nosso ambiente virtual ou seja o que que é o o ambiente virtual sim sim Cléberson é isso eu falei sobre isso alguns minutos atrás troca aquela mensagem por essa aqui tipo assim deixa exatamente assim pra gente padronizar o de todo mundo que editor é esse é o ginu Max que eu uso massa Então vamos seguir aqui Vamos criar um ambiente virtual o que que é o ambiente virtual caso alguém tenha alguma dúvida eu vou explicar isso de forma bem superficial mas a
gente tem uma live de Python inteira sobre ambientes virtuais basicamente é um lugar que a gente vai falar olha nesse projeto específico que a gente tem eu quero instalar essas bibliotecas Então a gente vai isolar por exemplo P para não instalar o f api que é o que a gente quer no computador inteiro a gente vai instalar o fash Api só nesse projeto massa então é para isso que a gente faz o ambiente virtual E aí como é que a gente instala as bibliotecas com pol você vem aqui no Shell ó o Shell pode ser
o Shell da sua ide pode ser o Shell Shell você escolhe como você vai usar isso aqui se eu subir aqui eu tenho Shell mas eu tenho um Shell inteiro aqui se a gente precisar ver coisas mais longas então ó eu vou dar um poetry install o poet install precisa ser executado aonde a gente tem dentro do nosso do nosso projeto o arquivo P Project PT L massa então por exemplo se eu der um LS ou se você tiver no Windows você der um dir dentro dessa coisa você vai ver que aqui ó aqui está
o meu P Project p l e é nessa pasta que eu vou dar um poetry install massa aí o que que ele falou para mim ó creating virtual environment Fast zero em dinossauro tal tal tal aonde ele criou o seu diretório aí ele vai mostrar ele falou que escreveu um arquivo de lock Então essa é uma outra coisa muito importante e ele criou a o projeto Nessa versão que é a versão que a gente escreveu aqui né que é a versão que estava aqui 0.1.0 aqui dentro do nosso projeto Ele criou um outro arquivo que
é o poetry p loock e aí esse arquivo poet P loock ele diz quais são as versões bibl que a gente tem instalado as versões das versões as dependências das dependências e e tudo mais então funciona aqui ca assiste a Live sobre poet a gente tem uma live inteira sobre poet foge muito do nosso escopo aqui legal eu uso B consig sim você consegue o po é o que faz a versão mudar automaticamente não é o p que faz isso ah não quero ser chato mas antecipado não não vai ter Clean arquitet e não vou
falar sobre isso e não gosto de Clean architetto tem opiniões polêmicas a respeito disso e não o curso não vai ter sobre isso esse é tipo um npm É pode ser faça o poet é tipo npm o pai env é tipo nvm massa funciona então legal aí agora como é que a gente instala bibliotecas usando poetry é super simples sabe agora a gente vai instalar o fash e a gente veio aqui por isso tipo assim se se você conseguiu chegar até aqui sem nenhum erro Parabéns não tipo assim você venceu junto comigo a gente conseguiu
configurar o ambiente Parabéns tipo assim essa parte é muito complicada tá ligado é muito complicada e se você conseguiu chegar e fazer tudo sem erro massa estamo junto se você não não conseguiu o link do grupo do telegram tá aqui na descrição Entra lá a gente vai te ajudar a configurar isso tem várias pessoas lá a gente tenta sair do outro lado junto não desiste porque não conseguiu configurar É sério a gente vai ajudar não desiste massa ó até foi até lá pro fim aqui não desiste deu tudo certo we are the champions Exatamente isso
então vamos lá como é que a gente faz para instalar o fash Api então tudo que a gente quiser instalar no poetry a gente vem aqui e faz o seguinte poetry Ed e aí a partir do momento que a gente dá esse comando AD a gente executa a gente fala o que que eu quero instalar então eu quero instalar o fast api é para isso que a gente veio aqui é um curso sobre Fast api então Fast api a partir desse momento algumas coisas vão acontecer no nosso ambiente é interessante que a gente entenda isso
ah quando eu dei aqui ó ele falou o seguinte olha usando a versão 0.11.0 do Fest api essa é a última versão no dia que a gente tá fazendo aqui se você tiver rodando Isso pra frente um um outro dia pode ser que dê outra versão então não se preocupa muito com isso qualquer versão que seja menor do que a um no começo aqui o curso tende a funcionar E aí você tá vendo olha o que que aconteceu aqui ó eu quero eu quero destacar isso aqui para vocês olha aqui ó T eu tô diminuindo
o tamanho da fonte para você ver o um monte de biblioteca que o Fest api instalou junto com ele então ele instalou o idna markd pigment snif Nio Rich um monte de coisas um monte de coisas então todas essas dependências são dependências do fash EPI ou seja são as dependências que a gente chama de concreto o poet não é necessário usar o poet se a gente vai chegar lá calma aí Igor calma calma calma então legal olha o que que aconteceu no nosso arquivo aqui no nosso P Project ptl ele colocou aqui a dependência ó
a versão que a gente vai usar do fash API é a versão maior que ou tipo assim pode ser o Chapeuzinho é tipo assim uma versão acima dessa aqui Ou seja pode ser essa quanto uma versão maior do que essa que é a 111 só que você tá vendo que ele instalou aquele monte de outras coisas um monte de coisas aqui que ele instalou para depender essas coisas ficam no arquivo Lock olha que massa Então tá aqui ó annotated types Nio spinx Nio Trio certify tá vendo todos esses pacotes estão aqui então o que que
rola aqui dentro do P Project p l ficam as dependências abstratas do nosso projeto ou seja as dependências que a gente quer que sejam instaladas e dentro do ponto Lock o poet pon Lock ficam as dependências concretas e o que quero dizer com concreto quer dizer exatamente as versões exatas que a gente instalou sabe a versão exata do fpi com todas as versões exatas de todas as dependências e todas as dependências que as dependências dependem e todas essas coisas massa então quando você for comitar o o o Git sobe o lock também tem sempre essa
polêmica sobre o sobe o lock a gente vai subir então aqui dependências abstratas Ou seja a coisa que o meu projeto precisa E aqui as dependências concretas no no poet p loock são as dependências das dependências e tudo mais e todas as versões disso aqui massa legal então é assim que instala as coisas no Petre e tudo mais bom a gente veio aqui para falar sobre F api então a gente veio aqui para fazer código Eu sei que você quer ver código muito código e a gente vai falar sobre código exatamente agora então prepara seu
editor abre aí que a gente vai conversar sobre essa parte agora massa abre o editor comigo então vamos lá abrindo o editor com o seu projeto Fest zero lá dentro a gente vai vir aqui no arquivo chamado na pasta chamada Fest zero e a gente vai começar a colocar o nosso primeiro arquivo massa e o nosso arquivo vai chamar app.py ah por que app.py porque eu sou pouco criativo porque eu sou nada criativo O Surto perguntou se o poet é o futuro do Python não o poet é o presente do Python o futuro vai ser
melhor do que o poet massa então aqui dentro Eu quero mostrar uma coisa para vocês bem básica assim eu sei você vai falar Tipo assim Pô isso aí mesmo tipo assim a gente vai fazer uma coisa tão simples assim sim eu quero criar com vocês uma função aqui então eu vou criar uma função então Def é de definir né define define cria uma função define uma função eu vou chamar essa função de read Rot que é ler a raiz isso vai fazer sentido daqui a pouco vou abrir e fechar e vou fazer uma coisa bem
simples aqui eu vou retornar então return um dicionário aqui esse dicionário tem uma mensagem message e dentro dessa mensagem eu quero colocar uma coisa que eu quero dizer sabe eu quero retornar alguma coisa então eu vou dizer o seguinte olá mundo lembra que a maldição da programação É verdade se você não começa aprendendo e faz um hello world tudo vai dar errado então faça o Hell World olá mundo massa tá rolando aqui legal o que que acontece quando a gente executa essa função read read Hot né Aqui vai entrar um pouco do contexto da web
que eu quero explicar uma coisa aqui então para executar o arquivo no terminal outra cois importante aqui eu preciso falar isso aqui eu sei que o seu editor tem um play sabe o botão Run hod Execute durante todo esse curso o botão de Play está proibido proibido Execute o código sempre pelo terminal o botão de play vai fazer outra coisa não use o botão de play Rode pelo Shell combinados combinados o André falou assim ah temu errado aqui é 3.12 ponto asterisco André tá proibido rodar o o o botão de play massa eu não me
responsabilizo tipo assim ah tô rodando no Play não funciona não venha para cá é é beleza aqui ó olar mundo né olar é muito melhor do que Olá então depois não chore Exatamente isso o botão de play vai fazer outra coisa que não é o que a gente quer fazer então a gente vai vir aqui no terminal você tá vendo que a gente tá aqui na pastinha tanto no terminal dentro do editor quanto fora a gente tá na pastinha e eu quero que vocês digitem tem esse comando comigo aqui junto com esse Hello Word aqui
eu quero que vocês digitem Python Men i e significa interactive que é o Python interativo e a gente vai lá dar o caminho dessa coisa aqui ou seja dentro da pasta Fast zero existe um app e a gente vai fazer exatamente isso Fast zero o nome da pasta o nome do arquivo app.py quando a gente rodou Esse comando ele retornou esses três sinal de maior aqui maior maior maior significa que a gente tá dentro do Python com esse arquivo app.py carregado massa e aí a partir de agora a gente pode chamar essa função read Hot
read Hot botão de play só para tocar música Exatamente vou dar um enter aqui no terminal e aí Olha o que que ele aconteceu aqui ele mostrou a mensagem olá mundo massa tem alguém aqui e responde para mim responda essa pergunta é importante que nunca trabalhou com web na vida proibido Play nessa casa muito bom tem alguém aqui que nunca trabalhou com desenvolvimento web um Framework web eu preciso explicar uma coisa aqui preconceito com o botão de Play não é que o botão de play faz uma coisa que a gente não quer o botão de
play vai rodar errado E aí vai dar errado tipo assim já é um monte de coisa para fazer para dar errado ainda aperto o botão de play é mais uma coisa para para dar errado né tipo assim então legal ó a Tamy disse que nunca trabalhou com com web e tudo mais que que acontece Você tá vendo que normalmente a gente faz o Python desse jeito né tradicional você vem aqui escreve uma função isso aqui é o Python normal né tipo legal temos o Python a gente quer executar essa função tipo printar o resultado dela
você vem aqui e faz print read root a gente costuma trabalhar desse jeito né então aí eu eu posso dar sem o menos I aqui ele vai printar o resultado que é o que a gente faz normalmente né Python Rod arquivo.py e ele printou essa mensagem aqui massa olá mundo beleza o que que acontece aqui quando a gente tá usando o Python dessa forma a gente tá sempre dependendo do próprio Python para executar Você tá vendo que tipo assim como é que eu eu pego o resultado dessa função e e dou o resultado dessa função
para alguém saca ó me lembraram aqui no chat que tem mais gente assistindo do que like então por favor então o que que acontece como é que eu poderia colocar isso aqui na web sabe tipo assim como é que eu faço alguém acessar o meu site e receber essa resposta aqui sabe esse olá mundo olá mundo como é que eu faço isso aqui sabe é uma coisa um pouco complicada né como é que a gente vai fazer isso então a função de um Framework web é pegar essa resposta que a gente tem aqui e entregar
ela via internet via rede via http via wi-fi via cabo sabe nesse sentido então é exatamente isso que a gente quer a gente quer pegar essa mesma resposta que a gente teria no no no terminal só que no site tá ligado você entra lá tipo site.dos sauro.com e aí você entra lá e aparece essa mensagem a gente quer que isso seja retornado na rede web sabe Então essa é a função de um servidor web de uma de um Framework web André Obrigado por entrar no no clube de membros Então é isso que a gente quer
aqui e como é que a gente vai fazer isso aqui né então o Fest API estupidamente simples sabe olha olha isso aqui o que colocamos aqui a gente tinha duas linhas e tinha uma função que retornava um dicionário do Python né com essas outras três linhas aqui a gente consegue falar o seguinte olha Fest api lindo maravilhoso sirva isso na rede se transforme uma aplicação web massa Então vamos lá vamos lá vamos entender aqui o que acontece então from Fast API Import Fast api ou seja aqui a gente tá importando da biblioteca do Fast api
o objeto chamado fast api eu vou chamar ele de app que é o Nossa aplicação web então app E aí eu vou fazer uma Instância desse objeto aqui Fast api a partir disso aqui a gente pode criar coisas diferentes aqui então vou falar o seguinte @app.get não se preocupe com o que significa tal a gente vai falar sobre isso mais lá na frente a ideia é que a gente consiga fazer o hello world e eu vou colocar um barra aqui então legal esse é todo o código que a gente precisa a partir disso aqui sério
a partir disso aqui a gente consegue rodar isso aqui e pegar a resposta lá no Browser a gente vai ver esse dicionário aqui lá no Browser na interwebs massa vamos ver o que que acontece Então como é que a gente roda isso aqui né então beleza A gente fez isso aqui se a gente fosse rodar do jeito que a gente tava rodando Fast api tal tal tal aqui não funciona ele já deu o primeiro erro ele falou o seguinte olha não existe um módulo chamado fast api Esse é um erro que pode acontecer toda a
hora então por isso que eu tô simulando ele aqui então a gente tentou executar aqui Python Fast z0 app que é o caminho do nosso arquivo e não funciona por que não funciona porque ele tá falando ó não encontrei um módulo chamado f api mas a gente já instalou o fash Api certo a gente tá aqui ó ele está instalado ele é uma dependência do nosso projeto e não dá por quê Porque a gente não está com ambiente virtual ativo eu preciso falar pro poet falar ó poet sabe essas bibliotecas que eu instalei nesse projeto
bota todas elas aí pra gente usar o ambiente virtual então eu venho aqui e falo o seguinte poetry Shell massa o que que faz o poetry Shell ativa o vnv o virtual environment o ambiente virtual Mas a partir desse momento pimba ele ativou o ambiente virtual dependendo do Shell que você tiver usando ele vai aparecer essa coisinha aqui e tal que está no ambiente virtual vai aparecer outro nome outras coisas depende do seu sistema mas mass ele tá falando ó estamos usando essa versão do está dentro de um ambiente virtual a partir de agora eu
vou executar de novo Python Fest zer app legal ele não deu erro mas não fez nada por que não fez nada porque não é assim que executa uma aplicação F api porque lembra Lembra que eu falei tipo assim pô a gente tá rodando o código Python então a gente quer ver as coisas do Python mas quando a gente tá rodando uma aplicação web a gente quer que a aplicação seja servida E aí tipo assim servida Pensa num prato de comida mesmo tá ligado Você vai no restaurante alguém lhe serve então A ideia é que a
gente pega isso aqui e suba esse arquivo ppy e ele fique ouvindo tá ligado ele fica ouvindo ouvindo ouvindo e conforme a gente tá ouvindo vai subir um servidor uma portinha que a gente pode acessar então para isso não dá para executar o Python Então a gente tem que executar isso por um servidor e quem é o servidor então o fash Api tem um comando que você fala você fala o seguinte você fala Fast api lembrando tem que tá com ambiente virtual tipo po Shell Então você dá um F ap Dev e o que que
significa Dev development então é um servidor de desenvolvimento a partir desse momento eu passo esse esse arquivo aqui que é o nosso app.py Então vou até copiar aqui e colar depois de rodar o po Shell ele continua continua até você fechar o Shell tipo assim se você fechar o Shell ele desativa então Toda vez você for abrir o Shell novo começar de novo você dá um po Shell para ativar de novo então a gente vem aqui fecha II Dev e roda isso aqui aí ele vai subir o servidor da aplicação Olha que Mágico É Tão
bonitinho a primeira vez que a gente faz isso aqui a gente nunca esquece né Então olha que legal então el falou o seguinte ó ó o comando é bonito a resposta né talvez no teu sh não fique tão colorido assim mas a resposta vai ser a mesma então ele tá falando olha estamos usando o pef Né o diretório fecha api e tal esse arquivo específico E aí esse arquivo tá no Barra home barra dinossauro Fest z0 Fest z0 app app. P que é o arquivo que a gente escolheu e pediu para ele subir aí ele
tá falando onde tá a pasta tem dander init no arquivo a estrutura do meu projeto e tudo mais aí ele falou ó importando F api tal tal tal ele importou assim from f0 Import app massa aí a gente tem aqui ó T tal tal tá subindo aqui aí ele falou Olha estamos servindo isso aqui na porta 127.01 O que que significa esse endereço aqui ó http é coisa que a gente acessa no navegador Então se a gente copiar isso aqui ó vou dar um copy Guto Que legal que você tá aqui mano beijo Olha isso
de novo eu vim aqui copiei o endereço que ele deu Aqui ó ele que ele falou que ele tá servindo vou dar um copy vou lá no meu navegador e colo esse endereço Olha o que que aconteceu se a gente ver em Raw data depende do seu navegador aqui ó a mensagem a gente conseguiu olha olha que lindo isso aqui a gente conseguiu fazer com que o dicionário que a gente retornava na função fosse retornado dentro do browser mano fala se ISO aqui não é lindo maravilhoso e tudo que a gente precisou fazer no código
são três linhas de código isso é maravilhoso é incrível é incrível eu eu fico muito feliz assim tipo assim vocês acham que eu tô empolgado assim porque fala ah ardo tá na aula tá empolgado não cara isso aqui me deixa surpreso todas as vezes eu sou apaixonado por isso aqui tá ligado Tipo assim é lindo é lindo então funciona massa lindo maravilhoso bonito incrível tá no navegador ele retornou o resultado da nossa função no navegador se você viesse aqui e retornasse outra coisa vamos pensar aqui então vou retornar o seguinte batatinha fritas voadoras uma coisa
importante tá vendo que ele tá rodando aqui né quando eu de um save nesse Arquivo ele vai subir o servidor de novo ó ele detectou como a gente subiu em modo de desenvolvimento você pode rodar isso aqui no Shell e deixar ele vai fazendo esse Restart sozinho então se você rodar o f api Dev ele fica aí tá ligado agora eu vou dar um F5 batatinhas fritas voadoras massa o resultado da nossa função tá sendo enviado tá ligado é massa É massa eu vou deixar o Olá armundo aqui sem tanto boiler Plate sim é literalmente
importa instancia e fala isso aqui vai ser retornado na web massa e o que que quer dizer esse barra aqui esse barra ele quer dizer o seguinte quer dizer que é a raiz do site por isso que eu chamei de read hot rut é raiz né então beleza se eu se eu desse um barra sei lá batatinha aqui você vai ver que ele não vai não vai aparecer nada ele vai dar um erro 404 batatinha que é o not found aí not found Aqui é onde a gente passa o endereço que a gente vai acessar
a página então batatinha sabe Então a partir disso aqui ele vai retornar o olá mundo no batatinha aqui ó barra batatinha eu tô acessando essa URL então aqui o Rot essa barra significa que é a raiz do do do site Aqui é onde retornaria o index Sabe aquela tipo de coisa fez sentido foi foi foi legal para vocês também porque para mim foi sensacional sabe tipo assim eu me empolgo Eu Não Preciso de muito Para Ser Feliz Daniel obrigado por se inscrever que que vocês acharam vocês fizeram o seu primeiro hello world na internet e
ele na internet não ainda tá na rede local no futuro vai estar na internet mas que que vocês acharam quem nunca tinha feito nada web vocês gostaram disso acha que é massa funciona legal depois quem tiver vendo offline comenta aí fala pô eu nunca tinha feito e é simples é maravilhoso como isso funciona né eu eu eu sou apaixonado por isso aqui Sou suspeito para falar então legal Subimos isso aqui e e beleza a gente fez o teste executou e tá tudo bem só que o f api tem coisas maravilhosas unbelieva pera lá eu já
fiz minha api já já Tipo se você quiser fazer mais end points você só replica aqui sei lá barra batata barra suco de fruta saca é só isso aí falar é outro método post para quem tá mais acostumado é isso aqui simples rápido fácil objetivo Márcio obrigado por fazer parte do clube de membros ó tamo junto Valeu demais é incrível o Danilo falou me sentindo hackerman agora é você botou a luvinha da Nintendo agora e fala eu sou um verdadeiro hacker acabou curso ap feita Claro que não a gente está apenas começando legal o fash
Api Ele conta com uma coisa que são documentações Então dentro desse rolê aqui a gente vai Batu barr doc bar rdoc vamos entrar aqui no nosso endereço aqui e digitar 127001 bar doc eu vou copiar o endereço aí para vocês não o o bagulho o bagulho é fast Fast api mano é rápido é rápido É isso mesmo então quando a gente acessar o DOC aqui barra não é barra barra doc desculpa eu mandei o link errado time para vocês acessarem a no navegador de vocês agora eu tenho uma documentação E olha como isso é muito
essa ferramenta aqui isso aqui é uma especificação que chama Open api que permite que a gente documente a aplicação o f api já se autod documenta mano Sim já tá documentado isso é lindo É Maravilhoso incrível e aí ele tá falando aqui ó existe um um um get com barra que chama read Hot Logan Obrigado por virar membro ó tamo junto é o mesmo endereço para todo mundo eu vou explicar isso daqui a pouco mas olha que aqui eu venho aqui e ele fala ó isso aqui retorna uma string tal se der sucesso retorna 200
a gente vai falar sobre isso daqui a pouco mas existe uma coisa chamada try e out ou seja por aqui eu consigo fazer a chamada e ver o resultado isso isso é mais ainda tá ligado pela documentação eu clico aqui Execute e quando eu clicar em Execute ele vai falar o seguinte olha olha o resultado da sua mensagem aqui Essa é a interface do swager é o swager aqui verei testemunha do fpi depois S doc automático Então você tem o sweger aqui e aí você consegue ver o resultado então se você for mudando aqui for
brincando olar MS E aí tipo assim ah eu não quero ficar acessando o browser toda hora você vem aqui e dá um outro try out Execute tá vendo aqui ó Olá MS E aí você vai alterando e vai podendo testar por aqui então cara é é muito massa É é incrível então você vem aqui dá um Clear pode cancelar você vai abrir isso aqui dá um try out Execute e você vai vendo aqui você pode ir brincando mudando lá vindo aqui clica cacilds bar cild é exatamente isso então massa incrível né funciona esse jeito aqui
que é o swager ele é uma documentação interativa ou seja ele diz o o que vai ser retornado Qual código de resposta a gente vai obter a partir daqui e a gente pode testar isso aqui enquanto tá rodando só que então só que essa documentação do swager Embora ela seja ótima porque a gente pode testar Ela não é uma documentação boa de ler sabe é essa essa é a parte ruim do do do swager tipo quando as coisas vão ficando mais complexa ela fica ruim de ler porque Ah o que que isso aqui retorna a
você tem que ir em outro lugar tal é um pouco comp então pensando nisso o fast api tem mais uma coisa que é o roc Então em vez de Doc escreve aqui ó barra R doc bate na API de verdade sim e aí aqui ele mostra exatamente o que tá acontecendo como é que é o nosso read hot tal depois quando a coisa for ficando maior a gente vai ver essa documentação cheia de coisas e detalhes mas também existe então ele se autodoc na versão interativa e na melhor versão de Lê ele faz o o
swager e o rdoc ao mesmo tempo fala fala se isso aqui não é maravilhoso não fala para mim isso é maravilhoso eu quero ouvir isso é maravilhoso Então tudo funciona aqui aí veio alguém aqui a do Jungle rest É melhor então usa Jungle mano sinta-se feliz tá ligado tá tudo bem tá ligado tá tudo bem sem Flame mano vamos nos divertir aprende um pouco de faz api mano tá massa isso é meu site também sim é o seu site é a especificação é a documentação é o lugar onde você pode testar dentro do teu site
da tua própria aplicação massa aí o o mitter falou se for possível eu consigo desativar sim consegue desativar massa depois a gente fala sobre isso a gente tá no nível muito Inicial ainda pra gente começar a discutir configurações e tudo mais cara isso é lindo Oi api riro Exatamente isso legal então agora agora eu sei eu sei que vocês estão tipo assim vamos fazer mais coisa eu quero fpi e tal só que eu quero dar um passo para trás ainda e eu quero fazer com vocês uma coisa pra gente ter um projeto Sabe aquele projeto
nível Maravilhoso incrível sensacional eu vou falar mais sobre o uvicorn Em outro momento na próxima aula não nessa sabe aquele negócio tipo assim ah eu quero ter o melhor ambiente sabe tipo assim production Ready como os grandes profissionais fazem eu tô sendo muito sarcástico aqui mas a gente precisa de ferramentas tipo assim como é que a gente vai rodar os testes formatadores e tudo mais então a a gente precisa configurar o nosso ambiente de desenvolvimento a gente configurou o sistema para programar agora eu quero instalar bibliotecas que facilitam o nosso dia a dia aqui para
tentar lembrar como é que isso aqui roda Então vamos lá pra gente fazer um ambiente de desenvolvimento assim ó ó a suquinha na chupeta maravilhoso assim enterprise Ready né buzin tal como o mercado pede mas não faz Exatamente isso então a gente vai usar algumas ferramentas auxiliares que não fazem parte de rodar a aplicação mas a gente vai configurar usar bibliotecas tipo que auxiliam elas não fazem parte do código que a gente vai botar em produção Mas elas fazem parte para ajudar tipo assim pô Será que eu tô escrevendo da melhor forma possível Será que
eu não fiz nenhuma caquinha não defini uma variável chamada x então sabe então para isso a gente vai usar o ru ru é de trovão assim R assim é um raio mesmo logo a gente vai usar o p test que é uma ferramenta sensacional para escrever testes tem uma live inteira sobre P testes aqui no canal Se alguém quiser ver depois e a gente vai usar o Task Pie pra gente não precisar Lembrar de todos os comandos você já viu né eu vou parar a minha aplicação aqui para parar a aplicação é com control c
Você já viu que não é a coisa mais amigável do mundo lembrar Esse comando né tipo Fast api Dev Fast underline 0 bar app.py sabe tipo assim ah aí daqui a pouco a gente vai inventar um outro comando de teste P teste menos menos cov ponto não sei o qu menos x vai ficar horrível sabe tipo assim você não é obrigado a lembrar isso aqui toda hora então que pai ajuda a gente a fazer esse outro tipo de coisa e ficar melhor Ah uma coisa que eu quero dizer aqui é porque já começou o Flame
de novo parem de fazer Flame Ah tipo assim não eu prefiro Blue para formatar sabe tipo assim ah existem vários linters vários formatadores existem vários frameworks de teste existem vários auxiliar test Runner eu escolhi os que eu acho que melhor representam aqui esse mundo pra gente olhar isso aqui o r não é a minha ferramenta preferida nem o Task Pie eu adoro o po the poet Eu uso o iort Blue mas tipo assim sem Flame vamos usar as ferramentas que eu defini aqui e a gente vai brincando e entendendo isso aqui legal então o ru
vamos começar pelo ruff que vai ser a primeira ferramenta que a gente vai configurar aqui o ruff ele tem duas funções dentro do nosso projeto Ah ele é um analisador estático de código então o que que é uma análise estática de código ele é um linter vou dizer assim e o que quer dizer ser um linter ele vai olhar o nosso código ele vai ler o nosso código e falar o seguinte Hum será que sabe quando você tem alguma dúvida será que isso aqui tá tá bem formatado Será que tem seria uma forma melhor de
escrever isso aqui será que eu não tô escrevendo umas linhas muito grandes e quem for ler vai ter problema porque tem algum alguma limitação visual sei lá tem gente que gosta de escrever linha de 120 caracteres 200 caracteres cara a gente vai seguir um padrão aqui para todo mundo poder fazer então ele vai olhar o código e vai falar Tipo assim Hum pensando em acessibilidade os imports estão em ordem alfabética as linhas TM o tamanho que precisam ter as coisas estão organizadas eu defin uma variável com um nome sendo sincero que eu defini uma variável
com um nome de merda que é tipo x tá ligado Então o linter é sobre isso linter igual somia de formatação linter não é um formatador linter é análise estática formatação é outra coisa então Essa é uma das ideias do rff do outro lado além de ele ser um linter ou seja ele vai ver e falar Tipo assim pô Será que a gente tá fazendo caquinha será que tô programando feio Será que eu tô usando as as melhores práticas de programação então o analisador estático vai fazer isso e a gente tem uma outra coisa que
é um formatador de código que é tipo assim ele vê o que o linter reclamou e formata essa parada sabe tipo assim ah como é que eu sabe em vez de só reclamar falar ó isso aqui tá ruim isso aqui tá ruim as coisas que forem passíveis de correção tipo assim pô essa linha é muito comprida essa linha é muito curta e tudo mais a gente usa o o formatador E aí ele faz isso sozinho a gente vai ver daqui a pouco como isso funciona então na prática como é que a gente instala o rough
dentro do nosso ambiente a gente vai fazer o seguinte poetry Ed menos menos group Dev ru aqui a gente tem o poetry Ed menos menos group significa que a gente vai instalar essa dependência e não vai ser uma dependência do nosso projeto mas uma dependência de desenvolvimento do nosso projeto sabe é uma dependência do pro do nosso ambiente não é uma coisa que vai para produção Então vamos lá poetry Ed menos menos group group Dev massa aí você vai falar qual é o pacote que eu quero instalar eu quero instalar o r legal a partir
disso aqui se a gente voltar aqui no P Project você vai ver que ele criou uma outra coisa Essas são as dependências do projeto e aqui ele tem umas dependências de desenvolvimento que são as coisas que a gente quer rodar no nosso projeto massa então a gente instalou o r vamos configurar ele aqui para configurar o ru a gente precisa criar uma nova tabela aqui no no P Project ponl que é essa aqui Tool R então a gente vem aqui onde você achar melhor dentro do seu do seu arquivo e dá um Tool R tem
que rodar o Poter Shell sempre Rode o Poter Shell quando você abrir o Shell para trabalhar no projeto Essa é a melhor prática de Tod Então a gente vai configurar o rough e aí para configurar a gente vai falar o seguinte olha qual é o tamanho da linha ou seja quantas colunas eu quero ter no arquivo para eu não fazer um arquivo que funciona desse desse tamanho aqui tipo assim eu quero só que tenha 79 caracteres por linha Então a gente vai colocar aqui e falar ó o padrão que a gente vai usar é 79
ah mas eu não gosto do 79 aqui a gente vai usar 79 tudo bem e aí o uma outra coisa que eu vou fazer aqui é o seguinte eu vou pedir para ele excluir uma pasta chamada migrations como a gente não vai mexer nessa configuração nunca mais essa pasta chamada migrations é uma pastinha que a gente vai criar lá na aula 4 mas eu já vou deixar ela aqui para ele excluir ou seja migration são é uma coisa que a gente vai usar que gera código automático E aí eu não quero formatar o código que
foi gerado automaticamente porque não legal então essa é a configuração base do ruff o ruff tem essa função de linter de fazer análise estática e para fazer a análise tática a gente precisa dizer o que que eu quero que o r Olhe E aí eu posso falar o seguinte olha vê para mim se os imports estão em ordem alfabética tem o toque vou usar 80 80 vai dar 81 né porque a conta começa no zero meu chefe liberou para usar 119 não use cara não use se você trabalha com alguém Ou você quer ser inclusivo
pensa que tem pessoas que T baixa visão que usam Fontes enormes e que não querem scrollar pro lado você odeia scrollar pro lado Pense nas pessoas use 79 caracteres ou menos se a pessoa achar que precisa de menos sabe não é o sobre o que você acha bom É sobre o que vai ficar bom para todo mundo então legal o isort olha a ordenação dos importes beleza eu posso importar a b c d e f g e as coisas ficarem na ordem errada e eu quero que ordene essas são as configurações que a gente vai
usar a gente vai usar o p flakes que procura erro em relação a boas práticas sabe tipo assim pô você não quer fazer uma variável chamada x e não quer que ninguém crie uma variável chamada x tá ligado Tipo assim pô por qu ninguém sabe o que significa X então isso aqui faz esse esquema ah a gente tem o p code Style que procura por erros de estilo de código você faz uma lista comprehension meio esquisita sabe aí a gente tem o warning então aqui são erros aqui são warning sobre estilo de código a gente
tem o PL que é o p link que aqui ele procura boas práticas mesmo ele vai ser chato quando você definir uma coisa que tem um nome errado o nome estranho coisas que não querem dizer nada ele vai falar pô isso aqui é ruim hein e aqui usar boas práticas de projeto massa quando ele formata não quebra a linha não não quebra a linha e ele quebra linha Ele só não quebra Strings e Strings não podem ser quebradas senão elas viram outra coisa então é esse esquema massa Então a gente vai usar isso aqui como
é que a gente configura o linter aqui dentro então a gente simplesmente fala ó a gente vai criar uma nova tabela chamada to. r. lint aí a gente vai dar um preview through porque a gente quer ver o que ele tá lint e a gente vai selecionar aquelas ferramentas que a gente queria o iort é o i o p flakes é o f o p code Style é o e o o warning do P code Style é o w o p lint é o PL e o p test é o PT Então a gente vai
simplesmente copiar isso aqui e colocar lá no nosso no nosso env aqui agora eu vou fazer o seguinte a gente vai rodar o r junto aqui e eu vou fazer o seguinte essa é a ordenação boa a esse código tá bom de ler né mas eu vou fazer ele ficar péssimo de ler imagina que você escreve o código assim Massa olha que que feio então eu vou pegar eu vou abrir aqui no meu terminal e vou rodar um comando do RF pra gente ver o que acontece Então vamos lá ru check ponto ou seja ponto
é aqui onde eu estou exatamente nesse momento Olhe todos os arquivos e vê se tem alguma coisa meio esquisita aí ele falou o quê ó em e.pai o o bloco de Import não tá não tá bem formatado ou alguma outra coisa então ele levantou um erro I que é de Import aí ele falou aqui ó é esperado duas linhas em branco antes da definição de uma função então ele achou zero e ele falou o seguinte olha Missing White Space After dois pontos tá vendo que a gente deixou a coisa colada aqui né tá falando pra
gente fazer isso aqui um espaço massa legal então ele colocou aqui os erros e ele falou olha você pode usar a opção menos menos Fix para arrumar isso aqui então Legal vamos aqui dar um check menos menos Fix e ver o que que ele faz aqui rodamos aqui ele falou achamos três erros corrigimos esses três eu vou voltar lá pro arquivo massa ele colocou a boa formatação aqui o que ele achava interessante de fazer aqui eu gosto mais assim mas tudo bem assim também não tá errado como só tem uma linha na função então ele
faz esse tipo de coisa então ele mostra Então imagina que a nossa Vou colocar aqui ó o nome do nosso vai chamar x que é nome péssimo ninguém gosta de nada que chama x Então vou rodar aqui ele falou que tudo passou não tem nenhum problema nessa coisa chamar x Por enquanto ainda não a gente vai chegar lá a gente vai configurar mais coisas aqui mas basicamente ele vai dar erro Então imagina que tipo assim depois disso aqui eu importo uma coisa do sistema então a from eer Tools Ah e Tools Import sei lá acumulate
aí ele vai reclamar falar ó os imports não estão ordenados por qu porque o Import vem antes do outro e ele vai falar tipo assim ó você tá usando o ITT acumulate você importou mas você não usa você não tá usando ele então ele ajuda você então ele faz esse tipo de coisa Ele só não gosta ele não gosta de xão X maiúsculo massa Então é isso legal esse é o esquema existem muito mais configurações e você pode ver lá no site do do RU aqui ó f ew c90 i n d up ITT n
a tri tem várias opções eu selecionei só algumas pra gente não ficar maluco também massa só que eu achei que fazia sentido legal E aí tem o formatador que é tipo assim ele vai convergir as coisas da maneira como a gente quer então se tiver uma linha com mais de 79 caracteres ele reescreve Ah se tiver aspas duplas ele vai transformar em aspas simples e alguém vai falar eu não gosto de usar aspas simples eu gosto de usar aspas duplas no projeto tudo bem A escolha é sua eu vou usar single ou seja aspas simples
eu vou escrever assim ó e não assim com aspas duplas então eu vou escrever tudo aqui com aspas duplas massa em vez de aspas simples legal aí agora eu vou rodar o r Format se liga então R Format ponto aí ele converteu tudo em aspas simples legal simples é mais rápido digitar não não é só mais rápido como só gosta de aspas duplas só gosta de aspas duplas quem tem duas mã e todos os dedos saca imagina que você não tem todos os dedos da mão e você tem que apertar shift e um outro botão
não odeie seus coleguinhas tá ligado tratem as pessoas bem com respeito tá ligado Tipo assim se dá para e ser mais inclusivo por que fazer alguém digitar um shift Tá ligado não sabe reflexões então legal e aí a gente tem esses dois comandos que é o r check R Format aí você tá vendo agora que a gente chegou aqui no Format Você lembra qual foi o primeiro comando que a gente deu você lembra como sobe o fash vpi Fast api deve o nome da aplicação Você tá vendo que já começou a ficar complicado aqui tá
ligado Tipo tá vendo começou a ficar complicado aí você tem que lembrar para fazer o cheque é chef para fazer o Format é Format para fazer subir a aplicação as coisas começam a ficar complicadas são muitos comandos para lembrar massa legal outra coisa que a gente vai instalar é um Framework de testes pra gente poder usar e testar a nossa aplicação Porque hoje a gente vai rodar testes massa Então a gente vai adicionar lá no grupo de Dev a gente vai instalar o p Test e o p test cov o p test é pra gente
escrever testes a gente tem o p test cov que é para ver o que tá testado a gente vai chegar lá e tá tudo bem então vou pegar aqui o p Test cov e vou instalar aqui também então poetry é menos menus group deve porque vai instalar nas ferramentas de desenvolvimento a gente vai instalar o p Test e o plugin de cobertura do py test massa então a gente tá aqui e se a gente for olhar aqui na nossa tabelinha ele adicionou aqui né o py Test e o py test cov massa e aí como
é que a gente configura o p test é bem simples A gente só precisa falar para ele olha onde onde a gente vai executar aonde é é o ponto onde tá a pasta de testes né isso que ele quer saber e tá na base do nosso repositório onde é no ponto no lugar onde o nosso repositório tá então é só essa configuração que a gente precisa fazer aqui e aí eu adicionei uma outra coisa aqui que eu acho importante deixa eu ó o tick não vou colocar no meio do R né eu vou colocar antes
das tabelas do legal e uma outra coisa tipo assim às vezes o p teste fica dando umas mensagens tipo assim ah uma coisa tá desatualizada e coisa que não tem nada a ver com seu projeto então eu vou colocar esse aqui add opts então add options eu vou habilitar essa opção que é tipo assim no warning ou seja se tiver alguma coisa que você queira me mostrar de bibliotecas externas não me mostra sabe é isso aqui que eu quero então no warnings E aí a partir disso a gente pode rodar os testes do nosso código
então como é que a gente roda o teste a gente simplesmente fala P test vamos lá p test legal aí ele falou olha eu achei o diretório achei a configuração no P Project pml mas eu coletei zero itens então eu não rodei nenhum teste Por isso tá amarelo ou seja el não rodou nada porque ele não achou nada aí eu quero especificar para ele que o que eu quero olhar tipo assim se tá testado ou não é a pasta do Fest zero né é essa pasta aqui né então a gente tá executando os testes os
testes testam essa outra pasta aqui né então a gente quer falar isso para ele então menos menos cve então Fast underline zer legal ó ó o que que aconteceu aqui ah ele falou o seguinte olha el deu um warning e falou não foi coletado nada porque não tem e ol olha a mensagem interessantíssima que ele deixou aqui pra gente ele falou o seguinte olha Fest zer app tem C statements O que que significa Statement aqui Statement quer dizer linhas de código linhas que contém código então essa linha tem código uma essa outra linha tem código
duas essa outra linha tem código três essa tem código 4 essa tem código 5 então existem cinco linhas de código efetivo no nosso projeto e ele tá falando aqui ó Miss 5 por que que é miss 5 ele tá simplesmente falando ó tá vendo esse código que você fez seu código tem cinco linhas de lógica de código e a gente não tá testando nenhuma Ah por que que a gente não tá testando nenhuma porque não tem teste a gente vai fazer o teste calma mas tipo assim não tem teste então ele tá avisando Ó sua
cobertura é pifia E aí como a gente instalou o ptest cov a gente pode rodar um comando aqui que se chama coverage e aí a gente pode falar coverage HTML a partir disso em vez de dar essa resposta no Shell a gente consegue gerar um arquivo HTML que ele gerou aqui né index tal tal tal belezinha aqui então eu vou fazer o seguinte a Firefox eu vou abrir o meu navegador pelo terminal você não precisa fazer isso você pode clicar no arquivo faz como você achar melhor então HTML cve index só para ele abrir aqui
a página então ele abriu a página aqui no meu no meu browser então basicamente vai est dentro da sua pastinha E aí tá aqui ó 0% de coverage se a gente clicar aqui ele vai mostrar pra gente exatamente Ó tem cinco statements e cinco Missing ou seja nada do nosso código está testado Isso é triste né tipo assim a gente precisava testar isso aqui né a gente precisa garantir que isso aqui tá funcionando aí alguém vai falar igual vocês estão aí Ah quem testa é o usuário não sei o qu cara vamos se ligar se
tirar dessas estigmas tá ligado vamos fazer o nosso trabalho bem feito do jeito que a gente deveria fazer dier e não ficar delegando bucha PR os outros Vocês gostam disso né de Flame de Vamos fazer as coisas bem feitas então legal nada disso aqui tá testado interessante Então a gente precisa ter o que rodou aqui né ah tem os excludes e tal então a gente precisa rodar isso aqui vamos fazer o seguinte vocês viram isso aqui uma outra coisa que eu mostrei para vocês P test menos menos cover Fast zero é um comando para decorar
P test menos cover Fast Fast zero coverage HTML Fast api Dev o nome do arquivo ah ruff check ponto ruff check ponto menos menos Fix ruff você já entenderam o problema né você é uma máquina para decorar tudo isso aqui eu não sou então então é é complicado se você não é uma máquina Assim como eu vai ficar maluco H uma outra coisa que eu gosto de usar no P test que a gente vai usar é o menos menos V menos VV que é para mostrar bastante informação mas como a gente ainda não tem nada
ele não vai mostrar nada então a gente vai fazer esse tipo de coisa Ah como faço para ignorar esse 100% no dander init o 100% no dander init é porque o dander init Não tem absolutamente nada mas não quer dizer que ele vai ser para sempre assim em algum momento a gente vai vai vai colocar a coisa aqui então não se preocupa com isso massa ele tá 100% coberto porque não tem nenhum Statement não tem nenhum teste tá tudo massa o melhor cenário possível não tem código não tem teste não tem teste para testar porque
não tem código maravilhoso então legal agora a gente precisa conhecer uma ferramenta que é o Task Pie o Task Pie ele é uma ferramenta que simplifica a forma de rodar comandos em vez de ter que lembrar Fast API Men fash api Dev fash under 0 Bar app.py ou P test menos menos cov iG F 0 Men VV eu venho aqui e crio um comando para isso e olha que maravilhoso eu posso criar um comando e falar Run E aí se eu chamar Task Run ele sobe o servidor S eu ter que ficar lembrando de 1000
comandos aí a gente cria um para test aí se dá Task Test e a gente começa a fazer algumas coisas aqui que são maravilhosas Então vamos instalar isso aqui no grupo de desenvolvimento essa ferramenta chama Task pai meu slide tá errado Tem um i aqui depois eu arrumo o slide lá então vamos lá vou rodar aqui instalou o Task P aqui e a gente vai criar essa primeira Task aqui junto então a gente vai vir aqui no P Project eu vou colocar aqui no fim tudo bem e aí a gente criou um comando um alas
então um um atalho chamado r e a partir do momento em quando eu digitar no Shell Task rume não vai execut F api Dev sabe eu não tenho que lembrar tudo isso aqui vai ser mais fácil Écio com com make file Sim sim só a diferen é que o make file tá no no ambiente só gosta de make file quem nunca teve que usar o Windows isso aqui são comandos específicos do projeto e tudo mais então é é isso então são comandos específicos do nosso próprio projeto Legal vamos rodar aqui ó se eu der um
Task Então beleza ó sair aqui vou vou sair Exit vou entrar de novo aqui no terminal lembrar tudo que a gente tem que fazer aqui para subir então CD Fest zero a gente vai pro repositório E aí tem que dar um poetry Shell para subir a coisa e eu vou dar um Task Run Olha que maravilhoso tesk rum isso é maravilhoso isso é maravilhoso pô Nunca mais eu vou digitar Fast api Dev não sei o qu tipo é um alas massa funciona bem então gostei do Task P porque roda em todos os sistemas operacionais Exatamente
isso e aqui a gente prega a mensagem do quê vamos incluir todo mundo em todos os lugares massa então ele faz isso aqui é tipo o scripts do npm não o scripts do npm é outra coisa o script do npn seri um scripts do poetry e e a gente não vai chegar nesse ponto aqui é literalmente só um alas de linha de comando não é a mesma coisa essa esse scripts do npm a gente faria no poetry ah mexendo com projetos P tinha muita necessidade ferramentas assim eu só usava make não sei mais mais make
no py caso bem específico tipo npm só que é melhor aceita argumento sim eu poderia falar isso aqui e passar sei lá um menos V ele Passaria o menos verboso para lá mas ele falou não ten a opção menos V Mas você poderia mandar o menos menos help ã e ver as coisas que tinham aqui para serem executados então você pode passar qualquer Flag que você passar aqui é passada pro comando principal que a gente fez legal então Task Run vai subir aqui então vou criar uma outra Task que é uma Task Ahã que vai
se chamar teste E aí o teste vai executar literalmente o p test menos menos cve Ahã Fast underline zero e a gente vai dar o comando que a gente a o diretório que a gente quer não é o diretório o diretório tá no cve E aí eu vou dar um menos VV que é para executar verboso agora quando a gente der Task test rodou aqui massa tudo mais funciona bem uma coisa interessante que tem aqui é que dentro desse comando você pode concatenar coisas Ou seja quando eu quero rodar o linter eu posso falar que
eu quero rodar o check para ele exibir as mensagens do check e se tudo certo ele usa mostra o dif pra gente o que que precis mudar e tudo mais então você pode usar do e comercial então a gente vai fazer o link a gente vai fazer o check e o check menos menos dif que mostra aonde tem que alterar o código então esse e- comercial é para juntar dois comandos legal então vou vir aqui e vou criar esse aqui que é o link aí a partir disso a gente dá um Task link também vai
funcionar E aí eu quero criar um paraa formatação que roda aquele formatador do R para mim então Format então agora a gente tem vários comandos e como é que eu vejo os comandos que eu tenho então eu dou um Task menos menos list ele fala ó Run executa Esse comando test executa Esse comando link executa esse Format executa esse aqui legal massa tudo funcionando aqui uma coisa que eu tenho que avisar vocês é o seguinte esse e- comercial aqui não é a melhor coisa do mundo mas no Windows é a opção que temos então a
gente usa e Comercial se você tiver usando macos ou Linux Você pode trocar isso aqui por ponto e vírgula assim se você for fazendo isso aqui mas porém contudo entretanto todavia no Windows use 2 e Comercial use do e Comercial massa então legal configurando as tasks tem uma coisa que eu quero mostrar para vocês é que o Task Pie ele tem uma opção de criar cadeias de comandos E aí cadeias de comandos querem dizer o seguinte eu vou criar um teste mas antes do teste eu crio um pré-teste ou seja roda alguma coisa antes de
executar o teste ou seja ele roda Task de lint ou seja antes de executar o teste ele vai ver se tá tudo escrito certo então a gente tem o pré-teste tá vendo Então antes do teste ele vai rodar Esse comando aqui que é o lint e a gente tem o post test ou seja se o lint der certo ele roda o o teste se o teste der certo ele roda o post test lembra que a gente rodou Esse comando aí depois a gente rodou esse aqui então ele vai fazer o seguinte quando eu der Task
test ele vai rodar o linters se o linter der certo ele roda o teste se o teste der certo ele roda o post teste então isso aqui ganha um tempo do caramba a gente não só agora criou um alas mas a gente executa três comandos de uma vez só então Task test aí ele rodou aqui ó você tá vendo aqui ó All check passage ou seja não tem nenhum erro de lint aí ele rodou os testes Só que os testes deram errados porque não tem nenhum teste então quando o teste não dá certo ele não
executa o post test Mas você pode fazer isso na mão post underline Test aí ele gerou o esquema aqui você pode rodar Esse comando na mão se for necessário sobre o Shell o dois pontos tiver rodando CMD o antigo dos o terminal do powershell não não não não não lugan não não não essa informação não é verdadeira o ponto e vírgula não faz a mesma coisa que faz no Linux então não use ponto e vírgula use do Z comercial nem no powershell funciona da maneira que tinha que funcionar Tá ligado não faça isso no Windows
não interessa qual Shell use dois e Comercial o ponto e vírgula não faz a mesma coisa que faz os ambient Unix para ficar claro aqui uma ferramenta legal mas é mais firula é o Ah tipo assim mano vocês estão falando de outra coisa não vou não vou me me entender nisso aqui massa então ele vê se tá tudo certo roda o teste cria o relatório faz tudo aqui massa demais incrível insano maravilhoso eu me empolgo com um pouco aqui Então vamos escrever nosso primeiro teste a gente tem que testar esse Hell World é a última
coisa que a gente vai fazer hoje eu passei um pouquinho do horário mas essa aula como é configuração sempre passa um um pouco tive que abrir Windows Linux viral Machine desculpem por isso mas a gente já tá indo aqui Eita me perdi nesses comandos consecutivos pelo Task p é isso aqui ó você tem um comando que se chama teste e aí você tem o pré-teste que roda antes do teste você tem um post teste que roda depois do teste aí Quem falou só criar o pipeline exatamente agora aí no pipeline você dá Task Test e
ele já faz tudo maravilhoso então vamos lá pra gente criar um teste a gente vai criar um arquivo lá dentro daquela pastinha que a gente tem que se chama testes Então a gente vai escrever aqui por convenção todo arquivo de teste começa com a palavra teste e underline então eu vou usar uma convenção que que é o seguinte eu vou criar um arquivo todo arquivo que vai testar alguma coisa eu vou chamar teste underline então teste underline Qual o arquivo que eu tô testando então se eu tô testando app eu vou chamar de test underline
app.py só pra gente manter um padrão aqui para saber o que cada arquivo de teste testa massa então a gente criou um novo arquivo chamado test app Lembrando que o arquivo de teste tem que começar é regra tem que que começar com test underline senão não funciona sen não não funciona então test underline e aí aqui dentro como é que a gente escreve um teste pro Fast api né tipo assim como é que isso funciona então eu venho aqui e faço o seguinte from Fast api ponto test client então eu tô importando um cliente de
teste Fast api já tem isso então Import test client que é esse cliente de test aí eu vou fazer o seguinte eu vou definir ele aqui no client eu vou simplesmente falar olha client recebe isso aqui test client pro cliente funcionar eu tenho que passar o meu aplicativo aqui para ele e qual que é o nome do meu aplicativo meu aplicativo é aquele app que a gente tinha definido lá em cima Então eu preciso importar o nosso arquivo como a gente tá na raiz do repositório que é o fast zero a gente tem que vir
aqui ó então a gente tá no na raiz lembra o o pytest roda na raiz do projeto cadê cadê cadê a configuração tá aqui ó ele roda na raiz do projeto onde o p Project foi definido para ficar claro aqui então dentro da raiz do projeto eu tenho a pastinha Fast z0 Então eu preciso vir aqui e importar aquii então from Fast z0 P app que é o nome do nosso arquivo app eu vou importar o nosso app que é aquele objeto do fash API que a gente definiu aqui eu preciso desse objeto aqui app
então a gente importe app e a partir disso aqui eu venho aqui no teste client e coloco app aqui dentro a partir disso aqui eu tenho um cliente de teste e a partir desse cliente a gente vai conseguir executar os testes mas eu quero mostrar uma coisa para vocês antes da gente executar antes da gente escrever um teste de fato eu quero rodar o Task test Task test aí ele falou o seguinte olha existe um Import mal formatado ah ah maravilhoso então eu vou fazer o seguinte eu vou dar um Task Format arrumou o erro
vamos ver de novo Task test rodou rodou o teste Pô muito massa muito massa muito massa mas olha a mensagem que ele deu aqui ele falou o seguinte não rodou nenhum teste por não ter rodado nenhum teste ele dá erro no terminal então ele não executou a próxima instrução e ele tá falando aqui ó Miss One ou seja ele já testou tudo mesmo se a gente ter definido nada então vamos lá eu vou dar um Task post test a gente não precisa ficar rodando post test toda hora é só quando D erro pra gente saber
o que que aconteceu então vou voltar aqui lá naquele arquivo de coverage e vou dar um F5 Olha o que que aconteceu aqui todas essas linhas que estão em verde foram executadas porque ele fez o Import porque ele executou as e tudo mais então tipo assim tudo que tem no arquivo lembra toda vez que a gente importa um arquivo no Python Ele lê linha a linha então ele leu a primeira linha leu a segunda terceira quarta quinta sexa sétima que são as linhas que tinham coisas definidas Só que essa linha aqui ela só é executada
quando a função rid rid Rot rid Rot chame como você quiser isso aqui foi executada então isso aqui não foi testado olha que massa Então por ele ter importado Então olha como o coverage ele é uma métrica meio subjetiva isso precisa ficar claro aqui logo no começo coverage ou a cobertura de teste é uma métrica subjetiva ele fala ó esses Aqui foram executados então ele não tá preocupado tipo assim eu testei o app literalmente não ele tá tipo assim essa linha foi executada se foi executada tá ótimo Então tem cobertura então funciona aqui e é
basicamente isso agora vamos lá vamos escrever um teste aqui pra gente poder brincar com isso aqui antes da gente ir embora rid Hot Exatamente isso aí como é que a gente escreve um teste basicamente um teste é composto por três etapas a gente vai conversar muito mais sobre isso nas próximas aulas mas eu acho legal deixar isso um pouco Claro aqui toda vez que a gente escreve um teste o teste Segue uma arquitetura existe um padrão de como escrever testes que são os testes de três fases ou de quatro a quarta é menos importante agora
pra gente mas que eles chamam de triple a Ou seja a a a 3 a igual de pilha sabe então onde as coisas significam arrange act e assert Ou seja arrange é organizar o terreno o act é executar a ação e o assert é afirmar né tipo assim Garanta afirme que isso aqui é igual a isso aqui então a gente quer esperar as respostas corretas aqui então todo o teste ele é composto por essa arquitetura o tear Down é tipo assim Às vezes a gente organiza uma coisa e precisa desorganizar ela para rodar o próximo
teste então a gente executa o tiar Down tear Down não é importante agora no momento que ele for a gente vai falar um pouco sobre isso mas basicamente a gente vai escrever um teste e todo teste por Essência tem que começar com a palavra teste também então vamos lá Def test underline e aí o que que rola aqui existem vários formatos de fazer testes e nomes de testes e coisas eu gosto de seguir uma uma estrutur inha aqui que é tipo assim teste Underline o que eu tô testando e o que que eu espero que
seja retornado porque o nome do teste é a parte importante quando o teste quando o teste quebra eu preciso saber o que que quebrou então tipo assim quanto melhor e mais descritivo for o nome dele melhor vai ser para mim então o que que eu quero saber eu quero saber se a função Read então tipo assim rid Hot deve fazer o quê Deve retornar ok ok que é a coisa tipo assim a mensagem de quando o http quando a gente faz uma requisição na Internet que dá certo ela retorna o status code ok a gente
vai falar sobre isso na próxima aula Mas é interessante a gente falar então ele deve retornar Ok e olá mundo né que é a mensagem que a gente quer validar e olá mundo Então esse é o nome do teste que a gente vai usar se a gente executar isso aqui fica vendo Task test ele vai mostrar pra gente o nome do teste olha que massa então ficou aqui ó teste teste app aqui ó teste rood Hit deve retornar Ok passou massa então é interessante isso aqui tá acontecendo porque a gente mandou aquele menos VV na
configuração e aqui tem o nome do teste se ele passou se ele quebrou se ele desse errado sei lá vou dividir por zero aqui dentro então a gente sabe Ah que que aconteceu aqui White Space around a gente mete Ah tipo assim ele vai dar erro porque a gente também não tá usando isso aqui return up só para ele parar de encanar comigo aqui massa aí rodou aí ele fala tipo assim ó teste r deve retornar ok olá mundo aí ele deu um erro zero div error aí ele falou falhou E ele fala exatamente aquele
menos VV aonde o teste falhou ele falou tentou executar essa linha tá vendo que tem um mais aqui tentou executar essa linha e deu esse erro porque é impossível fazer divisão por zero e ao mesmo tempo o nome do teste tá aqui com que falhou e tudo mais então escrever testes com nome descritivo são bons porque a gente consegue ver a hora que der erro o que funciona por o tesk p não make file você não usa o Windows né Vinícius por isso você quer usar make né já tentou usar o make no Windows se
tivesse tentado não faria essa pergunta Ah então legal então o que que a gente vai fazer pro teste acontecer Lembra daquela coisa a gente tem que ter um cliente de teste tipo assim se eu quiser testar o app eu preciso conseguir acessar o app então a gente cria o teste client e é literalmente o quê o teste client é a fase de organização isso não é o teste em si mas é como a gente configura coisa a gente tá organizando as coisas para poder executar o teste Então essa fase é o arrange né arrange ou
organização organização do teste então isso faz parte da organização não é o teste mas é organização do teste legal agora eu vou pegar esse esse client e a gente vai fazer uma requisição lá no nesse nesse app que a gente quer a partir do end Point dele ou seja que é esse barra que a gente definiu aqui eu vou falar esse endereço aqui e a partir desse endereço ele vai executar essa função e me dar esse resultado aqui dentro então vamos lá de novo não precisa ficar entendendo tudo aqui em minúcias a ideia aqui é
basicamente a gente entender tipo sair com o ambiente todo configurado ver se tá tudo funcionando então eu vou fazer o seguinte client.get ou seja get é pega Então pega dentro da minha aplicação dentro de app o cliente vai pegar o Barra sabe então vai lá e requisito barra para mim é literalmente isso que ele tá fazendo E aí ele vai pegar essa função vaiar o que essa função pra gente aqui no Browser então vou fazer o seguinte a gente tem aqui response isso aqui é a fase que a gente chama de act dentro do teste
que é a fase de ação act é a fase que faz alguma coisa que atua que executa um bloco de código ou seja isso aqui é literalmente o teste a gente quer fazer o seguinte a gente quer chamar essa função dentro do nosso código então como é que a gente vai fazer isso aqui vai falar pro cliente do fash API chamar a função que tem esse endp que é o barra aqui então aqui é literalmente a ação do teste o que o teste tem que fazer e aí por final a gente tem que ver se
a ação retorna O que a gente quer que ela retorne então aí existe uma palavra reservada no Python chamada assert E aí dentro do assert eu quero ver o seguinte assert ponto status code é igual a 200 ou seja retornou ok a gente vai falar mais sobre isso na aula que vem mas a ideia é o seguinte retornou status code Ok ou seja deu certo a requisição E aí pra gente não escrever esse 200 aqui que é péssimo porque o que que quer dizer 200 sabe tipo assim que que que raios é 200 eu não
faço a menor ideia do que é 200 então eu vou importar uma biblioteca que transforma esse esse 200 é uma mensagem que faz sentido então from http do Python Import http status E aí eu vou vir aqui e vou falar o seguinte qual que é o status o status code é OK massa valido ou status code é not tá vendo Então eu escrevo e aí eu sei exatamente o que tá testando porque senão tipo assim ah 200 que que é 200 tipo assim que que é 300 sabe tipo assim a galera vai falar Tipo assim
ah mas é básico porque 200 é Ok se você sabe tá tudo certo mas quando você tomar um 409 aí você vai falar pô que que é 409 quando você tomar um TP você vai falar cara por que que eu sou um pote de chá tá ligado Então é melhor ter isso aqui em vez dos códigos isso aqui é o que a gente chama de assert então aqui a gente tá garantindo né é afirmando afirmando tipo assim afirma então Garanta para mim que o status code da resposta é igual ao Status quod Ok é exatamente
isso que a gente tá fazendo E aí com isso a gente fecha o ciclo de todas as etapas né então tipo assim como que organiza Então beleza vamos construir aqui aqui vamos arrumar a coisa direitinho né se arrumar direitinho todo mundo sabe né E aí depois que arrumar eu quero agir executar o teste executar o bloco de código que precisa ser testado e depois a gente vai fazer o assert que é essa coisa tipo assim Garanta que a coisa está exatamente funcionando como a gente queria massa legal então essa parte aqui se a gente rodar
agora o teste vamos ver o que que rola Task test aí ele falou olha tá mal formatado o Import aqui e tal tudo mais porque ele quer que eu dê um enter aqui acho que é isso Beleza é isso rodou tudo tá coberto olha que massa Olha que incrível funcionou se a gente falar ó ele já escreveu o HTML coverage lembra que o PST test agora consegue ser executado porque funciona bem algum motivo especial para não usar o fashi status sim dentro da aplicação faz sentido mas no teste não faz sentido né eu importar o
escopo do Fast api dentro do teste mas tudo bem se vocês quiserem usar tá tudo liberado vou dar um F5 agora e funcionou massa como aquele cliente fez a requisição e fez essa chamada específica que que executar essa função ele pegou o resultado mas você tá vendo que ao mesmo tempo de novo a cobertura é uma coisa polêmica porque a gente só garantiu que deu certo mas a gente não sabe se retornou mensagem a l munds a gente literalmente não sabe se isso aqui foi feito então o teste meio que ele passou por ali mas
a gente não tá garantindo a gente garantiu que ter o sucesso Mas a gente não sabe se a mensagem que a gente recebeu é exatamente a mensagem que a gente queria receber né Então a partir disso eu vou vir aqui fazer o seguinte assert response P Jon o que que é um Jason é o estrutura do dicionário na rede como ele trafega na rede então como isso aqui é uma de http uma chamada de servidor e não tô chamando o código exato a resposta vai vir no Jon então eu quero garantir o seguinte que a
chamada daqui retornou exatamente olá mundo então vou copiar isso aqui massa Então a gente vai fazer isso aqui garantir que a mensagem H mundo foi retornada vai dar errado vamos rodar porque a Nosa mensagem Olá mundos Olá arm mundes vamos rodar aqui aí ele falou Olha aquele menos VV olha como é incrível ele falou o seguinte olha a mensagem difere porque o que veio é message o que veio é olar munds e o que a gente esperava que viesse eraa olá mundo aí ele deu errado falhou o teste e escreveu aqui saca então olá mundo
olá Mundos no meu coverage no Browser eu recebo isso no items found using specified Filter manda isso lá no grupo do telegram Jonathan pra gente dar uma olhada pode ser que tenha feito alguma configuração errada não sei exatamente a gente discute isso lá Tenta arrumar então a gente precisa retornar a mensagem olá mundo e não olá mundos né senão a maldição vai ser cumprida Então a gente vai retornar olá mundo massa vou executar de novo Task test Passou sensacional agora a gente garantiu que tá tudo funcionando a gente tem um ambiente que funciona com comandos
que funcionam que tem a versão exata do Python que tá tudo rolando da maneira que a gente quer 100% maravilhoso fala vocês vocês esperavam que era tão fácil escrever um teste assim tipo obviamente eu fui dando várias explicações Mas tipo é relativamente simples as mesmas três linhas que a gente usou para esse escrever a gente usou para escrever o teste né tipo assim é bem bem simples bem simples massa tudo rodando tudo rolando vocês conseguiram me acompanhar vocês estão fazendo junto comigo Deu certo aí no de vocês também o arquivo Tá na pasta errada top
Edu pô tamo junto então legal esse era o objetivo da nossa aula hoje era fazer isso aqui ver se tava tudo funcionando configurar todo o ambiente e a partir da próxima aula a gente começa a fazer coisas mesmo tipo assim essa aula eu passei um pouco mais do planejado Mas é porque tipo assim pô abrir o Windows fazer todo esse planejamento dá um pouco de de trabalho a mais mas eu espero manter o tempo nas próximas aulas então tudo que a gente precisa fazer aqui agora é criar um Git ignor pra gente poder fazer o
nosso projeto subir então vamos lá ah eu quero ignorar alguns arquivos eu não quero tipo assim você fe ele vai ter o o cach do pytest o cach do Roof o vnv algumas coisas aqui coverage Python version que eu não quero subir pro repositório né então eu vou criar um Git ignor aqui lembra que a gente instalou com ppx ppx Install e GNR aquela outra ferramenta de gerar esse esquema então igr aí ele fala ó Qual é o formato que você quer ignorar Ah eu quero ignorar resíduos de projetos Python então você vem aqui Ah
pera aí é menos p - p Python e a partir disso aqui ele gera um um arquivo ó tira o cche do Roof tira algumas coisas tira o p r myp resíduos de environments e várias outras coisas aqui então eu quero que ele não suba pro repositório esses resíduos então eu posso fazer isso aqui para qualquer coisa né você ló vs code não tem mas tipo assim talvez tenha alguma coisa sei lá ID que é o do o do P Charm eu não sei mas se você colocar aqui se lá Rust tem para linguagens tem
para ferramentas também sei lá e aí a gente vai fazer o do Python Python então eu quero ignorar coisa do Python E aí eu vou dar esse sinal de maior que é para ele escrever no arquivo Então escreve para mim num arquivo chamado ponto que é um arquivo oculto Git ignore E aí agora a gente tem esse Git ignora aqui como arquivo oculto do nosso projeto então aqui ó Git ignor coisas que não vamos subir pro repositório você pode pegar o meu e copiar se você não quiser usar o igr mas eu acho que é
prático porque várias vezes eu preciso fazer isso aqui e é muito prático é só code será code também não sei lá deve ter um nome específico do do editor aqui Ah então Massa agora a gente precisa iniciar o nosso projeto no Git então Git init ponto ou seja inicia o versionamento desse projeto a partir desse nosso primeiro comit massa então ele iniciou um repositório vazio massa legal e aí a gente vai fazer o seguinte a gente vai fazer o nosso primeiro comit que é iniciando o projeto então Git Ed eu vou dar um ponto mesmo
já queri o ignor Git commit menos M iniciando o projeto e agora a gente já tem algumas coisas aqui configuradas e tá tudo para subir aqui né Eu só não tenho um repositório externo para fazer isso aqui é visual Studio aí Ó viu ó o o taconi viu aí é visual Studio e a partir disso agora eu quero dar um Git e subir isso pro repositório mas eu não vou conseguir fazer isso aqui então você pode criar um repositório na mão lá no github faça como você achar melhor ou usar o GH que foi a
ferramenta que eu recomendei aqui e a gente pode dar um GH e falar GH Apple Create aí ele vai falar ó você quer criar um repositório do nada quer usar um template eu vou criar um repositório do zero e aí qual vai ser o nome do meu repositório aí você dá o nome que você quiser Fast sei lá Fest z0 Sync que são as aulas síncronas e É nesse repositório que eu vou subir isso aqui massa coloquei o meu usuário do nossauro description ah código das aulas síncronas vai ser público porque eu quero que vocês
acessem Do you like to add readme não a Git gor não uma licença sim que licença eu quero adicionar eu vou adicionar ah ginu Public license versão 3.0 vocês usam a licencia que mais quiser então aí ele deu aqui para mim assim você vai criar esse repositório no Git no Git Hub quer continuar eu vou dar sim legal clona o novo repositório localmente sim legal Tá tudo funcionando se vocês olharem aqui ó esse é o link do meu repositório Já criei aqui pelo GH massa vou entrar lá e tá aqui esse é o nosso repositório
síncrono aqui não tem nada mas ele já criou o repositório sem precisar vir na web fazer as coisas então agora eu vou dar um Git push aí ele vai falar pô eu preciso adicionar um remoto aqui uma coisinha aqui então Git remote Ed ele tinha essa opção aqui eu só não não coloquei aqui massa Mas aí eu posso vir aqui e dar um remote Ed e passar aqui para ele Qual é a configuração que eu quero beleza remote AD aonde é o Remote que eu quero desse repositório então eu tenho que explicar que é no
github e que é aqui exatamente que eu quero adicionar isso aqui se a gente vier aqui ó tipo assim How eu coloquei isso aqui how to add a remote github Apple aí managing remote aqui ó tá vendo para quem precisar disso aqui tiver algum erro parecido com esse que eu tive então basicamente a gente vai falar ó adiciona o novo repositório Git aqui então legal Git Opa deixa eu rodar aqui no lugar onde a gente consiga ver então Git remote Qual que é o URL do repositório ele deu aqui pra gente que é essa aqui
então vou copiar e vou dar aqui um ponto Git nela é isso aqui Origin Git legal para cá a partir desse momento eu dou um Git push aí eu preciso criar essa Branch Main que ela não existe lá beleza Git push setup stream Origin M aí ele pediu meu usuário e senha do github e aí a gente digita aqui e ele sobe para lá eu não vou fazer isso aqui agora mas porque eu não quero digitar minha senha aqui e tudo mais mas porém contudo entretanto todavia é isso que a gente tem que fazer recomendo
agora Fortíssimo que você siga os exercícios da aula tem um exercício aqui nessa aula para vocês resolverem que é basicamente ir numa ISO específica que a gente tem aqui no no projeto então aqui ó no repositório do curso existe essa ISO ISO 91 e colocar aqui o link do seu Git para todo mundo poder aprender junto com você e fazer as coisas rodarem junto Ó tem várias várias pessoas fazendo e elas estão colocando aqui os repositórios dela porque esse é o primeiro exercício e ao mesmo tempo essa aula tem um quiz que eu recomendo fortissimamente
que vocês respondam Então beleza Ah qual que é a função do P Envy Qual a função do poet O que faz o comando fash api Dev ao que você refere a endereço 127001 então tem algumas respostas tem um quiz aqui para vocês responderem Depois que terminar a aula então entrem lá façam o exercício que precisa ser feito dessa aula que é literalmente configurar esse repositório no Git e subir as coisas o meu já tá lá aí ó e basicamente era isso a aula e a vergonha do código suge que isso tá tudo testado funcionando maravilhosamente
bem não tem problema não E com isso acaba essa aula eu demorei um pouquinho mais do que o esperado mas espero que esteja tudo bem para vocês a gente configurou um ambiente de movimento a gente se vê na terça-feira para conversar sobre uma introdução sobre o Web conversar um pouquinho sobre todo esse esquema que agora a gente já tem tudo configurado a gente sabe que tá tudo funcionando se você chegou até o fim deu erro alguma instalação aquele tipo de coisa entra lá no grupo do telegram manda sua dúvida fala o que deu errado a
gente vai conversando e tá tudo certo espero que vocês tenham gostado dessa primeira aula foi uma uma aula bem mais tipo assim pô vai fazendo vai colocando coloca as coisas no projeto e tudo mais mas a ideia era garantir no fim dessa aula que todo mundo tem tudo configurado pra gente comear a aprender o fech Api mais a fundo então espero que vocês tenham curtido Espero que tenha sido legal e a gente se fala na próxima aula do curso ó um beijo para vocês e até mais beijinho e tchau
Related Videos
Curso de FastAPI - Fundamentos do desenvolvimento web | Aula 02
1:34:46
Curso de FastAPI - Fundamentos do desenvol...
Eduardo Mendes
7,934 views
Interpretador adaptativo especializado - Como o desempenho do Python melhorou? | Live de Python #272
2:07:07
Interpretador adaptativo especializado - C...
Eduardo Mendes
2,540 views
Criando nosso ambiente do pacote python com Poetry, linters, testes e documentação #CodaComigo
28:06
Criando nosso ambiente do pacote python co...
Eduardo Mendes
12,016 views
Curso de FastAPI - Integrando Banco de Dados (SQLAlchemy) ao FastAPI | Aula 05
1:38:36
Curso de FastAPI - Integrando Banco de Dad...
Eduardo Mendes
4,325 views
Python Para Inventores (3 Horas) || Nivel Iniciante
3:18:16
Python Para Inventores (3 Horas) || Nivel ...
Ferramentas De Inventor
68 views
Curso de FastAPI - Criando Rotas CRUD | Aula 03
1:49:41
Curso de FastAPI - Criando Rotas CRUD | Au...
Eduardo Mendes
7,559 views
Cursor (o Hype do novo Editor de Código) 🍓
19:55
Cursor (o Hype do novo Editor de Código) 🍓
Lucas Montano
68,622 views
Ambientes virtuais e instalação de bibliotecas - Live de Python #191
1:51:26
Ambientes virtuais e instalação de bibliot...
Eduardo Mendes
20,572 views
Curso de FastAPI - Aula de abertura. O que vamos aprender? | Aula 00
1:05:05
Curso de FastAPI - Aula de abertura. O que...
Eduardo Mendes
13,335 views
Dify - Crie Agentes IA poderosos (Nocode)
20:39
Dify - Crie Agentes IA poderosos (Nocode)
NoCode StartUp
19,031 views
APRENDA ANGULAR DO ZERO - primeiro passos
2:50:55
APRENDA ANGULAR DO ZERO - primeiro passos
Fernanda Kipper | Dev
133,808 views
Curso de FastAPI - Autenticação e Autorização com tokens JWT | Aula 06
1:46:30
Curso de FastAPI - Autenticação e Autoriza...
Eduardo Mendes
5,196 views
FastAPI, Flask or Django - Which Should You Use?
9:49
FastAPI, Flask or Django - Which Should Yo...
Tech With Tim
81,550 views
Curso de FastAPI - Sessão de dúvidas sobre o conteúdo | Aula especial
1:37:47
Curso de FastAPI - Sessão de dúvidas sobre...
Eduardo Mendes
1,703 views
How To Create a Python API With FastAPI - Full Tutorial
25:39
How To Create a Python API With FastAPI - ...
Tech With Tim
44,941 views
TUDO que você deve estudar de JavaScript antes do React
1:25:24
TUDO que você deve estudar de JavaScript a...
Rocketseat
295,123 views
API integration Course – Modern Python with FastAPI
3:49:36
API integration Course – Modern Python wit...
freeCodeCamp.org
176,575 views
Se não aprender PROGRAMAÇÃO com esse video. - ̗̀ DESISTE ̖́- Lucas Montano Reagindo
13:35
Se não aprender PROGRAMAÇÃO com esse video...
Lucas Montano
238,871 views
N8N #langchain - Crie seus Bots sem Código com N8N
21:04
N8N #langchain - Crie seus Bots sem Código...
Promovaweb Nocode e Marketing
15,640 views
4 Tips for Building a Production-Ready FastAPI Backend
27:02
4 Tips for Building a Production-Ready Fas...
ArjanCodes
62,308 views
Copyright © 2024. Made with ♥ in London by YTScribe.com