Skip to main content

an enum `AutoName` from python docs with multiple stringcase options

Project description

autoname

an enum AutoName from python docs with multiple stringcase options.

Get Started

$ pip install autoname
from autoname import AutoName
from enum import auto


# an enum class
class GameType(AutoName):
    INDIE = auto()


print(GameType.INDIE.value)  # "INDIE"

# could be alternative in pydantic instead of literal
from pydantic import BaseModel


class Game(BaseModel):
    type: GameType

Also have others stringcases coverter

  1. AutoNameLower - convert name value to lowercase
  2. AutoNameUpper - convert name value to uppercase

e.g.

from autoname import AutoNameLower
from enum import auto

class GameType(AutoNameLower):
    INDIE = auto()

print(GameType.INDIE.value) # "indie"

You could also bring your own case convertion algorithm.

from autoname import AutoName, transform
from enum import auto


@transform(function=str.lower)
class GameType(AutoName):
    INDIE = auto()


print(GameType.INDIE.value)  # "indie"

If the autoname is not a sound variable name. there are alias too.

  • StrEnum = AutoName
  • LowerStrEnum = AutoNameLower
  • UpperStrEnum = AutoNameUpper

e.g.

from autoname import StrEnum, transform
from enum import auto


class GameType(StrEnum):
    INDIE = auto()


print(GameType.INDIE.value)  # "INDIE"

Alternative

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoname-2.0.0.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

autoname-2.0.0-py3-none-any.whl (3.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page