Metadata-Version: 2.1
Name: abcattrs
Version: 0.0.1
Summary: Abstract class attributes
Home-page: https://github.com/antonagestam/abcattrs/
Author: Anton Agestam
Author-email: git@antonagestam.se
License: MIT License
Description: # abcattrs
        
        Abstract class attributes for ABCs.
        
        
        ```python
        import abc
        from abcattrs import abstractattrs, Abstract
        
        
        @abstractattrs
        class A:
            foo: Abstract[int]
        
        
        # Abstract subclasses can add more required attributes
        @abstractattrs
        class B(A, abc.ABC):
            bar: Abstract[str]
        
        
        class C(B):
            # C must define both of these attributes to not raise an error
            foo = 1
            bar = "str"
        ```
        
        The `Abstract` qualifier can be combined with other PEP 593 annotations.
        
        ```python
        from typing import Annotated
        import abc
        from abcattrs import abstractattrs, Abstract
        
        
        @abstractattrs
        class A(abc.ABC):
            # Combine with other annotations
            bar: Annotated[str, Abstract, "other info"]
        ```
        
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Development Status :: 3 - Alpha
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8
Provides-Extra: test
Provides-Extra: lint
