--- id: plucky version: "0.4.3" license: MIT license_treatment: permissive maintenance: dormant --- # plucky — Plucking (deep) keys/paths safely from python collections has never been easier. License: permissive · Maintenance: dormant · Downloads: 79.7K/mo ## What it is and what it does Plucky is a lightweight utility for extracting values from nested Python data structures—dictionaries, lists, and objects—without raising exceptions when keys or indices are missing. It offers three main interfaces: `pluckable()` wraps an object and lets you chain attribute and item access with a fluent API; `pluck()` accepts a string selector with Python-like syntax (e.g., `'users[2:5].name["first"]'`); and `plucks()` uses a simpler dot-notation syntax (e.g., `'users.2.name.first'`) for the most common cases. It also includes a `merge()` function for recursively combining nested structures. The package has no runtime dependencies and installs as a pure Python wheel. It is dormant—the last release was in September 2018, though the repository received a commit in December 2024. The codebase is stable and the API is mature, making it suitable for projects that need straightforward nested access without active maintenance. Use it for: - Extract nested fields from JSON API responses or parsed configuration files without checking for missing keys at each level - Safely access deeply nested user or entity data in web applications without defensive None checks - Merge configuration dictionaries recursively, combining defaults with user-provided overrides - Pluck multiple values from a list of objects (e.g., all first names from a user list) in a single expression - Handle heterogeneous nested structures where some branches may be missing or have different shapes ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Plucky provides concise, safe access to deeply nested values in Python objects using chained attribute/item getters, string selectors, or a simplified dot-notation syntax that gracefully handles missing keys. Yes, if you need safe nested data access in a stable, zero-dependency package and can accept that it receives no active maintenance. The dormant status is not a blocker for read-only use cases, but avoid it if you require ongoing bug fixes or compatibility updates for cutting-edge Python versions. For projects already on Python 3.6 or earlier, or for simple nested-access patterns, it remains a solid choice. ## Install pip install plucky uv add plucky poetry add plucky ## Installing plucky Before you install: Zero runtime dependencies and a pure-Python wheel make installation frictionless. The package is dormant (last release September 2018, last commit December 2024), so expect no active maintenance or bug fixes, though the codebase appears stable. License in practice: MIT license is permissive and imposes no restrictions on use, modification, or distribution in commercial or private projects. Quickstart: pip install plucky from plucky import plucks, pluckable obj = {'users': [{'name': {'first': 'John'}}, {'name': {'last': 'Bono'}}]} plucks(obj, 'users.name.first') # -> ['John'] pluckable(obj).users.name.first.value Verify before relying: - Whether the package works reliably with modern Python versions (classifiers list Python 3.6 as the latest tested version) - Performance characteristics when working with very large nested structures - Compatibility with recent versions of Python 3.10+ given the age of the last release ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: dormant - Downloads: 79.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags nested dictionary access, safe deep object get, pluck nested values, chained attribute getter, dict key path selector, safe missing key handling, deep data extraction, data-extraction, nested-access, zero-dependency [View on SkillFed](https://skillfed.io/packages/plucky) · [View on PyPI](https://pypi.org/project/plucky/)