Repository navigation
Implement global shade module configuration #1
Description
Activity
gm again maintainer please assign me this issue to work on
Elizabeth-dev270 commented
on Jun 20, 2026 More actionsI enjoy solving software problems and have experience in backend development, APIs, OOP, and scalable application design.
- addedGrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official CampaignCampaign: Official Campaign
on Jun 20, 2026 Hi! I came across this issue and would love to work on it. I have experience with similar tasks and I'm confident I can investigate, implement a clean solution, and thoroughly test it before submitting a PR. If the issue is still open, I would appreciate it if you could assign it to me. Thank you!
DioChuks commented
on Jul 21, 2026 ContributorMore actionsHello, i am senior SWE, the problem seems to be about global module configuration, ensuring a well rounded setup for the application startup, i would handle this well, thanks.
grantfox-oss commented
on Jul 24, 2026 grantfox-ossboton Jul 24, 2026 – with GrantFox OSSMore actionsgrantfox-oss commented
on Jul 29, 2026 grantfox-ossboton Jul 29, 2026 – with GrantFox OSSMore actions🎉 This issue has been marked as completed on GrantFox as part of the Official Campaign | FWC26 campaign!
@DioChuks's PR #53 was approved and merged by @codebestia.
🏆 @DioChuks: You earned 35 FoxPoints for this contribution! Your current tier: Explorer (204 total points). Track your full progress on GrantFox.
👏 Great work, @DioChuks! Keep contributing to ShadeProtocol.
Description:
The SDK should support module-level configuration (e.g.
shade.api_key = "sk_live_...") so developers can configure it once at app startup without instantiating a client object on every call. This mirrors the ergonomics of the Stripe Python SDK. The global config must be thread-safe and readable by all resource classes.Proposed Steps:
src/shade/config.pywith module-level variables:api_key,api_base,environment,timeout,max_retries.shadenamespace via__init__.py.get_config()helper that merges instance-level overrides with global defaults, used internally by all resource methods.Noneapi_key at request time and raiseAuthenticationError.Acceptance Criteria:
shade.api_key = "sk_live_xxx"sets the global key accessible across all resource calls.shade.environment = "sandbox"switches the active environment.shade.api_key = Noneand then calling any resource raisesAuthenticationErrorwith a clear message.