ypywidgets


Nameypywidgets JSON
Version 0.7.0 PyPI version JSON
download
home_pageNone
SummaryY-based Jupyter widgets for Python
upload_time2024-04-19 12:20:11
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/davidbrochart/ypywidgets/workflows/CI/badge.svg)](https://github.com/davidbrochart/ypywidgets/actions)

# 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/davidbrochart/pycrdt) CRDT implementation.
- the [declare](https://github.com/willmcgugan/declare) 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/davidbrochart/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/dc/ec/03712051616840c6de42b9776a2abb7d27d4054e9fa498f901cba5e79dd4/ypywidgets-0.7.0.tar.gz",
    "platform": null,
    "description": "[![Build Status](https://github.com/davidbrochart/ypywidgets/workflows/CI/badge.svg)](https://github.com/davidbrochart/ypywidgets/actions)\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/davidbrochart/pycrdt) CRDT implementation.\n- the [declare](https://github.com/willmcgugan/declare) 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/davidbrochart/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.7.0",
    "project_urls": {
        "Homepage": "https://github.com/davidbrochart/ypywidgets"
    },
    "split_keywords": [
        "jupyter",
        " widgets",
        " yjs"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c27b59e4ffee3fb8d0a07cec88bf004512bedbbd86545439984ee5b4c079ab87",
                "md5": "968f320ce4ad33ef25190f54547fae85",
                "sha256": "b6cfdeb11e36882a0ab1fcca1dad061fadce04d90e30174647ac4e27a9e84c89"
            },
            "downloads": -1,
            "filename": "ypywidgets-0.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "968f320ce4ad33ef25190f54547fae85",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5944,
            "upload_time": "2024-04-19T12:20:09",
            "upload_time_iso_8601": "2024-04-19T12:20:09.500479Z",
            "url": "https://files.pythonhosted.org/packages/c2/7b/59e4ffee3fb8d0a07cec88bf004512bedbbd86545439984ee5b4c079ab87/ypywidgets-0.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dcec03712051616840c6de42b9776a2abb7d27d4054e9fa498f901cba5e79dd4",
                "md5": "4777e2f5c07dc1ab7bc395be0b97deaf",
                "sha256": "e0b6a7a1e57afa22a2d6631fb15eb7c93b847452e5a20faf63d44bd620467fdb"
            },
            "downloads": -1,
            "filename": "ypywidgets-0.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "4777e2f5c07dc1ab7bc395be0b97deaf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 4497,
            "upload_time": "2024-04-19T12:20:11",
            "upload_time_iso_8601": "2024-04-19T12:20:11.966296Z",
            "url": "https://files.pythonhosted.org/packages/dc/ec/03712051616840c6de42b9776a2abb7d27d4054e9fa498f901cba5e79dd4/ypywidgets-0.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-19 12:20:11",
    "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.28559s