Document structures for collaborative editing using Ypy
Project description
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 toYUnicode
).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.0a1.tar.gz
(955.4 kB
view hashes)
Built Distribution
Close
Hashes for jupyter_ydoc-3.0.0a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2503eed67cd9d5372170b681ec90c99914a7de97cf45acb6540ac8340ba05b13 |
|
MD5 | a508d9a337eb4d17d87d1e8077c3dbc8 |
|
BLAKE2b-256 | ba2f13cc220e6a9c7a561bf194413d3df913160b9db23d0e11692abc4b13d774 |