{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "Celery Decorator taskcls\n===============\n\n* Free software: MIT License\n\n![Logo](https://repository-images.githubusercontent.com/211560565/deb2e780-e774-11e9-8582-033f0d6eab0d)\n\nThis package is temporary way to get `app.taskcls` decorator right now.\nThe main target of this package make you able to use taskcls decorator\nbefore celery 4.5 released, and then you can remove this package import\n*without* application code change\n\nMore about: https://github.com/celery/celery/pull/5755\n\nFeatures\n--------\n\n\n```\nimport celery_decorator_taskcls\ncelery_decorator_taskcls.patch_celery()\n\nfrom celery import Celery\napp = Celery(...)\n\nclass BaseTask:\n def __init__(self, task, **kwargs):\n self.task = task\n for key, value in kwargs.items():\n setattr(self, key, value)\n\n @classmethod\n def task(cls, task, **kwargs):\n instance = cls(task, **kwargs)\n return instance.main()\n\n\n@app.taskcls(bind=True)\nclass SimpleTask(BaseTask):\n def main(self):\n ...\n```\n\n`app.taskcls` decorator behavior is the same as `app.task`. You can pass it\nkwargs like `bind`, `name` or other or you can use it without kwargs\n\nYou can also pass default decorator options by nested class `MetaTask`:\n\n```\nclass BaseTask:\n class MetaTask:\n bind = True\n\n @classmethod\n def task(cls, taks, *args, **kwargs):\n ...\n```\n\nPatching options\n--------\nBy default patcher search `Celery.taskcls` attribute. If it not found, patcher\ncreates it. But when it exists (I belive you find it in Celery 4.5), patcher\nchecks its optional argument `force`, because it seems patching not required.\nCalling `celery_decorator_taskcls.patch_celery(force=True)` enforces\npatching Celery even `Celery.taskcls` exists\n\n\n# Changelog\n\n## [0.1.4]\n- Allow to inherit taskcls from another taskcls\n- Comment code blocks to simplify its understanding\n\n## [0.1.3]\n- Fix MetaTask inheritance\n\n## [0.1.2]\n- Update Readme\n\n## [0.1.1]\n- Add chandelog\n- Rename nested class `Meta` to `MetaTask`\n\n## [0.1.0]\n- Initial commit\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kai3341/celery-decorator-taskcls", "keywords": "celery_decorator_taskcls", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "celery-decorator-taskcls", "package_url": "https://pypi.org/project/celery-decorator-taskcls/", "platform": "", "project_url": "https://pypi.org/project/celery-decorator-taskcls/", "project_urls": { "Homepage": "https://github.com/kai3341/celery-decorator-taskcls" }, "release_url": "https://pypi.org/project/celery-decorator-taskcls/0.1.4/", "requires_dist": [ "celery" ], "requires_python": "", "summary": "Celery taskcls decorator", "version": "0.1.4" }, "last_serial": 5960119, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "48b7256fe28a8d3d81672be748622d71", "sha256": "6714ef9a5afe7466eecf224ef78ef907031c107d92424e913902ae0715e20783" }, "downloads": -1, "filename": "celery_decorator_taskcls-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "48b7256fe28a8d3d81672be748622d71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4319, "upload_time": "2019-09-29T21:16:16", "url": "https://files.pythonhosted.org/packages/24/70/af412d17d5f9e0d53bacd1cf92c0b36d9830a4b68f7d0da44ce9b7a14d03/celery_decorator_taskcls-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e32f21f46dc7f6454118e580854648bc", "sha256": "3896f502e0f28cf61f531ad37bb7e7e44b5516d251d311a20f662d7189942fde" }, "downloads": -1, "filename": "celery-decorator-taskcls-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e32f21f46dc7f6454118e580854648bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2783, "upload_time": "2019-09-29T21:16:19", "url": "https://files.pythonhosted.org/packages/0c/cf/e80c58f53b1382567dbf970dfcc3b0c922e90c95f15dd1d08a20f9e4964b/celery-decorator-taskcls-0.1.0.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5a8129e183439bececc5b7f2052f872e", "sha256": "7574b06fb04cd6fc43547f71c09a3df605db03458d10069e74de9ae161f665e1" }, "downloads": -1, "filename": "celery_decorator_taskcls-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5a8129e183439bececc5b7f2052f872e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4394, "upload_time": "2019-10-01T10:10:34", "url": "https://files.pythonhosted.org/packages/45/a5/e34489dc5f20b2b36c9a4de72d893d26eb83d84bed2d0adfb70ddf694501/celery_decorator_taskcls-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "299033ca02bfb778e3d36c13facd13e8", "sha256": "853593cdbe0069866817e96766867d359d1a8defb01ac3025eaf33189deffa4c" }, "downloads": -1, "filename": "celery-decorator-taskcls-0.1.2.tar.gz", "has_sig": false, "md5_digest": "299033ca02bfb778e3d36c13facd13e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2905, "upload_time": "2019-10-01T10:10:36", "url": "https://files.pythonhosted.org/packages/89/89/be08a1f19ab6b319b471dc721c9d84bb0cd983a20f2cde7834db6c651352/celery-decorator-taskcls-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7234d43b15fc905e556e404b3093d915", "sha256": "51931bcd9ec79f03714ebef2009f9a6724518f9a1a7ba9ae5868c63706be618e" }, "downloads": -1, "filename": "celery_decorator_taskcls-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7234d43b15fc905e556e404b3093d915", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4410, "upload_time": "2019-10-04T15:40:54", "url": "https://files.pythonhosted.org/packages/6d/06/057f25197b4feb0b15c52cf8a1283d52ca65e830dbbe5efe9391fef3f376/celery_decorator_taskcls-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec2097844a92c3cd935f5a9386d969d0", "sha256": "d02be572f3781ee5f7128f9a4a055e50411717b773b545317c453c05b8cb9245" }, "downloads": -1, "filename": "celery-decorator-taskcls-0.1.3.tar.gz", "has_sig": false, "md5_digest": "ec2097844a92c3cd935f5a9386d969d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2933, "upload_time": "2019-10-04T15:40:55", "url": "https://files.pythonhosted.org/packages/2d/b0/65d4a6966ac07220703d523a535dce529a8b9218634a41b7e2427caed620/celery-decorator-taskcls-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "81a68afeb99b17a8c442f1334f343227", "sha256": "d7e3be4d1b57bad901b31ed55ed2f875d5e0ce01ed7c8b8c5c751e77486eb47e" }, "downloads": -1, "filename": "celery_decorator_taskcls-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "81a68afeb99b17a8c442f1334f343227", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4703, "upload_time": "2019-10-11T12:43:12", "url": "https://files.pythonhosted.org/packages/be/75/7b6cf78f88b3b65f601f8e5058e8ffa83541ec923e2a107b39c7ff806a07/celery_decorator_taskcls-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8fe74df094fa1d9156c4e3cd72198db", "sha256": "1dd1ad58f03ff2575bf09365d2765215b77d2cd6ddaa91e920b19fdba08ba630" }, "downloads": -1, "filename": "celery-decorator-taskcls-0.1.4.tar.gz", "has_sig": false, "md5_digest": "f8fe74df094fa1d9156c4e3cd72198db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3196, "upload_time": "2019-10-11T12:43:14", "url": "https://files.pythonhosted.org/packages/eb/8b/5899fdad26627221211036e4c34e23f13beeb5fcfad0567810eaf5290aad/celery-decorator-taskcls-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "81a68afeb99b17a8c442f1334f343227", "sha256": "d7e3be4d1b57bad901b31ed55ed2f875d5e0ce01ed7c8b8c5c751e77486eb47e" }, "downloads": -1, "filename": "celery_decorator_taskcls-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "81a68afeb99b17a8c442f1334f343227", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4703, "upload_time": "2019-10-11T12:43:12", "url": "https://files.pythonhosted.org/packages/be/75/7b6cf78f88b3b65f601f8e5058e8ffa83541ec923e2a107b39c7ff806a07/celery_decorator_taskcls-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8fe74df094fa1d9156c4e3cd72198db", "sha256": "1dd1ad58f03ff2575bf09365d2765215b77d2cd6ddaa91e920b19fdba08ba630" }, "downloads": -1, "filename": "celery-decorator-taskcls-0.1.4.tar.gz", "has_sig": false, "md5_digest": "f8fe74df094fa1d9156c4e3cd72198db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3196, "upload_time": "2019-10-11T12:43:14", "url": "https://files.pythonhosted.org/packages/eb/8b/5899fdad26627221211036e4c34e23f13beeb5fcfad0567810eaf5290aad/celery-decorator-taskcls-0.1.4.tar.gz" } ] }