Blob Blame History Raw
%bcond_without  tests

%global         srcname     google-cloud-dlp
%global         reponame    google-cloud-python

Name:           python-%{srcname}
Version:        3.13.0
Release:        %autorelease
Summary:        Python SDK for Google Cloud Data Loss Prevention API

License:        Apache-2.0
Source0:        %{url}/archive/refs/tags/%{srcname}-v%{version}.tar.gz

BuildArch:      noarch

BuildRequires:  python3-devel

%if %{with tests}
BuildRequires:  python3dist(pytest)
BuildRequires:  python3dist(pytest-asyncio)

%global _description %{expand:
Cloud Data Loss Prevention (DLP) API: Provides methods for detection, risk
analysis, and de-identification of privacy-sensitive fragments in text, images,
and Google Cloud Platform storage repositories.}

%description %{_description}

%package -n python3-%{srcname}
Summary:        %{summary}

%description -n python3-%{srcname} %{_description}

# Upstream buries the package into a subdirectory. 😭
%setup -c -T
tar xzf %{SOURCE0} --strip-components=3 \

# Allow a slightly older protobuf.
sed -i 's/"protobuf.*",/"protobuf>=3.19.4",/'

# Replace mock imports with unittest.mock.
grep -rl "^[[:space:]]*import mock" tests | \
    xargs sed -i -E 's/^([[:space:]]*)import mock/\1from unittest import mock/'



%pyproject_save_files google

# Remove unnecessary scripts.
rm -f %{buildroot}%{_bindir}/fixup*

%pyproject_check_import -e*

%if %{with tests}
# NOTE(mhayden): Setting PYTHONUSERBASE as a hack for PEP 420 namespaces.
# Thanks to churchyard for the fix.
PYTHONUSERBASE=%{buildroot}%{_prefix} \
    %pytest tests/unit

%files -n python3-%{srcname} -f %{pyproject_files}
%doc README.rst CONTRIBUTING.rst samples