Skip to main content

C extension to fetch an item from a nested structure made out of dictionaries and/or lists. Can reduce the time spent retrieving items from nested structures resulted after de-serializing JSON content or other nested structures.

Project description

Ultra Path

This module is made out of a simple C extension to help reduce the total time required to extract items from highly nested structures. At the moment it supports retrieving items from nested structures made out of dictionaries and lists but it can be easily extended to support other mappings or iterables.

Usage:

>>> from upath import getp

>>> getp({"level0": {"level1": [{"level3": 3}]}}, "level0.level1.0.level3") 3

>>> getp({"level0": {"level1": [{"level3": 3}]}}, "level0/level1/0/level3", '/', None) 3

>>> getp({"level0": {"level1": [{"level3": 3}]}}, "level0/level1/0/level77777777", '/', "Default value") 'Default value'

Only positional arguments are supported, so this will not work:

>>> getp({"level0": {"level1": [{"level3": 3}]}}, "level0/level1/0/level3", default='Works') None

Check C extensions documentation here: https://docs.python.org/3/extending/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

upath-1.0.1-cp37-cp37m-macosx_10_14_x86_64.whl (5.1 kB view hashes)

Uploaded CPython 3.7m macOS 10.14+ x86-64

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