New `@strict` decorator for dataclass validation (#2895)
* New @strict_dataclass decorator
* expose main methods
* typog
* Support Literal[...] type
* Update src/huggingface_hub/utils/_strict_dataclass.py
Co-authored-by: Célina <hanouticelina@gmail.com>
* nit
* accept kwargs
* Accept kwargs, move to huggingface.dataclasses, fix autocompletion, add tests, add docs
* docs
* @as_validated_field decorator
* code quality
* class validators
* inherit class validators from not strict classes
* Update docs/source/en/package_reference/dataclasses.md
Co-authored-by: célina <hanouticelina@gmail.com>
* remove duplicated definition of _setattr
* Update docs/source/en/package_reference/dataclasses.md
Co-authored-by: célina <hanouticelina@gmail.com>
* optional is an alias for union[, None]
* dumb tests
* Raise if already defined by user
* docs
* Update docs/source/en/package_reference/dataclasses.md
Co-authored-by: Joao Gante <joaofranciscocardosogante@gmail.com>
* Update docs/source/en/package_reference/dataclasses.md
Co-authored-by: Joao Gante <joaofranciscocardosogante@gmail.com>
* doc
---------
Co-authored-by: Célina <hanouticelina@gmail.com>
Co-authored-by: Joao Gante <joaofranciscocardosogante@gmail.com>