Skip to main content

OGC STA-DGGS (SensorThings Cell) Python Client

This STA-DGGS Python Client implements the SensorThings Discrete Global Grid System extension (entity type Cell). The aim is to isolate Cell from STAplus and STA so it can be used on its own or stacked with the STAplus Python Client.

This implementation is an extension to the STA Python Client.

Python Version

This library requires Python 3.11 or better to support parsing ISO datetime values (datetime.datetime.fromisoformat).

Features

  • Support for the STA-DGGS Cell entity
  • Cell attributes: zoneId, zoneLevel, system, boundary, encodingType, properties
  • Navigations: Datastreams, MultiDatastreams, Observations, Parent, Children
  • Reverse Cell navigation on Datastream, MultiDatastream, and Observation
  • CRUD operations and queries
  • compose() with STAplus for the combined STAplus + DGGS data model

Installation via PyPi

Installation via pip: pip install sta-dggs-client

STA-DGGS only

import sta_dggs_client as dggs

url = "<your domain>/FROST-Server/v1.1"
service = dggs.STADGGSService(url)

cell = dggs.Cell(zone_id='u281t', zone_level=5, system='H3')
service.create(cell)

Combined with STAplus

A client that needs both STAplus (Party, License, Campaign, …) and Cell uses compose(). That returns one service whose Datastream, MultiDatastream, and Observation classes carry both models. compose() requires staplus-client to be installed. STA-DGGS itself does not depend on STAplus.

import staplus_client as plus
import sta_dggs_client as dggs
service = dggs.compose(url, auth_handler=auth)
ds = plus.Datastream(name='Temperature', description='temp',
                     party=party, cell=cell)
mds = plus.MultiDatastream(name='Air quality', description='multi',
                           party=party, cell=cell)
obs = plus.Observation(result=21.5, cell=cell)

compose() rebinds plus.Datastream (and MultiDatastream, Observation) so existing STAplus code keeps working, including datastream.cell = dggs.Cell(zone_id). compose() takes the same arguments as SensorThingsService in STA-Python-Client: url, auth_handler, and proxies. You can also pass an existing STAplusService instance:

service = dggs.compose(plus.STAplusService(url, auth_handler=auth))

Limitations

Cell/boundary should be JSON-serializable (typically a GeoJSON Geometry). encodingType, when set, should be one of:

  • application/geo+json
  • application/vnd.geo+json
  • application/vnd.ogc.fg+json
  • application/wkt

Metadata

Release files for sta-dggs-client 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sta-dggs-client 0.1.0
File Size Uploaded Provenance
sta_dggs_client-0.1.0.tar.gz 20.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sta-dggs-client 0.1.0
File Interpreter ABI Platform
sta_dggs_client-0.1.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 53.4 kB

Release files / sta_dggs_client-0.1.0.tar.gz

Download URL sta_dggs_client-0.1.0.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9ef64d44970a0c68bf6cba85cff50ee318e676e39d2a5059ff1e0c5eec6664dd
BLAKE2b-256 checksum
How to use checksums
6f39737703b38cffd1abfdbf8928a398de66a412ae88daf7c68decc77bf374d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / sta_dggs_client-0.1.0-py2.py3-none-any.whl

Download URL sta_dggs_client-0.1.0-py2.py3-none-any.whl
Size 33.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
7aa748623312a9c084d1e3d8b13a6f900a4e4a99d6b1b7166f0ddddaad342c99
BLAKE2b-256 checksum
How to use checksums
6513c3cadd9a48d80ba0d27cbb3448a8e30a51b5546450cce7a6ee99327b8436
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for sta-dggs-client 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page