Final classes for python3.6+
.
- No metaclass conflicts
- No runtime overhead
- No dependencies
- Type hints included, PEP-561 and PEP-591 compatible
- Designed to be as simple as possible
In languages like java
we have a nice way
to restrict subclassing any class by making it final
:
public final class SomeClass {
// ...
}
In python
we don't have such feature out of the box.
That's where final_class
library comes in!
This package works perfectly with @final
from typing
.
So, with final_class
you will have both type-checking and runtime checks.
pip install final_class
from final_class import final
@final
class Example(object): # You won't be able to subclass it!
...
class Error(Example): # Raises `TypeError`
...
Do you want more? Check out:
MIT.