```python class Distribution(IMetadataProvider): ... class IMetadataProvider: ... ``` `ruff` detects the `F821` while `flake8` with `flake8-pyi` does not (`flake8-pyi` must be installed otherwise it will also detect an error). [Link to the playground](https://play.ruff.rs/#N4KABGBECGA2sHsDuBTAJgWgMYIHYDMBXAZ2gCNYVjIAuMAbQF0AacKMwgS1gBdPdqdJqwiQ0hALYSAnhgBu0AE6dylDIoDmAD1pQAegAoA+gGoAPsZP1oGAF4BBDAC0ADBgCcRxgCprdx64ejCYA-ACUYQAkkCJQKFo8KLiYnBq4CIoousJskPGJyRjEKJRYPNksufkoirhwFbGQqemZDbmw-CgYlLgaPAAWugAcQ43FpeVCbKIAojHTUABikGyVojxKGig88jXEnHi6kAAO0gDMAIwu86L4sNAA1ihDGNC46Rt8eIJgoBCiMlOGH4nB2mR4hFqunwcGKsVExEIx2OmWIxAw4iksk2PxhsDhC0giORqPR6VwXXBkNw-A00NhKHhUDgiCQRQ2ilemleuGk9PxjMJzQyXSI8FkhFwPGkx3Q-OKbAAvo07o9nhgyG80KDdH9-pB+ko0Dg0OgMDwJMcMZxMmUMnypv99QB6C3HG5OqDOhSKV2Wj1OyDO01yZ3EfoSFZOtb6rD9FBYB7mmVm+JYFDHL64eUoJUq+5PF4cDRkFBKXWE6qFThSQgbChdLAsn5MPO5VWFjVcXj8H560Qcbh8ATAtIijrESYMRht24F9U1RQSYh0uj9qASaBadnKXrdJJ9QZ0FyzqAd9UAR0ICESfaFuA6FIwV5vVCOaAQhAbAY3hB7j66F9b3fT9vyZMQECwSddw0Z9r2AugIK-SgfxgOQEE4TAqCbWVdB4RRCFzCBlXbecXnGfAK0DYVMgwOoJDfR1PUgIxNyeH9RCMaBiG1MoOKgIxMmOe5034lj8E4Eo0GoJlOIkqSjFNGE-x4agFhnYj8zVF4+DQWQa2ODJVKo-VNVwdQSmgPg5C6AyjJ+E4lCSYzwLMilMGgY5OF1RVT0gc8dJTbB40TWkTIRfDOD4ug8QJQN4hQS0dgkBBxEoFsFnWGUwvUvyAuBS0OiwUEd2wPAmyndcYHgZAMAkFTuE6PCCKIsASLnbSCsMxQdhwXAbKlA4BHC5kOm4xjfkyqBji1bijmONAxNOJRFGQeboCWxAeFgaQADp4hRKgHOOHRZKgYpyAybNEOIYazsgApiAyO41sQnhKPu3BJFOI5cHde7Nx4YSbw6MgjkKsTAeB7bODIXbTmh+beCWhB7kUY7YCWt4Snm7N7rgDYbSOAmxP6VGEDkSSkAc-o5Cjf5fM00jOtOW8dknaQULXQkJISSEuhmzIpXjYofnwwjwMF6AGMi2wunoqhk1wt6kRQyWlGl7ZlDl+Q4EI9FpWVqAJ3KdXFE12WugUWB9fUWrDayFXhKycDzc4UWLKvG0ukBuMMHwDJsimyAACFxpmLR00zIaxIjqOszEgA1PWUBmRRVsUMSAHkAGU04zsSAEks-zwP7pmfqbTwBipVLzP7qexNtn29PA-U13oHdxWq0wTIvdo33+n9wOhBjAElCTQXnJFibxda9qzzIjBJRIM1NkkZy72osdaJ9FReLozXcQZPz3aMkb-IydMMCQc2rTgFRRZzcCA8Ua-9l6NQAOfwkP40L-OgYDTDbfY3w2iBhwBIMggDuJdXsj-QMxBhIlTwOaN2j5YKQM3M1CWhIMimk5GQWQDscGCkDK-d+Rkb6gn6PwIoCYszHwFC-K+XQeAIHNAgd0o9wIPHSEgcyEl0Y7EFtKcB+o+HIHMgMG0mBREOmnLw-h5lEBNlgMPWABDxGiHyObdks1FCYFBubRQCiciBkyPcaytlLT2QwPgmoRwiA9RFjsdh2BECi1NoSPuXBMgpFsT1FsY8oBYHuGiCa5jYzfA2FKYJ4E96qEiSEyA6RuidHRKWV+jtFGEgAuiaA+BEicjskE3QGALjgXyRqbYqAkhKwmi4Fhb8zTFClokCofkJBYCbKWC+m5tyQOdloUECirh+VlMcF49Ewrc23i0eWR8g6enOtsAAqv9YOiQlAABEpFiWKDwDZABhcJMktllkUHsgRpzuLnJWUSdZxwACyqU-wuwubsqRry0ofIedxaQuAsA5yeWJAFQKAAqlzrl42DocjZULJw7Kshte6MJuD8zjhmBO91EC9GeUdaAWxIZbh2ZwfAlF26EjCXcmWZNMCmhwObdh6NlnMRpWiOlqV6YQBSZOKyUUuUMoTBkKyGQMoPP5XwLAQqeVgA0m1RopwTRUGlFzSa8yRT2JsooPFsENjECTFgzeOYJnSA-FBNVOTgALxOJzfglVCQslqpuDQUVdY2zYSmCVzFoJiSIcBKlgYBkanNkCkWugLgACZwIhqpLUH4AA2WNW4uQaB+AAVhTduKViUTV0AzSeJmohThIg0ObU0F8ngZnUJKPgDElazLALFeeIBFSRA7Ry4gYAyXQVhnWIaBhC4Eo2GgFFAAFValMCFhDoLtedIAu1gGHdsaAY6NiTopphGoc6F1AA)