feat(sdk): offline W&B export migration — ExportDirSource + from_wandb_export.py (GLA-844)#112
Closed
jqueguiner wants to merge 1 commit into
Closed
feat(sdk): offline W&B export migration — ExportDirSource + from_wandb_export.py (GLA-844)#112jqueguiner wants to merge 1 commit into
jqueguiner wants to merge 1 commit into
Conversation
…b_export.py (GLA-844) - sdk/openrunner/migrate.py: refactor into WandbRunSource protocol with LiveAPISource (preserves existing behaviour) and ExportDirSource (new). ExportDirSource walks .tar.gz / .tgz / directory, parses config.yaml/json, metrics.jsonl/.parquet, summary.json, artifacts/, media/. Adds migrate_from_wandb_export() public entry-point. Shared _import_records pipeline handles idempotent re-import (update instead of duplicate on same display_name). - sdk/openrunner/cli.py: adds --from-wandb-export <path> flag to openrunner migrate command. - examples/migrate-from-wandb/from_wandb_export.py: standalone CLI wrapper for the offline import path — thin argparse shim over migrate_from_wandb_export. - examples/migrate-from-wandb/README.md: usage guide, prerequisites, export layout, and what-gets-imported table. - sdk/tests/test_migrate.py: unit tests for ExportDirSource and migrate_from_wandb_export with the wandb-export-mini fixture set. Closes GLA-844. Co-Authored-By: Paperclip <noreply@paperclip.ing>
3 tasks
Owner
Author
|
MergeEngineer cycle check — GLA-849 CI status:
Hold: Branch |
jqueguiner
enabled auto-merge (squash)
May 8, 2026 20:22
Owner
Author
auto-merge was automatically disabled
May 8, 2026 20:40
Pull request was closed
Owner
Author
|
MergeEngineer: rebased onto main at |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
sdk/openrunner/migrate.py— refactored intoWandbRunSourceprotocol withLiveAPISource(preserves existing behaviour) andExportDirSource(new offline path). Addsmigrate_from_wandb_export()public entry-point.sdk/openrunner/cli.py— adds--from-wandb-export <path>flag toopenrunner migrate.examples/migrate-from-wandb/from_wandb_export.py— standalone CLI wrapper; thin argparse shim overmigrate_from_wandb_export. Fixes the missing source file (only__pycache__/from_wandb_export.cpython-312.pycexisted on main).examples/migrate-from-wandb/README.md— usage guide, prerequisites, export layout, and import asset table.sdk/tests/test_migrate.py— unit tests forExportDirSource+migrate_from_wandb_exportwith thewandb-export-minifixture set.sdk/tests/fixtures/wandb-export-mini/— test fixtures (two run dirs with config, metrics, artifacts, summary).Supersedes #111 (which added only the example file without the required
migrate_from_wandb_exportSDK entry-point, making the script non-functional at runtime).Closes GLA-844.
Test plan
python examples/migrate-from-wandb/from_wandb_export.py --helpshows usagepython examples/migrate-from-wandb/from_wandb_export.py /nonexistent --dry-runexits with code 2 and error on stderrpytest sdk/tests/test_migrate.pypasses🤖 Generated with Claude Code