Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
669 commits
Select commit Hold shift + click to select a range
6d6460f
fix: Complete cascade delete support for PostgreSQL
dimitri-yatsenko Jan 18, 2026
566c5b5
fix: Resolve mypy and ruff linting errors
dimitri-yatsenko Jan 18, 2026
338e7ea
feat: Add PostgreSQL support to CI test dependencies
dimitri-yatsenko Jan 18, 2026
57f376d
fix: Fix cascade delete for multi-column FKs and renamed attributes
dimitri-yatsenko Jan 18, 2026
5b7f6d7
style: Apply pre-commit formatting fixes
dimitri-yatsenko Jan 18, 2026
664ff34
fix: Add column name aliases for MySQL information_schema queries
dimitri-yatsenko Jan 18, 2026
075d96d
fix: Add column name aliases for all MySQL information_schema queries
dimitri-yatsenko Jan 18, 2026
b6a4f6f
fix: Update test_foreign_keys to pass adapter parameter
dimitri-yatsenko Jan 18, 2026
d88c308
fix: Mark describe() bugs as xfail and fix PostgreSQL SSL/multiproces…
dimitri-yatsenko Jan 18, 2026
450d2b9
fix: Add missing pytest import in test_foreign_keys.py
dimitri-yatsenko Jan 18, 2026
cb0d544
fix: Restore database.backend config after multi-backend tests
dimitri-yatsenko Jan 18, 2026
ddca0ed
fix: Change connection_by_backend to function scope
dimitri-yatsenko Jan 18, 2026
9ff1eb5
fix: Track connection closed state internally
dimitri-yatsenko Jan 18, 2026
12ae73b
fix: Correct SSL configuration format for MySQL
dimitri-yatsenko Jan 18, 2026
efb8482
fix: Make MySQL adapter accept use_tls parameter
dimitri-yatsenko Jan 18, 2026
e1ad919
fix: Enable SSL by default when use_tls not specified
dimitri-yatsenko Jan 18, 2026
7cdcf3d
fix: Explicitly enable SSL with ssl_disabled=False
dimitri-yatsenko Jan 18, 2026
ba702d3
test: Mark test_secure_connection as xfail pending investigation
dimitri-yatsenko Jan 18, 2026
58534fb
fix: Preserve nullable and unique modifiers in describe() for FK attr…
dimitri-yatsenko Jan 19, 2026
ad127be
fix: Preserve nullable and unique modifiers in describe() for FK attr…
dimitri-yatsenko Jan 19, 2026
b6cf20f
test: Remove xfail markers for describe() tests now that nullable is …
dimitri-yatsenko Jan 19, 2026
618097d
chore: Bump version to 2.1.0a1 for PostgreSQL multi-backend support
dimitri-yatsenko Jan 19, 2026
c416807
fix: Add warning on SSL fallback and improve TLS tests
dimitri-yatsenko Jan 19, 2026
f1563db
fix: Use datajoint/mysql image for testcontainers (has SSL configured)
dimitri-yatsenko Jan 19, 2026
33abfeb
test: Skip SSL tests when not using external containers
dimitri-yatsenko Jan 19, 2026
bf12aba
fix: Handle nested parentheses in index parsing for JSON path indexes
dimitri-yatsenko Jan 19, 2026
688855f
Merge pre/v2.0: Fix nested parentheses in index parsing
dimitri-yatsenko Jan 19, 2026
da0ac48
test: Remove xfail from test_describe now that JSON index reconstruct…
dimitri-yatsenko Jan 19, 2026
bd35a7e
fix: Include EXPRESSION column in MySQL get_indexes_sql for functiona…
dimitri-yatsenko Jan 19, 2026
1d25762
fix: Unescape single quotes in MySQL expression indexes
dimitri-yatsenko Jan 19, 2026
aeb7535
Merge pull request #1338 from datajoint/feat/database-adapters
dimitri-yatsenko Jan 19, 2026
4797151
docs: Remove multi-backend-testing.md (moved to datajoint-docs)
dimitri-yatsenko Jan 20, 2026
05d2512
fix: PostgreSQL adapter bugs for multi-backend support
dimitri-yatsenko Jan 20, 2026
ab99193
fix: Clean up PostgreSQL enum types when dropping tables
dimitri-yatsenko Jan 20, 2026
d8b15c5
fix: PostgreSQL adapter bugs for multi-backend support
dimitri-yatsenko Jan 20, 2026
e54e4a7
fix: Clean up PostgreSQL enum types when dropping tables
dimitri-yatsenko Jan 20, 2026
be7d079
style: Fix linting issues
dimitri-yatsenko Jan 20, 2026
8a8423b
fix: Escape % in LIKE patterns for MySQL
dimitri-yatsenko Jan 20, 2026
6b2b7e4
fix: use single quotes for SQL literals (PostgreSQL compatibility)
dimitri-yatsenko Jan 20, 2026
0469a72
fix: use PostgreSQL-specific queries for dependencies loading
dimitri-yatsenko Jan 20, 2026
a4ed877
fix: convert double-quoted defaults to single quotes
dimitri-yatsenko Jan 20, 2026
e56a5a6
fix: generate COMMENT ON COLUMN for PostgreSQL blob codecs
dimitri-yatsenko Jan 20, 2026
97db517
fix: escape single quotes in PostgreSQL COMMENT statements
dimitri-yatsenko Jan 20, 2026
3c34d31
fix: PostgreSQL compatibility in jobs.py
dimitri-yatsenko Jan 20, 2026
aa78497
fix: add current_user_expr() for backend-agnostic user retrieval
dimitri-yatsenko Jan 20, 2026
c795c3a
fix: use adapter for identifier quoting in SQL generation
dimitri-yatsenko Jan 20, 2026
f113f92
fix: convert memoryview to bytes for PostgreSQL blob unpacking
dimitri-yatsenko Jan 20, 2026
b1ef634
fix: make table name quoting backend-agnostic
dimitri-yatsenko Jan 20, 2026
e49a2ef
refactor: move get_master regex to adapter methods
dimitri-yatsenko Jan 20, 2026
1ffb157
fix: use adapter.quote_identifier in metaclass full_table_name
dimitri-yatsenko Jan 20, 2026
6506bad
fix: strip both backticks and double quotes from lineage table names
dimitri-yatsenko Jan 20, 2026
56a8df4
fix: handle PostgreSQL enum types and USER-DEFINED columns
dimitri-yatsenko Jan 20, 2026
6576b43
fix: address CI lint and test failures
dimitri-yatsenko Jan 20, 2026
b7e800b
style: apply ruff-format formatting fixes
dimitri-yatsenko Jan 20, 2026
86bd95e
Merge origin/pre/v2.1 into fix/postgresql-adapter-bugs
dimitri-yatsenko Jan 20, 2026
fd4e011
fix: use adapter quoting in autopopulate progress()
dimitri-yatsenko Jan 20, 2026
d2e89ba
fix: handle psycopg2 auto-deserialized JSON in codecs
dimitri-yatsenko Jan 20, 2026
bc245d3
fix: PostgreSQL compatibility improvements for DataJoint 2.1
dimitri-yatsenko Jan 20, 2026
ae2dc57
fix: include table_comment in PostgreSQL get_table_info_sql
dimitri-yatsenko Jan 20, 2026
fd31b22
feat: add DJ_USE_TLS environment variable support
dimitri-yatsenko Jan 20, 2026
2f61cbd
fix: PostgreSQL compatibility for diagrams and date functions
dimitri-yatsenko Jan 20, 2026
79e712b
fix: improve PostgreSQL SQL function translations
dimitri-yatsenko Jan 20, 2026
30b7130
fix: handle PostgreSQL double-quote format in _get_tier
dimitri-yatsenko Jan 20, 2026
9775d0a
fix: Remove deprecated ___ separator support
dimitri-yatsenko Jan 22, 2026
864b258
feat: Add singleton tables (empty primary keys)
dimitri-yatsenko Jan 22, 2026
996e820
fix: PostgreSQL compatibility for singleton tables
dimitri-yatsenko Jan 22, 2026
25354ad
style: Format test file with ruff
dimitri-yatsenko Jan 22, 2026
94fa4a8
chore: Bump version to 2.1.0a4
dimitri-yatsenko Jan 22, 2026
8dfd593
Merge pull request #1311 from datajoint/pre/v2.0
dimitri-yatsenko Jan 22, 2026
8de86cb
docs: Fix broken links in README
dimitri-yatsenko Jan 23, 2026
d3c7afb
fix: Backend-agnostic JSON path expressions
dimitri-yatsenko Jan 23, 2026
215bc9c
chore: Bump version to 2.1.0a5
dimitri-yatsenko Jan 23, 2026
a5ddd03
Merge pull request #1342 from datajoint/fix/readme-links
MilagrosMarin Jan 23, 2026
5010b85
refactor: Remove boolean_true_literal, use TRUE for both backends
dimitri-yatsenko Jan 23, 2026
e0a7c6d
Merge pull request #1341 from datajoint/feat/singleton-tables
MilagrosMarin Jan 23, 2026
648bd1a
docs: fix string quoting in docstring example
dimitri-yatsenko Jan 23, 2026
1698acf
Merge pull request #1344 from datajoint/fix/docstring-postgresql-compat
MilagrosMarin Jan 23, 2026
f98cdbf
feat(diagram): add direction, Mermaid output, and schema grouping
dimitri-yatsenko Jan 23, 2026
0dd5a69
feat: always group diagram nodes by schema with module labels
dimitri-yatsenko Jan 23, 2026
903e6b2
chore: bump version to 2.1.0a6
dimitri-yatsenko Jan 23, 2026
d41b75f
feat: improve schema grouping labels with fallback logic
dimitri-yatsenko Jan 23, 2026
80489fc
feat: add collapse() method for high-level pipeline views
dimitri-yatsenko Jan 23, 2026
3292a06
fix: properly merge diagrams from different schemas
dimitri-yatsenko Jan 23, 2026
c3c4c0f
fix: diagram improvements for collapse and display
dimitri-yatsenko Jan 23, 2026
ba1a237
fix: collapse chaining for multiple collapsed diagrams
dimitri-yatsenko Jan 23, 2026
26264d4
fix: reset alias node counter on dependencies clear
dimitri-yatsenko Jan 23, 2026
09cf50d
fix: don't collapse fresh diagrams that were never combined
dimitri-yatsenko Jan 23, 2026
77ebfb5
fix: use database schema name for collapsed nodes when module is ambi…
dimitri-yatsenko Jan 23, 2026
de00340
fix: place collapsed nodes inside schema clusters for proper layout
dimitri-yatsenko Jan 23, 2026
4d6b7ac
feat: change default diagram direction from TB to LR
dimitri-yatsenko Jan 23, 2026
9e87106
fix: collapsed nodes show only table count, not redundant name
dimitri-yatsenko Jan 23, 2026
d5bdf51
refactor: simplify collapse logic to use single _expanded_nodes set
dimitri-yatsenko Jan 23, 2026
e59eeb3
fix: break long line in diagram.py to pass lint
dimitri-yatsenko Jan 24, 2026
810ceee
style: apply ruff format to diagram.py
dimitri-yatsenko Jan 24, 2026
a8b0734
Merge pull request #1345 from datajoint/feat/diagram-improvements
MilagrosMarin Jan 24, 2026
a90411f
fix: remove user input prompts from conn()
dimitri-yatsenko Jan 24, 2026
aaf2158
chore: bump version to 2.0.0a23
dimitri-yatsenko Jan 24, 2026
6a955c1
feat: add database.schema_prefix config setting
dimitri-yatsenko Jan 24, 2026
8ca6b2a
feat: add database.create_tables config setting
dimitri-yatsenko Jan 24, 2026
460f03e
chore: bump version to 2.0.0a24
dimitri-yatsenko Jan 24, 2026
ac3a4b2
feat: remove dj.kill and dj.kill_quick
dimitri-yatsenko Jan 24, 2026
6d4e390
chore: remove unused _RenameMap class
dimitri-yatsenko Jan 24, 2026
4f468d4
perf: lazy-load deepdiff and tqdm in autopopulate
dimitri-yatsenko Jan 24, 2026
2e24b9e
chore: remove unused _RenameMap class
dimitri-yatsenko Jan 24, 2026
86f5936
refactor: split builtin_codecs.py into package
dimitri-yatsenko Jan 24, 2026
68300f2
Merge pull request #1349 from datajoint/perf/lazy-load-autopopulate
dimitri-yatsenko Jan 24, 2026
9c8b196
docs: fix terminology - replace "external" with "in-store"
dimitri-yatsenko Jan 25, 2026
3007218
Merge pull request #1348 from datajoint/remove/dj-kill
dimitri-yatsenko Jan 26, 2026
a8a1814
Merge pull request #1346 from datajoint/fix/conn-no-user-input
dimitri-yatsenko Jan 27, 2026
ad07bde
Merge master into pre/v2.1
dimitri-yatsenko Jan 27, 2026
885cbb0
chore: bump version to 2.1.0a8
dimitri-yatsenko Jan 27, 2026
aa78c4c
refactor: rename database.schema_prefix to database.database_prefix
dimitri-yatsenko Jan 27, 2026
35ff7df
chore: bump version to 2.0.0a25
dimitri-yatsenko Jan 27, 2026
c41dfac
Merge pull request #1351 from datajoint/rename/project-prefix
dimitri-yatsenko Jan 27, 2026
41dad5d
fix: route logging to stdout, simplify format, add JOBS level
dimitri-yatsenko Jan 27, 2026
87cd5b0
chore: bump version to 2.0.0a26
dimitri-yatsenko Jan 27, 2026
2722a4d
feat: add DJ_LOG_STREAM env var to select stdout/stderr
dimitri-yatsenko Jan 27, 2026
8c85a9b
Merge pull request #1352 from datajoint/fix/logging-stdout
dimitri-yatsenko Jan 27, 2026
06e709f
Merge master into pre/v2.1
dimitri-yatsenko Jan 27, 2026
c9c6c5b
feat: Add backward-compatible fetch() with deprecation warning
dimitri-yatsenko Jan 28, 2026
4faaa6f
style: apply ruff formatting to test file
dimitri-yatsenko Jan 28, 2026
512af13
Merge pull request #1355 from datajoint/feat/fetch-backward-compat
dimitri-yatsenko Jan 28, 2026
82a9223
Merge master into pre/v2.1
dimitri-yatsenko Jan 28, 2026
93838d3
add packaging test
d-v-b Jan 30, 2026
0183f44
use hatchling instead of setuptools to avoid missing building with mi…
d-v-b Jan 30, 2026
aa82a88
fix: Pass make_kwargs to make_fetch in tripartite pattern
dimitri-yatsenko Jan 30, 2026
43bafd1
test: Add tests for make_kwargs with regular and tripartite make
dimitri-yatsenko Jan 30, 2026
243c9e0
Merge pull request #1358 from d-v-b/chore/fix-packaging
d-v-b Jan 30, 2026
354976a
Merge pull request #1361 from datajoint/fix/make-kwargs-tripartite-ma…
dimitri-yatsenko Jan 30, 2026
ab596f0
fix: Remove unit tests from pre-commit hooks
dimitri-yatsenko Jan 30, 2026
c738cae
Merge pull request #1363 from datajoint/fix/remove-tests-from-precommit
dimitri-yatsenko Jan 30, 2026
65d1b08
Merge remote-tracking branch 'origin/master' into pre/v2.1
dimitri-yatsenko Jan 30, 2026
b2f1c80
perf: Add composite index on jobs table for efficient job fetching
dimitri-yatsenko Jan 30, 2026
71b63db
Merge pull request #1364 from datajoint/perf/jobs-table-index
MilagrosMarin Jan 30, 2026
2f0f2eb
Merge branch 'perf/jobs-table-index' into pre/v2.1
dimitri-yatsenko Jan 30, 2026
d81af9b
fix: fetch('column') returns array instead of list of dicts
dimitri-yatsenko Jan 30, 2026
6e196cd
Merge pull request #1365 from datajoint/fix/fetch-attrs-array
esutlie Jan 30, 2026
aab0ef2
fix: Remove obsolete docs workflow
dimitri-yatsenko Feb 2, 2026
511f06c
Merge pull request #1367 from datajoint/fix/remove-docs-workflow
MilagrosMarin Feb 2, 2026
7e5fb96
fix: Remove auto-labeling workflows
dimitri-yatsenko Feb 2, 2026
c5b2cce
fix: Make release workflow idempotent for re-runs
dimitri-yatsenko Feb 3, 2026
a97d5eb
Merge pull request #1368 from datajoint/fix/remove-auto-labelers
ttngu207 Feb 3, 2026
5d5e6bf
Merge pull request #1369 from datajoint/fix/release-workflow-idempotent
ttngu207 Feb 3, 2026
f217bb5
fix: Use LICENSE instead of LICENSE.txt in Dockerfile
dimitri-yatsenko Feb 3, 2026
3a1c2db
Merge pull request #1370 from datajoint/fix/dockerfile-license
ttngu207 Feb 3, 2026
57167db
Update version.py to 2.0.0
invalid-email-address Feb 3, 2026
222ad50
fix: Clean up runtime dependencies
dimitri-yatsenko Feb 3, 2026
a6dd989
Merge pull request #1372 from datajoint/fix/remove-setuptools-runtime…
ttngu207 Feb 3, 2026
24c329c
deprecate: Add deprecation warning to migrate module
dimitri-yatsenko Feb 3, 2026
68f8137
Merge pull request #1371 from datajoint/update-version-2.0.0
dimitri-yatsenko Feb 3, 2026
1ceabd5
deprecate: Show warning only in 2.1+, update messaging
dimitri-yatsenko Feb 3, 2026
4c1be52
fix: Use packaging.version for proper version comparison
dimitri-yatsenko Feb 3, 2026
0ebce4c
fix: Import __version__ from .version to avoid circular import
dimitri-yatsenko Feb 3, 2026
d4faadc
Merge pull request #1373 from datajoint/deprecate/migrate-module
dimitri-yatsenko Feb 3, 2026
b60287f
Merge master into pre/v2.1
dimitri-yatsenko Feb 3, 2026
217171a
chore: Remove unnecessary runtime dependencies
dimitri-yatsenko Feb 3, 2026
0330dbe
fix: Allow table class names with underscores (with warning)
dimitri-yatsenko Feb 3, 2026
5a78063
Merge pull request #1375 from datajoint/fix/allow-underscore-class-names
dimitri-yatsenko Feb 3, 2026
b60877a
Update version.py to 2.0.1
invalid-email-address Feb 3, 2026
4f08923
Merge pull request #1376 from datajoint/update-version-2.0.1
dimitri-yatsenko Feb 3, 2026
8383315
fix: Handle missing SSL context in multiprocess populate
dimitri-yatsenko Feb 3, 2026
c999b5f
docs: Convert Sphinx-style docstrings to NumPy-style
dimitri-yatsenko Feb 3, 2026
715e1d1
Merge pull request #1378 from datajoint/docs/numpy-docstrings
dimitri-yatsenko Feb 3, 2026
39f4aa7
Merge pull request #1377 from datajoint/fix/multiprocess-no-tls
dimitri-yatsenko Feb 3, 2026
d3ad39c
Merge branch 'master' into pre/v2.1
dimitri-yatsenko Feb 3, 2026
f9ee1fc
Merge branch 'pre/v2.1' of github.com:datajoint/datajoint-python into…
dimitri-yatsenko Feb 3, 2026
59dd1d6
docs: Update RELEASE_MEMO with current process
dimitri-yatsenko Feb 3, 2026
58e8d13
docs: Format restrict() equivalence table as code block
dimitri-yatsenko Feb 4, 2026
7abeef7
docs: Improve extend() docstring formatting
dimitri-yatsenko Feb 4, 2026
a7733e3
docs: Improve dj.U class docstring formatting
dimitri-yatsenko Feb 4, 2026
28eb60e
fix: Handle inhomogeneous array shapes in to_arrays()
dimitri-yatsenko Feb 5, 2026
fda042b
Revert "fix: Handle inhomogeneous array shapes in to_arrays()"
dimitri-yatsenko Feb 5, 2026
73d9894
fix: Handle inhomogeneous array shapes in to_arrays()
dimitri-yatsenko Feb 5, 2026
328e99d
test: Add tests for inhomogeneous array shapes in to_arrays()
dimitri-yatsenko Feb 5, 2026
ef54342
fix: Disable semantic_check for job table subtraction in refresh()
dimitri-yatsenko Feb 5, 2026
9a165e9
test: Add tests for populate with keep_completed=True
dimitri-yatsenko Feb 5, 2026
94f1f7f
fix: Clear experiment data before testing keep_completed
dimitri-yatsenko Feb 5, 2026
443bea1
fix: Simplify tests for keep_completed semantic matching fix
dimitri-yatsenko Feb 5, 2026
d7f6b55
Merge pull request #1383 from datajoint/fix/jobs-semantic-check-1379
dimitri-yatsenko Feb 5, 2026
bf6234e
Merge pull request #1382 from datajoint/fix/inhomogeneous-arrays-1380
dimitri-yatsenko Feb 5, 2026
9720e26
Merge remote-tracking branch 'origin/maint/2.0'
dimitri-yatsenko Feb 5, 2026
224a12d
fix: Support 'KEY' in fetch() for backward compatibility
dimitri-yatsenko Feb 5, 2026
da0cc0c
Merge pull request #1384 from datajoint/fix/fetch-KEY-support
dimitri-yatsenko Feb 5, 2026
8d28b75
Merge remote-tracking branch 'origin/maint/2.0'
dimitri-yatsenko Feb 5, 2026
b0d7a53
chore: Bump version to 2.0.2
dimitri-yatsenko Feb 5, 2026
9a418da
Merge maint/2.0 into master (v2.0.2)
dimitri-yatsenko Feb 5, 2026
a1ab055
revert: Reset version to 2.0.1 for proper release workflow
dimitri-yatsenko Feb 5, 2026
525602a
Update version.py to 2.1.0
invalid-email-address Feb 5, 2026
0471760
Merge pull request #1389 from datajoint/update-version-2.1.0
dimitri-yatsenko Feb 5, 2026
7cb771e
fix: Strip module prefix correctly for Part tables in diagrams
dimitri-yatsenko Feb 6, 2026
5435e26
style: Format slice notation
dimitri-yatsenko Feb 6, 2026
8d30b46
fix: Hide comments from table preview display
dimitri-yatsenko Feb 6, 2026
a566677
Merge pull request #1392 from datajoint/fix/diagram-part-table-names
MilagrosMarin Feb 6, 2026
3e75a16
Merge pull request #1393 from datajoint/fix/hide-comments-in-preview
MilagrosMarin Feb 6, 2026
5779ee2
Remove size_on_disk from Table and Schema
dimitri-yatsenko Feb 11, 2026
7196705
docs: Add thread-safe mode specification
dimitri-yatsenko Feb 13, 2026
477d365
chore: Remove unused settings
dimitri-yatsenko Feb 13, 2026
6a5a309
docs: Clarify that all settings are connection-scoped
dimitri-yatsenko Feb 13, 2026
c0598f4
docs: Specify Connection.from_config() behavior
dimitri-yatsenko Feb 13, 2026
697ec6d
docs: conn.config uses same Config class, connection settings read-only
dimitri-yatsenko Feb 13, 2026
467367e
docs: Global config read-only (not blocked) in thread-safe mode
dimitri-yatsenko Feb 13, 2026
7c57b26
docs: Remove from_config(), just expose conn.config
dimitri-yatsenko Feb 13, 2026
8a51db4
docs: Specify internal refactoring to use conn.config
dimitri-yatsenko Feb 13, 2026
726007d
docs: Add connection flow from Schema to Tables
dimitri-yatsenko Feb 13, 2026
b929627
docs: Global connection assigns dj.config for uniform structure
dimitri-yatsenko Feb 13, 2026
ba637d5
docs: Clarify Connection always copies, dj.conn() overrides
dimitri-yatsenko Feb 13, 2026
05b70fb
docs: Address mixed connections and override() behavior
dimitri-yatsenko Feb 13, 2026
bb7adfd
docs: Rewrite spec with context-based approach
dimitri-yatsenko Feb 13, 2026
f92af1c
docs: Simplify context - only config, connection, Schema
dimitri-yatsenko Feb 13, 2026
f832486
docs: Singleton as lazily-loaded instance, fresh config per instance
dimitri-yatsenko Feb 13, 2026
6fe7497
docs: Add inst.FreeTable(), clarify base classes vs instance methods
dimitri-yatsenko Feb 13, 2026
32b5235
docs: Consolidate to single singleton instance, dj.Instance()
dimitri-yatsenko Feb 14, 2026
b251e86
feat: Implement thread-safe mode with Instance class
dimitri-yatsenko Feb 14, 2026
042dbf2
fix: Make conn() with credentials update singleton connection
dimitri-yatsenko Feb 14, 2026
cdf52c5
fix: Atomic job reservation to prevent race condition (#1398)
dimitri-yatsenko Feb 17, 2026
2bd8b26
style: Format to satisfy ruff-format
dimitri-yatsenko Feb 17, 2026
6327a82
Merge pull request #1395 from datajoint/remove-size-on-disk
dimitri-yatsenko Feb 17, 2026
4a7e1e8
Merge pull request #1399 from datajoint/fix/job-reserve-race-1398
dimitri-yatsenko Feb 17, 2026
667e942
Update version.py to 2.1.1
invalid-email-address Feb 17, 2026
0bd6e02
Merge pull request #1402 from datajoint/update-version-2.1.1
dimitri-yatsenko Feb 17, 2026
5758adf
fix: Remove unused import, fix mock_cache fixture for 2.0 settings
dimitri-yatsenko Feb 18, 2026
9d9d675
fix: Resolve lint and test failures in CI
dimitri-yatsenko Feb 18, 2026
0011cd6
docs: Document thread-safety rationale for codec registry
dimitri-yatsenko Feb 18, 2026
845efc0
docs: Add global state audit to thread-safe mode spec
dimitri-yatsenko Feb 18, 2026
04a406d
refactor: replace global config reads with connection-scoped config
dimitri-yatsenko Feb 18, 2026
092d79f
fix: unify global config singleton and fix conn() persistence
dimitri-yatsenko Feb 18, 2026
2429a8a
docs: document connection-scoped config architecture in thread-safe m…
dimitri-yatsenko Feb 18, 2026
b88915c
refactor: thread config through codec and hash_registry chain
dimitri-yatsenko Feb 18, 2026
9b885cd
refactor: make dj.Schema a proper class subclassing _Schema
dimitri-yatsenko Feb 18, 2026
f0ef848
fix: lint formatting in test_gc.py
dimitri-yatsenko Feb 18, 2026
4d16df6
merge: resolve conflict in jobs.py reserve method
dimitri-yatsenko Feb 18, 2026
33ef072
fix: pass config and backend explicitly to Connection constructor
dimitri-yatsenko Feb 19, 2026
da43ed3
refactor: route schema queries through adapter methods
dimitri-yatsenko Feb 19, 2026
14d44d7
Fix populate antijoin to use .proj() for correct pending key computation
Feb 19, 2026
bf7c442
feat: add backend parameter to Instance and cross-connection validation
dimitri-yatsenko Feb 19, 2026
f123f26
docs: extend migrate.py deprecation timeline to 2.3
dimitri-yatsenko Feb 19, 2026
4796d39
fix: lint formatting in test_thread_safe.py
dimitri-yatsenko Feb 19, 2026
dca8052
refactor: move dependency graph queries into adapter methods
dimitri-yatsenko Feb 19, 2026
453ab6e
fix: update docs URL from datajoint.com/docs to docs.datajoint.com
dimitri-yatsenko Feb 19, 2026
34f744e
docs: add DataJoint 2.0 citation (arXiv:2602.16585)
dimitri-yatsenko Feb 19, 2026
5488781
refactor: add split_full_table_name adapter method
dimitri-yatsenko Feb 19, 2026
d079d58
refactor: remove unsupported schema.code()/save() methods
dimitri-yatsenko Feb 19, 2026
463618b
Fix test assertions and add regression test for overlapping secondary…
Feb 20, 2026
73a53dd
Fix CI: fetch source data in make(), fix Schema.drop API, remove brok…
Feb 20, 2026
dfc0e15
Merge pull request #1405 from hummuscience/fix/populate-antijoin-proj
dimitri-yatsenko Feb 20, 2026
75b133c
test: remove integration tests for removed code/save methods
dimitri-yatsenko Feb 20, 2026
0b4a346
Merge pull request #1404 from datajoint/feature/thread-safe-mode
dimitri-yatsenko Feb 21, 2026
49e5862
fix: allow attribute names starting with 'index' in declarations (#1411)
dimitri-yatsenko Mar 9, 2026
34acbbe
Merge pull request #1412 from datajoint/fix/index-attribute-regex
dimitri-yatsenko Mar 9, 2026
f848623
fix: backend-agnostic improvements for multi-backend SQL support
kushalbakshi Mar 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 0 additions & 5 deletions .codespellrc

This file was deleted.

7 changes: 4 additions & 3 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ RUN \
pip uninstall datajoint -y

USER root
ENV DJ_HOST db
ENV DJ_USER root
ENV DJ_PASS password
ENV DJ_HOST=db
ENV DJ_USER=root
ENV DJ_PASS=password
ENV S3_ENDPOINT=minio:9000
52 changes: 4 additions & 48 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,50 +1,6 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-docker-compose
{
"name": "Existing Docker Compose (Extend)",
// Update the 'dockerComposeFile' list if you have more compose files or use different names.
// The .devcontainer/docker-compose.yml file contains any overrides you need/want to make.
"dockerComposeFile": [
"../docker-compose.yaml",
"docker-compose.yml"
],
// The 'service' property is the name of the service for the container that VS Code should
// use. Update this value and .devcontainer/docker-compose.yml to the real service name.
"service": "app",
// The optional 'workspaceFolder' property is the path VS Code should open by default when
// connected. This is typically a file mount in .devcontainer/docker-compose.yml
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [
80,
443,
3306,
8080,
9000
],
// Uncomment the next line if you want start specific services in your Docker Compose config.
// "runServices": [],
// Uncomment the next line if you want to keep your containers running after VS Code shuts down.
"shutdownAction": "stopCompose",
"onCreateCommand": "python3 -m pip install -q -e .[dev]",
"features": {
"ghcr.io/devcontainers/features/git:1": {},
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/github-cli:1": {},
},
// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
"ms-python.python"
]
}
},
"remoteEnv": {
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
}
// Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "devcontainer"
"dockerComposeFile": ["../docker-compose.yaml", "docker-compose.yml"],
"service": "app",
"workspaceFolder": "/src",
"postCreateCommand": "curl -fsSL https://pixi.sh/install.sh | bash && echo 'export PATH=\"$HOME/.pixi/bin:$PATH\"' >> ~/.bashrc"
}
27 changes: 5 additions & 22 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,14 @@
version: '2.4'
# Devcontainer overrides for the app service from ../docker-compose.yaml
# Inherits db and minio services automatically
services:
# Update this to the name of the service you want to work with in your docker-compose.yml file
app:
# Uncomment if you want to override the service's Dockerfile to one in the .devcontainer
# folder. Note that the path of the Dockerfile and context is relative to the *primary*
# docker-compose.yml file (the first in the devcontainer.json "dockerComposeFile"
# array). The sample below assumes your primary file is in the root of your project.
container_name: datajoint-python-devcontainer
image: datajoint/datajoint-python-devcontainer:${PY_VER:-3.11}-${DISTRO:-buster}
build:
context: .
context: ..
dockerfile: .devcontainer/Dockerfile
args:
- PY_VER=${PY_VER:-3.11}
- DISTRO=${DISTRO:-buster}

volumes:
# Update this to wherever you want VS Code to mount the folder of your project
- ..:/workspaces:cached

# Uncomment the next four lines if you will use a ptrace-based debugger like C++, Go, and Rust.
# cap_add:
# - SYS_PTRACE
# security_opt:
# - seccomp:unconfined

- DISTRO=${DISTRO:-bookworm}
user: root

# Overrides default command so things don't shut down after the process ends.
# Keep container running for devcontainer
command: /bin/sh -c "while sleep 1000; do :; done"
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# SCM syntax highlighting & preventing 3-way merges
pixi.lock merge=binary linguist-language=YAML linguist-generated=true
107 changes: 107 additions & 0 deletions .github/DISCUSSION_TEMPLATE/rfc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
title: "[RFC] "
labels:
- rfc
- "status: proposed"
body:
- type: markdown
attributes:
value: |
## DataJoint Enhancement Proposal

Use this template to propose changes to DataJoint specifications, APIs, or documentation structure.

**Before submitting:**
- Search existing discussions to avoid duplicates
- Consider starting with an informal discussion in the Ideas category first

- type: textarea
id: summary
attributes:
label: Summary
description: A brief, one-paragraph explanation of the proposal.
placeholder: This proposal adds/changes/removes...
validations:
required: true

- type: textarea
id: motivation
attributes:
label: Motivation
description: |
Why is this change needed? What problem does it solve?
Include concrete use cases and examples where possible.
placeholder: |
Currently, users need to...
This causes problems when...
With this change, users could...
validations:
required: true

- type: textarea
id: design
attributes:
label: Proposed Design
description: |
Detailed explanation of the proposed solution.
Include code examples, API signatures, or schema definitions as appropriate.
placeholder: |
## API Changes
```python
# Example usage
```

## Behavior
- When X happens, Y should occur
- Error handling: ...
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: What other approaches were considered and why were they not chosen?
placeholder: |
1. Alternative A: ...
Rejected because: ...

2. Alternative B: ...
Rejected because: ...

- type: textarea
id: compatibility
attributes:
label: Backwards Compatibility
description: |
How does this affect existing users?
- Breaking changes?
- Migration path?
- Deprecation timeline?
placeholder: |
This change is/is not backwards compatible.

Migration path:
1. ...

- type: textarea
id: implementation
attributes:
label: Implementation Notes
description: |
Optional: Technical details, affected files, estimated scope.
Prototyping in parallel with RFC discussion is encouraged.
placeholder: |
Affected components:
- datajoint-python/src/datajoint/...

Estimated scope: small/medium/large

- type: checkboxes
id: checklist
attributes:
label: Checklist
options:
- label: I have searched existing discussions and issues for duplicates
required: true
- label: I have considered backwards compatibility
required: true
25 changes: 0 additions & 25 deletions .github/pr_labeler.yaml

This file was deleted.

20 changes: 0 additions & 20 deletions .github/workflows/docs.yaml

This file was deleted.

18 changes: 0 additions & 18 deletions .github/workflows/label_issues.yaml

This file was deleted.

18 changes: 0 additions & 18 deletions .github/workflows/label_prs.yaml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
extra_args: codespell --all-files
- uses: pre-commit/action@v3.0.1
with:
extra_args: black --all-files
extra_args: ruff --all-files
- uses: pre-commit/action@v3.0.1
with:
extra_args: flake8 --all-files
extra_args: ruff-format --all-files
16 changes: 7 additions & 9 deletions .github/workflows/post_draft_release_published.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Post Draft Release Published

on:
# Once draft release is released, trigger the docs release
release:
types:
## pre-release and stable release
Expand All @@ -11,8 +10,6 @@ on:
run-name: Post ${{ github.event.release.name }}

jobs:
call-publish-docs:
uses: ./.github/workflows/docs.yaml
pypi-release:
permissions:
# write permission is required to update version.py
Expand All @@ -23,7 +20,7 @@ jobs:
strategy:
matrix:
include:
- py_ver: "3.9"
- py_ver: "3.10"
runs-on: ubuntu-latest
env:
PY_VER: ${{matrix.py_ver}}
Expand All @@ -40,14 +37,14 @@ jobs:
- name: Update version.py
run: |
VERSION=$(echo "${{ github.event.release.name }}" | grep -oP '\d+\.\d+\.\d+')
sed -i "s/^__version__ = .*/__version__ = \"$VERSION\"/" datajoint/version.py
cat datajoint/version.py
sed -i "s/^__version__ = .*/__version__ = \"$VERSION\"/" src/datajoint/version.py
cat src/datajoint/version.py
# Commit the changes
BRANCH_NAME="update-version-$VERSION"
git switch -c $BRANCH_NAME
git config --global user.name "github-actions"
git config --global user.email "github-actions@github.com"
git add datajoint/version.py
git add src/datajoint/version.py
git commit -m "Update version.py to $VERSION"
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
- name: Update README.md badge
Expand All @@ -60,7 +57,8 @@ jobs:
# Update src in the <img> tag
sed -i 's|\(<img id="commit-since-release-img"[^>]*src="\)[^"]*\(".*\)|\1'"$NEW_SRC"'\2|' README.md
git add README.md
git commit -m "Update README.md badge to ${{ github.event.release.tag_name }}"
# Only commit if there are changes (handles re-runs gracefully)
git diff --cached --quiet README.md || git commit -m "Update README.md badge to ${{ github.event.release.tag_name }}"
- name: Set up Python ${{matrix.py_ver}}
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -132,7 +130,7 @@ jobs:
--body "This PR updates \`version.py\` to match the latest release: ${{ github.event.release.name }}" \
--base master \
--head ${{ env.BRANCH_NAME }} \
--reviewer dimitri-yatsenko,yambottle,ttngu207
--reviewer dimitri-yatsenko,drewyangdev,ttngu207
- name: Post release notification to Slack
if: ${{ env.TEST_PYPI == 'false' }}
uses: slackapi/slack-github-action@v2.0.0
Expand Down
Loading
Loading