python-immutable
Advanced tools
@@ -20,3 +20,3 @@ # file generated by setuptools-scm | ||
| __version__ = version = '1.2.1' | ||
| __version_tuple__ = version_tuple = (1, 2, 1) | ||
| __version__ = version = '1.2.2' | ||
| __version_tuple__ = version_tuple = (1, 2, 2) |
+14
-9
@@ -17,13 +17,11 @@ # ruff: noqa: A003, D100, D101, D102, D103, D104, D105, D107 | ||
| # These values should be written explicitly in the dataclass for pyright to recognize | ||
| # them. | ||
| dataclass_decorator = ( | ||
| dataclass(frozen=True, eq=False, unsafe_hash=True, kw_only=True) | ||
| if sys.version_info >= (3, 10) | ||
| else dataclass(frozen=True, eq=False, unsafe_hash=True) | ||
| ) | ||
| @dataclass_transform(kw_only_default=True, frozen_default=True, eq_default=False) | ||
| def immutable(cls: type[_T]) -> type[_T]: | ||
| dataclass_decorator = dataclass( | ||
| frozen=True, | ||
| eq=False, | ||
| unsafe_hash=True, | ||
| **({'kw_only': True} if sys.version_info >= (3, 10) else {}), | ||
| ) | ||
| return dataclass_decorator(cls) | ||
@@ -33,3 +31,10 @@ | ||
| @dataclass_transform(kw_only_default=True, frozen_default=True) | ||
| @dataclass_decorator | ||
| # These values should be written explicitly in the dataclass for pyright to recognize | ||
| # them. | ||
| @dataclass( | ||
| frozen=True, | ||
| eq=False, | ||
| unsafe_hash=True, | ||
| **({'kw_only': True} if sys.version_info >= (3, 10) else {}), | ||
| ) | ||
| class Immutable: | ||
@@ -36,0 +41,0 @@ def __init_subclass__( |
+1
-1
| Metadata-Version: 2.4 | ||
| Name: python-immutable | ||
| Version: 1.2.1 | ||
| Version: 1.2.2 | ||
| Summary: Immutable implementation for Python using dataclasses | ||
@@ -5,0 +5,0 @@ Author-email: Sassan Haradji <me@sassanh.com> |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
20821
0.48%94
6.82%