V3IO Frames is a high-speed server and client library for accessing time-series (TSDB), NoSQL, and streaming data in the Iguazio Continuous Data Platform.
- Go server with support for both the gRPC and HTTP protocols
- Go client
- Python client
The core is written in Go.
The development is done on the development
branch and then released to the master
branch.
- To execute the Go tests, run
make test
. - To execute the Python tests, run
make test-python
.
- If you add Go dependencies, run
make update-go-deps
. - If you add Python dependencies, update clients/py/Pipfile and run
make update-py-deps
.
Integration tests are run on Travis CI. See .travis.yml for details.
The following environment variables are defined in the Travis settings:
- Docker Container Registry (Quay.io)
DOCKER_PASSWORD
— Password for pushing images to Quay.io.DOCKER_USERNAME
— Username for pushing images to Quay.io.
- Python Package Index (PyPI)
V3IO_PYPI_PASSWORD
— Password for pushing a new release to PyPi.V3IO_PYPI_USER
— Username for pushing a new release to PyPi.
- Iguazio Container Data Platform
-
V3IO_SESSION
— A JSON encoded map with session information for running tests. For example:'{"url":"45.39.128.5:8081","container":"mitzi","user":"daffy","password":"rabbit season"}'
Note: Make sure to embed the JSON object within single quotes (
'{...}'
).
-
Use the following command to build the Docker image:
make build-docker
Use the following command to run the Docker image:
docker run \
-v /path/to/config.yaml:/etc/framesd.yaml \
quay.io/v3io/frames:unstable