Metadata-Version: 2.1
Name: taskiq
Version: 0.6.0
Summary: Distributed task queue with full async support
Home-page: https://taskiq-python.github.io/
License: LICENSE
Keywords: taskiq,tasks,distributed,async
Author: Pavel Kirilin
Author-email: win10@list.ru
Maintainer: Pavel Kirilin
Maintainer-email: win10@list.ru
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: System :: Networking
Classifier: Typing :: Typed
Provides-Extra: metrics
Provides-Extra: reload
Provides-Extra: uv
Provides-Extra: zmq
Requires-Dist: anyio (>=3,<4)
Requires-Dist: gitignore-parser (>=0,<1) ; extra == "reload"
Requires-Dist: importlib-metadata
Requires-Dist: prometheus_client (>=0,<1) ; extra == "metrics"
Requires-Dist: pycron (>=3.0.0,<4.0.0)
Requires-Dist: pydantic (>=1.6.2,<2.0.0)
Requires-Dist: pyzmq (>=23.2.0,<24.0.0) ; extra == "zmq"
Requires-Dist: taskiq_dependencies (>=1,<2)
Requires-Dist: typing-extensions (>=3.10.0.0)
Requires-Dist: uvloop (>=0.16.0,<1) ; extra == "uv"
Requires-Dist: watchdog (>=2.1.9,<3.0.0) ; extra == "reload"
Project-URL: Documentation, https://taskiq-python.github.io/
Project-URL: Repository, https://github.com/taskiq-python/taskiq
Description-Content-Type: text/markdown

[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/taskiq?style=for-the-badge)](https://pypi.org/project/taskiq/)
[![PyPI](https://img.shields.io/pypi/v/taskiq?style=for-the-badge)](https://pypi.org/project/taskiq/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/taskiq?style=for-the-badge)](https://pypistats.org/packages/taskiq)

<div align="center">
<a href="https://taskiq-python.github.io/"><img src="https://raw.githubusercontent.com/taskiq-python/taskiq/master/imgs/logo.svg" width=600></a>
<hr/>
</div>

Taskiq is an asynchronous distributed task queue for python.
This project takes inspiration from big projects such as [Celery](https://docs.celeryq.dev) and [Dramatiq](https://dramatiq.io/).
But taskiq can send and run both the sync and async functions.
Also, we use [PEP-612](https://peps.python.org/pep-0612/) to provide the best autosuggestions possible. But since it's a new PEP, I encourage you to use taskiq with VS code because Pylance understands all types correctly.

# Installation

This project can be installed using pip:
```bash
pip install taskiq
```

Or it can be installed directly from git:

```bash
pip install git+https://github.com/taskiq-python/taskiq
```

You can read more about how to use it in our docs: https://taskiq-python.github.io/.


# Local development


## Linting

We use pre-commit to do linting locally.

After cloning this project, please install [pre-commit](https://pre-commit.com/#install). It helps fix files before committing changes.

```bash
pre-commit install
```


## Testing

Pytest can run without any additional actions or options.

```bash
pytest
```

## Docs

To run docs locally, you need to install [yarn](https://yarnpkg.com/getting-started/install).

First, you need to install dependencies.
```
yarn install
```

After that you can set up a docs server by running:

```
yarn docs:dev
```

