Skip to content

Commit c39cb2a

Browse files
blaiszikclaude
andauthored
Patch/restore mdf client (#474)
* Restore missing mdf_client.py from design-renaissance branch 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> * Fix DOI search to return correct dataset 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> * Move torch/tensorflow to optional extras to fix CI disk space The combined size of torch, tensorflow, and NVIDIA CUDA dependencies exceeded GitHub Actions runner disk space (~4GB+). These ML frameworks are now available as optional extras via pip install .[torch] or pip install .[tensorflow]. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix flake8 linting errors - Remove unused imports (sys, rprint, Optional, pandas, numpy) - Fix unused exception variable - Remove f-string without placeholders - Split long line in MCP server description - Add noqa comment for intentional re-export Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Replace mdf_forge with internal MDFClient in tests Update test imports to use foundry.mdf_client.MDFClient instead of mdf_forge.Forge, which is no longer a required dependency. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Add optional extras and document installation Move heavy ML dependencies to optional extras to reduce default install size: - pip install foundry-ml[torch] - pip install foundry-ml[tensorflow] - pip install foundry-ml[huggingface] - pip install foundry-ml[excel] - pip install foundry-ml[examples] - pip install foundry-ml[dev] Update README with extras install instructions and NumPy 2.0 compatibility note. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix DOI search and improve MDFClient query handling MDFClient improvements: - Add Globus Search index ID constants (MDF_INDEX_ID, MDF_TEST_INDEX_ID) - Add match_source_names() method with automatic version suffix stripping - Add _has_field_filters property for elegant advanced mode detection - Use advanced=True automatically for DOI and source_name searches (required for exact field matching in Globus Search) - Add try/finally to ensure query state is always reset after search Foundry search fix: - Pass free-text query to Globus Search for server-side filtering instead of fetching 10 results and filtering client-side - This fixes searches like f.search("Computational Band Gaps") that were failing when the target dataset wasn't in the first 10 results Test additions: - Add test_load_mp_band_gaps_dataset to verify DOI-based dataset loading Re-rendered example notebooks with updated outputs. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 003aa18 commit c39cb2a

0 file changed

File tree

    0 commit comments

    Comments
     (0)