Development

Sandbox

Source Code

Acquire sources, create Python virtualenv, install package and dependencies, and run software tests:

git clone https://github.com/daq-tools/influxio
cd influxio
uv venv --python 3.14 --seed .venv
source .venv/bin/activate
uv pip install --editable='.[test,develop,docs,release]'

Services

For properly running the test cases, you will need running instances of InfluxDB, PostgreSQL, and CrateDB. The easiest way to spin up those instances is to use Docker or Podman.

InfluxDB

docker run --rm -it --publish=8086:8086 \
    --env=DOCKER_INFLUXDB_INIT_MODE=setup \
    --env=DOCKER_INFLUXDB_INIT_USERNAME=admin \
    --env=DOCKER_INFLUXDB_INIT_PASSWORD=secret1234 \
    --env=DOCKER_INFLUXDB_INIT_ORG=example \
    --env=DOCKER_INFLUXDB_INIT_BUCKET=default \
    --env=DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=token \
    --volume="$PWD/var/lib/influxdb2:/var/lib/influxdb2" \
    influxdb:2.8

CrateDB

docker run --rm -it --publish=4200:4200 \
    --volume="$PWD/var/lib/cratedb:/data" \
    crate:latest '-Cdiscovery.type=single-node'

PostgreSQL

docker run --rm -it --publish=5432:5432 \
    --env "POSTGRES_HOST_AUTH_METHOD=trust" postgres:18 \
    postgres -c log_statement=all

Software Tests

Invoke software tests:

# Run linter and regular test suite.
poe check

Build OCI images

OCI images will be automatically published to the GitHub Container Registry (GHCR), see influxio packages on GHCR. If you want to build images on your machine, you can use those commands:

export DOCKER_BUILDKIT=1
export COMPOSE_DOCKER_CLI_BUILD=1
export BUILDKIT_PROGRESS=plain
docker build --tag local/influxio --file release/oci/Dockerfile .
docker run --rm -it local/influxio influxio --version
docker run --rm -it local/influxio influxio info