keyed-lock
Per-key asyncio locking with automatic cleanup and graceful-shutdown support. Zero dependencies.