Commit c39cb2a
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
0 commit comments