ypywidgets


Nameypywidgets JSON
Version 0.9.7 PyPI version JSON
download
home_pageNone
SummaryY-based Jupyter widgets for Python
upload_time2025-02-04 08:32:55
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords jupyter widgets yjs
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Build Status](https://github.com/QuantStack/ypywidgets/workflows/test/badge.svg)](https://github.com/QuantStack/ypywidgets/actions)
[![Code Coverage](https://img.shields.io/badge/coverage-100%25-green)](https://img.shields.io/badge/coverage-100%25-green)

# ypywidgets: Y-based Jupyter widgets for Python

`ypywidgets` is a communication backend between a Jupyter kernel and clients. It allows to synchronize data structures that can be modified concurrently, and automatically resolves conflicts. To do so, it uses:
- the Jupyter kernel [Comm](https://jupyter-client.readthedocs.io/en/stable/messaging.html#custom-messages) protocol as the transport layer, and the [comm](https://github.com/ipython/comm) implementation of it.
- the [pycrdt](https://github.com/jupyter-server/pycrdt) CRDT implementation.
- the [reacttrs](https://github.com/QuantStack/reacttrs) library that implements the observer pattern and validation.

It is a replacement for (a part of) [ipywidgets](https://ipywidgets.readthedocs.io). When used with [yjs-widgets](https://github.com/QuantStack/yjs-widgets), it supports JupyterLab clients that implement widgets. The difference with `ipywidgets` is that these widgets are collaborative: they can be manipulated concurrently from the kernel or from any client. The CRDT algorithm ensures that a widget state will eventually be consistent across all clients.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ypywidgets",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "jupyter, widgets, yjs",
    "author": null,
    "author_email": "David Brochart <david.brochart@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/46/54/548106c7c40ddc7f4d74cae984e0dd68d57dabb542e3ed4748021c4ce2a9/ypywidgets-0.9.7.tar.gz",
    "platform": null,
    "description": "[![Build Status](https://github.com/QuantStack/ypywidgets/workflows/test/badge.svg)](https://github.com/QuantStack/ypywidgets/actions)\n[![Code Coverage](https://img.shields.io/badge/coverage-100%25-green)](https://img.shields.io/badge/coverage-100%25-green)\n\n# ypywidgets: Y-based Jupyter widgets for Python\n\n`ypywidgets` is a communication backend between a Jupyter kernel and clients. It allows to synchronize data structures that can be modified concurrently, and automatically resolves conflicts. To do so, it uses:\n- the Jupyter kernel [Comm](https://jupyter-client.readthedocs.io/en/stable/messaging.html#custom-messages) protocol as the transport layer, and the [comm](https://github.com/ipython/comm) implementation of it.\n- the [pycrdt](https://github.com/jupyter-server/pycrdt) CRDT implementation.\n- the [reacttrs](https://github.com/QuantStack/reacttrs) library that implements the observer pattern and validation.\n\nIt is a replacement for (a part of) [ipywidgets](https://ipywidgets.readthedocs.io). When used with [yjs-widgets](https://github.com/QuantStack/yjs-widgets), it supports JupyterLab clients that implement widgets. The difference with `ipywidgets` is that these widgets are collaborative: they can be manipulated concurrently from the kernel or from any client. The CRDT algorithm ensures that a widget state will eventually be consistent across all clients.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Y-based Jupyter widgets for Python",
    "version": "0.9.7",
    "project_urls": {
        "Homepage": "https://github.com/davidbrochart/ypywidgets"
    },
    "split_keywords": [
        "jupyter",
        " widgets",
        " yjs"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3a07436016f1d704bde674b44e90d95101c8f8fabcc636294f30b356fc71b097",
                "md5": "bf20dfde4373091651d4dd409cfb3501",
                "sha256": "98afc04ae01db3d924b832199c60db993680786fe63ad9dabcf50698223e127b"
            },
            "downloads": -1,
            "filename": "ypywidgets-0.9.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bf20dfde4373091651d4dd409cfb3501",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5180,
            "upload_time": "2025-02-04T08:32:51",
            "upload_time_iso_8601": "2025-02-04T08:32:51.647775Z",
            "url": "https://files.pythonhosted.org/packages/3a/07/436016f1d704bde674b44e90d95101c8f8fabcc636294f30b356fc71b097/ypywidgets-0.9.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4654548106c7c40ddc7f4d74cae984e0dd68d57dabb542e3ed4748021c4ce2a9",
                "md5": "8e6fad16a914376928b5757c05cb8e1f",
                "sha256": "c80d8aa72fd0d1f0880ae66f2b57c311f64ae14a2615d84fbd9fba36628d43d4"
            },
            "downloads": -1,
            "filename": "ypywidgets-0.9.7.tar.gz",
            "has_sig": false,
            "md5_digest": "8e6fad16a914376928b5757c05cb8e1f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 5728,
            "upload_time": "2025-02-04T08:32:55",
            "upload_time_iso_8601": "2025-02-04T08:32:55.575402Z",
            "url": "https://files.pythonhosted.org/packages/46/54/548106c7c40ddc7f4d74cae984e0dd68d57dabb542e3ed4748021c4ce2a9/ypywidgets-0.9.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-04 08:32:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "davidbrochart",
    "github_project": "ypywidgets",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ypywidgets"
}
        
Elapsed time: 0.46011s