Metadata-Version: 2.4
Name: aioworkers
Version: 0.28.0
Summary: Easy configurable workers based on asyncio
Project-URL: Homepage, https://github.com/aioworkers/aioworkers
Project-URL: Documentation, https://aioworkers.readthedocs.io
Project-URL: Issues, https://github.com/aioworkers/aioworkers/issues
Project-URL: Source, https://github.com/aioworkers/aioworkers
Author-email: Alexander Malev <malev@somedev.ru>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: aioworkers
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
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.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.8
Provides-Extra: aiohttp
Requires-Dist: aioworkers-aiohttp; extra == 'aiohttp'
Requires-Dist: uvloop; extra == 'aiohttp'
Provides-Extra: cron
Requires-Dist: crontab; extra == 'cron'
Provides-Extra: dev-interactive
Requires-Dist: ipykernel==6.29.5; extra == 'dev-interactive'
Requires-Dist: ipython==8.30.0; extra == 'dev-interactive'
Provides-Extra: dev-lint
Requires-Dist: mypy==1.14.0; extra == 'dev-lint'
Requires-Dist: ruff==0.8.4; extra == 'dev-lint'
Requires-Dist: types-pyyaml; extra == 'dev-lint'
Requires-Dist: types-setuptools; extra == 'dev-lint'
Provides-Extra: dev-test
Requires-Dist: bson==0.5.10; extra == 'dev-test'
Requires-Dist: coverage[toml]==7.6.1; extra == 'dev-test'
Requires-Dist: httptools==0.6.4; extra == 'dev-test'
Requires-Dist: msgpack==1.1.0; extra == 'dev-test'
Requires-Dist: pytest-aioworkers[asyncio]==0.4.0; extra == 'dev-test'
Requires-Dist: pytest-mock==3.14.0; extra == 'dev-test'
Requires-Dist: pytest-timeout==2.3.1; extra == 'dev-test'
Requires-Dist: pytest==8.3.4; extra == 'dev-test'
Requires-Dist: pyyaml==6.0.2; extra == 'dev-test'
Provides-Extra: interactive
Requires-Dist: ipykernel; extra == 'interactive'
Provides-Extra: prometheus
Requires-Dist: aioworkers-prometheus; extra == 'prometheus'
Provides-Extra: sentry
Requires-Dist: aioworkers-sentry; extra == 'sentry'
Provides-Extra: toml
Requires-Dist: tomli; (python_version < '3.11') and extra == 'toml'
Provides-Extra: web
Requires-Dist: httptools; extra == 'web'
Requires-Dist: pyyaml; extra == 'web'
Requires-Dist: uvloop; extra == 'web'
Description-Content-Type: text/x-rst

aioworkers
==========

.. image:: https://img.shields.io/pypi/v/aioworkers.svg
  :target: https://pypi.org/project/aioworkers

.. image:: https://github.com/aioworkers/aioworkers/workflows/Tests/badge.svg
  :target: https://github.com/aioworkers/aioworkers/actions?query=workflow%3ATests

.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v0.json
  :target: https://github.com/charliermarsh/ruff
  :alt: Code style: ruff

.. image:: https://img.shields.io/badge/types-Mypy-blue.svg
  :target: https://github.com/python/mypy
  :alt: Code style: Mypy

.. image:: https://readthedocs.org/projects/aioworkers/badge/?version=latest
  :target: https://aioworkers.readthedocs.io/en/latest/?badge=latest
  :alt: Documentation Status

.. image:: https://img.shields.io/pypi/pyversions/aioworkers.svg
  :target: https://pypi.org/project/aioworkers
  :alt: Python versions

.. image:: https://img.shields.io/pypi/dm/aioworkers.svg
  :target: https://pypistats.org/packages/aioworkers

.. image:: https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg
  :alt: Hatch project
  :target: https://github.com/pypa/hatch


Easy configurable workers based on asyncio


* Free software: Apache Software License 2.0
* Required: Python >=3.7, optional
  `pyyaml <https://pypi.python.org/pypi/pyyaml>`_,
  `uvloop <https://pypi.python.org/pypi/uvloop>`_,
  `httptools <https://pypi.python.org/pypi/httptools>`_,
  `yarl <https://pypi.python.org/pypi/yarl>`_,
  `crontab <https://pypi.python.org/pypi/crontab>`_,
  `setproctitle <https://pypi.python.org/pypi/setproctitle>`_,
  `msgpack <https://pypi.python.org/pypi/msgpack>`_,
  `bson <https://pypi.python.org/pypi/bson>`_,
  `jupyter <https://pypi.python.org/pypi/jupyter>`_.
* Documentation: https://aioworkers.readthedocs.io.


Features
--------

* Specify abstract class for communication between components
* Configuration subsystem


Development
-----------

Check code:

.. code-block:: shell

    hatch run lint:all


Format code:

.. code-block:: shell

    hatch run lint:fmt


Run tests:

.. code-block:: shell

    hatch run pytest


Run tests with coverage:

.. code-block:: shell

    hatch run cov



=======
History
=======

0.28.0 (2024-12-23)
-------------------

* Drop py3.7 by @aamalev in https://github.com/aioworkers/aioworkers/pull/237
* Update template: common lint rules and fixes by @aamalev in https://github.com/aioworkers/aioworkers/pull/434
* Support py3.12 by @aamalev in https://github.com/aioworkers/aioworkers/pull/216
* Support Py3.13 by @aamalev in https://github.com/aioworkers/aioworkers/pull/436
* Option --process {name} by @aamalev in https://github.com/aioworkers/aioworkers/pull/196


0.27.0 (2023-08-11)
-------------------

* Drop incorrect stubgen (#202)
* Method URI.with_host keep auth (#203)
* Add methods AsyncPath.is_dir/is_file (#205)
* Fix cmd from cython (#210)


0.26 (2023-07-21)
-----------------

* AsyncPath.unlink with missing_ok (#197)
* AsyncPath.rmtree and rmdir (#198)


0.25 (2023-07-19)
-----------------

* Fix option ++groups and add ++group (#192)
* Option --version (#193)
* Improve and fix AsyncPath and add AbstractFileSystem (#195)


