Registry / testing / qase-python-commons

qase-python-commons

JSON →
library5.1.2pypypi✓ verified 85d ago

qase-python-commons is a foundational Python library providing common models, data structures, and utilities used across various Qase TestOps integration tools, such as reporters for Pytest, Behave, and Robot Framework. It streamlines data exchange and standardizes reporting formats for Qase TestOps. The current version is 5.1.1, and it's actively maintained with frequent updates, often alongside its sister reporter libraries.

pip install qase-python-commons
INSTALL
IMPORT
SIG · QASE-PYTHON-COMMON
Q
qase-python-commons
testingpythonv5.1.2
Install
4.1s avg
Import
Disk
34MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v5.1.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 35.6MB
glibc
py 3.103.910 runs
installs and imports cleanly · install 4.1s · import 0.000s · 35MB
34MB installed
● package 34MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Result
from qase.commons.models import Result
from qaseio.commons.models import Result

This quickstart demonstrates how to instantiate and populate core data models like `Result` and `Step` using `qaseio.commons.models`. These objects form the basis for reporting test results to Qase TestOps via various reporter libraries.

from qaseio.commons.models import Result, Step, Status import datetime # Create a test result object result = Result( test_id='QASE-123', status=Status.PASSED, start_time=datetime.datetime.now().isoformat(), end_time=datetime.datetime.now().isoformat(), duration=150, # milliseconds message='Simple test passed.' ) # Add a step to the test result step1 = Step( status=Status.PASSED, position=1, action='Verify initial setup', start_time=datetime.datetime.now().isoformat(), end_time=datetime.datetime.now().isoformat(), duration=100 ) result.steps.append(step1) # Add tags to the result result.add_tag('smoke_test') result.add_tag('frontend') print(f"Result created for Test ID: {result.test_id}") print(f"Status: {result.status.value}") print(f"Duration: {result.duration}ms") print(f"Tags: {', '.join(result.tags)}") print(f"Number of steps: {len(result.steps)}")
Debug
Known issues
breakingThe handling of test-level tags was refactored in versions 5.1.0/5.1.1. Previously, custom integrations might have directly manipulated tag fields. Now, `add_tag()` and `tags` attribute on the `Result` model should be used.
fix
Ensure you are using the `add_tag()` method for adding tags to `Result` objects and accessing tags via `result.tags` attribute. Review custom code that interacts with test tags.
affects: >=5.1.0
gotchaThis library explicitly depends on `pydantic<3.0.0`. If you have Pydantic v2.x installed globally or in your environment for other projects, it might lead to dependency resolution errors or runtime issues due to API differences between Pydantic v1 and v2.
fix
Ensure your project uses Pydantic v1.x (e.g., `pip install 'pydantic<2.0'`) or create a dedicated virtual environment for projects using `qase-python-commons` to manage its dependencies correctly.
affects: All versions
Upgrade
Version history
5.1.2latest on PyPI · released Jun 3, 2026
Audit
Dependencies
qase-api-clientrequiredProvides core API client functionalities for Qase TestOps integration.
pydanticrequiredUsed for data validation and settings management within the library's models.
Agent activity
6 hits · last 30 days
node
6
Resources
qase-python-commons — pip install qase-python-commons · libregistry