namedlist
Similar to namedtuple, but instances are mutable.
Decision gist · record as of 2026-08-14
No, unless maintaining legacy code. The package is abandoned and explicitly recommends using built-in dataclasses instead. For new projects, dataclasses provide superior maintainability and ongoing language support. Install only to maintain or understand existing code that already depends on namedlist.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Installation is frictionless (pure Python wheel, no dependencies), but the package is abandoned as of 2020-08-30 and explicitly recommends using built-in dataclasses instead.
License · maintenance · safety
Apache License Version 2.0 (permissive) — Licensed under Apache License Version 2.0 (permissive), allowing commercial and private use with minimal restrictions.
last release 2020-08-30 (2175 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 120,809 downloads/mo, #12,009 on PyPI
Alternatives
Verify before relying
from namedlist import namedlist
Point = namedlist('Point', 'x y')
p = Point(1, 3)
p.x = 2
assert p.x == 2- Whether dataclasses truly supersedes all namedlist use cases or if mutable behavior remains distinct.
- Current compatibility with Python versions beyond 3.8 (last tested version in classifiers).
- Whether the package works correctly with modern Python despite no maintenance since 2020-08-30.
What it is and what it does
namedlist provides two factory functions—namedlist and namedtuple—that generate named tuple-like classes with enhanced default-value handling. The key difference from collections.namedtuple is that namedlist instances are mutable (you can reassign fields after creation), while namedtuple instances remain immutable. Both support per-field defaults, a global default value applied to all fields without explicit defaults, and factory functions for mutable defaults like lists.
The package is no longer maintained and its own documentation warns users to prefer built-in dataclasses instead. It has no runtime dependencies and installs as a pure Python wheel. It was last released 2020-08-30 and has not been updated since, so it should be considered legacy code suitable only for maintaining existing projects.
Use it for
- Maintaining code that already depends on namedlist for mutable named tuple behavior.
- Creating lightweight mutable data structures with named fields and sensible defaults.
- Defining immutable records with per-field defaults when per-field default support is needed.
- Building tuple-like objects that support attribute access, iteration, and selective field updates.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No, unless maintaining legacy code.
The package is abandoned and explicitly recommends using built-in dataclasses instead. For new projects, dataclasses provide superior maintainability and ongoing language support. Install only to maintain or understand existing code that already depends on namedlist.
Install
namedlist on PyPI
Before you install
Installation is frictionless (pure Python wheel, no dependencies), but the package is abandoned as of 2020-08-30 and explicitly recommends using built-in dataclasses instead.
License in practice
Licensed under Apache License Version 2.0 (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
from namedlist import namedlist
Point = namedlist('Point', 'x y')
p = Point(1, 3)
p.x = 2
assert p.x == 2
Verify before relying
- Whether dataclasses truly supersedes all namedlist use cases or if mutable behavior remains distinct.
- Current compatibility with Python versions beyond 3.8 (last tested version in classifiers).
- Whether the package works correctly with modern Python despite no maintenance since 2020-08-30.
Package facts
| License | Apache License Version 2.0 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 2,175 days since the last release |
| First released | |
| Downloads | 120,809 / month, #12,009 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 :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Software Development :: Libraries :: Python Modules |
Evidence: namedlist-1.8-py2.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 › “named tuple with defaults”
- namedlistCreates mutable or immutable named tuple-like classes with support…
- fieldsGenerates lightweight container classes with automatic `__repr__`,…
- backports.shutil_get_terminal_sizeProvides the get_terminal_size() function for Python versions that…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also recordclass · recordtype · immutables · fields · tinsel · fixedint · constantdict · ordered-set · orderly-set · multiset