Skip to main content

Document structures for collaborative editing using Ypy

Project description

Build Status Code style: black PyPI npm (scoped)

jupyter_ydoc

jupyter_ydoc provides pycrdt-based data structures for various documents used in the Jupyter ecosystem. Built-in documents include:

  • YBlob: a generic immutable binary document.
  • YUnicode: a generic UTF8-encoded text document (YFile is an alias to YUnicode).
  • YNotebook: a Jupyter notebook document.

These documents are registered via an entry point under the "jupyter_ydoc" group as "blob", "unicode" (or "file"), and "notebook", respectively. You can access them as follows:

from jupyter_ydoc import ydocs

print(ydocs)
# {
#     'blob': <class 'jupyter_ydoc.yblob.YBlob'>,
#     'file': <class 'jupyter_ydoc.yfile.YFile'>,
#     'notebook': <class 'jupyter_ydoc.ynotebook.YNotebook'>,
#     'unicode': <class 'jupyter_ydoc.yunicode.YUnicode'>
# }

Which is just a shortcut to:

from importlib.metadata import entry_points
# for Python < 3.10, install importlib_metadata and do:
# from importlib_metadata import entry_points

ydocs = {ep.name: ep.load() for ep in entry_points(group="jupyter_ydoc")}

Or directly import them:

from jupyter_ydoc import YBlob, YUnicode, YNotebook

The "jupyter_ydoc" entry point group can be populated with your own documents, e.g. by adding the following to your package's pyproject.toml:

[project.entry-points.jupyter_ydoc]
my_document = "my_package.my_file:MyDocumentClass"

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyter_ydoc-3.0.0a7.tar.gz (956.0 kB view details)

Uploaded Source

Built Distribution

jupyter_ydoc-3.0.0a7-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file jupyter_ydoc-3.0.0a7.tar.gz.

File metadata

  • Download URL: jupyter_ydoc-3.0.0a7.tar.gz
  • Upload date:
  • Size: 956.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for jupyter_ydoc-3.0.0a7.tar.gz
Algorithm Hash digest
SHA256 8c602466b8417713b0b953d867e13f5b5353e7423bc6b31c9fcf628f2a768b1a
MD5 470e8966d914cdf2764f615cf49f1dc0
BLAKE2b-256 5f12b9ab0cb19e269e7a2da2933beb7af66d2792c13a0892def0d0c5ca2b3a93

See more details on using hashes here.

File details

Details for the file jupyter_ydoc-3.0.0a7-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyter_ydoc-3.0.0a7-py3-none-any.whl
Algorithm Hash digest
SHA256 f2e30d58744bf074415e3301d598089896664549cc0fbee186126526a6bec2c8
MD5 69805b3a5bd2c336c500cf1294b6680e
BLAKE2b-256 eab05313fa7ca1805eac074f0635d49162163d2fc102d6d4accf83eb78b3e0a7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page