Skip to main content

Models

This component contains data models that are used to communicate between at least two different components of the project.

This includes the following models:

  • database: models/classes for interfacing with hot and cold storage
    • hot: use plain Python classes that abstract away the path variables and include static types
    • cold: data models in SQL alchemy

Note that the hot storage essentially caches parts of the data structures of the cold storage. This should be reflected in the SQL alchemy model:

Principles

  • make sure to use object-oriented expressons and techniques, for example abstract models and classes which have different implementations to account for versioning.
  • consider the fact that the API itself is mostly consisting of CRUD-type of endpoints
  • for hot storage, favor small field with primitive data types
  • for cold storage, prefer large objects that enable fast data read without too many joins when reading/writing through the API endpoints

Modelled data

This is a very rough first draft which does not correspond to an 1:1 ORM:

Cold storage

  • run
    • id
    • type of job (compile, run, verify...)
    • state changes (array of timestamp/status)
    • logs
    • number of channels
    • measurements (per channel) for run/verify jobs
    • device id
    • input type
    • input (JSON data)
    • output (JSON data)
  • device
    • id
    • type
    • input type
    • parameter schema (as a data type that will simplify the model checking later)

Hot storage

  • run (by UUID)
    • state changes (array of pairs timestamp/status)
    • logs (array of lines, lines are appended)
    • measurements (on different channels, each channel is a time series of floating point values)
  • list of active devices (device IDs), regularly updated from scanner

Metadata

Release files for analogcloud-common 0.1.5

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

Source distribution (sdist)

Source distribution for analogcloud-common 0.1.5
File Size Uploaded
analogcloud_common-0.1.5.tar.gz 66.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for analogcloud-common 0.1.5
File Interpreter ABI Platform
analogcloud_common-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 104.0 kB

Release files / analogcloud_common-0.1.5.tar.gz

Download URL analogcloud_common-0.1.5.tar.gz
Size 66.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6623f6a72a609ddfdd5b0ae5c110c2ce7f48cac50ab0eb4baadd9bad408611de
BLAKE2b-256 checksum
How to use checksums
79a2abcb5e8485497d13bd358cee4b72b65841b89c07e282dad6662641b07e63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / analogcloud_common-0.1.5-py3-none-any.whl

Download URL analogcloud_common-0.1.5-py3-none-any.whl
Size 37.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
672c923e151e3fd1bc7e4e822a119b684e18d3f159c0305a410e1c232f009801
BLAKE2b-256 checksum
How to use checksums
411ee3993112fa9dc870ea820477e5abf0988b487e004c4d45c21ab439ebee4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

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