Metadata-Version: 2.1
Name: aioworkers
Version: 0.22
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.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 :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.7
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.23.1; extra == 'dev-interactive'
Requires-Dist: ipython==8.14.0; extra == 'dev-interactive'
Provides-Extra: dev-lint
Requires-Dist: black==23.3.0; extra == 'dev-lint'
Requires-Dist: isort==5.12.0; extra == 'dev-lint'
Requires-Dist: mypy==1.3.0; extra == 'dev-lint'
Requires-Dist: ruff==0.0.272; 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.2.7; extra == 'dev-test'
Requires-Dist: httptools==0.5.0; extra == 'dev-test'
Requires-Dist: msgpack==1.0.5; extra == 'dev-test'
Requires-Dist: pytest-aioworkers[aiohttp,asyncio]==0.4; extra == 'dev-test'
Requires-Dist: pytest-mock==3.10.0; extra == 'dev-test'
Requires-Dist: pytest-timeout==2.1.0; extra == 'dev-test'
Requires-Dist: pytest==7.3.1; extra == 'dev-test'
Requires-Dist: pyyaml==6.0; 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://codecov.io/gh/aioworkers/aioworkers/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/aioworkers/aioworkers
  :alt: Coverage

.. 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/code%20style-black-000000.svg
  :target: https://github.com/psf/black
  :alt: Code style: black

.. 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://pypi.org/project/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.22 (2023-06-11)
-----------------

* Support py3.11 (#142)
* Support toml config (#136)
* Detect inactive path in get_object (#144)
* Fix warnings with get_object (#143)
* Config KeyError with full path (#145)
* Separated logger for named signal (#160)
* Add param raises to Context.wait_all (#161)
* Signal raises error (#162)
* Add connect_timeout and sent_start to Context (#163)


0.21.1 (2023-03-20)
-------------------

* Check awaitable for non coro from cython (#127)


0.21 (2022-12-11)
-----------------

* Improve timeout queue (#108, #109)
* Improve Python 3.10 support and drop 3.6 (#103) @rossnomann
* Add utils.random_seed and run on current process
* Use yaml.SafeLoader instead of yaml.Loader
* Context kwargs with instance of Entity (#113)
* ValueExtractor support kwargs (#113)
* Links between entities (#112)


0.20 (2022-01-13)
-----------------

* Drop support Python 3.5
* Add support Python 3.10
* add stubs by stubgen
* URI impl (#85)
* Support run asgi on aioworkers (#86)
* Add default header Date to net.web (#87)
* Decode Content-Type: text/plain
* Default key web.Application is "web" instead of "app" (#88)
* Fix default encode/decode charset
* Add cpus factor for processes
* Fix log for ContextProcessor.ready


0.19.2 (2021-05-19)
-------------------

* Fix match processing key with url
* Fix FileSystemStorage create dir


0.19.1 (2021-05-09)
-------------------

* Revert Cache for ConfigFileLoader


0.19 (2021-05-03)
-----------------

* Support run aioworkers over asgi
* Cache for ConfigFileLoader
* Simple repr(Context) for not interact mode
* Signal logs (#70)
* Support py3.9
* MultiExecutorEntity
* setdefault logging.version
* fix concurrent supervisor.init


