Metadata-Version: 2.4
Name: jupyter-rfb
Version: 0.5.4
Summary: Remote Frame Buffer for Jupyter
Project-URL: Homepage, https://github.com/vispy/jupyter_rfb
Project-URL: Documentation, https://jupyter-rfb.readthedocs.io/en/stable/
Project-URL: Repository, https://github.com/vispy/jupyter_rfb
Author: Almar Klein
License: MIT License
        
        Copyright (c) 2021-2025 - jupyter_rfb contributors
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Keywords: ipython,jupyter,remote frame buffer,visualization,widgets
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: IPython
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Multimedia :: Graphics
Requires-Python: >=3.9
Requires-Dist: ipywidgets<9,>=7.6.0
Requires-Dist: numpy
Provides-Extra: build
Requires-Dist: build; extra == 'build'
Requires-Dist: hatch-jupyter-builder; extra == 'build'
Requires-Dist: hatchling; extra == 'build'
Requires-Dist: twine; extra == 'build'
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: hatch-jupyter-builder; extra == 'dev'
Requires-Dist: hatchling; extra == 'dev'
Requires-Dist: ipywidgets; extra == 'dev'
Requires-Dist: nbsphinx; extra == 'dev'
Requires-Dist: numpy; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: simplejpeg; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Provides-Extra: docs
Requires-Dist: ipywidgets; extra == 'docs'
Requires-Dist: nbsphinx; extra == 'docs'
Requires-Dist: numpy; extra == 'docs'
Requires-Dist: sphinx; extra == 'docs'
Provides-Extra: lint
Requires-Dist: pre-commit; extra == 'lint'
Requires-Dist: ruff; extra == 'lint'
Provides-Extra: tests
Requires-Dist: pytest; extra == 'tests'
Requires-Dist: simplejpeg; extra == 'tests'
Description-Content-Type: text/markdown

# jupyter_rfb

Remote Frame Buffer for Jupyter

[![PyPI version](https://badge.fury.io/py/jupyter-rfb.svg)](https://badge.fury.io/py/jupyter-rfb)
[![CI](https://github.com/vispy/jupyter_rfb/actions/workflows/ci.yml/badge.svg)](https://github.com/vispy/jupyter_rfb/actions)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/vispy/jupyter_rfb/main?urlpath=lab/tree/examples/hello_world.ipynb)

## Introduction

The `jupyter_rfb` library provides a widget (an `ipywidgets` subclass)
that can be used in the Jupyter notebook and in JupyterLab to implement
a remote frame-buffer.

Images that are generated at the server are streamed to the client
(Jupyter) where they are shown. Events (such as mouse interactions) are
streamed in the other direction, where the server can react by
generating new images.

This *remote-frame-buffer* approach can be an effective method for
server-generated visualizations to be dispayed in Jupyter notebook/lab. For
example visualization created by tools like vispy, datoviz or pygfx.


## Scope

The above defines the full scope of this library; it's a base widget
that other libraries can extend for different purposes. Consequently,
these libraries don't have to each invent a Jupyter widget, and in
*this* library we can focus on doing that one task really well.


## Installation

To install use pip:

    $ pip install jupyter_rfb

For better performance, also ``pip install simplejpeg`` or ``pip install pillow``.
On older versions of Jupyter notebook/lab an extra step might be needed
to enable the widget.

To install into an existing conda environment:

    $ conda install -c conda-forge jupyter-rfb


## Developer notes

See [the contributor guide](https://jupyter-rfb.readthedocs.io/en/stable/contributing.html) on how to install ``jupyter_rfb``
in a dev environment, and on how to contribute.


## License

MIT
