Keep your dict keys PEP 8 compliant.
Project description
Snake Dict
Keep your dictionary keys PEP 8 compliant
Quick Example
from snakedict import convert
my_dict = {
"helloWorld": "test",
"thisIsCamelCase": "hello",
"this_is_snake_case": "world",
}
my_dict = convert(a)
print(my_dict["hello_world"]) # test
Installation
Linux/macOS
python3 -m pip install -U pointers.py
Windows
py -3 -m pip install -U pointers.py
Usage
There are 2 main functions, convert and auto.
convert does what was shown above, it takes in a dictionary and converts keys that are in camelCase to snake_case:
from snakedict import convert
my_dict = {
"something": "test",
(1, 2, 3): "hello" # you can use any key you want, snakedict won't touch it unless its in camelcase
}
print(convert(my_dict)) # no camelcase found, nothing happens
On the other hand, auto is a decorator that converts the response to snake case:
from snakedict import auto
@auto()
def fetch_something():
return { # lets pretend this is a call to some api
"accountName": "someone1234",
"joinDate": "7/19/22",
}
print(fetch_something()["account_name"])
auto has a parameter called execute_maybe that won't call convert if the response wasn't a dict:
If you want an error to be raised if the function returns None, set it to False:
@auto(execute_maybe = False)
def fetch_something():
return None
fetch_something() # TypeError!
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
snakedict-1.0.0.tar.gz
(3.5 kB
view details)
File details
Details for the file snakedict-1.0.0.tar.gz.
File metadata
- Download URL: snakedict-1.0.0.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19735b11b912e43736b91385a46c4cc38f670554188c1e103b473d036405498c
|
|
| MD5 |
4f739fc556c53857e723e589aef1ac56
|
|
| BLAKE2b-256 |
876a6b3072c70cb485f7ca6e225548c2c0973d8d8de742179fb800b979a914db
|