|
Accept Any Fetcher You Can Await
|
Medium
|
Primitives
|
|
|
Accept Read-Only Inputs and Return Concrete Results
|
Medium
|
Primitives
|
|
|
Accept Three Event Types with a Read-Only TypedDict
|
Medium
|
Primitives
|
|
|
Audit a Library for Import-Time Side Effects
|
Hard
|
Framework
|
|
|
Batch an Async Stream and Close Its Source
|
Hard
|
End-to-End
|
|
|
Build a Counter That Never Goes Over Its Limit
|
Medium
|
Primitives
|
|
|
Build a Generic Result Class
|
Medium
|
Primitives
|
|
|
Build a Generic Result Type with Ok and Err
|
Hard
|
Framework
|
|
|
Build a JSON Converter Other Code Can Extend
|
Hard
|
Primitives
|
|
|
Build an ABC with an Abstract Property and Classmethod
|
Easy
|
Primitives
|
|
|
Build a Paginator You Can Close Early
|
Medium
|
Primitives
|
|
|
Build a Payment Error Hierarchy
|
Medium
|
Primitives
|
|
|
Build a Registry That Does Not Keep Objects Alive
|
Medium
|
Primitives
|
|
|
Build a Streaming Pipeline from Start to Finish
|
Hard
|
End-to-End
|
|
|
Build a Task Queue That Keeps Arrival Order for Ties
|
Medium
|
Primitives
|
|
|
Build a Typed Factory Fixture
|
Hard
|
Primitives
|
|
|
Capstone: Give Each Upload State Its Own Type
|
Hard
|
End-to-End
|
|
|
Capstone: Modernize a Typed Inventory Module
|
Hard
|
End-to-End
|
|
|
Catch a Renamed Method with @override
|
Easy
|
Primitives
|
|
|
Catch the Backends That isinstance Lets Through
|
Medium
|
Primitives
|
|
|
Change an Attribute for One Block and Put It Back
|
Medium
|
Primitives
|
|
|
Check a Value Before You Use It
|
Easy
|
Primitives
|
|
|
Check a Version Against a Specifier
|
Medium
|
Primitives
|
|
|
Check Number Ranges at Runtime with Annotated
|
Medium
|
Framework
|
|
|
Check That Imports Follow Your Layers
|
Hard
|
Framework
|
|
|
Choose a Start Method for Each Platform
|
Medium
|
Framework
|
|
|
Clean Up Old noqa Comments
|
Easy
|
Framework
|
|
|
Close a Stream Only If You Opened It
|
Easy
|
Primitives
|
|
|
Close Only What You Created
|
Medium
|
End-to-End
|
|
|
Collect Every Failure in a Batch
|
Medium
|
End-to-End
|
|
|
Collect Every Result Before You Join the Workers
|
Hard
|
End-to-End
|
|
|
Compute a Rolling Median with a Bounded deque
|
Medium
|
Primitives
|
|
|
Control Variance in Your Own Generic Classes
|
Hard
|
Framework
|
|
|
Convert Dataclasses to JSON-Ready Values
|
Hard
|
Framework
|
|
|
Copy a One-Shot Iterator into Separate Lists
|
Medium
|
Primitives
|
|
|
Count and Total Rows per Key with groupby
|
Medium
|
Primitives
|
|
|
Count N-Grams and Break Ties with Counter
|
Easy
|
Primitives
|
|
|
Decode a Three-Bit Permission Mask
|
Medium
|
Primitives
|
|
|
Deep-Copy Only the Sections You Choose
|
Medium
|
Primitives
|
|
|
Describe a Dictionary's Keys with TypedDict
|
Easy
|
Primitives
|
|
|
Describe Nested JSON with a Recursive Type Alias
|
Medium
|
Primitives
|
|
|
Diff Two Dataclass Records Field by Field
|
Hard
|
Framework
|
|
|
Escape HTML and Build SQL Parameters with t-Strings
|
Hard
|
End-to-End
|
|
|
Expand a Dependency Group into Its Requirements
|
Medium
|
Primitives
|
|
|
Expand parametrize Tables into Test Cases
|
Medium
|
Framework
|
|
|
Find Every Unpicklable Value in a Nested Payload
|
Medium
|
Framework
|
|
|
Find Import Chains That Reach a Forbidden Package
|
Hard
|
Framework
|
|
|
Find One Import Cycle
|
Easy
|
Framework
|
|
|
Find Out What isinstance Checks on a Protocol
|
Hard
|
Framework
|
|
|
Find the Files Missing from a Wheel
|
Easy
|
Framework
|
|