Type stubs for Celery and its related packages to enable better type checking in Python projects.
celery-types is a collection of type stubs for Celery and its related packages that enables static type checking in Python projects using Celery for distributed task queues. It provides accurate type information for Celery's core components and ecosystem libraries, helping developers catch type-related errors early in development. The project addresses the lack of built-in type hints in Celery's codebase.
Python developers working with Celery for distributed task processing who want to improve code quality through static type checking. This includes teams maintaining large Celery-based applications who need better IDE support and type safety.
Developers choose celery-types because it provides comprehensive type coverage for the entire Celery ecosystem, enabling modern Python development practices with type checkers. Unlike manually written type hints, it offers maintained, accurate stubs that work with popular type checkers like mypy and basedpyright.
:seedling: Type stubs for Celery and its related packages
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides type stubs for Celery and seven related ecosystem packages including django-celery-results and kombu, enabling full-stack type checking. This is evidenced by the README listing all supported packages.
Enables accurate type hints and code completion in IDEs for Celery classes like Task and AsyncResult, improving developer productivity. The README highlights improved developer experience as a key feature.
Works with popular type checkers like basedpyright and mypy, allowing early error detection in development workflows. The README includes commands for running these checkers in the dev setup.
Uses ruff for formatting/linting and uv for dependency management, ensuring code quality and efficient project setup. The README showcases these tools in the regular development section.
Requires adding boilerplate code to patch Celery classes for generic parameters, which adds setup complexity and potential for errors if not handled correctly. The README explicitly includes patching instructions and notes about deleting unused parts.
Only covers the listed Celery ecosystem packages; if a project uses custom or third-party extensions, type hints may be incomplete or missing, forcing manual type definitions.
As a community-maintained project, updates might not immediately support the latest Celery releases, risking compatibility issues with new features or breaking changes.