Package: japper
Japper: A framework for building Jupyter-based web applicationsJapper is a framework for building Jupyter-based web applications. It is designed to be a lightweight, flexible, and
extensible framework that can be used to build a wide range of web applications.Why Japper?Problems with Jupyter-based web applications developmentJupyter is a popular open-source web application that provides a rich set of tools for building interactive web
applications. However, building Jupyter-based web applications can be challenging for several reasons:Time-consuming setup and configurationSetting up a development environment for Jupyter-based web applications can be time-consuming and error-prone.Managing dependencies and environment can be difficult, especially when working with multiple projects.Test and deployment can be complex.Limited frontend capabilities and extensibility of ipywidgetsJupyter provides a rich set of tools for building interactive web applications, but it has limited frontend
capabilities and extensibility.Building custom components and plugins can be challenging.Lack of debugging and error handlingJupyter provides limited support for debugging and error handling, making it difficult to diagnose and fix issues.Lack of architectural guidanceThere is no architectural guidance, making it difficult to build scalable and maintainable web applications.Solutions provided by JapperJapper is a framework for building Jupyter-based web applications easily and quickly. Here are some of the key features:Command-line interface for creating and managing Japper projectsCreate a new Japper project with pre-configured templates to get started quicklyManage dependencies and environment with a simple configuration fileBuild and run development and production versions using DockerDeploy to Docker registry or Kubernetes with a single commandAutomatically generate documentation for your Japper projectVue.js-based frontend for building interactive web applications utilizing ipyvuetifyProvide a rich set of components and utilities for building web applicationsSupport for custom components and pluginsImproved debugging and error handlingSupport for logging and error handlingGuided Model-View-Presenter (MVP) architectural patternSupport for building scalable and maintainable web applicationsSupport for building reusable components and pluginsGetting startedTo get started with Japper, you can install it using pip:pipinstalljapperOnce installed, you can create a new Japper project using thejappercommand-line interface:japperinitThis will create a new Japper project with pre-configured templates to get you started quickly.To run the development version of your Japper project, you can use thejapper run devcommand:japperrundevThis will start a development server, and you can open your Japper project in a web browser. By default, the development
server will run on port 8888. (You can visithttp://localhost:8888in your web browser to see your Japper project.)To build and run the production version of your Japper project, you can use thejapper run prodcommand:japperrunprodThis will build a production version of your Japper project and run it using Docker.To deploy your Japper project to a Docker registry, you can use thejapper deploy registrycommand:japperdeployregistryThis will build a production version of your Japper project and deploy it to a Docker registry. Japper will ask you for
the Docker registry URL and other configurations.To add a new page to your Japper project, you can use thejapper add pagecommand:japperaddpageThis will add a new page and corresponding files to your Japper project. Japper will ask you for the page name and other
configurations.
Japper will create a new page with pre-configured templates to get you started quickly. Specifically, 3 files are
created:A new View file in theapp/viewsfolderA new Presenter file in theapp/presentersfolderA new Model file in theapp/modelsfolderJapper also modifiesapp_main.pyto include the new page.To generate documentation for your Japper project, you can use thejapper doccommand:japperdocThis will generate documentation for your Japper project using pydoc3. You can find the documentation in thedocsfolderDocumentationTo be added