An easy-to-use package to convert to camelCase or snake_case
Project description
snakecamel
A small utility to camelize (convert to camel-case) or snakeize (convert to snake-case) any object.
This is a very early-stage project & for the time-being is only there as a personal utility.
Usage
import snakecamel
>>> snakecamel.camelize("simple_string")
'simpleString
>>> snakecamel.snakeize("simpleString")
'simple_string'
General notes
- The library is designed to be very forgiving. It does not raise upon encountering an unknown type, it just skips it. This way, you can pass arbitrary objects to it & everything that can be camelized/snakeized, will be.
>>> import snakecamel
>>> snakecamel.camelize(50)
50
>>> from datetime import date
>>> snakecamel.camelize({"hello_world": "hello_world", 50: 50, date.today(): "today"})
{'helloWorld': 'hello_world', 50: 50, datetime.date(2022, 7, 31): 'today'}
- The library will try to re-construct the type you pass to it, so that if you pass different kinds of iterables, you'll get the same type returned. Unfortunately, that still does not work with mappings.
>>> import snakecamel
>>> snakecamel.camelize(["simple_string"])
['simpleString']
>>> snakecamel.camelize({"simple_string"})
{'simpleString'}
>>> snakecamel.camelize(("simple_string",))
('simpleString',)
>>> snakecamel.camelize("simple_string")
'simpleString'
- When camelizing/snakeizing mappings, you can choose to do so with keys only or keys & values.
>>> import snakecamel
>>> snakecamel.camelize({"simple_key": "simple_value"})
{'simpleKey': 'simple_value'}
>>> snakecamel.camelize({"simple_key": "simple_value"}, camelize_mapping_values=True)
{'simpleKey': 'simpleValue'}
- You can shoose between capitalized or non-capitalized camel case.
>>> import snakecamel
>>> snakecamel.camelize("simple_string")
'simpleString'
>>> snakecamel.camelize("simple_string", capitalized=True)
'SimpleString'
When snakeizing, you need to pass capitalized=True
, if you want the first letter of a
capitalized camel-case word to be lowercased.
>>> snakecamel.snakeize("simpleString")
'simple_string'
>>> snakecamel.snakeize("simpleString", capitalized=True)
'simple_string'
>>> snakecamel.snakeize("SimpleString")
'Simple_string'
>>> snakecamel.snakeize("SimpleString", capitalized=True)
'simple_string'
- When camelizing, you can choose whether you're stripping leading/trailing underscores or not.
import snakecamel
>>> import snakecamel
>>> snakecamel.camelize("_simple_string_")
'_simpleString_'
>>> snakecamel.camelize("_simple_string_", strip_underscores=True)
'simpleString'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
snakecamel-0.1.0.tar.gz
(4.6 kB
view details)
Built Distribution
File details
Details for the file snakecamel-0.1.0.tar.gz
.
File metadata
- Download URL: snakecamel-0.1.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.14 CPython/3.10.4 Linux/5.15.0-41-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cab2fb350d11798f4866327261adc1079c1fc6f6fe1077e8624542a63766b767 |
|
MD5 | 76fd4e1c00727197ad3eb86ee380cbff |
|
BLAKE2b-256 | 6afe3571bf8036a73e229d3080e67b79c90bfd3499f93bc1d0ecab95afe57a5b |
File details
Details for the file snakecamel-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: snakecamel-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.14 CPython/3.10.4 Linux/5.15.0-41-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79a004695db91ad6138a5afd91f0ca7499709a438fcc031c5aa81b6c043ef547 |
|
MD5 | 663f10f8a29ad8213b12a8dbfd4a188c |
|
BLAKE2b-256 | 35171edac0df3dec425068ded36e058b274f5e45608ca94702f0d13ec982f403 |