diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-11 23:17:32 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 23:17:32 +0000 |
commit | d354eb3bd3d7450b679824884455676dbcad522a (patch) | |
tree | 88cda7068f4ded4516ab6ae448faa0d7a19ea22c | |
parent | d1b9f9e3194dc33e8148782398cec30e14c0e372 (diff) |
automatic import of python-pygitguardian
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-pygitguardian.spec | 420 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 422 insertions, 0 deletions
@@ -0,0 +1 @@ +/pygitguardian-1.5.1.tar.gz diff --git a/python-pygitguardian.spec b/python-pygitguardian.spec new file mode 100644 index 0000000..8043bdd --- /dev/null +++ b/python-pygitguardian.spec @@ -0,0 +1,420 @@ +%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 +<a href="https://gitguardian.com/"><img src="https://cdn.jsdelivr.net/gh/gitguardian/py-gitguardian/doc/logo.svg"></a> + +# [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 +<a href="https://gitguardian.com/"><img src="https://cdn.jsdelivr.net/gh/gitguardian/py-gitguardian/doc/logo.svg"></a> + +# [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 +<a href="https://gitguardian.com/"><img src="https://cdn.jsdelivr.net/gh/gitguardian/py-gitguardian/doc/logo.svg"></a> + +# [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.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 <Python_Bot@openeuler.org> - 1.5.1-1 +- Package Spec generated @@ -0,0 +1 @@ +c1879381b8b7e5231a8eee453a358c5e pygitguardian-1.5.1.tar.gz |