Skip to main content

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


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)

Uploaded Source

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

Hashes for snakedict-1.0.0.tar.gz
Algorithm Hash digest
SHA256 19735b11b912e43736b91385a46c4cc38f670554188c1e103b473d036405498c
MD5 4f739fc556c53857e723e589aef1ac56
BLAKE2b-256 876a6b3072c70cb485f7ca6e225548c2c0973d8d8de742179fb800b979a914db

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page