DataJoint 2.0 Release Plan #1256
Replies: 1 comment
-
|
Preparing for release in early January. Branch Summary:
|
| Category | Aliases |
|---|---|
| Numeric | int8, int16, int32, int64, uint8, uint16, uint32, uint64, float32, float64 |
| Boolean | bool → tinyint(1) |
6. Code Modernization
| Change | Details |
|---|---|
| Src layout | Code moved from datajoint/ to src/datajoint/ |
| Minimum versions | Python 3.10+, MySQL 8.0+ |
| Linting | Ruff formatter/linter replaces older tools |
| Dependencies | Added pydantic-settings, fsspec; updated pixi.lock |
| Pre-commit | Modernized configuration |
7. Testing Infrastructure
Files: tests/conftest.py (major refactor), new tests/schema_object.py, tests/schema_type_aliases.py
- Pytest-managed Docker containers for database startup
- Refactored fixtures for cleaner test isolation
- New test files:
test_object.py,test_type_aliases.py,test_attribute_type.py
Documentation Updates
| Type | Files |
|---|---|
| New specs | autopopulate-2.0-spec.md, object-type-spec.md |
| Updated | credentials.md, settings.md, customtype.md, attributes.md |
| New guides | docs/src/design/tables/object.md, docs/src/manipulation/insert.md additions |
Summary: This branch represents a major evolution of DataJoint Python, introducing a modern jobs system for distributed computing, a unified object storage layer, modernized settings management, and significant code quality improvements with Python 3.10+ baseline.
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
As we approach the final stages of development, we are excited to announce DataJoint 2.0, our first major release designed to align with the official DataJoint Specs 2.0
Target release date: Jan 2026
Tested Python Versions: Python 3.10-3.13
The centerpiece of this release is the introduction of Object-Augmented Schemas. We are also delivering a fully modernized framework for project configuration, data handling, and new scientific datatype support.
Compatibility Note: While we aim for data compatibility (meaning no data migration should be required), this release will introduce several backward-incompatible API features. Please plan to update your code to leverage the new functionalities.
Object-Augmented Schemas
DataJoint 2.0 fundamentally revises how relational tables are combined with large-scale scientific data objects. This new paradigm allows for more flexible and efficient handling of complex data types directly within the data pipeline.
<dj_blob>: A plugin for backward-compatible DataJoint blobs. FEAT:dj_blobtype plugin for DataJoint 2.0 #1262<dj_zarr>: A plugin for general Zarr 3.0 array support FEAT: Implement <dj_zarr> Custom Type Adaptor #1263<multiphoton>: plugin for handling compressed, photon-limited movies (based on zarr)Data Export & Import
AutoPopulate 2.0. #1258
This is a redesigned, scalable job management engine to replace the existing autopopulate framework.
Project Configuration & Extensibility
Schema Definition & Data Types
float32,float64,uint8,int8,uint16,int16,uint32,int32,uint64, andint64. FEAT: Core attributes types 2.0 #1261Version 2.1 (Post 2.0 Release)
The following features are planned for a subsequent release shortly after 2.0, with a possibility of being included in the main release.
JSONDatatype Support (2.0) -- Postgres compatibleBeta Was this translation helpful? Give feedback.
All reactions