typemap

Member

Access type members by name

Describe a class member with its name, type, and qualifiers.

Quick Example

import typemap_extensions as tm
from typing import Literal

# Describe a member
member = tm.Member[Literal["name"], str]

Signature

class Member[N: str, T, Q: MemberQuals = Never, I = Never, D = Never]:
    type name = N
    type type = T
    type quals = Q
    type init = I
    type definer = D

Parameters

ParameterTypeDescription
Nstr (Literal)Member name
TtypeMember type
QMemberQualsQualifiers (ClassVar, Final, NotRequired, ReadOnly)
ItypeInit type (for __init__ params)
DtypeDefiner type

Usage

Basic Member

name_member = tm.Member[Literal["name"], str]
# Describes: name: str

With Qualifiers

readonly_member = tm.Member[Literal["id"], int, Literal["ReadOnly"]]
# Describes: id: ReadOnly[int]

Use Cases

  • Building protocols - Combine Members to create new types
  • Introspection - Extract metadata about class fields
  • Code generation - Generate constructors, validators

See Also

On this page