Как сказал Олвин Ротт, используйте typing.Final
from typing import Final
MAX_SIZE: Final = 9000
MAX_SIZE += 1 # Error reported by type checker
Обратите внимание, что это вернет ошибку в вашей программе проверки типов, но код все равно будет работать, а значение все равно изменится.
Для этого требуется Python 3.8 +
В качестве альтернативы вы можете сделать:
from dataclasses import dataclass
@dataclass(frozen=True)
class Consts:
MAX_SIZE = 9000
myconsts = Consts()
myconsts.MAX_SIZE= 1 # generates an error