Set Click standalone_mode=False by default#4537
Merged
Conversation
Qalthos
approved these changes
Aug 20, 2025
Disable Click's standalone mode to prevent automatic sys.exit() calls, improving programmatic usage and testing integration. Changes: - Set standalone_mode=False in main entry point (__main__.py) - Remove redundant standalone_mode=False calls from tests This allows SystemExit exceptions to be caught properly when molecule is called programmatically, which is required for testing frameworks and embedding scenarios.
23a2593 to
2ebbf6f
Compare
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.
Problem
Click's default standalone mode causes automatic
sys.exit()calls when commands complete, preventing proper exception handling in programmatic usage and testing scenarios.Solution
Set
standalone_mode=Falseas the default behavior in the main entry point to allowSystemExitexceptions to be caught and handled programmatically.Changes
standalone_mode=Falsein__main__.pyentry pointstandalone_mode=Falsecalls from test filesBenefits