Skip to main content

PIP Package for a variety of Data Platform Helpers

Table of Contents:

  1. Version Checker

1. Version Checker

Purpose

used to determine if a relevant version attribute across related applications are valid.

There are many potential applications for this. Here are a few examples:

  1. in a sharded cluster where is is important that the shards and cluster manager have the same components.
  2. kafka connect and kafka broker apps working together and needing to have the same ubnderlying version.

How to use

  1. add to requirements in requirements.txt:

        data-platform-helpers==0.1.1
    
  2. in src/charm.py of requirer + provider

    in constructor [REQUIRED]:

    from data_platform_helpers.version_check import CrossAppVersionChecker
    ...
    self.version_checker = self.CrossAppVersionChecker(
        self,
        version=x, # can be a revision of a charm, version of a snap, version of a workload, etc
        relations_to_check=[x,y,z],
        # only use if the version doesn't not need to exactly match our current version
        version_validity_range={"x": "<a,>b"})
    

    in update status hook [OPTIONAL]:

    if not self.version_checker.are_related_apps_valid():
        logger.debug(
            "Warning relational version check failed, these relations have mismatched versions",
            "%s",
            self.version_checker(self.version_checker.get_invalid_versions())
        )
        # do something, ie set status, instruct user to change something, etc
    
  3. other areas of the charm (i.e. joined events, action events, etc) [OPTIONAL]:

    if not self.charm.version_checker.are_related_apps_valid():
        # do something - i.e. fail event or log message
    
  4. in upgrade handler of requirer + provider [REQUIRED]:

    if [last unit to upgrade]:
        self.charm.version.set_version_across_all_relations()
    

2. Advanced Statuses Handler

TBD

3. Interfaces

Purpose

This is Data Interfaces V1, as a pip package. It will be used for charmlibs, but also for libraries that require some parts of data interfaces v1, but could not use it because it was in a charm-lib.

How to use: see the module documentation

Metadata

Release files for data-platform-helpers 1.1.1

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

Source distribution (sdist)

Source distribution for data-platform-helpers 1.1.1
File Size Uploaded
data_platform_helpers-1.1.1.tar.gz 42.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for data-platform-helpers 1.1.1
File Interpreter ABI Platform
data_platform_helpers-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 99.1 kB

Release files / data_platform_helpers-1.1.1.tar.gz

Download URL data_platform_helpers-1.1.1.tar.gz
Size 42.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9eefb05bd67a1bb11b63aea00761d7d13d4b2a74fe3ab40c7e917a0614d9ab3e
BLAKE2b-256 checksum
How to use checksums
0715d452e5588d6f70d28d24a234cd0ec77616e3d15f45695881b42f885b90ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.

Transparency log

Release files / data_platform_helpers-1.1.1-py3-none-any.whl

Download URL data_platform_helpers-1.1.1-py3-none-any.whl
Size 56.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6157126edb56f5d7474ee66e4066c57b9e6bad690d4e4cc4646be362dcaf8f47
BLAKE2b-256 checksum
How to use checksums
a945407ea315e1f38edd39e8ec49ebdea94a694912942bc584fe39c6f006181b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.1

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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