🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

casers

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

casers

String case converter for Python written in Rust

0.11.0
PyPI
Maintainers
1

casers

PyPI PyPI - Python Version GitHub last commit PyPI - Downloads GitHub stars

Features

caseexample
camelsomeText
snakesome_text
kebabsome-text
pascalSomeText
constantSOME_TEXT

Installation

pip install casers

Usage

The examples are checked by pytest

>>> from casers import to_camel, to_snake, to_kebab

>>> to_camel("some_text") == "someText"
True

>>> to_snake("someText") == "some_text"
True

>>> to_kebab("someText") == "some-text"
True
>>> to_kebab("some_text") == "some-text"
True

pydantic

pip install "casers[pydantic]"

The package supports for pydantic 2

>>> from casers.pydantic import CamelAliases

>>> class Model(CamelAliases):
...     snake_case: str

>>> Model.model_validate({"snakeCase": "value"}).snake_case == "value"
True
>>> Model.model_validate_json('{"snakeCase": "value"}').snake_case == "value"
True

Benchmark

Apple M3 Pro

----------------------------------------------------------------------------------------------- benchmark: 5 tests -----------------------------------------------------------------------------------------------
Name (time in us)                             Min                   Max               Mean             StdDev             Median               IQR            Outliers  OPS (Kops/s)            Rounds  Iterations
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_to_camel_rust                         2.4580 (1.0)         10.7919 (1.0)       2.5684 (1.0)       0.0955 (1.0)       2.5420 (1.0)      0.0410 (1.0)     2123;2123      389.3475 (1.0)       79208           1
test_to_camel_python_builtin              10.3328 (4.20)        90.1250 (8.35)     10.7271 (4.18)      0.8965 (9.39)     10.6669 (4.20)     0.2082 (5.08)    1182;1739       93.2215 (0.24)      57419           1
test_to_camel_rust_parallel               20.1249 (8.19)       102.2089 (9.47)     29.5715 (11.51)     4.0862 (42.79)    28.4170 (11.18)    4.8331 (117.94)    855;158       33.8163 (0.09)       4783           1
test_to_camel_python_builtin_parallel     36.4999 (14.85)    1,233.1251 (114.26)   39.9730 (15.56)    19.0205 (199.20)   38.1658 (15.01)    0.8328 (20.32)     95;1059       25.0169 (0.06)       8741           1
test_to_camel_pure_python                 39.4580 (16.05)      212.9169 (19.73)    40.6741 (15.84)     3.1588 (33.08)    40.2501 (15.83)    0.4161 (10.15)    614;2145       24.5857 (0.06)      21878           1
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Legend:
  Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.
  OPS: Operations Per Second, computed as 1 / Mean

License

  • MIT LICENSE

Contribution

Contribution guidelines for this project

Keywords

case

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts