Skip to content

Prepare model repo for API-free discovery and verified downloads#28

Merged
TurboGit merged 2 commits into
darktable-org:masterfrom
andriiryzhkov:prep_release
May 25, 2026
Merged

Prepare model repo for API-free discovery and verified downloads#28
TurboGit merged 2 commits into
darktable-org:masterfrom
andriiryzhkov:prep_release

Conversation

@andriiryzhkov

Copy link
Copy Markdown
Collaborator

Two changes that let darktable discover and download models without touching api.github.com (and so without being subject to its 60 req/hr unauthenticated rate limit – breaks users behind shared NAT, in CI, in classrooms).

  • releases-index.json (new, tracked at repo root): maps darktable X.Y.Z to the model-release tag built for it. darktable reads it from raw.githubusercontent.com/.../HEAD/releases-index.json (CDN, branch-agnostic via HEAD, no API limit). schema: 1 shape is frozen forever so old binaries keep working; future schemas live in parallel keys.
  • versions.json carries SHA256 per model. dtai versions gained --artifacts-dir; when CI passes the built .dtmodel dir, the manifest gains a nested models[id] = {version, sha256} shape. darktable reads the SHA from there instead of an API call per asset. CLI accepts both nested (CI) and flat (local output/) layouts. Both release.yml and nightly.yml updated to download artifacts before generating the manifest.

Breaking change

models[id] went from string → object. Old darktable installs silently stop detecting model updates until they upgrade. No crash; matching darktable C-side PR ships separately.

Comment thread releases-index.json
@@ -0,0 +1,7 @@
{

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TurboGit TurboGit left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@TurboGit TurboGit merged commit ef8aa8b into darktable-org:master May 25, 2026
9 checks passed
@andriiryzhkov andriiryzhkov deleted the prep_release branch May 25, 2026 06:31
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