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

This version

3.1.0

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.1.0.tar.gz (957.3 kB view details)

Uploaded Source

Built Distribution

jupyter_ydoc-3.1.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file jupyter_ydoc-3.1.0.tar.gz.

File metadata

  • Download URL: jupyter_ydoc-3.1.0.tar.gz
  • Upload date:
  • Size: 957.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for jupyter_ydoc-3.1.0.tar.gz
Algorithm Hash digest
SHA256 23d8b3c34b52472371b5c177f849c2a97842b1c634ed7419ca8d744635e29dbc
MD5 d4d95556820c6b7271c6d0b4505d0b0c
BLAKE2b-256 0f168384475fdff5f6e2459c1e0c9e5e760ffa277cb560232c01484032414e30

See more details on using hashes here.

File details

Details for the file jupyter_ydoc-3.1.0-py3-none-any.whl.

File metadata

  • Download URL: jupyter_ydoc-3.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for jupyter_ydoc-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9092550779591f699092489bbdccb626d590b2f93f86e4d53b851aa455e00f83
MD5 8e28cc230afcf2f144ba336ca8d3aa42
BLAKE2b-256 c48df3c5d7b57194b814836a187b617d0bd23e661d9d862bf3c0af49a32f43e8

See more details on using hashes here.

Supported by

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