Skip to main content

Sink and source connectors for influxdb

Project description

Actions Status PyPI Bytewax User Guide

Bytewax

Bytewax InfluxDB Connector

A source and sink connector for Bytewax.

You will need an influxdb account and the API key to use the connector.

To test the connector, use examples/input.py and examples/output.py. You may need to modify the date parameters for it to work.

To use the source and sink connector use them in the input and output operators like shown below.

inp = op.input(
    "inp",
    flow,
    InfluxDBSource(
        timedelta(seconds=5),
        "https://us-east-1-1.aws.cloud2.influxdata.com",
        DATABASE,
        TOKEN,
        "home",
        ORG,
        datetime.now(timezone.utc) - timedelta(days=5),
    ),
)
op.output(
    "out",
    inp,
    InfluxDBSink(
        host="https://us-east-1-1.aws.cloud2.influxdata.com",
        database=DATABASE,
        org=ORG,
        token=TOKEN,
        write_precision="s",
    ),
)

Setting up the project for development

Install just

We use just as a command runner for actions / recipes related to developing Bytewax. Please follow the installation instructions. There's probably a package for your OS already.

Install pyenv and Python 3.12

I suggest using pyenv to manage python versions. the installation instructions.

You can also use your OS's package manager to get access to different Python versions.

Ensure that you have Python 3.12 installed and available as a "global shim" so that it can be run anywhere. The following will make plain python run your OS-wide interpreter, but will make 3.12 available via python3.12.

$ pyenv global system 3.12

Install uv

We use uv as a virtual environment creator, package installer, and dependency pin-er. There are a few different ways to install it, but I recommend installing it through either brew on macOS or pipx.

Install just

We use just as a command runner for actions / recipes related to developing Bytewax. Please follow the installation instructions. There's probably a package for your OS already.

Development

We have a just recipe that will:

  1. Set up a venv in venvs/dev/.

  2. Install all dependencies into it in a reproducible way.

Start by adding any dependencies that are needed into pyproject.toml or into requirements/dev.in if they are needed for development.

Next, generate the pinned set of dependencies with

> just venv-compile-all

Create and activate a virtual environment

Once you have compiled your dependencies, run the following:

> just get-started

Activate your development environment and run the development task:

> . venvs/dev/bin/activate
> just develop

License

Bytewax InfluxDB Connector is commercially licensed with publicly available source code. Please see the full details in LICENSE.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

bytewax_influxdb-0.1-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file bytewax_influxdb-0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bytewax_influxdb-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f13fa5681eb5e5c18fba0dd7a0ac33f9202a16decb8a01e1b834e0d97689e90
MD5 230b4fb38a589737e82646d88acc001c
BLAKE2b-256 6218c8ffe0722d079b2f37f2adfb0e6384d35f4f47b291d7a44152ff3afeef97

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page