Type stubs for celery related projects:
pip install celery-typesYou'll also need to monkey patch the classes from the example below (you can delete anything you don't intend to use) so generic params can be provided:
from celery import Celery, Signature from celery.app.task import Task from celery.contrib.abortable import AbortableAsyncResult, AbortableTask from celery.contrib.django.task import DjangoTask from celery.local import class_property from celery.result import AsyncResult from celery.utils.objects import FallbackContext classes = [ Celery, Task, DjangoTask, AbortableTask, AsyncResult, AbortableAsyncResult, Signature, FallbackContext, class_property, ] for cls in classes: setattr( # noqa: B010 cls, "__class_getitem__", classmethod(lambda cls, *args, **kwargs: cls), )# install uv (https://docs.astral.sh/uv/) curl -LsSf https://astral.sh/uv/install.sh | shuv sync# run formatting, linting, and typechecking s/lintor
uv run ruff check --fix uv run ruff format uv run basedpyright typings tests uv run mypy tests# build and publish uv build && uv publishThe project uses pre-commit for code quality checks:
# install pre-commit hooks uv run prek install # run all checks manually uv run prek run --all-files- ruff — formatting and linting
- basedpyright — type checking
- mypy — type checking