pyhumps
ユースケース:クラス名(キャメルケース)とモジュール名(スネークケース)の相互変換
https://pypi.org/project/pyhumps/
fastapi-camelcaseで使っていて知った
code:python
import humps
humps.camelize('jack_in_the_box') # jackInTheBox
humps.decamelize('rubyTuesdays') # ruby_tuesdays
https://github.com/nficano/humps/blob/v3.8.0/humps/main.py
正規表現を使った実装
文字列だけでなくイテラブルも受け付ける
例:decamelize
https://github.com/nficano/humps/blob/v3.8.0/humps/main.py#L114
単語に分ける(_separate_words)
正規表現を使っている(SPLIT_RE)
小文字にする
辞書の配列も扱える
humps.decamelize([{"attrOne": "foo"}, {"attrOne": "bar"}])
クラスは無理そう
データクラスはasdictして適用できた