Skip to main content

SDK for working with the Vantiq system

Project description

Vantiq SDK for Python

The Vantiq Python SDK is a Python package that provides an API into a Vantiq system from Python applications. The SDK connects to a Vantiq system using the Vantiq REST API.

Installation

The SDK is installed from the PyPI repo. To install this into your system, use

    pip install vantiqsdk

Note: depending on your local environment, you may need to use pip3 instead of pip, or whatever is appropriate to install into your virtual environment.

The Vantiq SDK for Python requires Python version 3.10 or better. It is built using asyncio, aiohttp, and websockets. In the documentation that follows, methods marked as Async must be awaited. For more information about asyncio and await, please see the Python asyncio documentation).

Quick Start

You will need valid credentials on a Vantiq server in the form of a username and password or access token. If you have a private Vantiq server, contact your administrator for credentials. If you wish to use the Vantiq public cloud, contact support@vantiq.com.

The first step is to create an instance of the Vantiq SDK providing the URL of the Vantiq server to connect:

from vantiqsdk import Vantiq, VantiqResources, VantiqResponse
import vantiqsdk

server: str = "https://dev.vantiq.com"

vantiq: Vantiq = Vantiq(server)

where server is the full URL for the Vantiq server to connect to, such as https://dev.vantiq.com/. An optional second argument is the version of the API to connect to. If not specified, this defaults to the latest version, currently 1. At this point, the Vantiq instance has not yet connected to the server.
To establish a connection to the server, use the authenticate method, e.g.,

username = "joe@user"
password = "my-secr3t-passw0rd!#!"

await vantiq.authenticate(username, password)

The username and password are the same credentials used to log into the system. Note the username and password are not stored either in-memory or persistently after this authentication call. After successfully authenticating with the system, the Vantiq instance stores an in-memory access token that subsequent API calls will use.

Now, you are able to perform any SDK calls to the Vantiq server. The async methods on the SDK classes can be immediately awaited to run in, effectively, a synchronous fashion, or they can return an Awaitable that can be awaited later.

vr: VantiqResponse = await vantiq.select(VantiqResources.TYPES)

Alternatively,

to_await = vantiq.select(VantiqResources.TYPES)
...
vr: VantiqResponse = await to_await

In either case, the response to the operation is available in the VantiqResponse instance.

Documentation

For the full documentation on the SDK, see the SDK API Reference.

Developers

The project is set up as a gradle project. To run the tests, use

./gradlew test

or

./gradlew.bat test

in a windows environment.

The tests run will run a mocked version. To execute tests against a live server, define the following gradle properties in your ~/.gradle/gradle.properties file:

# Python project values
TestVantiqServer=<Vantiq server url> # Only do the base URL. Ex http://localhost:8080/
TestAccessToken=<access token from that Vantiq system>
TestVantiqUsername=<Vantiq user name>
TestVantiqPassword=<Password for that Vantiq user>

Alternatively, when running directly, use the following environment variables:

VANTIQ_URL <Vantiq erver url>
VANTIQ_ACCESS_TOKEN <Access token from that Vantiq system>
VANTIQ_USERNAME <Vantiq user name>
VANTIQ_PASSWORD <Password for that Vantiq user>

Copyright and License

Copyright © 2022 Vantiq, Inc. Code released under the MIT license.

Project details


Download files

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

Source Distribution

vantiqsdk-1.4.6.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vantiqsdk-1.4.6-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file vantiqsdk-1.4.6.tar.gz.

File metadata

  • Download URL: vantiqsdk-1.4.6.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for vantiqsdk-1.4.6.tar.gz
Algorithm Hash digest
SHA256 ed33e1597a41c82d548ba5290ec500e258b4d1f52e3bf91dd34db00e8629128c
MD5 5befbee45c9ed72983d9c1c1ac0a1f8e
BLAKE2b-256 01a995b4a061f443a6012e618899eed4f9b18b2e05ccd1411d20b2c5572a0e20

See more details on using hashes here.

File details

Details for the file vantiqsdk-1.4.6-py3-none-any.whl.

File metadata

  • Download URL: vantiqsdk-1.4.6-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for vantiqsdk-1.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 77004a4453112ccff9eb193507f3dcc17313f4880153149c8f2ac6821629ec9d
MD5 a15ab2d7874e52d5a683a7e1841f0398
BLAKE2b-256 50f500baa98355eb201b403347fdc5ffca98aef357a8cac698b79d14a7d8f0bf

See more details on using hashes here.

Supported by

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