diff --git a/piccolo/columns/combination.py b/piccolo/columns/combination.py index f98346afd..82668c3d8 100644 --- a/piccolo/columns/combination.py +++ b/piccolo/columns/combination.py @@ -12,6 +12,9 @@ class CombinableMixin(object): + + __slots__ = () + def __and__(self, value: Combinable) -> "And": return And(self, value) # type: ignore @@ -86,6 +89,8 @@ class Undefined: class WhereRaw(CombinableMixin): + __slots__ = ("querystring",) + def __init__(self, sql: str, *args: t.Any) -> None: """ Execute raw SQL queries in your where clause. Use with caution! diff --git a/piccolo/query/methods/alter.py b/piccolo/query/methods/alter.py index 0768c27c0..518eb3b81 100644 --- a/piccolo/query/methods/alter.py +++ b/piccolo/query/methods/alter.py @@ -72,7 +72,7 @@ def ddl(self) -> str: @dataclass class AddColumn(AlterColumnStatement): - __slots__ = ("column", "name") + __slots__ = ("name",) column: Column name: str @@ -120,7 +120,7 @@ def ddl(self) -> str: @dataclass class SetDefault(AlterColumnStatement): - __slots__ = ("column", "value") + __slots__ = ("value",) column: Column value: t.Any diff --git a/requirements/dev-requirements.txt b/requirements/dev-requirements.txt index 7c812f452..c4e438143 100644 --- a/requirements/dev-requirements.txt +++ b/requirements/dev-requirements.txt @@ -3,6 +3,7 @@ ipdb==0.13.9 ipython>=7.31.1 flake8==4.0.1 isort==5.10.1 +slotscheck==0.12.0 twine==3.7.1 mypy==0.931 pip-upgrader==1.4.15 diff --git a/scripts/lint.sh b/scripts/lint.sh index 3908d8377..14582f903 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -1,7 +1,8 @@ #!/bin/bash set -e -SOURCES="piccolo tests" +MODULES="piccolo" +SOURCES="$MODULES tests" echo "Running isort..." isort --check $SOURCES @@ -19,4 +20,8 @@ echo "Running mypy..." mypy $SOURCES echo "-----" +echo "Running slotscheck..." +python -m slotscheck $MODULES +echo "-----" + echo "All passed!"