--- id: allure-python-commons version: "2.16.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # allure-python-commons — Contains the API for end users as well as helper functions and classes to build Allure adapters for Python test frameworks License: permissive · Maintenance: active · Downloads: 8.9M/mo ## What it is and what it does allure-python-commons is the foundational library for Allure Report integration in Python. It provides the object model, lifecycle management, and common API that both end users and framework adapter developers rely on. End users import it to decorate test functions with metadata (title, severity, epic, feature, story, tags, links) and to attach runtime information like parameters and files. Adapter developers use internal APIs—the model classes, file/memory loggers, and lifecycle implementations—to build test framework plugins that emit Allure report data. The package is lightweight, with only attrs and pluggy as runtime dependencies, and maintains active development with support for Python 3.8 through 3.13. It sits between test frameworks and the Allure reporting engine, translating test metadata into the structured format Allure Report consumes. Most users install it indirectly as a dependency of an Allure adapter, though it can be used directly to build custom adapters. Use it for: - Decorate test functions with allure.title, allure.severity, and allure.epic to organize and prioritize reports - Attach screenshots, logs, or JSON payloads to test results at runtime using allure.attach for debugging - Build a custom Allure adapter using the model2 and lifecycle APIs for non-standard test frameworks - Dynamically add test metadata (description, tags, links) during test execution via allure.dynamic.* - Emit test results and containers to Allure Report format for integration with CI/CD dashboards ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides the common API and object model for Allure Report, enabling test framework adapters and end users to enhance test reports with metadata, attachments, and structured test information. Yes. This is a stable, actively maintained library in production use (top 5000 PyPI packages) with no known vulnerabilities, permissive licensing, and minimal dependencies. Install it if you are building an Allure adapter or using an Allure-integrated test framework. ## Install pip install allure-python-commons uv add allure-python-commons poetry add allure-python-commons ## Installing allure-python-commons Before you install: Low friction install with only two runtime dependencies (attrs, pluggy). Actively maintained with recent commits and stable production status. License in practice: Licensed under Apache-2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects. Quickstart: pip install allure-python-commons import allure @allure.title("My test") def test_example(): allure.attach("test data", name="info") Requires Python 3.6 or later. Typically used as a dependency of an Allure adapter rather than standalone. Verify before relying: - Whether the package works effectively in multithreaded scenarios beyond what AllureReporter currently supports - Specific async/await concurrency support status relative to the open issues mentioned in the description ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 8.9M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags allure report api, test report metadata, allure adapter commons, test reporting framework, allure python commons, test report enhancement, allure lifecycle management, test-reporting, allure-framework, adapter-api [View on SkillFed](https://skillfed.io/packages/allure-python-commons) · [View on PyPI](https://pypi.org/project/allure-python-commons/)