Skip to main content

A python wrapper around the UTS REST API.

Project description

UTS-PYTHON-REST-API

A python wrapper around the UTS REST API.

Find out how to get started using UltraTimeSeries in our Website: https://twoimpulse.com/ultratimeseries/

How to use

This is a simple guide on how to get started using UltraTimeSeries (UTS) Python REST API.

The motives behind this wrapper around UltraTimeSeries (UTS) REST API was to reduce even more the complexity of the system and make it as accessible as possible. We assembled this simple introductory script in order to teach you how to get data flowing as soon as possible. The operations used assume familiarity with the UltraTimeSeries data model and concepts.

1 - Introduction

To start interacting with UltraTimeSeries (UTS) we need to have access to an instance either locally or remotely. For this example script we also used a .CSV file named records containing readings from the value of Ethereum, the popular digital currency, over time. Start by importing this package

import uts

2 - Instanciate a Node object

To get it startad we’ll need to indicate Python where is this UltraTimeSeries instance running, we’ll need to instanciate a UTS object that indicates where the instance is running, both the URL and the Host.

node = uts.UTS(URL,Host)
node = uts.UTS('http://localhost:8080','localhost')

#OR

node = uts.UTS()
#This is also valid for the given parameters since the values are defaulted to:
#URL = 'http://localhost:8080'
#Host = 'localhost'

3 - Actor Insertion

An actor is an entity capable of producing/generating data. Actors have only two properties: Key - a unique and unequivocal way to identify this actor, is property is mandatory. Created - a system property with the actors' database write date, this property cannot be changed by developers. Creating an actor involves calling actorCreate(actorKey)

#The Subject in the messages we got from the .CSV file came as 'ETHEUR'
#Let's create an actor with the same key
actors = node.Actors()
actors.AddActor('ETHEUR')
node.actorCreate(actors)

4 - Message Insertion

Messages like actors are one of the atomic units in UltraTimeSeries. A message should be seen as a single event whereas a list of events is a time series. Message can be added individually or as a collection. Adding multiple messages in one go is more efficient than iterating and adding a single at a time. For this example a Message follows this structure:

#unique identifier of the actor who produced this data
actor = 'ETHEUR'

#name of the time series, the action that we're monitoring
action = 'Value'

#a dimension is a measure of a physical variable (without numerical values)...
#while a unit is a way to assign a number or measurement to that dimension by identifying the dimension and the unit the system can now do
#automatic conversion (e.g meters to yards) 
#when combined they become a measure
measure = uts.CurrencyEuro()

#unit of measure actual value
#This value is set as an example since we will be reading it from the messages
value = 3000

#date when the event occured, must be in Coordinated Universal Time (UTC)
#This value is set as an example since we will be reading it from the messages
date = '2021-08-25T22:55:57.8253388Z'

#Feed from the records.csv and populate the database with Messages:
#Insert messages in the database
with open('records.csv','r') as records:
   content = csv.reader(records)
   next(content)
   #Instanciate a Messages object
   messages = node.Messages()
   #Create the messages you pretend to insert
   for line in content:
       #addMessage takes as arguments, the actor, action, measure, value and date respectively
       messages.addMessage(line[0],'Value',uts.CurrencyEuro(),line[1],line[2])
   node.messageCreate(messages)

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

ultratimeseries-api-1.0.3.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

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

ultratimeseries_api-1.0.3-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file ultratimeseries-api-1.0.3.tar.gz.

File metadata

  • Download URL: ultratimeseries-api-1.0.3.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.61.1 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for ultratimeseries-api-1.0.3.tar.gz
Algorithm Hash digest
SHA256 10cbcf1775a10e57ef8682229cf6e0cdf8ae10a4c3ccf264a3df50078b3eb571
MD5 8237ca9217e383a7faf0531a4599e458
BLAKE2b-256 6f941cb16bcc9a704ff51ed2c1eef6da874a1884e0945954ca0b4a7c5b85d9ef

See more details on using hashes here.

File details

Details for the file ultratimeseries_api-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: ultratimeseries_api-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.61.1 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for ultratimeseries_api-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b35a00b345836f926fc03255598461e21364899e63c3031dd179815bce918874
MD5 e85142e0a7a8f78e96006f14d08a737b
BLAKE2b-256 4cfed57a53140d93836f27af010faba622ab04608a9a128a4860847d4eefde88

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