pylynk is the official CLI tool for interfacing with Interlynk's SBOM management platform. Upload, download, and manage SBOMs (Software Bill of Materials) from your terminal or CI/CD pipelines.
git clone https://github.com/interlynk-io/pylynk
cd pylynk
pip3 install -r requirements.txt
python3 pylynk.py --helpdocker pull ghcr.io/interlynk-io/pylynk:latestOr build locally:
docker build -t pylynk .Set your security token via environment variable (recommended):
export INTERLYNK_SECURITY_TOKEN=your_token_hereOr pass it with each command:
python3 pylynk.py prods --token your_token_herepython3 pylynk.py upload --prod 'my-product' --sbom my-sbom.jsonpython3 pylynk.py download --prod 'my-product' --verId 'version-id' --out-file sbom.jsonpython3 pylynk.py vulns --prod 'my-product' --env 'production'# Upload
docker run -e INTERLYNK_SECURITY_TOKEN=$INTERLYNK_SECURITY_TOKEN \
-v $(pwd):/app/data \
ghcr.io/interlynk-io/pylynk upload --prod 'my-product' --sbom /app/data/my-sbom.json
# Download
docker run -e INTERLYNK_SECURITY_TOKEN=$INTERLYNK_SECURITY_TOKEN \
-v $(pwd):/app/data \
ghcr.io/interlynk-io/pylynk download --prod 'my-product' --verId 'version-id' --out-file /app/data/sbom.json| Command | Description | Documentation |
|---|---|---|
prods |
List products | docs/prods.md |
vers |
List versions for a product | docs/vers.md |
status |
Check SBOM processing status | docs/status.md |
upload |
Upload an SBOM | docs/upload.md |
download |
Download an SBOM | docs/download.md |
vulns |
List vulnerabilities | docs/vulns.md |
version |
Show pylynk version | - |
All commands support multiple output formats via --output:
table- Human-readable table format (default)json- JSON format for programmatic usecsv- CSV format for spreadsheet import
Commands with timestamps also support --human-time to display timestamps in human-friendly format (e.g., '2 days ago').
# Table format (default)
python3 pylynk.py prods
# JSON format
python3 pylynk.py prods --output json
# CSV format
python3 pylynk.py prods --output csv
# With human-friendly timestamps
python3 pylynk.py prods --human-timePyLynk automatically detects CI environments (GitHub Actions, Bitbucket Pipelines, Azure DevOps) and captures build metadata during uploads.
See docs/ci-cd.md for detailed CI/CD integration instructions.
| Variable | Description |
|---|---|
INTERLYNK_SECURITY_TOKEN |
Authentication token (required) |
INTERLYNK_API_URL |
Override API endpoint (default: https://api.interlynk.io/lynkapi) |
PYLYNK_INCLUDE_CI_METADATA |
Control CI metadata collection (auto/true/false) |
Enable verbose output:
python3 pylynk.py prods --verbosePoint to a different API endpoint:
export INTERLYNK_API_URL=http://localhost:3000/lynkapi| Error | Solution |
|---|---|
| "Authentication failed" | Verify your INTERLYNK_SECURITY_TOKEN is correct |
| "Product not found" | Check product name spelling and organization access |
| "Version not found" | Verify version ID or use vers command to list available versions |
On macOS/Windows, use host.docker.internal:
export INTERLYNK_API_URL=http://host.docker.internal:3000/lynkapi
docker run -e INTERLYNK_SECURITY_TOKEN=$INTERLYNK_SECURITY_TOKEN \
-e INTERLYNK_API_URL=$INTERLYNK_API_URL ...On Linux, use --network="host":
docker run --network="host" -e INTERLYNK_SECURITY_TOKEN=$INTERLYNK_SECURITY_TOKEN ...- SBOM Assembler - Compose SBOMs from multiple parts
- SBOM Quality Score - Evaluate SBOM quality and completeness
- SBOM Search Tool - Grep-style semantic search in SBOMs
- SBOM Explorer - Discover and download public SBOMs
If you like this project, please support us by starring it.