Source code for pymor.tools.typer

#!/usr/bin/env python
# This file is part of the pyMOR project (http://www.pymor.org).
# Copyright 2013-2020 pyMOR developers and contributors. All rights reserved.
# License: BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause)

from enum import Enum


[docs]def Choices(choices): """Multipe-choice options for typer. This is a convenicence function that creates string Enums to be used as the type of command-line arguments that can take a fixed set of values. For example, the command:: @app.command() def main(arg: Choices('value1 value2')): pass takes one argument that may either have the value `value1` or the value `value2`. """ class StringEnum(str, Enum): pass return StringEnum('Choices', ((o, o) for o in choices.split(' ')))