Bygg kraftige APIer med Python. La oss utforske hvordan!
Python er et av de mest allsidige programmeringsspråkene i dag. Den har fått sin popularitet på grunn av dens lesbarhet, mindre kompleks syntaks og enkel læring. I løpet av de siste par tiårene har Python blitt brukt i flere domener for flere applikasjoner. Den har blitt brukt til automatisering, webutvikling, dataanalyse, applikasjonsutvikling, og denne artikkelens fokus, Application Programming Interface (API).
Applikasjonsbrukergrensesnitt brukes for å få tilgang til noe informasjon eller funksjonalitet over Internett. For eksempel kan du skrive et Python-program for å bruke Twitter API for å utføre en funksjonalitet som kan samle tweets for en bestemt hashtag. En API gjør det lettere for utviklere å bruke visse teknologier til å bygge applikasjoner ved å bruke bestemte forhåndsdefinerte operasjoner. Det hjelper med å koble sammen ulike prikker.
Heldigvis er det mange Python-rammeverk, men ikke alle er ment for APIer. La oss utforske noen av de populære du kan bruke til å utvikle APIer.
Innholdsfortegnelse
Django HVILE
Django HVILE er et Python-basert REST-rammeverk som brukes mye av utviklere for å bygge web-APIer. Rest står for representational state transfer, som brukes til nettbasert arkitektur for datakommunikasjon. Den bruker HTTP for å ringe mellom maskiner. GET, PUT, POST og DELETE er noen få standardmetoder som brukes i Django hvilerammeverket.
Django hvilerammeverk er bare en måte å bygge ut REST API ved å bruke Django, så det er bare et verktøysett vi kan jobbe med. Det gir oss mye ekstra funksjonalitet. Ved å bruke pip kan du installere Django REST-rammeverket i en enkelt kommando på systemet ditt. Men før du installerer Django REST, må du ha Python versjon 3.5+ og en Django på systemet ditt.
Django REST funksjoner:
- Nettsøkbare APIer og har stor brukervennlighet for utviklere
- Flere innebygde autentiseringspolicyer
- Serialisering som støtter både ORM og ikke-ORM datakilder
- Omfattende og god dokumentasjon å referere og lære
- En veldig aktiv samfunnsstøtte
- Stolt på av organisasjoner som Red Hat, Mozilla, Heroku
- Støtter automatisk URL-ruting til Django
- Støtter testing, caching, struping, etc.
Flaske Avslappende
Flaske Avslappende er en utvidelse av Flask-rammeverket som brukes av utviklere for å bygge hvile-APIer raskt. Den er kjent for å lage mikrowebtjenester fordi den har en veldig lett modul. Det er raskt og krever bare noen få kodelinjer for å initialisere Flasken og begynne å bruke den til å lage en API.
Det er enkelt å sette opp og oppmuntrer til beste praksis for å bygge APIer. De siste årene har mange funksjoner blitt lagt til Flask, og nå er det så godt som et fullstack-rammeverk. Det er det foretrukne valget for webutviklere for å bygge webapplikasjoner og deres APIer.
Flaske avslappende funksjoner:
- Veldig lett og enkel å installere
- Gir ressurser som er byggesteinen i kolbe avslappende. Den brukes til å få tilgang til flere HTTP-metoder.
- Leveres med feltmodul og marshal_with() dekorator for dataformatering
- Lar deg kontrollere hvilke felt som skal vises i svaret etter gjengivelse
- Lar deg legge til egendefinerte felt og inndata basert på datatypen din
- Gir representation() dekorator for å støtte andre representasjoner som XML, CSV, HTML
Falk
Falk er nettrammeverket som brukes til å bygge pålitelige og høyytende storskala applikasjonsbackends og mikrotjenester. Falcon definerer API-ressursene sine ved hjelp av et objektorientert og klassebasert grensesnitt. Den er kompatibel med flere servere og plattformer da den er WSGI-kompatibel.
Falcon omfavner HTTP og REST arkitekturstil, som brukes til å lage rene design. Mottoet til Falcon er å gjøre så lite som mulig, men fortsatt være svært effektiv. Dette REST-rammeverket er fokusert på kvalitetskontroll.
Falcon funksjoner:
- Den kommer med en innebygd server og debugger for utviklingen
- Lett med minimalt oppsett
- Mest brukt for raskere ytelse
- Kartlegging av URIer til ressurser er REST-inspirert
- Støtter ruting, HTTP-protokollhåndtering mediehåndtering, informasjonskapsler og URI-verktøy
- Integrerer enkelt med NoSQL
- Støtter integrerte enhetstester
- Gir støtte for sikre informasjonskapsler
- Den støtter Python 2.7, 3.5+ og kompatibel med Pypy
Tilkobling
Tilkobling håndterer HTTP-forespørsler automatisk, og den er basert på OpenAPI-spesifikasjonen. OpenAPI-spesifikasjonen er beskrevet i YAML-format. I motsetning til andre verktøy hvor du får en generert spesifikasjon basert på Python-koden, lar Connexion deg skrive en OpenAPI-spesifikasjon og kartlegge de relevante Python-funksjonenes endepunkter. Når du beskriver REST API i detalj, sørger Connexion for at det fungerer.
Tilkoblingsfunksjoner:
- Basert på spesifikasjonen du oppgir, validerer den forespørsler og endepunkter.
- Håndterer tokenbasert autentisering med OAuth 2
- Støtter API-versjon
- Kom med Web Swagger Console UI, som også lar deg ringe API-endepunkter.
- Serialiserer automatisk nyttelastene
FastAPI
Som navnet tilsier, FastAPI er et av de raskeste og høyytelses Python-rammeverkene for å bygge APIer. Det er en komplett pakke med et komplett nettrammeverk. Ved å bruke FastAPI kan du utvikle kode 200 til 300 % ganger raskere. Populariteten til FastAPI vokser betydelig i Python-fellesskapet, med 200+ bidragsytere og 28,6K starter så langt.
FastAPI er basert på ASGI-spesifikasjoner og brukes hovedsakelig til å bygge asynkrone webapplikasjoner. Følgende er noen av funksjonene.
- Basert på åpne standarder – OpenAPI, JSON-skjema, automatisk klientkodegenerering
- Swagger brukergrensesnitt for å kalle og teste APIer fra en nettleser
- Interaktiv API-dokumentasjon
- Reduserer 40 % av feilene generert av utviklerfeil i koden
- Minimerer duplisering av kode
- Intuitiv redigeringsstøtte (VSCode/PyCharm) med autofullføring
- Den kommer med integrert sikkerhet og autentisering
- Dependency injection system for å håndtere alle avhengigheter automatisk
- Fullt kompatibel med Starlette og Pydantisk
- Ubegrenset støtte for plugins
- Støtter applikasjonstesting ved hjelp av PyTest
- Støtter SQL-databaser, NoSQL-databaser, GraphQL
Klem
Klem er en veldig fin mikroramme som lar deg bygge APIer, CLIer og lokale pakker. Den lar deg lage API-en én gang og bruke den API-en hvor som helst i koden deres. Hug bruker Cython for kompilering og bruker ressurser bare når det er nødvendig; dette hjelper Hug med å levere svært høy ytelse.
Du kan installere Hug ved å bruke pip i en enkelt kommando. Det er en av de reneste måtene å bygge HTTP REST APIer på Python 3. For å bygge APIer, Hug separerte versjonsavhengigheter og grensesnitt fra API-forretningslogikken. Den tilbyr flere grensesnitt for å forenkle API-utviklingen for utviklerne.
Klemfunksjoner:
- Den følger filosofien om å skrive én gang hvor som helst
- Avslører API-logikk via flere grensesnitt (CLI, HTTP eller en lokal funksjon)
- Tilbyr hug.test-modul for å teste hele Python-stakken til API-en din
- Ren og lettfattelig dokumentasjon
Eve
Eve er bygget på toppen av Flask og Cerberus. Målet med dette python-rammeverket er å gjøre API-utvikling enkel og rask. Det skaper RESTful webtjenester uten problemer, som er svært tilpassbare. Dette rammeverket er hovedsakelig foretrukket for mellomstore prosjekter.
Eve har:
- Støtter hele spekteret av CRUD-operasjoner
- Støtter tilpassbare endepunkter, paginering, sortering, filtrering
- Gir avanserte funksjoner som autentisering, hastighetsbegrensning, caching
- Integrerer enkelt med SQL-databaser, MongoDB, Elasticsearch og Neo4js.
- Out-of-the-box støtte for datavalidering
- Støtter CORS, Cross-Origin Resource Sharing
- Påvist flere hendelser for forbedret logging
Gesims
Gesims er et REST-rammeverk for Pyramid, som gir hjelpere til å bygge og dokumentere REST-ish Web Services. Pyramid er designet for å skalere med en applikasjon. Den følger HTTP-spesifikasjonen automatisk der det er mulig.
Gesimsfunksjoner:
- Én sti i gesims er lik én tjeneste
- Kaster 400-feil automatisk etter validering av innholdet hvis dataene er ugyldige
- Legger til CORS-støtte (Cross-Origin Resource Sharing) til tjenestene dine
- Bruk Pyramids tilgangskontrolllister (ACLs) for autorisasjon
- Returnerer 406 Ikke akseptabelt for ugyldig medietype med en feilmelding som inneholder alle støttede innholdstyper
- Støtter URL-prefiks for alle rutene dine
- Bruker Tox, et kommandolinjedrevet verktøy i Python for automatisert testing
Konklusjon
Det var min liste over noen av de populære Python-rammeverkene for å bygge APIer. Jeg håper du har funnet denne listen interessant å komme i gang med. For å sette pris på hva disse Python-rammeverket tilbyr, må du prøve dem. Så, hva venter du på? Velg et av disse REST-rammeverket og begynn å bygge API-er i Python.
Utforsk deretter JavaScript-rammeverk for å bygge APIer.