Skip to main content

# resultsdb_conventions

resultsdb_conventions is a Python library that represents various conventions for reporting test results to [ResultsDB][1]. It allows you to report results easily and without a lot of boilerplate, and be relatively confident their ResultsDB metadata will be consistent with other results of the same basic nature.

## Installation

resultsdb_conventions packages are available in the Fedora and [EPEL][2] 7 repositories. The core package is python2-resultsdb_conventions, and the fedora module is in the package python2-resultsdb_conventions-fedora. For other distributions, or if you want to use the git code, you can simply make the library available in the Python path for your consumer in some way, or to install the library systemwide, just run sudo python setup.py install. You will need the cached-property library as well, and the fedfind library if you wish to use the Fedora conventions (these are both packaged for Fedora and EPEL). For actually submitting results, you will need the ResultsDBapi class from the resultsdb_api module.

resultsdb_conventions is intended to be compatible with Python 2.6+ and current Python 3. Please report bugs if you find compatibility problems.

## Use

The simplest way to use resultsdb_conventions is to pick the Result subclass that most closely represents the kind of result you wish to submit, instantiate it with appropriate arguments, get an instance of ResultsDBapi, and run the report() method. This will apply the ‘default’ metadata for the result (based on the kind of result and the args used for instantiation), and submit it to whichever ResultsDB you got an API instance for. The Result subclasses should all document their required and optional arguments.

For simple modifications of the submitted result, you can simply adjust the extradata property (which is just a dict of arbitrary string key:value pairs that are passed to ResultsDB and stored as-is) after getting the instance but before running report(). You can also cause the result to be added to more groups by including an iterable of group dicts or UUID strings as the groups arg when instantiating the result class, or by adjusting the instance’s groups property directly.

For more complex changes to the behaviour, you can of course start from the most relevant class and create a subclass, then adjust things as appropriate. The important conventions for how subclasses should be implemented are documented in the Result class. If your subclass is likely to have utility outside your project, you may want to submit a pull request for it, so other projects can conveniently report results according to the same conventions.

A simple validation mechanism has been included, but currently none of the included classes implements any significant validation. The validation is intended to enforce the convention being encoded, not to do fundamental checks on the validity of the result in ResultsDB terms; ResultsDB will reject any outright invalid submission. Please consider implementing validation for any pull requests you submit.

## Bugs, pull requests etc.

You can file issues and pull requests on the [resultsdb_conventions project][3] in Fedora Forge.

## Credits

Jan Sedlak and Josef Skladanka contributed valuable inspiration, ideas and reviews.

## Licensing

resultsdb_conventions is available under the GPL, version 3 or any later version. A copy is included as COPYING.

[1]: https://fedoraproject.org/wiki/ResultsDB [2]: https://fedoraproject.org/wiki/EPEL [3]: https://forge.fedoraproject.org/quality/resultsdb_conventions

Metadata

Release files for resultsdb-conventions 3.0.3

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

Source distribution (sdist)

Source distribution for resultsdb-conventions 3.0.3
File Size Uploaded
resultsdb_conventions-3.0.3.tar.gz 27.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for resultsdb-conventions 3.0.3
File Interpreter ABI Platform
resultsdb_conventions-3.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 52.7 kB

Release files / resultsdb_conventions-3.0.3.tar.gz

Download URL resultsdb_conventions-3.0.3.tar.gz
Size 27.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8e5130319e2cb65ecbd2ce9676a880ea907eded8c0c1312938bc932b7ebc9387
BLAKE2b-256 checksum
How to use checksums
44778d5477724eb9325a9db09934e7a84802ce4f9d1886346d4db9c4ad703eb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / resultsdb_conventions-3.0.3-py3-none-any.whl

Download URL resultsdb_conventions-3.0.3-py3-none-any.whl
Size 24.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
240feea120789771bce93f296dd9e782fdd2376a788eecd8668bb0ce453dde6a
BLAKE2b-256 checksum
How to use checksums
a98adff016f546da0c095c90df9e218c6b838f542229d6a1d41d5dbc7b0e58d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

3.0.3 This release

2 release files

3.0.2

2 release files

3.0.1

2 release files

2.1.0

1 release file

2.0.3

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.0.1

1 release file

1.0.0

1 release file

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