A framework for building interactive web applications directly from Python notebooks, including chats, AI agents, dashboards, and reports.
Mercury is a framework that converts Python notebooks into interactive web applications, such as chats, AI agents, dashboards, and reports. It solves the problem of sharing data analyses and models by enabling users to deploy them as functional web apps without rewriting code.
Data scientists, analysts, and Python developers who want to share notebook-based work as interactive web applications without learning full-stack web development.
Developers choose Mercury for its simplicity—no callbacks or UI design required—and its reactive notebook approach, which automatically updates outputs based on widget interactions, speeding up development and deployment.
Create web apps from Python notebooks
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Widget interactions automatically trigger notebook cell re-execution, eliminating complex callbacks and speeding up development, as emphasized in the README for building interactive apps.
With just `pip install mercury` and a `mercury` command, notebooks are served as web apps, reducing deployment overhead, and a Dockerfile is provided for easy containerization.
Includes widgets like Chat and ChatInput for dynamic interfaces, enabling AI agents and dashboards without additional coding, as shown in the echo bot example.
JupyterLab extension offers real-time app preview during development, enhancing productivity for data scientists, though limited to specific environments.
Live preview only works in JupyterLab and MLJAR Studio, not in Google Colab or VS Code, as admitted in the README, hindering development flexibility.
Customization is restricted to a few elements via TOML file, such as title and footer, with the team acknowledging they are 'actively working on more,' indicating current shortcomings.
User authentication is either basic password-based or a paid option, lacking built-in support for OAuth or role-based access, which may not meet security needs for production.