agronholm / typeguard

Run-time type checker for Python
Other
1.55k stars 114 forks source link

Type checking for dataclasses #161

Open jsh9 opened 4 years ago

jsh9 commented 4 years ago

Hi, I'm wondering if there can be support for type checking dataclasses? Currently, when I put @typeguard.typechecked on top of a dataclass definition, no checking happens (unless I'm mistaken).

Thanks!

svermeulen commented 3 years ago

Here's what I'm doing for this case:

https://gist.github.com/svermeulen/8a6ad727113a6d07f78332152c1d33b2

dblock commented 3 years ago

@svermeulen Your gist works! Want to PR this to this project? Can I PR it? It needs a license.

svermeulen commented 3 years ago

Feel free to PR it. I've added MIT license now

idvorkin commented 1 year ago

Did this get merged?

agronholm commented 1 year ago

No, and I'm not sure what approach I want to take with regards to checking class/instance variable assignments. I don't think I will add support in v3.0. Maybe in a later release.

faph commented 1 year ago

That's a shame. With typeguard 2 this used to work if I am not mistaken.

agronholm commented 1 year ago

It never did work with typeguard 2.

dkamm commented 1 year ago

Hi @agronholm - are you planning to support this in typeguard 4?

agronholm commented 1 year ago

Maybe in some follow-up minor release, but not the 4.0 release that is imminent.

NicolasNarvaez commented 1 month ago

In the case when one doesn't know what approach use to a solution like this, the best is to be flexible and give a temporary solution that works for the simpler and most fundamental case, that we know most devs would use, than to not give an alternative at all. I'm sure most of use are doing almost the same. What is the issue with the proposed solution?, why not just split the logic for class, and instances, and weirder cases?