Skip to content

feat: export AutoPopulate and Job in public API#1431

Open
dimitri-yatsenko wants to merge 1 commit intomasterfrom
feat/export-autopopulate-job
Open

feat: export AutoPopulate and Job in public API#1431
dimitri-yatsenko wants to merge 1 commit intomasterfrom
feat/export-autopopulate-job

Conversation

@dimitri-yatsenko
Copy link
Copy Markdown
Member

Summary

  • Export AutoPopulate and Job from datajoint top-level package
  • Enables ecosystem packages (e.g. datajoint-worker) to use dj.AutoPopulate for isinstance checks and dj.Job for FreeTable progress queries without depending on internal module paths

Motivation: datajoint-company/datajoint-worker#1 imports from datajoint.autopopulate import AutoPopulate and from datajoint.jobs import Job -- both non-public paths. These are stable, useful abstractions that belong in the public API:

  • AutoPopulate is the common base for Computed/Imported, defining the .populate()/.make()/.jobs contract
  • Job is needed to get job progress from FreeTable instances (which lack the .jobs descriptor)

Test plan

  • python -c "import datajoint as dj; print(dj.AutoPopulate, dj.Job)" works
  • All pre-commit hooks pass (ruff, mypy, codespell)
  • Existing test suite passes (no behavior change, additive only)

🤖 Generated with Claude Code

@dimitri-yatsenko dimitri-yatsenko changed the base branch from pre/v2.0 to master April 14, 2026 18:00
@dimitri-yatsenko dimitri-yatsenko force-pushed the feat/export-autopopulate-job branch from 5f2905f to 94de153 Compare April 14, 2026 18:00
Ecosystem packages like datajoint-worker need isinstance checks against
AutoPopulate and direct Job construction for FreeTable progress queries.
Export both from the top-level package so they don't depend on internal
module paths.
@dimitri-yatsenko dimitri-yatsenko force-pushed the feat/export-autopopulate-job branch from 94de153 to bdce204 Compare April 14, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants