Mercury Framework: Fra notebook til færdig webapp
Fra Jupyter Notebooks til færdige webapps: Sådan gør Mercury det muligt
Notebook-problemet, de fleste rammer før eller siden
Jupyter notebooks er fantastiske til at udforske data og hurtigt teste idéer. De fleste data scientists bruger dem dagligt. Men før eller siden støder man på den samme udfordring: hvordan får man sin notebook gjort til noget, andre kan bruge uden at skulle åbne Jupyter selv?
De klassiske løsninger er sjældent ideelle. Man kan skrive alt om til Flask eller FastAPI. Man kan bruge Streamlit. Eller man kan bare dele en statisk HTML-fil, som ingen rigtigt kan interagere med.
Her kommer Mercury ind i billedet. Frameworket tager din notebook som udgangspunkt og laver automatisk en webapplikation ud af den.
Hvad Mercury gør anderledes
Mercury er ikke bare endnu et værktøj til at konvertere notebooks. Det er lavet til udviklere, der vil blive i Python hele vejen.
Ingen JavaScript nødvendig: Du skriver alt i Python. Mercury klarer webdelen, så du slipper for at skifte mellem flere sprog.
Interaktivitet uden besvær: Du tilføjer sliders, knapper og input-felter med almindelig Python-kode. Intet behov for komplekse web-frameworks.
Øjeblikkelig feedback: Når du ændrer noget, ser du det med det samme. Du behøver ikke vente på at serveren genstarter.
Bygget til data: Visualiseringer og dataframes vises pænt, og alle de store plotting-biblioteker virker uden problemer.
Praktiske anvendelser
Mercury er særligt nyttig til hurtig prototyping over for kunder. Du kan lave interaktive dashboards på få timer. Det samme gælder interne værktøjer – din analyse bliver tilgængelig for hele teamet uden at du skal bygge en hel webinfrastruktur.
Også til undervisning er det interessant. Du kan lave tutorials, hvor eleverne selv kan eksperimentere med parametre. Og rapporter kan blive levende dokumenter, hvor modtageren kan justere værdier og se resultaterne med det samme.
Hvordan Mercury virker
Mercury læser din notebook og omsætter den til en webapplikation. Markdown-celler bliver til dokumentation, mens kode-celler bliver til funktionslogik. Widgetter bliver til interaktive elementer på websiden.
Frameworket understøtter alle de almindelige visualiseringsbiblioteker – Matplotlib, Plotly og Altair blandt dem. Du kan altså bruge de værktøjer, du allerede er fortrolig med.
Deployment og hosting
Mercury genererer en rigtig webapplikation, så du kan hoste den, hvor det passer dig. Det kan være på Heroku, AWS eller DigitalOcean. Du kan også køre den på din egen server eller integrere den med eksisterende login-systemer.
På NameOcean kan du køre Mercury-apps på en cloud-instans og dermed have fuld kontrol over miljøet, uden at du skal give afkald på den einfache udviklingsoplevelse.
Når Mercury er det rigtige valg
Mercury er ideelt, når din logik ligger i Python, du vil have hurtige iterationer, og din team er Python-stærkt men ikke vildt med webudvikling. Det passer også perfekt, når du bygger data-drevne tools og dashboards.
Hvis du derimod har brug for meget specielle UI-interaktioner, brandede designs eller stærk mobile optimering, så bør du måske kigge andre veje.
Kom i gang
Det er enkelt at starte med Mercury:
import mercury as mr
mr.Slider(label="Select a value", value=5, min=0, max=100)
mr.Button(label="Click me!")
mr.DataFrame(your_data)
Du tilføjer Mercury-komponenter til din notebook, og frameworket bygger resten. Dokumentationen er velfunderet, og det aktive GitHub-fællesskab er også en stor hjælp.
Den større sammenhæng
Mercury er del af en større trend – nemlig at gøre det nemmere at bygge applikationer uden at skulle kunne alt muligt webudvikling. En forsker eller data scientist skal ikke nødvendigvis blive JavaScript-ekspert,才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能才能<|eos|>