semvec/pypi-packages huggingface dataset:
ruff-cgx 0.2.3
Ruff linter and formatter for collagraph single-file components
Requires Python: >=3.10

[![PyPI version](https://badge.fury.io/py/ruff-cgx.svg)](https://badge.fury.io/py/ruff-cgx)
[![CI status](https://github.com/fork-tongue/ruff-cgx/workflows/CI/badge.svg)](https://github.com/fork-tongue/ruff-cgx/actions)
[![ruff](https://img.shields.io/badge/code%20style-ruff-ruff)](https://pypi.org/project/ruff/)

# Ruff-cgx

Lint and format CGX files (collagraph single-file components) with ruff.


## Usage

```sh
# Install in your environment (for example with uv)
uv add --dev ruff-cgx
# Show help for the tool
uv run ruff-cgx -h
# Check/Lint every cgx file in current folder (recursively)
uv run ruff-cgx check .
# Format every cgx file in the current folder (recursively)
uv run ruff-cgx format .
# Just check if there would be any changes from the formatter
uv run ruff-cgx format --check .
# Format just a single file
uv run ruff-cgx format my-component.cgx
# Format a folder and file
uv run ruff-cgx format ../folder_with_cgx_files my-component.cgx
```

## Configuration

To use a specific ruff installation (e.g., in an LSP server):

```python
import ruff_cgx

ruff_cgx.set_ruff_command("/path/to/custom/ruff")
```
enovates-modbus 0.1.4
Library for Modbus TCP communication with Enovates EVSE
Requires Python: >=3.13.2
Keywords: home, automation, enovates, evse

# enovates-modbus

A library to communicate with [Enovates](https://www.enovates.com/) EVSEs over Moodbus TCP.

This library is designed for use with [the Enovates Home Assistant integration](https://github.com/enovates/home-assistant-enovates).

Other EVSE models than listed below may work or be added in the future.
The minimum Modbus API version is 1.2, update your EVSE's firmware to 2.13 or later if needed.

Beware: The EVSE's Modbus communication must be enabled, this cannot be done via this library.
The relevant setting may be called "EMS mode", and should be switchable between "Off", "Monitoring Only" and "Full Control".
It must be enabled by the Installer or via OCPP. There is currently no switch for it in the end user app.

## ENO one

Device: https://www.enovates.com/products/singlewallbox

Always available, if EMS Mode/Modbus is enabled:

- Modbus API version
  - major (int)
  - minor (int)
- State
  - nr of phases (int)
  - max amp per phase (A)
  - ocpp state (bool)
  - load shedding state (bool)
  - lock state (enum)
  - contactor state (bool)
  - led color (enum)
- Measurements
  - current on L1, L2, L3 (mA)
  - voltage on L1, L2, L3 (V)
  - charge active power total, L1, L2, L3 (W)
  - installation current L1, L2, L3 (mA)
  - active energy import total (Wh)
- Current Offered (mA)
- Mode 3 Details
  - state (enum and str)
  - pwm (in promille and mA)
  - pp (max cable current, if socketed)
  - cp + and - (volts)
- Diagnostics
  - manufacturer (str)
  - vendor id (str)
  - serial nr (str)
  - model id (str)
  - firmware version (str)

If EMS/Modbus TCP mode is "Monitoring only":

- EMS current limit (mA) Read only. Writes may be accepted but are ignored
- Transaction token (str) NOT available. Reading will error.

If EMS/Modbus TCP mode is "Full control":

- EMS current limit (mA) Read / Write.
- Transaction token (str)

The recommended registers for active power management are the "Current Offered", "EMS Current Limit" and the registers under Measurements. For cars that support digital communication (ISO 15118), the values under Mode 3 Details could give a false impression of the EVSE/car behaviour.

## Development

Contributions may be accepted under the terms of the [Apache License, Version 2.0](./LICENSE.md).

This project uses [uv](https://docs.astral.sh/uv) for project management. If you are not familiar, read its [Getting Started](https://docs.astral.sh/uv/getting-started/installation/) and [Project structure](https://docs.astral.sh/uv/guides/projects/#project-structure) guide in particular.

After cloning the repo and setting up your working environment with uv, make sure to install [pre-commit](http://pre-commit.com/)'s hooks if your global git configuration lacks them:

```shell
pre-commit install
```

All checks should pass before you push your code.
Merge requests with violations are likely to be ignored until they are fully compliant.