Metadata-Version: 2.4
Name: async-sunspec
Version: 0.1.0
Summary: Async implementation of SunSpec Modbus communication.
Author-email: CERTI Foundation <certi@certi.org.br>
Project-URL: Homepage, https://github.com/fundacaocerti/asyncio-sunspec/
Project-URL: Source Code, https://github.com/fundacaocerti/asyncio-sunspec
Project-URL: Bug Reports, https://github.com/fundacaocerti/asyncio-sunspec/issues
Project-URL: Docs, https://async-sunspec.readthedocs.io/en/latest/?badge=latest
Keywords: sunspec,modbus,asyncio,energy,der
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Networking
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.12
Description-Content-Type: text/x-rst
License-File: LICENSE.md
Requires-Dist: pymodbus==3.12.1
Provides-Extra: dev
Requires-Dist: pytest==8.4.2; extra == "dev"
Requires-Dist: pytest-cov==7.0.0; extra == "dev"
Requires-Dist: ruff==0.15.7; extra == "dev"
Requires-Dist: build==1.3.0; extra == "dev"
Requires-Dist: twine==6.2.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=6.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
Requires-Dist: sphinx-autobuild; extra == "docs"
Dynamic: license-file

async-sunspec
=============

.. image:: https://github.com/fundacaocerti/async-sunspec/actions/workflows/ci.yml/badge.svg?branch=master
   :target: https://github.com/fundacaocerti/async-sunspec/actions/workflows/ci.yml

``async-sunspec`` is an asynchronous Modbus communication library for Python 
focused on SunSpec-compliant devices. It provides tools to create both SunSpec 
clients and servers, with a runtime model system for representing SunSpec data 
structures and a modular architecture.

It is an async-first library built on top of `pymodbus`, meant to handle 
multiple devices concurrently without blocking. The client supports scanning for 
SunSpec devices and reading their models asynchronously.

Features
--------

Usage overview
--------------

Configure a server (device): assemble model instances, bind them to a
``SunSpecDevice`` and run the Modbus server.

Configure a client (master): create a ``SunSpecClient``, connect to a device, 
scan for models and interact with them asynchronously.

Advantages
----------

- Scalable concurrency: asyncio-based I/O lets a single process manage many
    connections efficiently.

Requirements
------------

- Python ``>=3.12``
- ``pymodbus==3.12.1``

License
-------

Release under the Mozilla Public License Version 2.0. 
See ``LICENSE.md`` for details.
