Refactor and Modernization of esoreader.py #11
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.
PR improves readability, type safety and usability of the esoreader module while preserving backward compatibility.
Key changes include:
Optional,dict,tuple,list)to_series()method in theEsoFileclass to allow direct extraction of a single variable as a pandas Seriesfind_variable()to ensure case-insensitive matching and optional key-based filteringto_frame()method with optional column naming based on either key or variable name__repr__()methods toDataDictionaryandEsoFileclasses for easier debugging and loggingread()function for compatibility, while encouraging use of the newerread_from_path()interfaceunittestandpytest, all tests passed before and after the refactor, confirming functional parity. The newto_series()method was excluded from earlier tests but has been validated post-refactor. Note:pytestis included in the separate PR via thepyproject.toml