[metadata]
name = telemetry_tempest_plugin
summary = Tempest plugin for Telemetry Projects
description_file =
    README.rst
author = OpenStack
author_email = openstack-discuss@lists.openstack.org
home_page = https://www.openstack.org/
python_requires = >=3.9
classifier =
    Environment :: OpenStack
    Intended Audience :: Information Technology
    Intended Audience :: System Administrators
    License :: OSI Approved :: Apache Software License
    Operating System :: POSIX :: Linux
    Programming Language :: Python
    Programming Language :: Python :: Implementation :: CPython
    Programming Language :: Python :: 3 :: Only
    Programming Language :: Python :: 3
    Programming Language :: Python :: 3.9
    Programming Language :: Python :: 3.10
    Programming Language :: Python :: 3.11
    Programming Language :: Python :: 3.12

[files]
packages =
    telemetry_tempest_plugin

[entry_points]
tempest.test_plugins =
    telemetry_tests = telemetry_tempest_plugin.plugin:TelemetryTempestPlugin
