{"id":21197,"library":"edx-celeryutils","title":"edx-celeryutils","description":"Utilities for using Celery in edx-platform. Version 2.0.0 supports Python 3.12, dropped Python 3.11. Maintained by Open edX.","status":"active","version":"2.0.0","language":"python","source_language":"en","source_url":"https://github.com/openedx/edx-celeryutils","tags":["celery","django","openedx","task-progress"],"install":[{"cmd":"pip install edx-celeryutils","lang":"bash","label":"Default"}],"dependencies":[{"reason":"Core dependency for task creation and management.","package":"celery","optional":false},{"reason":"Supports Django model integration for task tracking.","package":"django","optional":true}],"imports":[{"note":"","wrong":null,"symbol":"TaskProgress","correct":"from edx_celeryutils import TaskProgress"},{"note":"get_task_session is a utility function, not a top-level export.","wrong":"from edx_celeryutils import get_task_session","symbol":"get_task_session","correct":"from edx_celeryutils.tasks import get_task_session"}],"quickstart":{"code":"from edx_celeryutils import TaskProgress\n\n# Create a task progress tracker\nprogress = TaskProgress('my_task', total_steps=10)\nprogress.update_work()","lang":"python","description":"Basic usage of TaskProgress to track Celery task progress."},"warnings":[{"fix":"Upgrade to Python 3.12 or later.","message":"Dropped Python 3.11 support in v2.0.0; use Python 3.12+.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Remove any usage of 'arbi_bom' from your codebase.","message":"The package no longer includes 'arbi-bom' references; old imports related to that may break.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Use Celery's @shared_task decorator or custom task classes.","message":"The 'celery' task decorator usage with this package is deprecated in favor of class-based tasks.","severity":"deprecated","affected_versions":">=1.3.0"},{"fix":"Configure your Django settings with CELERY_BROKER_URL and other Celery settings before importing from edx_celeryutils.","message":"If using with Django, ensure 'celery' app is properly configured before importing edx_celeryutils.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install edx-celeryutils' in your virtual environment.","cause":"Package not installed or installed in wrong environment.","error":"ModuleNotFoundError: No module named 'edx_celeryutils'"},{"fix":"Ensure you have edx-celeryutils>=1.1.0 and use 'from edx_celeryutils import TaskProgress'.","cause":"Incorrect import path; TaskProgress is a top-level export but may be missing if running an old version.","error":"ImportError: cannot import name 'TaskProgress' from 'edx_celeryutils'"},{"fix":"Use: progress = TaskProgress('task_name', total_steps=5); then progress.update_work(steps=1).","cause":"Trying to call TaskProgress as a function instead of instantiating it.","error":"TypeError: 'TaskProgress' object is not callable"},{"fix":"Check version (>=1.2.0) and import 'from edx_celeryutils.tasks import get_task_session'.","cause":"Incorrect import; get_task_session is not available in older versions or not exported.","error":"AttributeError: module 'edx_celeryutils.tasks' has no attribute 'get_task_session'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}