Skip to main content

Python package to deflate and re-inflate dictionaries.

Project description

Travis CI build SonarCloud Quality SonarCloud Maintainability Codacy Maintainability Maintainability Pypi project Pypi total project downloads

Python package to deflate and re-inflate dictionaries.

How do I install this package?

As usual, just download it using pip:

pip install deflate_dict

Tests Coverage

Since some software handling coverages sometime get slightly different results, here’s three of them:

Coveralls Coverage SonarCloud Coverage Code Climate Coverate

Deflating a dictionary

A dictionary will be deflated down to its smallest non-further iterable elements, defined as those not containing lists or dictionaries.

from deflate_dict import deflate
D = {
    "a":[
        {
            "b":(0,1,2)
        },
        {
            "c": [1,2,3]
        }
    ]
}
result = deflate(D, sep="_")

# {'a_0_b': (0, 1, 2), 'a_1_c': [1, 2, 3], 'd': 4}

Inflate a dictionary

To reinflate a dictionary to its forgotten glory, just go with:

from deflate_dict import inflate
D = {"a_0_b": (0, 1, 2), "a_1_c": [1, 2, 3], "d": 4}

result = inflate(D, sep="_")

# {'a': [{'b': (0, 1, 2)}, {'c': [1, 2, 3]}], 'd': 4}

Limitations

The library, as of version 1.0.2, is unable to distinguish between reinflated numerical strings and actual numbers, since to deflate the strings the library has to convert the numbers to strings.

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

deflate_dict-1.0.3.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file deflate_dict-1.0.3.tar.gz.

File metadata

  • Download URL: deflate_dict-1.0.3.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for deflate_dict-1.0.3.tar.gz
Algorithm Hash digest
SHA256 88b0ed4fe58a3378e7541e22654ce04828f48c1c8305da3f56d51ec416a06c3f
MD5 9c4b7a54b3ca6e5306563881b621abaa
BLAKE2b-256 50e6529f51601a4e6b0965a4ca8d571e568c071b1b604a424aa04fa12d9cffc7

See more details on using hashes here.

Supported by

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