
Security News
Software Engineering Daily Podcast: Feross on AI, Open Source, and Supply Chain Risk
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.
pygitguardian
Advanced tools
API client library for the GitGuardian API.
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 with all the response codes and expected structures on each method.
Python 3.8+
py-gitguardianYou can obtain API keys for API usage on your dashboard.
pip
pip3 install --upgrade pygitguardian
pipenv
pipenv install pygitguardian
pdm
pdm add pygitguardian
poetry
poetry add pygitguardian
Check examples/ for full examples on how to use py-gitguardian.
# please don't hardcode your gg_api_key in source code :)
API_KEY = os.getenv("GITGUARDIAN_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")
API_KEY = os.getenv("GITGUARDIAN_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)
Any model in py-gitguardian can be turned to a JSON string or a dictionary using
the to_dict and to_json methods.
from pygitguardian.models import Detail
detail = Detail("Invalid API Key.")
print(detail.to_dict())
print(detail.to_json())
Py-gitguardian depends on these excellent libraries:
requests - HTTP clientmarshmallow - Request (de)serialization and input validationFAQs
Python Wrapper for GitGuardian's API -- Scan security policy breaks everywhere
We found that pygitguardian demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.

Security News
GitHub has revoked npm classic tokens for publishing; maintainers must migrate, but OpenJS warns OIDC trusted publishing still has risky gaps for critical projects.

Security News
Rust’s crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.