%global _empty_manifest_terminate_build 0 Name: python-pygitguardian Version: 1.5.1 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/f2/8e/b863938d32d45d66afbe3ad07723692d87e58186f1bb1880a95ceb691930/pygitguardian-1.5.1.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 [![PyPI](https://img.shields.io/pypi/v/pygitguardian?color=%231B2D55&style=for-the-badge)](https://pypi.org/project/pygitguardian/) [![License](https://img.shields.io/github/license/GitGuardian/py-gitguardian?color=%231B2D55&style=for-the-badge)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/gitguardian/py-gitguardian?color=%231B2D55&style=for-the-badge)](https://github.com/GitGuardian/py-gitguardian/stargazers) ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/GitGuardian/py-gitguardian/test-lint.yml?branch=master&style=for-the-badge) [![Codecov](https://img.shields.io/codecov/c/github/GitGuardian/py-gitguardian?style=for-the-badge)](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 [![PyPI](https://img.shields.io/pypi/v/pygitguardian?color=%231B2D55&style=for-the-badge)](https://pypi.org/project/pygitguardian/) [![License](https://img.shields.io/github/license/GitGuardian/py-gitguardian?color=%231B2D55&style=for-the-badge)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/gitguardian/py-gitguardian?color=%231B2D55&style=for-the-badge)](https://github.com/GitGuardian/py-gitguardian/stargazers) ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/GitGuardian/py-gitguardian/test-lint.yml?branch=master&style=for-the-badge) [![Codecov](https://img.shields.io/codecov/c/github/GitGuardian/py-gitguardian?style=for-the-badge)](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 [![PyPI](https://img.shields.io/pypi/v/pygitguardian?color=%231B2D55&style=for-the-badge)](https://pypi.org/project/pygitguardian/) [![License](https://img.shields.io/github/license/GitGuardian/py-gitguardian?color=%231B2D55&style=for-the-badge)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/gitguardian/py-gitguardian?color=%231B2D55&style=for-the-badge)](https://github.com/GitGuardian/py-gitguardian/stargazers) ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/GitGuardian/py-gitguardian/test-lint.yml?branch=master&style=for-the-badge) [![Codecov](https://img.shields.io/codecov/c/github/GitGuardian/py-gitguardian?style=for-the-badge)](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.5.1 %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 11 2023 Python_Bot - 1.5.1-1 - Package Spec generated