A query generator for the SQL dialect of the Influx Query Language (InfluxQL). Like SQLAlchemy but for InfluxDB. Consider this an experimental WIP.
from influxdb import InfluxDBClient
from pyinfluxql import Engine, Query, Mean
client = InfluxDBClient('localhost', 8086, 'root', 'root', 'example')
engine = Engine(client)
query = Query(Mean('value')).from_('cpu_load') \
.where(time__gt=datetime.now() - timedelta(1))
.group_by(time=timedelta(hours=1))
engine.execute(query)
How to invoke the test suite.
Run InfluxDB within Docker:
docker run -it --rm --publish 8086:8086 influxdb:1.8.3
Run tox
:
tox
Alternatively, setup package in development mode:
python3 -mvenv .venv source .venv/bin/activate pip install --editable=.[test]
Run pytest
:
pytest tests -vvv
Thanks a stack to the original author Jeremiah Malina for his excellent work as well as Michael Pérez for adding integration tests, timezone support and for improving the documentation.