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.0a5.tar.gz (956.0 kB view details)

Uploaded Source

Built Distribution

jupyter_ydoc-3.0.0a5-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jupyter_ydoc-3.0.0a5.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.0a5.tar.gz
Algorithm Hash digest
SHA256 e7797b81e01f40d29436994a2b68f921adeabccb04ae72c534371cfe3fca5ad1
MD5 56cd289336899aed9b93e2cbfa5c5dba
BLAKE2b-256 19cf52ad79b61f846d473ae3a632729a3fc24e07552918f1323b07ec79fd2ae7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jupyter_ydoc-3.0.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 c89551820918a10156df430e2b37424dd1702fe1e42ca525d098c3d56d8601ef
MD5 ce7404f863b8cbaa8d431e58f24861df
BLAKE2b-256 2b218add08caf78f81a17b381483412c579ecc51812cc922a321620930ea2d36

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