%global _empty_manifest_terminate_build 0
Name: python-pygitguardian
Version: 1.6.0
Release: 1
Summary: Python Wrapper for GitGuardian's API -- Scan security policy breaks everywhere
License: MIT
URL: https://github.com/GitGuardian/py-gitguardian
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/8b/25/f8e1487820fe5db4dc1f3b7e7d21d74778978fb98499b34ff7b4aba38ebc/pygitguardian-1.6.0.tar.gz
BuildArch: noarch
Requires: python3-marshmallow
Requires: python3-requests
Requires: python3-marshmallow-dataclass
%description
# [py-gitguardian](https://github.com/GitGuardian/py-gitguardian) - GitGuardian API Client
[](https://pypi.org/project/pygitguardian/)
[](LICENSE)
[](https://github.com/GitGuardian/py-gitguardian/stargazers)

[](https://codecov.io/gh/GitGuardian/py-gitguardian/)
API client library for the [GitGuardian API](https://api.gitguardian.com/).
The GitGuardian API puts at your fingertips the power to detect more than 200 types of secrets in any text content, as well as other potential security vulnerabilities.
**py-gitguardian** can be used to create integrations to scan various data sources, from your workstation's filesystem to your favorite chat application.
You can check API details [here](https://api.gitguardian.com/docs)
with all the response codes and expected structures on each method.
## Requirements
Python 3.7+
## Projects using `py-gitguardian`
- [**GitGuardian Shield**](https://github.com/GitGuardian/gg-shield) - Scan for secrets in your CI and pre-commit.
## Getting started
You can obtain API keys for API usage on your [dashboard](https://dashboard.gitguardian.com/api/v1/auth/user/github_login/authorize?utm_source=github&utm_medium=py_gitguardian&utm_campaign=py1).
**pip**
```bash
pip3 install --upgrade pygitguardian
```
**pipenv**
```bash
pipenv install pygitguardian
```
**poetry**
```bash
poetry add pygitguardian
```
## Examples
Check [examples/](examples/) for full examples on how to use py-gitguardian.
### Scanning text content
```py
# please don't hardcode your gg_api_key in source code :)
API_KEY = os.getenv("GG_API_KEY")
DOCUMENT = """
import urllib.request
url = 'http://jen_barber:correcthorsebatterystaple@cake.gitguardian.com/isreal.json'
response = urllib.request.urlopen(url)
consume(response.read())"
"""
client = GGClient(api_key=API_KEY)
# Check the health of the API and the API key used.
if client.health_check().success:
try:
scan_result = client.content_scan(DOCUMENT)
except Exception as exc:
# Handle exceptions such as schema validation
traceback.print_exc(2, file=sys.stderr)
print(str(exc))
print(scan_result)
else:
print("Invalid API Key")
```
### Scanning multiple files
```py
API_KEY = os.getenv("GG_API_KEY")
client = GGClient(api_key=API_KEY)
# Create a list of dictionaries for scanning
file_paths = (pathlib.Path(name) for name in glob.iglob("**/*", recursive=True))
to_scan = [
{"filename": path.name, "document": path.read_text(errors="replace")}
for path in file_paths
]
scan = client.multi_content_scan(to_scan)
```
### Transform results to dict or JSON
Any model in `py-gitguardian` can be turned to a JSON string or a dictionary using
the `to_dict` and `to_json` methods.
```py
from pygitguardian.models import Detail
detail = Detail("Invalid API Key.")
print(detail.to_dict())
print(detail.to_json())
```
### Dependencies
Py-gitguardian depends on these excellent libraries:
- `requests` - HTTP client
- `marshmallow` - Request (de)serialization and input validation
%package -n python3-pygitguardian
Summary: Python Wrapper for GitGuardian's API -- Scan security policy breaks everywhere
Provides: python-pygitguardian
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-pygitguardian
# [py-gitguardian](https://github.com/GitGuardian/py-gitguardian) - GitGuardian API Client
[](https://pypi.org/project/pygitguardian/)
[](LICENSE)
[](https://github.com/GitGuardian/py-gitguardian/stargazers)

[](https://codecov.io/gh/GitGuardian/py-gitguardian/)
API client library for the [GitGuardian API](https://api.gitguardian.com/).
The GitGuardian API puts at your fingertips the power to detect more than 200 types of secrets in any text content, as well as other potential security vulnerabilities.
**py-gitguardian** can be used to create integrations to scan various data sources, from your workstation's filesystem to your favorite chat application.
You can check API details [here](https://api.gitguardian.com/docs)
with all the response codes and expected structures on each method.
## Requirements
Python 3.7+
## Projects using `py-gitguardian`
- [**GitGuardian Shield**](https://github.com/GitGuardian/gg-shield) - Scan for secrets in your CI and pre-commit.
## Getting started
You can obtain API keys for API usage on your [dashboard](https://dashboard.gitguardian.com/api/v1/auth/user/github_login/authorize?utm_source=github&utm_medium=py_gitguardian&utm_campaign=py1).
**pip**
```bash
pip3 install --upgrade pygitguardian
```
**pipenv**
```bash
pipenv install pygitguardian
```
**poetry**
```bash
poetry add pygitguardian
```
## Examples
Check [examples/](examples/) for full examples on how to use py-gitguardian.
### Scanning text content
```py
# please don't hardcode your gg_api_key in source code :)
API_KEY = os.getenv("GG_API_KEY")
DOCUMENT = """
import urllib.request
url = 'http://jen_barber:correcthorsebatterystaple@cake.gitguardian.com/isreal.json'
response = urllib.request.urlopen(url)
consume(response.read())"
"""
client = GGClient(api_key=API_KEY)
# Check the health of the API and the API key used.
if client.health_check().success:
try:
scan_result = client.content_scan(DOCUMENT)
except Exception as exc:
# Handle exceptions such as schema validation
traceback.print_exc(2, file=sys.stderr)
print(str(exc))
print(scan_result)
else:
print("Invalid API Key")
```
### Scanning multiple files
```py
API_KEY = os.getenv("GG_API_KEY")
client = GGClient(api_key=API_KEY)
# Create a list of dictionaries for scanning
file_paths = (pathlib.Path(name) for name in glob.iglob("**/*", recursive=True))
to_scan = [
{"filename": path.name, "document": path.read_text(errors="replace")}
for path in file_paths
]
scan = client.multi_content_scan(to_scan)
```
### Transform results to dict or JSON
Any model in `py-gitguardian` can be turned to a JSON string or a dictionary using
the `to_dict` and `to_json` methods.
```py
from pygitguardian.models import Detail
detail = Detail("Invalid API Key.")
print(detail.to_dict())
print(detail.to_json())
```
### Dependencies
Py-gitguardian depends on these excellent libraries:
- `requests` - HTTP client
- `marshmallow` - Request (de)serialization and input validation
%package help
Summary: Development documents and examples for pygitguardian
Provides: python3-pygitguardian-doc
%description help
# [py-gitguardian](https://github.com/GitGuardian/py-gitguardian) - GitGuardian API Client
[](https://pypi.org/project/pygitguardian/)
[](LICENSE)
[](https://github.com/GitGuardian/py-gitguardian/stargazers)

[](https://codecov.io/gh/GitGuardian/py-gitguardian/)
API client library for the [GitGuardian API](https://api.gitguardian.com/).
The GitGuardian API puts at your fingertips the power to detect more than 200 types of secrets in any text content, as well as other potential security vulnerabilities.
**py-gitguardian** can be used to create integrations to scan various data sources, from your workstation's filesystem to your favorite chat application.
You can check API details [here](https://api.gitguardian.com/docs)
with all the response codes and expected structures on each method.
## Requirements
Python 3.7+
## Projects using `py-gitguardian`
- [**GitGuardian Shield**](https://github.com/GitGuardian/gg-shield) - Scan for secrets in your CI and pre-commit.
## Getting started
You can obtain API keys for API usage on your [dashboard](https://dashboard.gitguardian.com/api/v1/auth/user/github_login/authorize?utm_source=github&utm_medium=py_gitguardian&utm_campaign=py1).
**pip**
```bash
pip3 install --upgrade pygitguardian
```
**pipenv**
```bash
pipenv install pygitguardian
```
**poetry**
```bash
poetry add pygitguardian
```
## Examples
Check [examples/](examples/) for full examples on how to use py-gitguardian.
### Scanning text content
```py
# please don't hardcode your gg_api_key in source code :)
API_KEY = os.getenv("GG_API_KEY")
DOCUMENT = """
import urllib.request
url = 'http://jen_barber:correcthorsebatterystaple@cake.gitguardian.com/isreal.json'
response = urllib.request.urlopen(url)
consume(response.read())"
"""
client = GGClient(api_key=API_KEY)
# Check the health of the API and the API key used.
if client.health_check().success:
try:
scan_result = client.content_scan(DOCUMENT)
except Exception as exc:
# Handle exceptions such as schema validation
traceback.print_exc(2, file=sys.stderr)
print(str(exc))
print(scan_result)
else:
print("Invalid API Key")
```
### Scanning multiple files
```py
API_KEY = os.getenv("GG_API_KEY")
client = GGClient(api_key=API_KEY)
# Create a list of dictionaries for scanning
file_paths = (pathlib.Path(name) for name in glob.iglob("**/*", recursive=True))
to_scan = [
{"filename": path.name, "document": path.read_text(errors="replace")}
for path in file_paths
]
scan = client.multi_content_scan(to_scan)
```
### Transform results to dict or JSON
Any model in `py-gitguardian` can be turned to a JSON string or a dictionary using
the `to_dict` and `to_json` methods.
```py
from pygitguardian.models import Detail
detail = Detail("Invalid API Key.")
print(detail.to_dict())
print(detail.to_json())
```
### Dependencies
Py-gitguardian depends on these excellent libraries:
- `requests` - HTTP client
- `marshmallow` - Request (de)serialization and input validation
%prep
%autosetup -n pygitguardian-1.6.0
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-pygitguardian -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Tue Apr 25 2023 Python_Bot - 1.6.0-1
- Package Spec generated