Files
galaxy/scripts
mvdbeek 8162853207 Add pluggable tool source store infrastructure
Introduces galaxy.tool_source_store: a queryable store of parsed,
macro-expanded tool sources plus a pre-computed ToolIndex of the metadata
batch consumers need (panel section, labels, EDAM, requirements, test
counts, shed provenance).

- Backends: database (store-owned tool_source_record + tool_index tables,
  migration f5a73c8b9d12), sqlalchemy (read-only SQLite bundles, e.g.
  CVMFS-shipped), and a composite that layers named stores over the
  default with read fall-through.
- scripts/tool_source/populate_store.py walks tool_conf files and writes
  sources + index + whoosh search index; --watch updates the store on
  file changes and broadcasts reload_tool_source_cache. The populator is
  the single writer; consumers are read-only.
- Per-conf opt-in via store="name" on a toolbox conf root, resolved
  against the tool_source_stores catalog in galaxy.yml.
- The tool_source_record table is deliberately separate from tool_source,
  whose rows belong to the job-request path and carry a raw-string
  payload contract.

Nothing reads from the store yet — an on-demand-loading toolbox consuming
it is follow-up work (#22633). Extracted from that PR.
2026-07-13 10:26:57 +02:00
..
2026-01-20 10:25:45 +00:00
2022-02-03 07:42:20 -05:00
2026-01-20 10:25:45 +00:00
2026-01-20 10:25:45 +00:00
2024-11-24 21:35:23 +00:00
2025-03-15 17:12:02 +00:00
2022-02-03 07:42:20 -05:00
2010-11-15 15:04:59 -05:00
2026-01-20 10:25:45 +00:00
2025-07-31 11:17:22 +01:00
2024-11-24 21:35:23 +00:00
2026-06-25 15:12:05 +01:00
2022-09-28 15:45:00 -04:00
2024-11-24 21:35:23 +00:00
2024-11-24 21:35:23 +00:00
2022-02-03 07:42:20 -05:00
2026-06-25 15:12:05 +01:00
2026-01-20 10:25:45 +00:00
2022-02-03 07:42:20 -05:00
2022-02-03 07:42:20 -05:00
2026-06-25 15:12:05 +01:00
2025-05-09 10:53:43 +02:00
2026-01-20 10:25:45 +00:00
2022-02-03 07:42:20 -05:00
2022-06-02 14:53:55 -04:00