Metadata-Version: 2.4
Name: aetcd
Version: 1.0.0rc1
Summary: Python asyncio-based client for etcd
Home-page: https://github.com/martyanov/aetcd
Author: Andrey Martyanov
Author-email: andrey@martyanov.com
License: Apache Software License 2.0
Project-URL: Documentation, https://aetcd.readthedocs.io
Project-URL: Code, https://github.com/martyanov/aetcd
Project-URL: Issues, https://github.com/martyanov/aetcd/issues
Keywords: etcd3
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
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 :: 3.14
Requires-Python: >=3.10,<4.0
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: grpcio<2,>1.66.0
Requires-Dist: protobuf<7,>4
Provides-Extra: dev
Requires-Dist: flake8-commas==4.0.0; extra == "dev"
Requires-Dist: flake8-docstrings==1.7.0; extra == "dev"
Requires-Dist: flake8-isort==7.0.0; extra == "dev"
Requires-Dist: flake8-quotes==3.4.0; extra == "dev"
Requires-Dist: flake8==7.3.0; extra == "dev"
Requires-Dist: grpcio-tools==1.66.2; extra == "dev"
Requires-Dist: pep8-naming==0.15.1; extra == "dev"
Requires-Dist: twine==6.2.0; extra == "dev"
Provides-Extra: doc
Requires-Dist: sphinx==8.1.3; extra == "doc"
Requires-Dist: sphinx_rtd_theme==3.1.0; extra == "doc"
Provides-Extra: test
Requires-Dist: pytest-asyncio==1.3.0; extra == "test"
Requires-Dist: pytest-cov==7.1.0; extra == "test"
Requires-Dist: pytest-mock==3.15.1; extra == "test"
Requires-Dist: pytest==9.0.3; extra == "test"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

Python asyncio-based client for etcd
====================================

.. image:: https://github.com/martyanov/aetcd/actions/workflows/ci.yml/badge.svg
   :alt: Build Status
   :target: https://github.com/martyanov/aetcd/actions/workflows/ci.yml

.. image:: https://codecov.io/gh/martyanov/aetcd/graph/badge.svg
   :alt: Coverage report
   :target: https://codecov.io/gh/martyanov/aetcd

.. image:: https://img.shields.io/badge/docs-aetcd.rtfd.io-green.svg
   :alt: Documentation
   :target: https://aetcd.readthedocs.io

.. image:: https://img.shields.io/pypi/v/aetcd.svg
   :alt: PyPI Version
   :target: https://pypi.python.org/pypi/aetcd

.. image:: https://img.shields.io/pypi/pyversions/aetcd.svg
   :alt: Supported Python Versions
   :target: https://pypi.python.org/pypi/aetcd

.. image:: https://img.shields.io/github/license/martyanov/aetcd
   :alt: License
   :target: https://github.com/martyanov/aetcd/blob/master/LICENSE

Installation
~~~~~~~~~~~~

.. code-block:: bash

    $ python -m pip install aetcd

Basic usage
~~~~~~~~~~~

Run ``asyncio`` REPL:

.. code-block:: bash

    $ python -m asyncio

Test the client:

.. code-block:: python

    import aetcd

    async with aetcd.Client() as client:
        await client.put(b'foo', b'bar')
        await client.get(b'foo')
        await client.delete(b'foo')

Acknowledgements
~~~~~~~~~~~~~~~~

This project is a fork of `etcd3aio`_, which itself is a fork
of `python-etcd3`_. ``python-etcd3`` was originally written by `kragniz`_. ``asyncio`` suppport
was contributed by `hron`_ and based on the previous work by `gjcarneiro`_. Many thanks to all
the `people`_ involved in the project.

.. _etcd3aio: https://github.com/hron/etcd3aio
.. _python-etcd3: https://github.com/kragniz/python-etcd3
.. _kragniz: https://github.com/kragniz
.. _hron: https://github.com/hron
.. _gjcarneiro: https://github.com/gjcarneiro
.. _people: https://github.com/martyanov/aetcd/graphs/contributors
