|
|
abc.ABC: abstract properties and classmethods, in the right order
|
Easy
|
Primitives
|
|
|
|
Accept broad, return narrow: group_by and merge_counts
|
Medium
|
Primitives
|
|
|
|
Accidental quadratics: an index-backed join and a streaming top-k
|
Medium
|
End-to-End
|
|
|
|
accumulate and pairwise: max drawdown in one pass
|
Easy
|
Primitives
|
|
|
|
aclosing: release the connection on break, error and cancellation
|
Hard
|
Primitives
|
|
|
|
A Fetcher Protocol three implementations can satisfy
|
Medium
|
Primitives
|
|
|
|
A @final rate limiter
|
Easy
|
Primitives
|
|
|
|
A generic Result[T, E]
|
Medium
|
Primitives
|
|
|
|
__all__, re-export rules, and the accidental public API
|
Medium
|
Framework
|
|
|
|
Amortise cents without mixing up the units
|
Medium
|
Primitives
|
|
|
|
Annotated: metadata the type checker deliberately ignores
|
Medium
|
Framework
|
|
|
|
A rate limiter with an injected clock
|
Medium
|
Primitives
|
|
|
|
A rate limiter you can test without sleeping
|
Hard
|
End-to-End
|
|
|
|
A recursive Json alias, depth and flatten
|
Medium
|
Primitives
|
|
|
|
A registry that does not prevent collection
|
Medium
|
Primitives
|
|
|
|
asdict() and astuple(): the deep-copy tax
|
Hard
|
Framework
|
|
|
|
assert_never and the event that was never handled
|
Medium
|
Primitives
|
|
|
|
asyncify: a ParamSpec wrapper that does not block the loop
|
Medium
|
Primitives
|
|
|
|
Async iterators: the paginator you can actually close
|
Medium
|
Primitives
|
|
|
|
A typed factory fixture
|
Hard
|
Primitives
|
|
|
|
Auditing a library for import-time side effects
|
Hard
|
Framework
|
|
|
|
Auditing the Any surface of a module
|
Medium
|
Framework
|
|
|
|
BackgroundTasks: strong references, and a drain that raises
|
Medium
|
Primitives
|
|
|
|
Bare except, blind except Exception, and where to catch
|
Medium
|
Primitives
|
|
|
|
Batched async stream: never yield inside a cancel scope
|
Hard
|
End-to-End
|
|
|
|
batched: page a stream, and validate before you yield
|
Easy
|
Primitives
|
|
|
|
BoundedBuffer: a blocking queue from one Condition
|
Medium
|
Primitives
|
|
|
|
Bounded concurrency and backpressure
|
Hard
|
End-to-End
|
|
|
|
BoundedCounter: check-then-act under 64 threads
|
Medium
|
Primitives
|
|
|
|
Bounds versus constraints: clamp and dedupe
|
Hard
|
Framework
|
|
|
|
cached_property: compute once, release with the instance, invalidate on demand
|
Medium
|
Primitives
|
|
|
|
cache: memoised edit distance behind a validated wrapper
|
Medium
|
Primitives
|
|
|
|
Callback protocols: closing the Callable[..., Any] hole
|
Medium
|
Framework
|
|
|
|
Capstone: a fully typed, cancellable, observable async worker pool
|
Hard
|
End-to-End
|
|
|
|
Capstone: an immutable domain model that survives review
|
Hard
|
End-to-End
|
|
|
|
Capstone: a typed, cancellable, observable worker pool
|
Hard
|
End-to-End
|
|
|
|
Capstone: break the monolith, then enforce the layering
|
Hard
|
End-to-End
|
|
|
|
Capstone: five defects, and which tool would have found each one
|
Hard
|
End-to-End
|
|
|
|
Capstone: the upload that cannot be misused
|
Hard
|
End-to-End
|
|
|
|
ChainMap: resolve config and keep the provenance
|
Medium
|
Primitives
|
|
|
|
Class patterns, __match_args__ and an expression simplifier
|
Medium
|
End-to-End
|
|
|
|
ClassVar, field(), and the counter that must reset
|
Easy
|
Primitives
|
|
|
|
Coerce to int at an untyped boundary
|
Medium
|
Primitives
|
|
|
|
contextmanager: temporarily patch an attribute, and put it back
|
Medium
|
Primitives
|
|
|
|
Converters and validate-on-assignment: what attrs buys you
|
Medium
|
Primitives
|
|
|
|
Counter: top n-grams with deterministic ties
|
Easy
|
Primitives
|
|
|
|
Dataclasses: slots, frozen, order
|
Easy
|
Primitives
|
|
|
|
@dataclass is a code generator: what it emits
|
Easy
|
Primitives
|
|
|
|
dataclass_transform (PEP 681): making your own decorator type-checkable
|
Hard
|
Framework
|
|
|
|
datetime: reject naive input, and find the next local wall clock
|
Hard
|
Primitives
|
|