#1855·viper

Deprecate the global Viper instance

Author: sagikazarmarkCreated Jun 5, 2024Updated Oct 8, 2025
Labelskind/enhancementlifecycle/keep

Preflight Checklist

  • I have searched the issue tracker for an issue that matches the one I want to file, without success.

Problem Description

There is a global, singleton instance in Viper.

Although it makes cross-package configuration easy, it became clear that it's more a burden not just from a maintenance perspective:

  • Moving away from the setter-pattern has been challenging
  • Testing is harder with the global instance
  • Concurrent or subsequent changes may lead to unexpected behavior in a way that's nearly impossible to debug with the global instance

Proposed Solution

Deprecate the global instance. Remove it in v2.

Alternatives Considered

Provide an alternative package for people who want to continue using it.

Additional Information

No response