Skip to main content

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!

Release files for snakedict 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for snakedict 1.0.0
File Size Uploaded
snakedict-1.0.0.tar.gz 3.5 kB Details

Release files / snakedict-1.0.0.tar.gz

Download URL snakedict-1.0.0.tar.gz
Size 3.5 kB
Tags Source
SHA-256 checksum
How to use checksums
19735b11b912e43736b91385a46c4cc38f670554188c1e103b473d036405498c
BLAKE2b-256 checksum
How to use checksums
876a6b3072c70cb485f7ca6e225548c2c0973d8d8de742179fb800b979a914db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.5

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page