General utility functions and classes for GSEG research/projects
Project description
GSEGUtils
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14742ff418253f886d1b3f2582609dd2693bf681a902fc60c0b789d9e47b2d3c
|
|
| MD5 |
f8e66449be20bb94acd1f6d99ce3f9a0
|
|
| BLAKE2b-256 |
e3f7508d1c87b9e7df8ddf47636d26f81ac1915f9b3d0a4f8603dfc81f132e30
|
Provenance
The following attestation bundles were made for gsegutils-0.5.2.tar.gz:
Publisher:
publish-pypi.yml on gseg-ethz/GSEGUtils
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gsegutils-0.5.2.tar.gz -
Subject digest:
14742ff418253f886d1b3f2582609dd2693bf681a902fc60c0b789d9e47b2d3c - Sigstore transparency entry: 1939361274
- Sigstore integration time:
-
Permalink:
gseg-ethz/GSEGUtils@21aea0483a3a19ff3d85f40560d69d6d13425c55 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/gseg-ethz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@21aea0483a3a19ff3d85f40560d69d6d13425c55 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d225277e896b9a3e1cf58421065f70e370e73e99493d4e8c1707b063916ad38
|
|
| MD5 |
83c08d24914c5940b7337f1ef831f012
|
|
| BLAKE2b-256 |
d97d80494bd537c6f7fb8834ebdcceba11164b7782d4b95be6dca9f08dba47a4
|
Provenance
The following attestation bundles were made for gsegutils-0.5.2-py3-none-any.whl:
Publisher:
publish-pypi.yml on gseg-ethz/GSEGUtils
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gsegutils-0.5.2-py3-none-any.whl -
Subject digest:
4d225277e896b9a3e1cf58421065f70e370e73e99493d4e8c1707b063916ad38 - Sigstore transparency entry: 1939361372
- Sigstore integration time:
-
Permalink:
gseg-ethz/GSEGUtils@21aea0483a3a19ff3d85f40560d69d6d13425c55 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/gseg-ethz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@21aea0483a3a19ff3d85f40560d69d6d13425c55 -
Trigger Event:
release
-
Statement type: