● 0.1.x · pure Python · zero dependencies
Stop chaining brackets.
Start walking the path.
PyJget reads nested JSON and dictionaries with plain dot notation — "user.profile.name" instead of four pairs of brackets and a prayer.
$ pip install PyJget
Read the docs →
playground.py
Sample data
Try a path
jget(data,
)
Result
Alice
The problem
Nested data shouldn't need a safety harness.
Without PyJget
data["user"]["profile"]["name"]
# or, defensively:
data.get("user", {}) \
.get("profile", {}) \
.get("name")
With PyJget
from pyjget import jget name = jget(data, "user.profile.name")
Built for
Small footprint. Predictable behavior.
01
Pure Python
No compiled extensions, no build step. Drops into any project as-is.
00
Zero dependencies
Nothing to resolve, nothing to conflict with. Just PyJget.
.
Dot notation
Address nested keys and list indexes the way you'd say them out loud.
∅
Safe defaults
Missing a key? You get your fallback back, not a traceback.
Kb
Lightweight
One small module. Nothing to configure, nothing to learn twice.
→
Easy to learn
One function. If you can write a path, you can use PyJget.
ms
Fast execution
A straightforward walk down the object graph — no regex, no parsing overhead.
[i]
List indexes
Numeric segments like users.0.email step straight into arrays.
Quickstart
From install to first extraction.
Install
Basic use
Lists
Safe defaults
# from PyPI pip install PyJget # then, in Python from pyjget import jget
data = {
"user": {
"profile": {"name": "Alice", "age": 22}
}
}
name = jget(data, "user.profile.name")
# "Alice"data = {"users": [{"email": "a@x.com"}, {"email": "b@x.com"}]}
first_email = jget(data, "users.0.email")
# "a@x.com"nickname = jget(data, "user.profile.nickname", default="Unknown") # "Unknown" — no KeyError, no crash