You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/explanation/type-system.md
+23-2Lines changed: 23 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,7 +133,7 @@ Codec types use angle bracket notation:
133
133
|`<npy@>`| ❌ | ✅ | Schema | NpyRef (lazy) |
134
134
|`<object@>`| ❌ | ✅ | Schema | ObjectRef |
135
135
|`<hash@>`| ❌ | ✅ | Hash | bytes |
136
-
|`<filepath@>`| ❌ | ✅ |—| ObjectRef |
136
+
|`<filepath@>`| ❌ | ✅ |User-managed| ObjectRef |
137
137
138
138
### Plugin Codecs
139
139
@@ -177,7 +177,10 @@ DataJoint loads these entry points on first use, making third-party codecs indis
177
177
178
178
### `<blob>` — Serialized Python Objects
179
179
180
-
Stores NumPy arrays, dicts, lists, and other Python objects using DataJoint's custom binary serialization format.
180
+
Stores NumPy arrays, dicts, lists, and other Python objects using DataJoint's custom binary serialization format. The blob type has been in continuous use in DataJoint pipelines for 15+ years and maintains full backward compatibility. It provides an efficient way to serialize complex objects into an opaque binary string.
181
+
182
+
!!! note "Modern alternatives"
183
+
Schema-addressed codecs introduced in DataJoint 2.0 (`<npy@>`, `<object@>`, and plugin codecs) offer modern high-performance accessibility with transparent formats, lazy loading, and browsable storage paths—while maintaining rigorous data integrity and consistency. Consider these for new pipelines where interoperability and direct data access are priorities.
181
184
182
185
**Serialization format:**
183
186
@@ -361,3 +364,21 @@ class Network(dj.Computed):
361
364
2.**`<blob>`** for Python objects — NumPy arrays, dicts
362
365
3.**`@` suffix** for object store — `<blob@>`, `<object@>`
363
366
4.**Custom codecs** for domain-specific types
367
+
368
+
## See Also
369
+
370
+
**How-to Guides:**
371
+
372
+
-[Choose a Storage Type](../how-to/choose-storage-type.md) — Decision guide for selecting the right type
373
+
-[Configure Object Storage](../how-to/configure-storage.md) — Setting up stores for external data
374
+
-[Use Object Storage](../how-to/use-object-storage.md) — Working with `<blob@>`, `<attach@>`, `<object@>`
375
+
-[Use the npy Codec](../how-to/use-npy-codec.md) — Storing NumPy arrays as `.npy` files
376
+
-[Use Plugin Codecs](../how-to/use-plugin-codecs.md) — Installing and using third-party codecs
377
+
-[Create a Custom Codec](../how-to/create-custom-codec.md) — Building your own codec
378
+
379
+
**Reference:**
380
+
381
+
-[Type System Specification](../reference/specs/type-system.md) — Complete type reference
382
+
-[Codec API](../reference/specs/codec-api.md) — Codec class interface
383
+
-[npy Codec Specification](../reference/specs/npy-codec.md) — NpyRef and NpyCodec details
384
+
-[Object Store Configuration](../reference/specs/object-store-configuration.md) — Store settings reference
0 commit comments