feat: Support STRUCTKIT_STRUCTURES_PATH environment variable (#122)#124
Merged
feat: Support STRUCTKIT_STRUCTURES_PATH environment variable (#122)#124
Conversation
- Add STRUCTKIT_STRUCTURES_PATH env var support for --structures-path argument - CLI argument takes precedence over environment variable - Add comprehensive test suite covering all precedence scenarios - Update CLI documentation with environment variables section - Update generate command docs to mention the new env var
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for the STRUCTKIT_STRUCTURES_PATH environment variable to provide a convenient way to set a default structures path without repeating the -s flag on every command.
- Environment variable support with proper CLI precedence (command-line arguments override environment variables)
- Logging transparency when the environment variable is used
- Comprehensive test coverage for all precedence scenarios
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| tests/test_env_var_structures_path.py | Comprehensive test suite covering environment variable precedence, CLI override, logging, and edge cases |
| structkit/commands/generate.py | Implementation of environment variable resolution logic in the execute method |
| docs/cli-reference.md | Updated documentation with environment variables section and usage examples |
- Set default value directly in argument parser instead of handling in execute() - Cleaner and more idiomatic argparse usage - Same functionality and precedence behavior
- Update all tests to re-create parsers with env vars set - This ensures os.getenv() is called during GenerateCommand.__init__ - Add logging when STRUCTKIT_STRUCTURES_PATH environment variable is used - All 5 tests now pass successfully
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.
Description
This PR implements support for the
STRUCTKIT_STRUCTURES_PATHenvironment variable to address #122.Changes
STRUCTKIT_STRUCTURES_PATHto specify a default structures path without repeating the-sflag on every commandImplementation Details
GenerateCommand.execute()to check forSTRUCTKIT_STRUCTURES_PATHenvironment variable when--structures-pathis not providedSTRUCTKIT_LOG_LEVELUsage Example
Testing
✅ 5 new tests covering:
✅ All existing tests continue to pass
✅ Pre-commit hooks pass (formatting, linting)
Closes
Closes #122