Skip to content

Fixes lazy load server protocols#4984

Draft
jasonb5 wants to merge 1 commit into
masterfrom
fix/refactor-servers-lazyload
Draft

Fixes lazy load server protocols#4984
jasonb5 wants to merge 1 commit into
masterfrom
fix/refactor-servers-lazyload

Conversation

@jasonb5

@jasonb5 jasonb5 commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Description

  • Refactors CIME/Servers/__init__.py to use lazy loading via __getattr__ and @lru_cache
  • No longer runs shutil.which() at import time for svn, wget, globus-url-copy
  • Adds is_protocol_available(protocol) public API
  • Updates check_input_data.py to use new API
  • Adds 12 unit tests

Depends on: #4982

Checklist

  • My code follows the style guidelines of this project (black formatting)
  • I have performed a self-review of my own code
  • My changes generate no new warnings
  • I have added tests that exercise my feature/fix and existing tests continue to pass
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding additions and changes to the documentation

@github-actions

Copy link
Copy Markdown
Contributor

@jasonb5 jasonb5 force-pushed the fix/refactor-servers-lazyload branch from 834066b to 3bbc14f Compare June 18, 2026 20:17
@jasonb5 jasonb5 changed the base branch from master to feat/refactor-core-foundation June 18, 2026 20:21
Base automatically changed from feat/refactor-core-foundation to master July 8, 2026 17:38
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.

1 participant