-
Notifications
You must be signed in to change notification settings - Fork 0
A high-spirited feature-flagging library for Python.
License
dluman/pennant
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# pennant [![PyPI version](https://img.shields.io/pypi/v/pennant)](https://pypi.org/project/pennant/) A feature flagging library that uses decorators and context management to "feature flag" certain functions or blocks of code. I _feel_ like it's better than a bunch of conditionals, but I'm often wrong. ## Installation Find this tool on `PyPI`: `pip install pennant` ## Usage Contrary to how some folks might do it, this library takes and "opt-out" approach where setting the flag to `False` prevents the given function or code block from running. As long as the argument provided to the decorator or content manager evaluates to `False`, anything's game. Check this out: ```python import pennant @pennant.FEATURE_FLAG_FUNCTION(False) def print_me(test: str = "Hello!") -> str: print(test) return "!" def main(): print("This should run none of the following.") print_me(test = "Yes!") with pennant.FEATURE_FLAG_CODE(False): numbers = [1,2] print(numbers) if __name__ == "__main__": main() ```
About
A high-spirited feature-flagging library for Python.