⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

datajoint/datajoint-specs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ Repository Archived

This repository has been archived and is no longer maintained.

All specifications have moved to the unified DataJoint documentation:

🔗 https://docs.datajoint.com/reference/specs/


Where to Find Content

All specifications from this repository have been migrated to the unified documentation for DataJoint 2.0+:

Spec Content New Location
All Specifications Reference/Specs
Table Declaration Table Declaration Spec
Query Algebra Query Algebra Spec
Type System Type System Spec
Data Manipulation Data Manipulation Spec
AutoPopulate AutoPopulate Spec
Codec API Codec API Spec
Semantic Matching Semantic Matching Spec

What Changed

Specifications

  • Location: Specifications now live in datajoint-docs/src/reference/specs/
  • Format: Markdown format for better integration with documentation
  • Version: Updated for DataJoint 2.0+ baseline
  • Organization: Part of unified Reference section

Enhancement Process

See the Contributing Guide for the new RFC process.

New Documentation Structure

The DataJoint documentation follows the Diátaxis framework:

Purpose of DataJoint Specs

The DataJoint Specs establish the standards, conventions, and best practices for designing and managing DataJoint pipelines. These specifications ensure consistency, scalability, and interoperability across different scientific workflows and computing environments.

By following the DataJoint Specs, users and developers can:

  • Maintain structured, reproducible data pipelines
  • Ensure compatibility across different DataJoint implementations
  • Adopt best practices for schema design, data integrity, and computational workflows
  • Provide a foundation for future enhancements while preserving backward compatibility

Communicating Version Compatibility

DataJoint Specs evolve independently from DataJoint implementations.

  • Each implementation release states the spec version it supports
  • Spec releases include a compatibility table listing compliant implementations
  • Deprecations and upcoming changes are announced in advance to allow for smooth adoption

Each implementation aligns with a specific spec version, ensuring compliance while allowing for gradual adoption of new features.

Example:

DataJoint Python v2.0.0 - Supports Spec v2.0
- Introduces unified stores configuration
- Redesigned fetch API

Contributing

Contributions now go through the unified documentation repository:

Proposing Specification Changes

  1. Open a Discussion in datajoint-python with [RFC] prefix
  2. Discuss with community and maintainers
  3. If accepted, submit a PR to datajoint-docs
  4. Specifications are updated in src/reference/specs/

Migration to DataJoint 2.0

If you're using DataJoint 0.14.x or earlier:

📖 See the Migration Guide

For pre-2.0 documentation, visit datajoint.github.io/datajoint-python.

License

This project, including the DataJoint Specification document, is licensed under the CC BY-SA 4.0 License.

Support


Last Updated: January 2026 Archive Date: January 2026

About

DataJoint Specifications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5