Python er hurtigt blevet et af de mest populære programmeringssprog på grund af dets enkelhed, alsidighed og de mange ressourcer, der er tilgængelige for dem, der lærer sproget. Det er ofte det første sprog, som nybegyndere lærer at programmere, og det er også meget anvendt i branchen til formål, der spænder fra webudvikling til dataanalyse.

Python-fællesskabet er enormt, og ifølge GitHub fortsætter Python med at vokse, med en stigning på 22,5% fra 2022. Det er også det tredje mest anvendte programmeringssprog i 2023. Det er hovedårsagen til, at vi har adgang til en lang række frameworks, hvoraf de fleste er open source.

I denne artikel vil vi dissekere de mest populære og nyttige Python frameworks, som du bør lære at kende.

Hvad er et Python Framework?

Et Python framework er en samling af Python-moduler, der giver et sæt af fælles funktionalitet, der kan bruges som en struktur til at opbygge applikationer af enhver type.

Frameworks er designet til at forenkle udviklingsprocessen ved at give en generel retningslinje for, hvordan vi bør bygge software, og abstrahere nogle af de mere komplekse eller gentagne opgaver. Dette giver dig mulighed for at fokusere på at skrive unik og tilpasset logik til dine applikationer i stedet for at skulle genopfinde hjulet.

Et eksempel på en gentagende opgave er håndtering af HTTP-forespørgsler. Da de fleste webapplikationer skal håndtere denne type forespørgsel, bruger udviklere eksisterende frameworks, der letter denne funktion, i stedet for at skrive alt fra bunden eller genbruge den samme kode på tværs af forskellige projekter.

Nu hvor vi har fået begrebet frameworks udkrystalliseret, lad os udforske nogle typer Python-rameworks.

Typer af Python Frameworks

Python har en række forskellige frameworks til rådighed til forskellige typer af udvikling. Lad os tage et kig på nogle få af dem.

Full-Stack Framework

Et full-stack Python framework er et sæt værktøjer, der indeholder alt det, som en udvikler har brug for til at bygge en komplet webapplikation fra start til slut.

Dette omfatter en måde at skabe frontend – f.eks. et system af skabeloner og en tilgang til at vise oplysninger til brugeren – og backend, herunder almindelig funktionalitet som f.eks. oprettelse af databarecords, håndtering af HTTP-forespørgsler og styring af applikationens sikkerhed.

Microframework

Et mikrorammeværk er et minimalistisk rammeværk, der kun indeholder de væsentlige komponenter, der er nødvendige for at opbygge en eller anden form for applikation.

Det er designet til at være let og nemt at udvide, hvilket gør det til et godt valg til små projekter eller til udviklere, der ønsker mere kontrol over deres kode.

Asynkrone frameworks

Et asynkront framework er designet til at håndtere samtidighed og parallelitet, så udviklerne kan bygge applikationer, der kan udføre flere opgaver samtidig.

Python Package Manager (pip)

pip er en pakkehåndtering for Python-pakker. Hvis du allerede har installeret Python, har du adgang til pip’s kommandolinjeinterface, som giver dig mulighed for at installere Python-pakker.

En pakke er en isoleret og genanvendelig samling af kode, der giver specifik funktionalitet til løsning af en fælles opgave (webudvikling, autentificering, GUI). Alle de frameworks, som vi skal se næste gang, er en del af Pythons standardbibliotek, hvilket betyder, at de er tilgængelige som en pip-pakke.

Du kan installere enhver pakke, der er tilgængelig på Python Package Index (PyPI), med følgende kommando:

pip install package-name

Du kan også installere pakker fra en tekstfil – f.eks. en kravfil til et projekt – med nedenstående kommando.

pip install -r requirements.txt

Python Framework vs. Python Library

Et Python-bibliotek er en samling af funktioner og metoder, der kan bruges til at udføre specifikke opgaver, f.eks. parsing af data eller generering af et tilfældigt tal. Et bibliotek er generelt mere begrænset i omfang og er beregnet til at blive brugt som et værktøj i et større program.

Et Python-framework indeholder derimod et komplet sæt værktøjer og funktioner, der kan bruges til at opbygge et helt program. Det definerer normalt den arbejdsgang, som softwareudviklere følger, når de opretter et projekt.

Det betyder ikke, at du ikke kan udvide mulighederne i et framework med andre pakker, som ofte kaldes plugins.

Hvorfor bruge en Python Framework?

Der er flere fordele ved at bruge en Python-ramme, når du udvikler applikationer. Lad os gennemgå nogle af dem:

  • Frameworks gør din softwareudviklerens arbejde nemmere: Ved at give en struktur til koden og et sæt værktøjer og funktioner, der strømliner udviklingsprocessen, kan frameworks gøre det nemmere og mere effektivt for udviklere at bygge applikationer.
  • Frameworks fremmer kodeorganisering: Et veldesignet framework er med til at sikre, at koden er organiseret og vedligeholdelsesvenlig, hvilket gør det lettere at forstå og ændre kildekoden i fremtiden.
  • Frameworks kan øge produktiviteten: Ved at levere færdigbyggede komponenter og værktøjer og overholde industristandarder giver frameworks udviklerne mulighed for at fokusere på de unikke aspekter af deres applikationer i stedet for at bruge tid på grundlæggende opgaver.

Nu hvor du har nok teoretisk baggrund, lad os gennemgå de 25 bedste Python-frameworks.

De 25 bedste Python-frameworks

Her er 25 af de mest populære Python frameworks, opdelt i sektioner efter funktionalitet.

Python Microframeworks

Følgende er letvægts microframeworks, der er nyttige, når du ønsker at oprette en simpel app hurtigt eller har et lille hukommelsesforbrug i din server.

1. Flask

En webside genereret af Flask med Flask-banneret med et logo i form af et drikkehorn, byline
Flask genereret side

Flask er et letvægtsmikroframework, der bruges til hurtigt at opbygge enkle webapplikationer. Det indeholder understøttelse af Jinja-skabeloner (en måde at genbruge HTML-kode på), håndtering af forespørgsler og applikationssignalering.

Det kræver reelt mindre end seks linjer kode at starte en Flask-app:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Hello Kinsta"

Funktioner:

  • Letvægt og nem at bruge
  • Høj fleksibilitet
  • Bygget oven på Pythons standardbibliotek
  • Understøttelse af routing og views (controllere)
  • Støtte til templating med Jinja
  • God dokumentation og fællesskab
  • Støtte til håndtering af cookies og brugergodkendelse

Du får også adgang til nogle udvidelsespakker som Flask-RESTful, der tilføjer understøttelse til opbygning af kraftfulde REST-API’er, og Flask-SQLAlchemy, en praktisk måde at bruge SQLAlchemy i din flask-app på.

2. Bottle

Ordet
Bottle-logo.

Vil du oprette latterligt lette webapplikationer uden andre afhængigheder? Bottle er et let Python-mikroframework designet til nemt at bygge små eller mellemstore webapplikationer. Det indeholder ingen eksterne afhængigheder ud over Python-standardbiblioteket,

Bottle er bygget oven på WSGI-standarden (Web Server Gateway Interface) og er kompatibel med de fleste webservere og Python-versioner.

Funktioner:

  • Let at lære og bruge
  • Indbygget skabelonsystem
  • Velegnet til at bygge små webapplikationer og API’er
  • Meget lavt hukommelsesforbrug
  • Understøttelse af HTTP, formularer og routing

3. CherryPy

CherryPy logo med en illustration af et kirsebær og ordet
CherryPy webramme.

CherryPy er en minimalistisk framework til udvikling af webapplikationer til Python. Det er en objektorienteret framework (OOP), der giver dig mulighed for at bygge webapplikationer på samme måde som med enhver anden OOP i Python.

Det har eksisteret siden 2002 og er blevet bredt anvendt i produktionsmiljøer på tværs af en bred vifte af websteder, fra dem med enkel funktionalitet til dem, der kræver høj kompleksitet. F.eks. bruger både de gigantiske softwaretjenester Netflix og Hulu CherryPy som en del af deres infrastruktur.

CherryPys hovedopgave er at håndtere HTTP-forespørgsler og matche dem med den passende logik, der er skrevet af udviklerne. Det betyder, at CherryPy som standard ikke leverer databaseadgang eller HTML-templating og overlader al logikken i applikationen til dig.

Funktioner:

  • Modent framework
  • Håndter HTTP-forespørgsler
  • Fleksibelt og udvideligt plugin-system
  • Ramme, der kun kan bruges til backend
  • Objektorienteret udvikling
  • Stabilt API

Python frameworks

Følgende er komplette webframeworks, der indeholder komponenter til almindelige webudviklingsopgaver som f.eks. databaseadgang, formularhåndtering og sikkerhed. I modsætning til microframeworks indeholder Python-webframeworks alt det, du har brug for, som standard.

Du bør virkelig overveje dine behov, når du bygger en webapp. Nogle gange er det mere end nok bare at bruge WordPress.

4. Django

Django startside, der viser beskeden
Django startside.

Django er et af de mest populære og udbredte webframeworks i Python-økosystemet. Det er en bundsolid full-stack framework, der indeholder alt, hvad du har brug for til at bygge en komplet webapplikation.

Det blev først introduceret i 2005 som en Pythonisk måde at bygge et nyhedsbrevssite på. I dag er det et af de mest anvendte Python-biblioteker til webudvikling med næsten 8 millioner downloads om måneden. Nogle af de største websteder, der nogensinde er lavet, blev oprindeligt oprettet med Django, f.eks. Instagram, Discus, Pinterest, Bitbucket og Chess.com.

Django følger MVT-arkitekturen (Model-view-template) og indeholder indbyggede funktioner som f.eks. templating, databaseadministration, administrationspanel, signaler og views (til at administrere logikken i din backend). For at mestre Django anbefales det, at du har stærke grundprincipper i Python objektorienteret programmering samt funktionel programmering.

Du vil ikke gå galt i byen ved at vælge Django til dit næste webprojekt. Det er en kraftfuld webramme, der giver dig alt, hvad du har brug for til at bygge hurtige og pålidelige websteder. Og hvis du har brug for yderligere funktioner – f.eks. muligheden for at oprette et REST API til brug med moderne frontend-rammer som React eller Angular – kan du bruge udvidelser som Django REST framework.

Desuden er Django et af de enkleste frameworks at opsætte og implementere via Kinsta.

Funktioner:

  • Meget sikker framework
  • Indbygget administrationspanel
  • Proprietært skabelonsprog, der dynamisk viser HTML
  • Object-relational-mapper (ORM), lægger databasen ud med Python-klasser
  • Database forespørgsler med Python API
  • Gode CLI-værktøjer
  • Stort udvalg af udvidelser

5. FastAPI

FastAPI Get interface, der viser de nødvendige parametre for slutpunktet og HTTP-svaret.
FastAPI automatiske dokumenter i localhost.

FastAPI er en moderne webframework, der gør én ting fantastisk godt: at bygge API’er.

Siden udgivelsen i 2018 har det hurtigt vundet popularitet på grund af sin store ydeevne og enkelhed. Faktisk har FastAPI ifølge PyPi Stats over 9 millioner månedlige downloads, hvilket overgår selv full-stack frameworks som Django.

Grafsammenligning mellem Django og fastAPI i downloads i løbet af de sidste 6 måneder. Det viser, at FastAPI knap har passeret Django i månedlige downloads i januar 2023.
FastAPI overgår Django i månedlige downloads.

Husk på, at FastAPI’s eneste formål er at bygge backend-API’er. Det betyder, at du skal have en frontend-ramme (som Vue.js) til at vise dit websted til dine brugere.

Når det er sagt, er rammen utrolig nem at arbejde med, og du kan endda implementere en app med FastAPI via Kinsta og dit GitHub-repo på få minutter.

Funktioner:

  • Følger åbne standarder for API’er som OpenAPI og JSON-schemas.
  • Datavalidering og serialisering
  • Automatisk dokumentation af din API
  • Moderne webramme
  • Baseret på Python 3.6+-funktioner som typedeklarationer
  • Typevalidering takket være Pydantic
  • Støtte til asynkron programmering

6. Pyramid

Pyramidehjemmeside med teksten “The start small, finish big, stay focused framework”.
Pyramid dokumentationsside…

Pyramid er en fleksibel og udvidelig webframework, der er velegnet til både små og store applikationer. Det er det søde punkt mellem et microframework som Flask og et full-stack framework som Django.

Pyramid indeholder de mest almindelige funktioner, du har brug for, når du udvikler en Python-webapplikation, men det giver dig mulighed for kun at fokusere på de komponenter, du har brug for til dit projekt.

Funktioner:

  • Letvægt og fleksibel
  • Understøttelse af Mako-skabelonsproget
  • Nem implementering af autentificering og autorisering
  • WSGI-kompatible forespørgsels- og svarobjekter
  • Enkel testning og fejlfinding med indbyggede testhjælpere og en interaktiv debugger
  • Biblioteker og plugins fra tredjepart med nem integration

7. Tornado

Dokumentationssiden for Tornado-webframework med et
Tornado webramme.

Tornado er en asynkron webframework og et netværksbibliotek med åben kildekode til opbygning af webapplikationer ved hjælp af Python. Det blev oprindeligt udviklet hos FriendFeed, en aggregator for sociale medier, som senere blev opkøbt af Facebook. Det anvendes nu i vid udstrækning i en række applikationer, herunder webtjenester, realtidsanalyser og andre applikationer med høj hastighed.

Tornado er optimeret til at håndtere et stort antal samtidige forbindelser, hvilket gør den velegnet til applikationer, der kræver en langvarig forbindelse til hver enkelt bruger (f.eks. chat-apps, bots og webscrapers).

Funktioner:

  • Skalerbar (kan håndtere tusindvis af åbne forbindelser)
  • Brugerdefinerede tornadoskabeloner
  • Indbygget brugergodkendelse
  • WebSockets- og long-polling-funktioner
  • Muligheder for autentificering fra tredjepart
  • Støtte til internationalisering

GUI-framework

Følgende Python-frameworks til grafiske brugergrænseflader (GUI) giver en lang række værktøjer og funktioner til oprettelse af desktop-programmer, herunder understøttelse af begivenhedsdrevet programmering, widgets og grafik.

8. PyQt

Logoet for PyQt-framework med Python-logoet i midten og Qt-logoet i det øverste hjørne.

PyQt er et af de mest populære sæt Python-bindinger til Qt-rammen for tværplatformsapplikationer på tværs af platforme. Denne ramme kombinerer på perfekt vis enkelheden i Python som et alment sprog og den kraftfulde Qt-applikationsframework bygget i C++.

Husk på, at PyQt leveres med to licensmuligheder:

  • GPLv3: Gratis at bruge, men alle, du distribuerer det til, kan videredistribuere det (sandsynligvis gratis)
  • Kommerciel: Du kan holde din kode privat, så du kan tjene penge på dit arbejde, men du skal betale for en licens for hver udvikler, der bruger den (i øjeblikket 550 dollars pr. udvikler)

Funktioner:

  • Understøttet af Riverbank
  • Hændelsesdrevet programmering til håndtering af brugerinteraktioner
  • Integration med andre biblioteker og frameworks
  • Internationalisering og lokaliseringsstøtte
  • Adgang til et stort antal funktionaliteter fra Qt-biblioteket
  • Understøttelse af multimedier, WebKit og WebEngine, databaseintegration
  • Kompatibilitet på tværs af platforme med Windows, Linux og macOS

9. Tkinter

Tkinter lommeregner, udfører operationen
Tkinter-regnemaskine.

Tkinter er en indbygget Python GUI-frameworken. Det er en del af standardbiblioteket, så du behøver ikke at installere yderligere afhængigheder.

I lighed med PyQt (som bruger Qt) bruger Tkinter et værktøjssæt til grafiske brugergrænseflader kaldet Tk. Det giver også et sæt værktøjer til at skabe forskellige widgets såsom knapper, etiketter, tekstbokse og menuer.

Generelt er Tkinter en god måde til hurtigt at skabe små GUI-programmer, men på grund af dens forældede udseende er det måske bedre at vælge en kraftigere framework til større projekter.

Funktioner:

  • Understøttelse af almindelige widgets, der bruges i GUI-applikationer
  • Hændelsesdrevet programmering til håndtering af brugerinteraktioner
  • Indbygget understøttelse af billeder og farver
  • Kompatibilitet på tværs af platforme med Windows, Linux og macOS
  • En del af standardbiblioteket
  • Letvægts

10. Kivy

Kivy-websted, der viser dokumenterne, galleriet og blogsiderne og call to action “Get started!”.
Kivy-websted.

Kivy er en open source-ramme til at skabe mobil og desktop applikationer på tværs af platforme med Python. Det er velegnet til at skabe interaktive og visuelt tiltalende applikationer, f.eks. spil og multi-touch-applikationer, og dets vigtigste salgsargument er en enkelt kodebase til alle større platforme (Windows, Linux, macOS, iOS og Android).

I modsætning til PyQt er Kivy gratis og open source, er ikke en indpakning omkring et eksternt UI-bibliotek og er licenseret under MIT-licensen, hvilket betyder, at du kan sende og tjene penge på dine Kivy-apps.

Funktioner:

  • Open source-værktøjssæt til at skabe multi-touch-apps
  • Understøttelse af forskellige platforme, herunder mobil og desktop
  • Indbygget understøttelse af grafik, animationer og UI-elementer
  • Kan integreres med andre biblioteker og frameworks

11. PySide

Pyside rammelogo, med byline
PySide GUI-framework.

Pyside er et open source-værktøjssæt til at skabe multiplatformsapplikationer. Det er baseret på Qt-biblioteket (svarende til PyQt) og giver adgang til en lang række funktionaliteter.

Pyside understøtter også flere inputmetoder og begivenhedsstyret programmering og indeholder indbygget understøttelse af grafik og multimedier.

Fordi det er licenseret under LGPL kan du lettere skabe proprietær software. Det bakkes op af Qt-firmaet og understøtter Linux, macOS og Windows.

Funktioner:

  • LGPL-licenseret
  • Støttet af Qt-selskabet
  • Støtte til visning af billeder, videoer og andre typer medier i dit program
  • Tre versioner til brug med henholdsvis Qt4, Qt5 og Qt6

12. PySimpleGUI

PySimpleGUI varemærke med et roteret Python-logo over sig.
PySimpleGUI.

PySimpleGUI har vundet popularitet i Python-fællesskabet på grund af dets enkle og brugervenlige API.

Det er en god mulighed for at skabe enkle og brugervenlige grafiske brugergrænseflader i Python og giver dig mulighed for at tilføje en GUI til dine allerede fungerende scripts ret nemt. PySimpleGUI indhyller kraften i 4 forskellige GUI-biblioteker, PySide, Tkinter, wxPython og Remi.

Funktioner:

  • Stor dokumentation
  • Enkel at lære og bruge
  • Fuldt sæt af widgets, der er klar til brug
  • Støtte til Python 3.4+

Python Machine Learning Frameworks

Følgende er Python-softwarebiblioteker, der leverer forudbygget funktionalitet og værktøjer til at hjælpe udviklere med at opbygge og implementere maskinlæringsmodeller, der understøtter almindelige opgaver som f.eks. dataprebehandling, modeltræning og evaluering samt værktøjer til implementering af modeller til produktion.

13. scikit-learn

Farverigt logo med
scikit-learn-ramme.

scikit-learn er det mest populære maskinlæringsbibliotek, der bruges både i den teknologiske industri og i den akademiske verden.

Det giver effektive værktøjer til almindelige ML-opgaver, og det er bygget oven på andre videnskabelige biblioteker som Numpy og SciPy.

Funktioner:

  • Gratis og open source
  • Effektive værktøjer til datamining og dataanalyse
  • Giver en bred vifte af algoritmer til klassifikation, regression, clustering og dimensionalitetsreduktion
  • Aktivt fællesskab og udvikling, med veldokumenteret API og tutorials

14. TensorFlow

TensorFlow-logoet består af et halvt T og et F og navnet
TensorFlow.

TensorFlow er en open source-platform til opbygning og implementering af maskinlæringsmodeller. Den blev udviklet af Google Brain-holdet i 2015 og er et kraftfuldt bibliotek til dyb læring med en lang række værktøjer til at opbygge og træne neurale netværk.

TensorFlow kan bruges til en række forskellige opgaver, f.eks. billed- og sprogbehandling, talegenkendelse og forudsigelsesanalyse.

Funktioner:

  • Værktøjer til at opbygge neurale netværk
  • Støtte til mobil og webimplementering ved hjælp af TensorFlow.js og TensorFlow Lite
  • Værktøjer til visualisering og fejlfinding, f.eks. TensorBoard
  • Fleksibilitet til at køre på flere platforme, herunder CPU’er, GPU’er og TPU’er
  • Fås i Python, C og C++

15. PyTorch

Logotype af en flamme, og ordet
PyTorch-logo.

Sammen med TensorFlow er PyTorch (udviklet af Facebooks AI-forskningsgruppe) et af de mest anvendte værktøjer til opbygning af deep learning-modeller. Det kan bruges til en række forskellige opgaver såsom computervision, behandling af naturligt sprog og generative modeller.

Funktioner:

  • Omfattende dokumentation og et stort fællesskab af udviklere
  • Nem integration med cloud-understøttelse
  • Let at lære, med brugervenlige værktøjer
  • En mere Pythonisk følelse end andre frameworks
  • Gratis og open-source

16. Keras

Logo sammensat af et
Keras-frameworken for dyb læring.

Keras er en ramme for dyb læring på højt niveau, der kan køre oven på TensorFlow, Theano og CNTK. Det blev udviklet af François Chollet i 2015 og er designet til at give en enkel og brugervenlig grænseflade til opbygning og træning af deep learning-modeller.

Keras giver byggeklodserne til hurtigt at opbygge maskinlæringsmodeller. Det er derfor, at det er meget anvendt i datavidenskabs-konkurrencer som Kaggle’s.

Funktioner:

  • Enkel og brugervenlig grænseflade til opbygning og træning af deep learning-modeller
  • Støtte til opbygning og træning af neurale netværk ved hjælp af en bred vifte af arkitekturer og optimeringsværktøjer
  • Inkluderer et kraftfuldt økosystem af biblioteker og værktøjer til deep learning, såsom Keras Tuner og KerasRL
  • Fleksibilitet til at køre på flere backends såsom TensorFlow, CNTK eller Theano
  • Støtte til distribueret databehandling
  • Indbygget støtte til modelvisualisering og fejlfinding

Python-frameworks for videnskabelig beregning

Disse frameworks hjælper studerende, videnskabsfolk og forskere med at udføre deres opgaver uden at fokusere på detaljerne på lavt niveau i beregningen.

Frameworks til videnskabelige beregninger indeholder ofte funktionalitet til lineær algebra, optimering, interpolation, integration og andre almindelige opgaver inden for videnskabelige beregninger.

17. NumPy

Numpy-logo dannet med en 3D-terning og ordet
Numpy-logo.

NumPy er et bibliotek til videnskabelig databehandling, der er designet til at håndtere flerdimensionale arrays og matricer af numeriske data. Det indeholder også en lang række matematiske funktioner til at operere på disse arrays.

NumPy er grundstenen for mange andre Python-biblioteker og -frameworks, der anvendes inden for datalogi, herunder SciPy, Pandas, scikit-learn og Tensorflow.

Funktioner:

  • Håndterer flerdimensionale arrays med lethed
  • Understøttelse af matematiske værktøjer såsom lineære algebra-rutiner, Fouriertransformationer og generering af tilfældige tal
  • Omfattende bibliotek af matematiske funktioner
  • Hurtigere sammenlignet med vanilla Python-operationer (nogle implementeringer er lavet i C)
  • Understøttelse af en lang række forskellige former for hardware

18. SciPy

Scipy ord dekoreret med logoet af en slange inde i en cirkel.
Scipy-logo.

SciPy tilbyder en samling algoritmer og funktioner bygget oven på NumPy. Det hjælper med at udføre almindelige videnskabelige og tekniske opgaver såsom optimering, signalbehandling, integration, lineær algebra og meget mere.

Funktioner:

  • Gratis og open source
  • Definerer algoritmer og funktioner til videnskabelige og tekniske opgaver
  • Levende fællesskab og god dokumentation
  • Tilgængelig for alle programmører, uanset deres erfaringsniveau

19. Pandas

Pandas.logo
Pandas-logo.

Pandas er et kraftfuldt og fleksibelt open source-bibliotek, der bruges til at udføre dataanalyse i Python. Det indeholder højtydende datastrukturer (f.eks. den berømte DataFrame) og dataanalyseværktøjer, der gør det nemt at arbejde med strukturerede data.

Funktioner:

  • Data strukturer med høj ydeevne, såsom DataFrame og Series
  • Støtte til læsning og skrivning af data til og fra flere formater, herunder CSV, Excel og SQL
  • Gør det lettere at analysere data fra den virkelige verden
  • Baserer sig på andre datavidenskabspakker som scikit-learn

20. Matplotlib

Matplotlib-logo med en graf, der erstatter bogstavet
Matplotlib-logo.

Matplotlib er et meget anvendt værktøj til datavisualisering i Python. Det giver et objektorienteret API til indlejring af plot i applikationer.

Det er designet til at kunne tilpasses i høj grad, og det giver en bred vifte af muligheder for at oprette plot, diagrammer og visualiseringer. Af disse grunde bruges Matplotib ofte i projekter inden for datalogi, maskinlæring og videnskabelig databehandling.

Funktioner:

  • Understøttelse af 2D- og 3D-plotting
  • Kan fremkalde interaktive figurer
  • Normalt indlejret i Jupyter-notebooks og GUI-applikationer
  • Omfattende dokumentation og et levende fællesskab

Python-testrammer

Disse frameworks handler om at hjælpe dig i den kedelige proces med at teste din kode.

Hvis du bruger testdreven udvikling (TDD), er følgende frameworks et must i din arbejdsgang.

21. Pytest

Pytest-logo sammensat af ordet
Pytest-logo.

Pytest er et bredt vedtaget testframework, der er designet til at være let at bruge og udvide. Det hjælper dig med at skrive elegante tests i både små og komplekse Python-kodebaser.

Funktioner:

  • Enkel at lære og bruge
  • Mere end 800 plugins er tilgængelige
  • Indstiller en arbejdsgang til at oprette enhedstests
  • Detaljerede fejloplysninger

22. Unittest

Unittest test framework.
Unittest test framework.

Unittest er en indbygget Python-testramme, der er baseret på xUnit-testkonventionerne. Det giver en pythonisk og objektorienteret måde at skabe automatiserede testtilfælde og testsuits på.

Funktioner:

  • Enkel og brugervenlig grænseflade til at skrive og køre tests
  • Test for parameterisering, fixtures og markører
  • Kan fungere i kombination med pytest eller nose
  • En del af Pythons standardbibliotek

23. nose2

nose framework logo med sætningen “is nicer testing for Python”.
nose testing framework.

nose2 er efterfølgeren til nose testing framework, med den væsentligste forskel, at nose2 understøtter moderne Python-versioner.

nose2 udvider det indbyggede unittest-bibliotek og giver en mere kraftfuld og fleksibel måde at skrive og køre tests på. Det er et udvideligt værktøj, så du kan bruge flere indbyggede plugins og plugins fra tredjeparter til din fordel.

Funktioner:

  • Kan udvides med plugins
  • Baseret på den indbyggede unittest
  • Understøttelse af Python 3

Asynkrone rammebygninger

Disse typer Python-rammer leverer et sæt værktøjer og biblioteker, der gør det muligt for udviklere at skrive asynkron kode på en mere håndterbar og effektiv måde.

24. asyncio

Python-logo ved siden af ordet
asyncio.

asyncio er kernen i mange andre asynkrone rammeværker. Det giver udviklere mulighed for at skrive samtidig kode ved hjælp af async/await-syntaksen, og det er designet til at håndtere tusindvis af samtidige forbindelser.

asyncio giver et enkelt API til flere transportprotokoller såsom TCP, UDP, SSL/TLS og kommunikation med underprocesser.

Funktioner:

  • Indbygget i Python
  • Base for flere andre Python-frameworks
  • Indeholder API’er til at styre underprocesser og udføre netværks-IO
  • God dokumentation
  • En del af Pythons standardbibliotek

25. Aiohttp

Logo dannet af ordet
Aiohttp.

Aiohttp er en asynkron HTTP-klient/server-framework, der er bygget oven på asyncio-pakken. Det giver en enkel og intuitiv grænseflade til håndtering af HTTP-forespørgsler og -svar samt understøttelse af middleware, sessioner og andre webudviklingsværktøjer.

Funktioner:

  • Klient- og serverside HTTP-protokol
  • Håndterer et stort antal samtidige forbindelser
  • Giver dig mulighed for at bygge asynkrone webapps

Oversigt

Python-frameworks kan hjælpe med at fremme kodeorganisering, øge produktiviteten og gøre softwareudviklingsprocessen lettere og mere effektiv.

Som Python-udvikler er det ikke din opgave at blive ekspert i alle de 25 Python-rammer, vi præsenterede ovenfor, men snarere at udvælge dem, der interesserer dig mest, omhyggeligt, bygge projekter med dem, der virkelig begejstrer dig, og mestre disse en eller to frameworks fuldstændigt.

Har du et projekt, der er klar til produktion? Sørg for at få den bedste Applikation Hosting, du kan få! Kinstas applikationshostingløsninger er designet til projekter af enhver tænkelig størrelse, og det tager kun få minutter at implementere dem via GitHub.

Desuden får du de øjeblikkelige hastighedsstøvler, der følger med Googles C2-maskiner og Premium Tier Network, for ikke at nævne den stabilitet og sikkerhed, der tilbydes af Kinstas Cloudflare-integration.

Hvilke Python frameworks har du arbejdet med, og hvad har været din favorit? Del dine tanker i kommentarfeltet nedenfor.

Daniel Diaz

Daniel er en selvlært Python-udvikler, teknisk skribent og langtidslærer. Han nyder at skabe software fra bunden og forklare denne proces gennem fantastiske artikler. Følg ham på X: @DaniDiazTech