quacks 1.1.0

Creator: bradpython12

Last updated:

Add to Cart

Description:

quacks 1.1.0

If it walks like a duck and it quacks like a duck, then it must be a duck

Thanks to PEP544, Python now has protocols:
a way to define duck typing statically.
This library gives you some niceties to make common idioms easier.

Installation
pip install quacks
⚠️ For type checking to work with mypy, you’ll need to enable the plugin in
your mypy config file:
[mypy]
plugins = quacks


Features
Easy read-only protocols
Defining read-only protocols is great for encouraging immutability and
working with frozen dataclasses. Use the readonly decorator:
from quacks import readonly

@readonly
class User(Protocol):
id: int
name: str
is_premium: bool
Without this decorator, we’d have to write quite a lot of cruft,
reducing readability:
class User(Protocol):
@property
def id(self) -> int: ...
@property
def name(self) -> str: ...
@property
def is_premium(self) -> bool: ...

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.