jaraco.collections
Collection objects similar to those in stdlib by jaraco
Decision gist · record as of 2026-08-14
Yes. The package offers genuine utility for common collection patterns, has low install friction, no known vulnerabilities, and is actively maintained under a permissive MIT license. Install it if your code needs any of its specialized mappings; otherwise, it's not a required dependency.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Low install friction with a single runtime dependency.
- The package is actively maintained with a recent commit on 2026-04-13 and has been stable since its first release in 2015-02-16.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal restrictions.
last release 2025-06-21 (419 days) · last repo commit 2026-04-13 · 15 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,263,840 downloads/mo, #4,144 on PyPI
Alternatives
Verify before relying
pip install jaraco.collections
from jaraco.collections import RangeMap
rm = RangeMap()
rm[range(0, 5)] = 'low'
rm[range(5, 15)] = 'high'
print(rm[3])- Whether FrozenDict is truly hashable and suitable for use as dict keys in all scenarios
- Performance characteristics of RangeMap and WeightedLookup with large datasets
- Whether ItemsAsAttributes correctly handles all edge cases with reserved attribute names
What it is and what it does
jaraco.collections supplements Python's standard collections module with specialized mapping and container classes designed for common patterns that the stdlib doesn't directly address. It provides RangeMap for key lookups across ranges, case-insensitive keyed dicts, bijective maps where values map back to keys, immutable FrozenDict, and several other utility containers like DictStack for scope management and WeightedLookup for probabilistic selection.
The package is a lightweight addition to your toolkit—it has only one runtime dependency and installs as a pure Python wheel. It's actively maintained and has been in production use since 2015-02-16, making it suitable for projects that need these specific collection patterns without building custom implementations.
Use it for
- Use RangeMap when you need to map ranges of numeric values to results, like scoring systems or tier-based lookups.
- Use FoldedCaseKeyedDict for case-insensitive configuration or lookup tables where key matching should ignore case.
- Use BijectiveMap when you need bidirectional mapping where both keys and values are valid lookups.
- Use FrozenDict when you need an immutable, hashable mapping to use as a dict key or in sets.
- Use DictStack to manage nested scopes or configuration layers that inherit from parent contexts.
- Use WeightedLookup to select items probabilistically based on assigned weights.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package offers genuine utility for common collection patterns, has low install friction, no known vulnerabilities, and is actively maintained under a permissive MIT license. Install it if your code needs any of its specialized mappings; otherwise, it's not a required dependency.
Install
jaraco-collections on PyPI
Before you install
Low install friction with a single runtime dependency. The package is actively maintained with a recent commit on 2026-04-13 and has been stable since its first release in 2015-02-16.
Requires Python 3.9 or later.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal restrictions.
Quickstart
pip install jaraco.collections
from jaraco.collections import RangeMap
rm = RangeMap()
rm[range(0, 5)] = 'low'
rm[range(5, 15)] = 'high'
print(rm[3])
Verify before relying
- Whether FrozenDict is truly hashable and suitable for use as dict keys in all scenarios
- Performance characteristics of RangeMap and WeightedLookup with large datasets
- Whether ItemsAsAttributes correctly handles all edge cases with reserved attribute names
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagejaraco.text |
| Maintenance | Actively maintained 419 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,263,840 / month, #4,144 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: Only |
Evidence: jaraco_collections-5.2.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “specialized dict implementations”
- jaraco.collectionsProvides specialized collection classes that extend Python's standard…
- zictProvides mutable mapping tools and data structures for working with…
- yamlloaderProvides specialized loaders and dumpers for pyyaml that preserve key…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also collections-extended · jaraco.classes · jaraco.functools · zict · immutables · frozendict · constantdict · immutabledict · frozenlist · monty