<img src="logo.png" alt="logo" width="150"/>
# Japper: A framework for building Jupyter-based web applications
Japper 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.
**Note: This project is still in the early stages of development, and the documentation is a work in progress. Please
check back later for updates.**
## Why Japper?
### Problems with Jupyter-based web applications development
Jupyter 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 configuration
- Setting 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 ipywidgets
- Jupyter 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 handling
- Jupyter provides limited support for debugging and error handling, making it difficult to diagnose and fix issues.
- Lack of architectural guidance
- There is no architectural guidance, making it difficult to build scalable and maintainable web applications.
### Solutions provided by Japper
Japper 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 projects
- Create a new Japper project with pre-configured templates to get started quickly
- Manage dependencies and environment with a simple configuration file
- Build and run development and production versions using Docker
- Deploy to Docker registry or Kubernetes with a single command
- Automatically generate documentation for your Japper project
- Vue.js-based frontend for building interactive web applications utilizing ipyvuetify
- Provide a rich set of components and utilities for building web applications
- Support for custom components and plugins
- Improved debugging and error handling
- Support for logging and error handling
- Guided Model-View-Presenter (MVP) architectural pattern
- Support for building scalable and maintainable web applications
- Support for building reusable components and plugins
## Getting started
To get started with Japper, you can install it using pip:
```bash
pip install japper
```
Note that Japper currently support Linux and MacOS only.
Once installed, you can run japper commands from the command line.
```bash
japper
```
### Japper Forge
Japper Forge is a web-based tool that allows you to create and manage Japper projects. You can access Japper Forge by
running the following command:
```bash
japper forge
```
This will start a web server, and Japper Forge will automatically open in your web browser.
### Japper CLI
You can create a new Japper project using the `japper` command-line interface:
```bash
japper init
```
This will create a new Japper project with pre-configured templates to get you started quickly.
Enter the project directory after creating the project:
```bash
cd <project_name>
```
To run the development version of your Japper project, you can use the `japper run dev` command:
```bash
japper run dev
```
This 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 visit `http://localhost:8888` in your web browser to see your Japper project.)
To build and run the production version of your Japper project, you can use the `japper run prod` command:
```bash
japper run prod
```
This 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 the `japper deploy registry` command:
```bash
japper deploy registry
```
This 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 generate documentation for your Japper project, you can use the `japper doc` command:
```bash
japper doc
```
This will generate documentation for your Japper project using pydoc3. You can find the documentation in the `docs`
folder
## Documentation
To be added
Raw data
{
"_id": null,
"home_page": null,
"name": "japper",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "japper, Jupyter, ipyvuetify, voila",
"author": null,
"author_email": "\"Kim, I Luk\" <yirugi@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/1c/26/d56936403d86a1cbaae5bb431e6ca97ad317e35db89f28a76293efc62c40/japper-0.0.25.tar.gz",
"platform": null,
"description": "<img src=\"logo.png\" alt=\"logo\" width=\"150\"/>\n\n# Japper: A framework for building Jupyter-based web applications\n\nJapper is a framework for building Jupyter-based web applications. It is designed to be a lightweight, flexible, and\nextensible framework that can be used to build a wide range of web applications.\n\n**Note: This project is still in the early stages of development, and the documentation is a work in progress. Please\ncheck back later for updates.**\n\n## Why Japper?\n\n### Problems with Jupyter-based web applications development\n\nJupyter is a popular open-source web application that provides a rich set of tools for building interactive web\napplications. However, building Jupyter-based web applications can be challenging for several reasons:\n\n- Time-consuming setup and configuration\n - Setting up a development environment for Jupyter-based web applications can be time-consuming and error-prone.\n - Managing dependencies and environment can be difficult, especially when working with multiple projects.\n - Test and deployment can be complex.\n- Limited frontend capabilities and extensibility of ipywidgets\n - Jupyter provides a rich set of tools for building interactive web applications, but it has limited frontend\n capabilities and extensibility.\n - Building custom components and plugins can be challenging.\n- Lack of debugging and error handling\n - Jupyter provides limited support for debugging and error handling, making it difficult to diagnose and fix issues.\n- Lack of architectural guidance\n - There is no architectural guidance, making it difficult to build scalable and maintainable web applications.\n\n### Solutions provided by Japper\n\nJapper is a framework for building Jupyter-based web applications easily and quickly. Here are some of the key features:\n\n- Command-line interface for creating and managing Japper projects\n- Create a new Japper project with pre-configured templates to get started quickly\n- Manage dependencies and environment with a simple configuration file\n- Build and run development and production versions using Docker\n- Deploy to Docker registry or Kubernetes with a single command\n- Automatically generate documentation for your Japper project\n- Vue.js-based frontend for building interactive web applications utilizing ipyvuetify\n - Provide a rich set of components and utilities for building web applications\n - Support for custom components and plugins\n- Improved debugging and error handling\n - Support for logging and error handling\n- Guided Model-View-Presenter (MVP) architectural pattern\n - Support for building scalable and maintainable web applications\n - Support for building reusable components and plugins\n\n## Getting started\n\nTo get started with Japper, you can install it using pip:\n\n```bash\npip install japper\n```\n\nNote that Japper currently support Linux and MacOS only.\n\nOnce installed, you can run japper commands from the command line.\n\n```bash\njapper\n```\n\n### Japper Forge\n\nJapper Forge is a web-based tool that allows you to create and manage Japper projects. You can access Japper Forge by\nrunning the following command:\n\n```bash\njapper forge\n```\n\nThis will start a web server, and Japper Forge will automatically open in your web browser.\n\n### Japper CLI\n\nYou can create a new Japper project using the `japper` command-line interface:\n\n```bash\njapper init\n```\n\nThis will create a new Japper project with pre-configured templates to get you started quickly.\n\nEnter the project directory after creating the project:\n\n```bash\ncd <project_name>\n```\n\nTo run the development version of your Japper project, you can use the `japper run dev` command:\n\n```bash\njapper run dev\n```\n\nThis will start a development server, and you can open your Japper project in a web browser. By default, the development\nserver will run on port 8888. (You can visit `http://localhost:8888` in your web browser to see your Japper project.)\n\nTo build and run the production version of your Japper project, you can use the `japper run prod` command:\n\n```bash\njapper run prod\n```\n\nThis will build a production version of your Japper project and run it using Docker.\n\nTo deploy your Japper project to a Docker registry, you can use the `japper deploy registry` command:\n\n```bash\njapper deploy registry\n```\n\nThis will build a production version of your Japper project and deploy it to a Docker registry. Japper will ask you for\nthe Docker registry URL and other configurations.\n\nTo generate documentation for your Japper project, you can use the `japper doc` command:\n\n```bash\njapper doc\n```\n\nThis will generate documentation for your Japper project using pydoc3. You can find the documentation in the `docs`\nfolder\n\n## Documentation\n\nTo be added\n\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Japper",
"version": "0.0.25",
"project_urls": null,
"split_keywords": [
"japper",
" jupyter",
" ipyvuetify",
" voila"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e49c3ac85a64c52744263e59263a599bc232e63db41ef8ae15f76de8db7fc952",
"md5": "ff045f09ba5e01884548af21eec0374f",
"sha256": "857c11a4416aeb23bcacda1058bffbe86d07cdd47e781530350489d4e3298f72"
},
"downloads": -1,
"filename": "japper-0.0.25-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ff045f09ba5e01884548af21eec0374f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 2526904,
"upload_time": "2024-09-24T07:06:12",
"upload_time_iso_8601": "2024-09-24T07:06:12.681257Z",
"url": "https://files.pythonhosted.org/packages/e4/9c/3ac85a64c52744263e59263a599bc232e63db41ef8ae15f76de8db7fc952/japper-0.0.25-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1c26d56936403d86a1cbaae5bb431e6ca97ad317e35db89f28a76293efc62c40",
"md5": "f5adbf0faaef8f192061cefb196a33d5",
"sha256": "4b1442467424863fd1ca43ba22888a7390556c8b68a90761c508b4d740ceaece"
},
"downloads": -1,
"filename": "japper-0.0.25.tar.gz",
"has_sig": false,
"md5_digest": "f5adbf0faaef8f192061cefb196a33d5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 2444208,
"upload_time": "2024-09-24T07:06:15",
"upload_time_iso_8601": "2024-09-24T07:06:15.275908Z",
"url": "https://files.pythonhosted.org/packages/1c/26/d56936403d86a1cbaae5bb431e6ca97ad317e35db89f28a76293efc62c40/japper-0.0.25.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-24 07:06:15",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "japper"
}