Expand MATLAB-Python bridge documentation with comprehensive method mappings#35
Merged
Merged
Conversation
- Delete MATLAB_MAPPING.md: superseded by per-package bridge YAML files
which provide richer detail (argument types, decision logs, sync hashes)
- Add missing entries to gui/component bridge:
- ProgressMonitor: setProgressTracker, getProgressValue, getProgressTitle,
formatMessage methods
- ProgressTracker: DumpFilePath property
- AsynchProgressTracker: getAsynchTaskProgress static method
https://claude.ai/code/session_01XFmUSUpA1PAwxpDnczwGAv
…asses Core bridge (ndi_matlab_python_bridge.yaml): - Ido: add unique_id (static), is_valid (static), eq methods - DocumentService: add load_element_doc, document_id methods - Document: add 18 missing methods including dependency management (dependency, dependency_value, dependency_value_n, add/remove_dependency_value_n), file management (has_files, add_file, remove_file, current_file_list), class info (doc_class, doc_superclass, doc_isa), serialization (write, setproperties, validate, to_table, to_dict, to_json, plus), and static methods (find_doc_by_id, find_newest, read_blank_definition) - Query: add 25+ missing entries including operator overloads (eq, ne, lt, le, gt, ge, and, or, not), string methods (contains, match, equals), comparison methods, field existence (has_field, has_member), static factories (all, none, from_search), serialization (to_searchstructure, to_search_structure), and computed properties (field, operator, value, queries) Database bridge (ndi_matlab_python_bridge_database.yaml): - Add 9 individual method entries for Python convenience methods previously only noted in a comment: update, add_or_replace, find_by_id, numdocs, find_depends_on, find_dependencies, add_many, remove_many, get_binary_path https://claude.ai/code/session_01XFmUSUpA1PAwxpDnczwGAv
Add not_applicable entries for MATLAB functions intentionally not ported: - ndi_matlab_python_bridge.yaml: ndi.data.evaluate_fitcurve, ndi.setup, ndi.docs - ndi_matlab_python_bridge_database_fun.yaml: 13 database.fun utilities (GenBank parsers, NIF brain areas, plotinteractivedocgraph, table I/O, etc.) https://claude.ai/code/session_01XFmUSUpA1PAwxpDnczwGAv
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
This PR significantly expands the MATLAB-to-Python bridge documentation by adding detailed method mappings for core NDI classes (
Ido,DocumentPersistence,Document, andQuery). It also removes the now-redundantMATLAB_MAPPING.mdfile in favor of the more structured YAML-based bridge definitions.Key Changes
Ido class: Added mappings for
unique_id(),is_valid(), andeq()methods with decision logs explaining exact matches and synchronization details.DocumentPersistence interface: Added
load_element_doc()anddocument_id()methods to the interface specification.Document class: Significantly expanded with 40+ new method mappings including:
id(),session_id(),doc_unique_id()dependency(),dependency_value(),dependency_value_n(),add_dependency_value_n(),remove_dependency_value_n()has_files(),add_file(),remove_file(),current_file_list()doc_class(),doc_superclass(),doc_isa()write(),setproperties(),validate()to_table(),to_dict(),to_json()plus()(mapped to__add__)find_doc_by_id(),find_newest(),read_blank_definition()Query class: Added comprehensive method mappings including:
field,operator,value,querieseq(),ne(),lt(),le(),gt(),ge()(mapped to Python magic methods)and(),or(),not()(mapped to__and__,__or__,__invert__)contains(),match(),equals()less_than(),less_than_or_equal_to(),greater_than(),greater_than_or_equal_to()has_field(),has_member()all(),none(),from_search()Database class: Added convenience methods from the didsqlite subclass:
update(),add_or_replace(),find_by_id(),numdocs()find_depends_on(),find_dependencies()add_many(),remove_many(),get_binary_path()GUI ProgressDisplay class: Added methods
setProgressTracker(),getProgressValue(),getProgressTitle(),formatMessage()Removed:
MATLAB_MAPPING.mdfile (554 lines) - functionality now consolidated into structured YAML bridge definitionsImplementation Details
All new method entries include:
==→__eq__)Methods are organized with section comments for better readability and maintainability
Synchronization date consistently set to 2026-03-13 across all new entries
Maintains consistency with existing bridge documentation patterns
https://claude.ai/code/session_01XFmUSUpA1PAwxpDnczwGAv