Metadata-Version: 2.2
Name: saltext.uci
Version: 0.1.1
Summary: Core UCI data model, diffing, and state logic for OpenWrt device management -- transport-agnostic, install a transport package alongside it
Author-email: Christian Prior-Mamulyan <cprior@gmail.com>
License: Apache Software License
Project-URL: Homepage, https://github.com/cprima-homelab/saltext-uci
Project-URL: Documentation, https://cprima-homelab.github.io/saltext-uci
Project-URL: Source, https://github.com/cprima-homelab/saltext-uci
Project-URL: Tracker, https://github.com/cprima-homelab/saltext-uci/issues
Keywords: salt-extension
Platform: any
Classifier: Programming Language :: Python
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
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
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: salt>=3006
Requires-Dist: pyyaml>=6.0
Provides-Extra: changelog
Requires-Dist: towncrier==25.8.0; extra == "changelog"
Provides-Extra: dev
Requires-Dist: nox[uv]!=2025.05.01,>=2024.3; extra == "dev"
Requires-Dist: pre-commit>=2.21.0; extra == "dev"
Provides-Extra: dev-extra
Requires-Dist: black==26.5.1; extra == "dev-extra"
Requires-Dist: isort==7.0.0; extra == "dev-extra"
Requires-Dist: coverage==7.14.3; extra == "dev-extra"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-prompt; extra == "docs"
Requires-Dist: sphinxcontrib-spelling; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: towncrier==25.8.0; extra == "docs"
Requires-Dist: sphinxcontrib-towncrier; extra == "docs"
Requires-Dist: myst_parser; extra == "docs"
Requires-Dist: furo; extra == "docs"
Requires-Dist: sphinx-inline-tabs; extra == "docs"
Provides-Extra: docsauto
Requires-Dist: sphinx-autobuild; extra == "docsauto"
Provides-Extra: lint
Requires-Dist: pylint==4.0.4; extra == "lint"
Provides-Extra: tests
Requires-Dist: pytest>=7.2.0; extra == "tests"
Requires-Dist: pytest-salt-factories>=1.0.0; extra == "tests"
Requires-Dist: pytest-instafail; extra == "tests"

# saltext.uci

Core UCI data model, diffing, and state logic for OpenWrt device
management. Transport-agnostic -- no execution module, no proxy, nothing
that can talk to a device on its own.

## Install

You normally don't install this directly -- it's a dependency of the
transport package you actually want:

```bash
pip install saltext.uci-ubus   # ubus / JSON-RPC transport
pip install saltext.uci-ssh    # SSH transport
```

Either pulls in `saltext.uci` automatically.

Docs: https://cprima-homelab.github.io/saltext-uci
