File: schema.md

package info (click to toggle)
jupyterlab 4.0.11%2Bds1%2B~cs11.25.27-7
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 43,496 kB
  • sloc: javascript: 18,395; python: 8,932; sh: 399; makefile: 95; perl: 33; xml: 1
file content (129 lines) | stat: -rw-r--r-- 2,238 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Schemas

Yjs is untyped. We must know what each attribute contains at build-time and cast its values when accessing them. It is essential to ensure both models use the same schema, to prevent errors at run-time because of a wrong cast. For this purpose, in the following sections, we can find the description of the schema used by each model in case we want to extend them to create a custom model.

## YFile

```typescript
{
	/**
	 * Contains the state of the document.
	 * At the moment the only mandatory attributes are path and dirty.
	*/
	"state": YMap<string, any>,
	/**
	 * Contains the content of the document.
	*/
	"source": YText

}
```

### state:
```typescript
{
	/**
	 * Whether the document is dirty.
	*/
	"dirty": bool,
	/**
	 * Document's path.
	*/
	"path": str
}
```

## YNotebook

```typescript
{
	/**
	 * Contains the state of the document.
	 * At the moment the only mandatory attributes are path and dirty.
	*/
	"state": YMap<string, any>,
	/**
	 * Contains document's metadata.
	 *
	 * Note: Do not confuse it with the notebook's metadata attribute,
	 * "meta" has `nbformat`, `nbformat_minor`, and `metadata`
	*/
	"meta": YMap<string, any>,
	/**
	 * The list of YMap that stores the data of each cell.
	*/
	"cells": YArray<YMap<string, any>>
}
```

### state:
```typescript
{
	/**
	 * Whether the document is dirty.
	*/
	"dirty": bool,
	/**
	 * Document's path.
	*/
	"path": str
}
```

### meta:
```typescript
{
	/**
	 * The version of the notebook format supported by the schema.
	*/
	"nbformat": number,
	/**
	 * The minor version of the notebook format.
	*/
	"nbformat_minor": number,
	/**
	 * Notebook's metadata.
	*/
	"metadata": YMap<string, any>
}
```

### cells
```typescript
[
	/**
	 * The following JSON object is actually a YMap that contains
	 * the described attributes.
	*/
	{
		/**
		 * Cell's id.
		*/
		"id": str,
		/**
		 * Cell type.
		*/
		"cell_type": str,
		/**
		 * The content of the cell (the code).
		*/
		"source": YText,
		/**
		 * Cell's metadata.
		*/
		"metadata": YMap<string, any>,
		/**
		 * The execution count.
		*/
		"execution_count": Int | None,
		/**
		 * Cell's outputs.
		*/
		"outputs": [] | None,
		/**
		 * Cell's attachments.
		*/
		"attachments": {} | None
	}
]
```