Skip to main content

Utilities package for Open VDS.

Project description

Introduction

OVDS-Utils is a python library implementing classes and wrapers with easier to comprehend interfaces to openvds.

Examples are:

  • VDS class implementing __getitem__ method for easy data read out and many others feature to make life easier.

To install:

Run pip install ovds-utils or execute python setup.py install in the source directory

Creating and reading VDS source example

You can easily create and access the VDS source/file by simply creating a VDS class instance and using __getitem__ method to read data.

import numpy as np

from ovds_utils.ovds.enums import BrickSizes
from ovds_utils.vds import VDS

shape = (251, 51, 126)
data = np.random.rand(*shape).astype(np.float32)

vds = VDS(
    path="example.vds",
    connection_string="",
    shape=shape,
    data=data,
    databrick_size=BrickSizes.BrickSize_128,
    access_mode=AccessModes.Create,
)

print(vds[:10,0,0])
>>> [0.14836921 0.06490713 0.05770212 0.2364456  0.49000826 0.1573576
 0.5017615  0.456749   0.6573513  0.72831243]

Writing to VDS source chunk by chunk

import numpy as np

from ovds_utils.metadata import MetadataTypes, MetadataValue
from ovds_utils.ovds.enums import BrickSizes, Formats
from ovds_utils.vds import VDS, Channel, Components, Formats, AccessModes

metadata = {
    "example": MetadataValue(value="value", category="category#1", type=MetadataTypes.String)
}

shape = (251, 51, 126)
data = np.random.rand(*shape).astype(np.float64)
zeros = np.zeros(shape, dtype=np.float64)

vds = VDS(
    "example.vds",
    data=zeros,
    metadata_dict=metadata,
    databrick_size=BrickSizes.BrickSize_64,
    access_mode=AccessModes.Create,
    channels=[
        Channel(
            name="Channel0",
            format=Formats.R64,
            unit="unitless",
            value_range_min=0.0,
            value_range_max=1000.0,
            components=Components.Components_1
        )
    ]
)
for c in vds.channel(0).chunks():
    c[:, :, :] = data[c.slices]
    c.release()
vds.channel(0).commit()

print(vds[:10,0,0])
>>> [0.14836921 0.06490713 0.05770212 0.2364456  0.49000826 0.1573576
 0.5017615  0.456749   0.6573513  0.72831243]

Links

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

ovds_utils-0.3.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

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

ovds_utils-0.3.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file ovds_utils-0.3.1.tar.gz.

File metadata

  • Download URL: ovds_utils-0.3.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for ovds_utils-0.3.1.tar.gz
Algorithm Hash digest
SHA256 bf5b901f591f0b789538baf7cc9513a2f8592407691cdb59a06a2718966e6b1c
MD5 cf68ad49595256dd12a425edddfcd2cd
BLAKE2b-256 5f17223783f98c2c3d611116079bf664dc1518fb0832ddae7c017bbbdaec587c

See more details on using hashes here.

File details

Details for the file ovds_utils-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: ovds_utils-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for ovds_utils-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5daf1d9cdb389b0c6f4402ac9b4a774f331cdca37e5ed03775e21cc88728ac72
MD5 f83e8be18a5831ad7dae5cb36876d2b4
BLAKE2b-256 5174f431f2a9219601837461902965be24d265be9ec74b9a4fb99e715ffe8f9b

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