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 |