For example:

class FooBar:
    def __init__(self):
        self.a: int = None
        self.foo: str = None

Is this bad practice/go against PEP guidelines or is it fine?

  • logging_strict
    link
    fedilink
    arrow-up
    1
    ·
    7 hours ago

    i’m in love with typing_extensions. Know why? I’m not on the latest greatest Python version. But want to use the usable latest features. As package author/maintainer, upgrading to the latest and greatest is not a viable option.

    in py39, dataclasses lacked critical features that came out later. Especially for a fundamental structure like a dataclass, new features requiring a Python upgrade is a show stopper. On the level of a flaw. Either backport or in a separate package or i don’t want to touch it. That’s why use attrs and not dataclasses.dataclass

    And so should we all.

    There is always going to be some great features we want to use and then not being able to is not great UX. Every package that matters really must be external, except for Python features like free threading, sub-interpretors, etc.

    There are always many coding languages, unfortunately jumping from one to the next is a pipe dream. So really doesn’t matter what Haskell can do. Or how Rust devs all have 10 gfs.