CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-aenum

Advanced Enumerations (compatible with Python's stdlib Enum), NamedTuples, and NamedConstants

76

1.20x
Overview
Eval results
Files

task.mdevals/scenario-3/

Tiered Access Levels

Build a small utility that generates enumeration types for access levels at runtime and provides helpers for resolving and listing those levels.

Capabilities

Build enum from pairs

  • Given ordered (name, value) pairs, create an enumeration type whose members and order mirror the provided pairs; reject duplicate names or values. @test
  • Iterating over the resulting enumeration yields members in the declared order. @test

Resolve inputs

  • resolve_level returns the matching member when given either a member name string (case-sensitive) or its numeric value; it raises ValueError for invalid queries. @test

Export levels

  • list_levels returns a list of (name, value) tuples reflecting the enumeration's iteration order. @test

Implementation

@generates

API

from typing import Iterable, Tuple, Union, Any

def create_level_enum(levels: Iterable[Tuple[str, int]]):
    """Return an enumeration type whose members and order match the provided pairs; reject duplicate names or values."""

def resolve_level(level_enum: Any, query: Union[str, int]):
    """Return the enumeration member matching a name or value; raise ValueError if the query is invalid."""

def list_levels(level_enum: Any):
    """Return a list of (name, value) pairs in the enumeration's iteration order."""

Dependencies { .dependencies }

aenum { .dependency }

Provides advanced enumeration support.

Install with Tessl CLI

npx tessl i tessl/pypi-aenum

tile.json