Od Jupyteru k webovým aplikacím: Jak Mercury změnil pravidla hry
Od Jupyter notebooků k webovým aplikacím: Příběh frameworku Mercury
Problém, který notebooky skrývají
Jupyter notebooky jsou skvělé na exploraci dat, analýzu a rychlé prototypování. Většina datových vědců na nich staví svou práci. Jenže dříve nebo později narazíte na stejnou překážku – jak notebook předat někomu, kdo nepracuje s kódem, nebo ho proměnit v plnohodnotnou aplikaci?
Možnosti, které se nabízejí, obvykle nejsou ideální. Buď přepíšete vše v Flasku nebo FastAPI, nebo použijete Streamlit. Někdo se rozhodne strávit týdny učením webových technologií. Jiní zůstanou u statických exportů, které nikdo nemůže ovládat.
Mercury přichází s jiným přístupem. Váš notebook zůstává zdrojem pravdy a framework z něj rovnou vytvoří webovou aplikaci, kterou můžete nasadit do provozu.
Co Mercury odlišuje od ostatních
Mercury není jen další nástroj pro převod notebooků. Cílí na vývojáře, kteří chtějí zůstat v Pythonu po celou dobu vývoje.
Žádný JavaScript navíc: Celou aplikaci napíšete v Pythonu. Mercury se stará o webovou vrstvu, takže nemusíte přepínat mezi Pythonem, HTML a JavaScriptem.
Interaktivita bez zbytečného kódu: Přidáváte ovládací prvky přes jednoduchou Python syntaxi – slidery, tlačítka, textové pole nebo nahrávání souborů.
Okamžitá zpětná vazba: Změny se projeví hned, jakmile je napíšete. Nedochází k dlouhým čekáním na rebuildy nebo restartování serverů.
Optimalizace pro data: Mercury rozumí datově vědeckým pracovním postupům. Grafy se vykreslují přehledně, datové rámce se zobrazují elegantně a podporuje většinu vizualizační libraries.
Kde se Mercury hodí v praxi
Rychlé prototypování pro kliente: Dashboarďy a explorační nástroje vytvoříte v několikách hodinách namísto dnů. Klienti tak mohve přímo interagovat s prototypy.
Interní nástroje a analytické dashboarďy: Analýzy bez nutnosti budovat celou webovou infrastrukturu. Vaše práce se tak stává hned úkolovatelné pro tým.
Výukové materiály: Interactive tutorials a assignments, které studenti mohou měnit a experimentovat s nimi.
Automatizované reporting: Statické zprávy se transformujou do interactive documents, kde uživatelé parametrů přesouvají a scénáren explore.
Technické zázemění
Mercury pracuje s strukturou notebooku. Markdown cells se stávají dokumentací, code cells se transformují jako logic a widgets se stávají web components, kde uživatelé interactují.
Mercury podporuje Matplotlib, Plotly, Altair a další. Tak že nejsou locked do jednoho ecosystemu.