Skip to main content

General utility functions and classes for GSEG research/projects

Project description

GSEGUtils

License: BSD-3 Documentation Status

GSEGUtils provides some tools and functionality that are used across other development or research projects. These are particularly focussed in the direction of research within the group.

The main goal if this repo is to help software development efforts and allow more focus on algorithm development, data processing and research rather than code debugging and maintenance.

Currently this module includes:

Package Description
BaseArrays Sub-classable array objects with automated validation on type, shape and attributes
Lazy Disk Cache Automated data offloading for memory management
Util Includes utility functions such as angle unit conversions
Validators Helper functions for performing validation and normalisation

Installation

This can be done directly from the repository directory:

pip install git+ssh://git@github.com/gseg-ethz/GSEGUtils.git

or by cloning it

git clone https://github.com/gseg-ethz/GSEGUtils.git
cd GSEGUtils
pip intstall .

Usage

Accessing the different classes can then be easily done by importing from GSEGUtils:

>>> from GSEGUtils.base_arrays import BaseArray, ArrayNx3, BaseVector
>>> import numpy as np
>>> data = np.random.rand(10,20,3)
>>> array = BaseArray(data)

>>> array.shape
(10, 20, 3)

>>> np.all(array == data)
np.True_

>>> a = ArrayNx3(np.random.rand(10, 3))
>>> b = a + 10
>>> np.all(b == a + 10)
np.True_

coords3D = Array_Nx3(np.random.rand(20, 3))
coords3d.arr = np.random.rand(100)
# RAISES ERROR -> invalid shape not of (N, 3), expected (N,)

coords3d.arr = np.random.rand(100, 3)
# Valid as the array is of shape Nx3

Publication Policy

This package is internal to ETH Zurich's GSEG group and is not published to PyPI. The release-please workflow produces build artefacts attached to GitHub Releases; internal users install via pip install <wheel-url> from those releases. There is no PyPI publish step; introducing one requires explicit ADR-level review.

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

gsegutils-0.5.2.tar.gz (104.8 kB view details)

Uploaded Source

Built Distribution

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

gsegutils-0.5.2-py3-none-any.whl (52.2 kB view details)

Uploaded Python 3

File details

Details for the file gsegutils-0.5.2.tar.gz.

File metadata

  • Download URL: gsegutils-0.5.2.tar.gz
  • Upload date:
  • Size: 104.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for gsegutils-0.5.2.tar.gz
Algorithm Hash digest
SHA256 14742ff418253f886d1b3f2582609dd2693bf681a902fc60c0b789d9e47b2d3c
MD5 f8e66449be20bb94acd1f6d99ce3f9a0
BLAKE2b-256 e3f7508d1c87b9e7df8ddf47636d26f81ac1915f9b3d0a4f8603dfc81f132e30

See more details on using hashes here.

Provenance

The following attestation bundles were made for gsegutils-0.5.2.tar.gz:

Publisher: publish-pypi.yml on gseg-ethz/GSEGUtils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gsegutils-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: gsegutils-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 52.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for gsegutils-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4d225277e896b9a3e1cf58421065f70e370e73e99493d4e8c1707b063916ad38
MD5 83c08d24914c5940b7337f1ef831f012
BLAKE2b-256 d97d80494bd537c6f7fb8834ebdcceba11164b7782d4b95be6dca9f08dba47a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for gsegutils-0.5.2-py3-none-any.whl:

Publisher: publish-pypi.yml on gseg-ethz/GSEGUtils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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