allure-python is a free, open source business intelligence & reporting project written in Python and released under Apache-2.0. It has 815 GitHub stars, 260 forks and 129 open issues, and was last pushed 2 months ago. On this registry it ranks #28 of 34 tracked projects in Business Intelligence & Reporting, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is allure-python?

allure-python is the official set of Allure Report adapters for Python test frameworks — pytest, behave, Robot Framework, pytest-bdd, and nose2 — built for Python teams that run automated tests and want Allure's report model without writing their own result-formatting layer.

What it is

allure-python is a monorepo of adapters that connect Python test frameworks to Allure Report. Each adapter ships as its own PyPI package: allure-pytest and allure-pytest-bdd are developed as pytest plugins, allure-behave is an external formatter, allure-robotframework is a Listener for Robot Framework, and allure-nose2 covers the nose2 runner. Beneath them sits allure-python-commons, the common engine for all modules, which the README notes is useful for building an integration with a homemade framework. That makes the repository both a set of shipped adapters and a reusable foundation for custom ones.

The concrete problem is the gap between what Python test runners emit and what the Allure report model expects. Instead of every team writing its own reporter to convert pytest, behave, or Robot Framework output into the allure2 format, the repository supplies that conversion already. allure-behave is described as an external formatter that produces test results in allure2 format, and allure-robotframework is a Listener, so it hooks into Robot Framework without requiring changes to existing autotests. The result is one consistent result format across several frameworks in the same project.

Key capabilities

  • allure-pytest — pytest plugin distributed via PyPI, emitting Allure results from ordinary pytest runs.
  • allure-behave — external behave formatter that produces test results in allure2 format.
  • allure-robotframework — Robot Framework Listener interface that does not require changing autotests.
  • allure-pytest-bdd — pytest plugin covering the pytest-bdd style.
  • allure-nose2 — adapter for the nose2 runner.
  • allure-python-commons — common engine shared by all modules, usable to integrate with homemade frameworks.
  • allure-python-commons-test — a pack of hamcrest matchers for validating results in allure2 JSON format.

Who uses it and how

  • Teams running pytest suites install allure-pytest and get Allure result files as output of a normal test run.
  • BDD-oriented teams using behave or pytest-bdd attach the matching adapter so feature-file scenarios land in the report.
  • Robot Framework teams with large existing test bases use allure-robotframework, because the Listener approach needs no edits to the autotests themselves.
  • Teams maintaining in-house test runners use allure-python-commons as the engine for their own adapter rather than reimplementing result serialization.

Getting started

Install the adapter that matches the framework — pip install allure-pytest, pip install allure-behave, or pip install allure-robotframework — since each package is distributed via PyPI. Consuming the results still requires Allure Report itself; documentation and a live demo live at https://allurereport.org/.

How it compares

No paid products that this project replaces are listed in the facts for this entry, and no comparable Python adapters are named either. It therefore stands alone in this registry.

When to use it — and when not to

Choose it when the team already runs one of the supported Python frameworks and wants Allure Report output without writing reporting glue, and when an Allure Report viewer is available to consume the results. Do not choose it if a single self-contained reporting stack is required: the adapters only produce allure2 result data, so report generation and hosting stay a separate concern. The repository carries 129 open issues, and the README is thin in places — the nose2 section carries no descriptive text at all.

project readme (upstream, from github) — read inline

Allure Python Integrations

Build

The repository contains adapters for Python-based test frameworks.

Allure Report logo


Pytest

Release
Status Downloads

Allure pytest integration. It's developed as pytest plugin and distributed via pypi.

Usage examples.

Behave

Release
Status Downloads

Allure behave integration. Just external formatter that produce test results in allure2 format. This package is available on pypi.

Usage examples.

Robot Framework

Release
Status Downloads

Allure RobotFramework integration. This integration is a Listener and does not require changing autotests.

Read more ....

Usage examples.

Pytest-BDD

Release
Status Downloads

Allure pytest-bdd integration. It's developed as pytest plugin and distributed via pypi.

Nose2

Release
Status Downloads

Allure python commons

Common engine for all modules. It is useful for make integration with your homemade frameworks.

Allure python commons test

Just pack of hamcrest matchers for validation result in allure2 json format.

Frequently asked questions

Is allure-python free to use?

allure-python is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does allure-python do?

Allure integrations for Python test frameworks

What is allure-python written in?

allure-python is primarily written in Python. Its source is publicly available at https://github.com/allure-framework/allure-python, and it has 815 GitHub stars.