Metadata-Version: 2.2
Name: shvtree
Version: 0.1.1
Summary: Silicon Heaven Tree
Author: Elektroline as.s
License: MIT License
        
        Copyright (c) 2023 Elektroline a.s.
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: source, https://gitlab.com/silicon-heaven/shvtree
Project-URL: changelog, https://gitlab.com/silicon-heaven/shvtree/-/blob/master/CHANGELOG.md
Project-URL: issues, https://gitlab.com/silicon-heaven/shvtree/-/issues
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: pyshv>=0.8
Requires-Dist: ruamel.yaml
Requires-Dist: asyncinotify
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-asyncio; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx_rtd_theme; extra == "docs"
Requires-Dist: sphinx-mdinclude; extra == "docs"
Requires-Dist: sphinx-multiversion; extra == "docs"

Silicon Heaven Tree
===================
.. image:: docs/_static/logo.svg
   :align: right
   :height: 128px
   :alt: SHVTree logo [*]_

This provides common parser and validator for Silicon Heaven tree
representation. It is formed of nodes forming path and methods associated with
those paths as defined in `Silicon Heaven RPC
<https://github.com/silicon-heaven/libshv/wiki/ChainPack-RPC#rpc>`__.

The SHV Tree simplifies and implements common operations such as `ls` and `dir`
methods and basic type description. The core of this project is definition of
format describing the tree but it also provides SHV device implementation based
on the provided tree.

* `📃 Sources <https://gitlab.com/silicon-heaven/shvtree>`__
* `⁉️ Issue tracker <https://gitlab.com/silicon-heaven/shvtree/-/issues>`__
* `📕 Documentation <https://silicon-heaven.gitlab.io/shvtree/>`__


Installation
------------

The installation can be done with package manager ``pip``.

.. code-block:: console

   $ pip install pyshvtree


Running tests
-------------

This project contains basic tests in directory ``tests``; see the dependencies
in the `pyproject.toml` file.

To run tests you have to use **pytest**. To run all tests just run it in the
top level directory of the project::

    pytest

See the `pytest documentation <https://docs.pytest.org/>`__ for more info.


Documentation
-------------

The documentation is available in ``docs`` directory. You can build it using::

    sphinx-build -b html docs docs-html


.. [*] Project logo is assembled from images by Freepik
