Literal Enum
# create conda environment
$ mamba env create -f env.yml
# update conda environment
$ mamba env update -n litum --file env.yml
pip install -e .
conda environment
$ conda activate litum
# make sure the litum package is installed in development mode
$ pip install -e .
# make changes under nbs/ directory
# ...
# compile to have changes apply to the litum package
$ nbdev_prepare
# publish to pypi
$ nbdev_pypi
# publish to conda
$ nbdev_conda --build_args '-c conda-forge'
$ nbdev_conda --mambabuild --build_args '-c conda-forge -c dsm-72'
Install latest from the GitHub repository:
$ pip install git+https://github.com/dsm-72/litum.git
or from conda
$ conda install -c dsm-72 litum
or from pypi
$ pip install litum
Documentation can be found hosted on GitHub repository pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.
Note that
LiteralEnum
,
LitStrEnum
, and
LitIntEnum
have
aliases Litum
, Strum
, and Intum
respectively.
@set_dtype(str)
@set_fallback('GREEN')
class MyLiteralEnum(LiteralEnum):
RED = 'red'
BLUE = 'blue'
GREEN = 'green'
color = MyLiteralEnum('RED')
color, MyLiteralEnum('blue'), MyLiteralEnum('ORANGE')
(<MyLiteralEnum.RED: 'red'>,
<MyLiteralEnum.BLUE: 'blue'>,
<MyLiteralEnum.GREEN: 'green'>)
MyLiteralEnum.check_fallback(), MyLiteralEnum.check_dtype(color)
(<MyLiteralEnum.GREEN: 'green'>, True)