semvec/pypi-packages huggingface dataset:
lunatone-rest-api-client 0.7.0
A client library for accessing the Lunatone REST API
Requires Python: >=3.12
Keywords: api, client, lunatone

# Lunatone REST API Client

`lunatone-rest-api-client` is a Python package providing access to the Lunatone REST API.

It includes async clients for Lunatones REST API endpoints.

The following devices are supported:

- [DALI-2 IoT Gateway (v1.14.1 or later)](https://www.lunatone.com/produkt/dali-2-iot-gateway/)
- [DALI-2 IoT4 Gateway (v1.14.1 or later)](https://www.lunatone.com/produkt/dali-2-iot4-gateway/)
- [DALI-2 Display 4'' (v1.14.1 or later)](https://www.lunatone.com/produkt/dali-2-display-4/)
- [DALI-2 Display 7'' (v1.14.1 or later)](https://www.lunatone.com/produkt/dali-2-display-7/)

## Installation

Use `pip` to install the latest stable version of `lunatone-rest-api-client`
```bash
pip install --upgrade lunatone-rest-api-client
```

The current development version is available on [GitLab.com]
(https://gitlab.com/lunatone-public/lunatone-rest-api-client) and can be
installed directly from the git repository:

```bash
pip install git+https://gitlab.com/lunatone-public/lunatone-rest-api-client.git
```

## Usage

```python
import asyncio

import aiohttp

from lunatone_rest_api_client import Auth, Devices


async def main() -> None:
    """Show example of fetching devices."""
    async with aiohttp.ClientSession() as session:
        auth = Auth(session, "http://10.0.0.31")
        devices = Devices(auth)
        await devices.async_update()
        print(devices.data)


if __name__ == "__main__":
    asyncio.run(main())
```

## Setting up development environment

This Python project is fully managed using the uv dependency manager.

### Requirements:

- uv (See https://docs.astral.sh/uv/getting-started/installation/)

To install all packages, including all development requirements:

```bash
uv sync
```

To run just the Python tests:

```bash
uv run pytest
```

## Scripts

### API tests:

This script sends a `POST` request and right after two `GET` requests to check if the status is changed immediately.

```bash
uv run ./scripts/api_tests.py --ip <ip-address>
```
nesso_cli 0.17.0
A CLI tool for managing data models.
Requires Python: >=3.10
Keywords: cli, data, dbt, dyvenia, models, nesso

# nesso-cli

![coverage](coverage/coverage-badge.svg)![docs_coverage](coverage/docstring_coverage.svg)

---

**Documentation**: 📚 [dyvenia docs (internal)][mkdocs page]

**Source Code**: 💾 [dyvenia/nesso-cli][github page]

---

<!-- body-begin -->

The [CLI](https://www.w3schools.com/whatis/whatis_cli.asp) interface of the [nesso data platform].

## Features

- [x] simplify and automate data modelling
- [x] simplify and automate metadata generation
- [x] manage nesso project configuration
- [ ] simplify and automate job scheduling (coming soon!)

## Where does nesso-cli fit in?

Currently, nesso-cli contains a single module, `models` (`nesso models`), which is used for the T in ELTC (Extract, Load, Transform, Catalog), sitting between data ingestion (`viadot`) and metadata ingestion (`luma-cli`):

![Where does nesso-cli fit](docs/_static/where_nesso_cli_fits.png)

In the future, nesso-cli will include additional modules to allow interacting with different components of the nesso data platform through a unified interface.

The next planned module is `jobs`, which will allow creating and scheduling EL and ELTC jobs via a simple CLI interface. Currently, this is done by creating jobs manually in Python and then manually scheduling them in Prefect. We hope to replace this tedious and error-prone (though repeatable) process with simple commands, such as `nesso jobs deployment create --job my_job --schedule "0 0 * * *"`, as well as interactive commands which will guide user through a set of limited choices, such as `nesso jobs job create`.

[github page]: https://github.com/dyvenia/nesso-cli
[mkdocs page]: https://nesso-cli.docs.dyvenia.com/
[nesso data platform]: https://nesso.docs.dyvenia.com/

<!-- body-end -->