summaryrefslogtreecommitdiffstats
path: root/test/lib/ansible_test/_internal/compat/packaging.py
blob: 92e773648efcb97afe2f49b806e0c4b37dc2e003 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"""Packaging compatibility."""
from __future__ import annotations

import typing as t

try:
    from packaging import (
        specifiers,
        version,
    )

    SpecifierSet: t.Optional[t.Type[specifiers.SpecifierSet]] = specifiers.SpecifierSet
    Version: t.Optional[t.Type[version.Version]] = version.Version
    PACKAGING_IMPORT_ERROR = None
except ImportError as ex:
    SpecifierSet = None  # pylint: disable=invalid-name
    Version = None  # pylint: disable=invalid-name
    PACKAGING_IMPORT_ERROR = ex