--- id: itypes version: "1.2.0" license: BSD license_treatment: permissive maintenance: abandoned --- # itypes — Simple immutable types for python. License: permissive · Maintenance: abandoned · Downloads: 1.7M/mo ## What it is and what it does itypes provides immutable versions of Python's dict and list that prevent accidental modification and automatically convert nested mutable structures to immutable equivalents. When you call methods like `set()` or `delete()`, they return new copies rather than modifying in place; direct assignment or deletion raises a TypeError. The package also supports nested lookups and updates via `get_in()`, `set_in()`, and `delete_in()` methods, and objects are hashable so they can be used as dictionary keys or in sets. The library is designed for simplicity and code clarity rather than performance—it trades speed for readability in scenarios where immutability helps prevent bugs or makes intent clearer. You can subclass `itypes.Dict` or `itypes.Object` to create custom immutable types with restricted interfaces, using private attributes and `@property` decorators for controlled access. Use it for: - Store configuration data that should not be accidentally modified during program execution - Use immutable dicts as dictionary keys or in sets where hashability is required - Create custom immutable domain objects by subclassing itypes.Object with property-based access - Enforce immutability in nested data structures where both top-level and inner collections must be read-only - Simplify reasoning about data flow in codebases where immutability prevents side effects ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides immutable container types (Dict and List) for Python that prevent modification after creation and automatically coerce nested structures to immutable equivalents. No. The package is abandoned (last commit 2020-04-19, repository archived) with no active maintenance or security updates. While it has low install friction and permissive licensing, the lack of maintenance means it will not receive bug fixes or compatibility updates for modern Python versions. For immutable containers, consider actively maintained alternatives. ## Install pip install itypes uv add itypes poetry add itypes ## Installing itypes Before you install: Installation is straightforward with no runtime dependencies. However, the package is abandoned—last updated in April 2020, over 2308 days ago, with the repository archived. No active maintenance or security updates are being provided. License in practice: Licensed under BSD (permissive), which allows use in most projects without restriction. No notable licensing constraints for adoption. Quickstart: pip install itypes import itypes d = itypes.Dict({'a': 1, 'b': 2}) l = itypes.List(['x', 'y', 'z']) d2 = d.set('c', 3) # returns new Dict, original unchanged Verify before relying: - Whether the package works reliably on Python versions released after 2020 - Whether nested immutability coercion handles all edge cases in modern Python - Performance characteristics compared to alternatives for large data structures ## Package facts - License: BSD (permissive) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 1.7M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags immutable dict and list, immutable containers python, frozen data structures, immutable types library, hashable dict and list, read-only collections, immutable nested structures, immutable-data, abandoned [View on SkillFed](https://skillfed.io/packages/itypes) · [View on PyPI](https://pypi.org/project/itypes/)