Metadata-Version: 2.4
Name: deteqt
Version: 0.1.0
Summary: Minimal InfluxDB v2 quantities-of-interest writer client.
Keywords: influxdb,qoi,telemetry,timeseries
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
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: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: influxdb-client<2.0.0,>=1.50.0
Description-Content-Type: text/markdown

# deteqt

Python package for writing quantities of interest (QOI) to InfluxDB v2.

## Install from TestPyPI

```bash
python -m pip install --upgrade pip
python -m pip install \
  --index-url https://test.pypi.org/simple/ \
  --extra-index-url https://pypi.org/simple/ \
  deteqt
```

## User configuration

Recommended (one-time):

```python
from deteqt import create_settings_file

create_settings_file()  # creates ./settings.toml
```

Then edit only `token` in `./settings.toml`.

Required keys:

- `url`
- `org`
- `bucket`
- `token`

Optional keys:

- `defaults.measurement`
- `defaults.tags`

Your admin provides `url`, `org`, `bucket`, and a write token.

Package default template is prefilled for this deployment:

- `url = "https://mahmut-oqs.duckdns.org"`
- `org = "deteqt"`
- `bucket = "test-bucket-1"`
- you only fill `token`

## Python API

Public write API:

- `write_qoi(...)`

Minimal usage:

```python
from deteqt import write_qoi

write_qoi(
    qoi="frequency",
    nominal_value=1.01,
    uncertainty=0.01,
    run_ID="20260211-000001-abc123-demo",
    cycle_ID="20260211",
    condition="analysis_CosineAnalysis",
    settings_path="settings.toml",
)
```

## Fixed QOI Schema

Measurement key:

- `qoi`

Tag keys:

- `element`
- `label`
- `unit`
- `element_label`
- `device_ID`
- `run_ID`
- `cycle_ID`
- `condition`

Field keys:

- `nominal_value`
- `uncertainty`
- `tuid`

For additional metadata:

- use `extra_tags` for custom tags
- use `extra_fields` for custom fields

## Logging

Package logs use Python `logging` only.

Infrastructure and deployment are admin-managed.
