Skip to content

Conversation

@blaiszik
Copy link
Contributor

This file was part of PR #469 but was not included in the merge, causing ModuleNotFoundError when importing foundry.

This file was part of PR #469 but was not included in the merge,
causing ModuleNotFoundError when importing foundry.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@what-the-diff
Copy link

what-the-diff bot commented Jan 14, 2026

PR Summary

  • Improved Data Identifier Matching
    An upgrade was carried out on the data identifier matching function ('foundry.py'). Before, it only returned the first match it found, now it will run through every result until it finds a perfect match. Additional warning logs have also been incorporated should the function fail to find an exact match.

  • Introducing a new Minimal Data Framework (MDF) Client
    We have introduced a new component, mdf_client.py, which will replace the dependency on the previous mdf_forge while also bringing in more features.

    Key Features Include:

    • StagingUploader Class: Manages file uploads to the MDF Staging endpoint eliminating the need for Globus Connect Personal.
    • File and Directory Management: New methods to create and handle staging directories and file uploads.
    • MDFClient Class: Allows for dataset search and download while including advanced filters for resource types, organizations, and DOIs.
    • Improved Search and Download Features: Implementation of a search method for finding datasets based on parameters, and added download functionality via Globus Transfer.

The forge DOI search can return multiple results where only one
actually has the matching DOI. Previously, get_metadata_by_doi()
blindly returned the first result, which often didn't have the
requested DOI.

Now it iterates through results to find the one with the exact
DOI match, fixing test_dataframe_search_by_doi and
test_dataframe_download_by_doi tests.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@blaiszik blaiszik merged commit 6e5c387 into main Jan 14, 2026
0 of 4 checks passed
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