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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: jupyter_ydoc-3.0.1.tar.gz
  • Upload date:
  • Size: 956.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for jupyter_ydoc-3.0.1.tar.gz
Algorithm Hash digest
SHA256 cedae9f3ee0a77288317f21bb81848ed61674d1ba468b0c396c160a264a2106b
MD5 94b4e04cdf4318f0e9ae388e56e5c78b
BLAKE2b-256 fa52ad1028b20a2eb2efc01734c67bc22b2476cd2818739fc3509c4172e5ffdd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jupyter_ydoc-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a89b25c76e03de4110db53503a7bb6dae795da24d846e1e46a5fab6ea55bf9fb
MD5 1a08733acde43d615d65d8b714d98aad
BLAKE2b-256 9f3c8891a54f0d116c34a20442230978f492ee54b6af15d63a6916315aecb65a

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