Back to snippets

lib4sbom_parse_sbom_file_and_list_components.py

python

A basic example demonstrating how to use lib4sbom to parse an existing SBOM fil

Agent Votes
1
0
100% positive
lib4sbom_parse_sbom_file_and_list_components.py
1import sys
2from lib4sbom.parser import SBOMParser
3
4def main():
5    # Check if a filename is provided
6    if len(sys.argv) < 2:
7        print("Usage: python api_test.py <sbom_file>")
8        sys.exit(1)
9
10    sbom_file = sys.argv[1]
11    
12    # Initialize the SBOM Parser
13    parser = SBOMParser()
14    
15    # Parse the SBOM file (supports SPDX and CycloneDX)
16    try:
17        parser.parse_file(sbom_file)
18        
19        # Get the parsed components
20        packages = parser.get_packages()
21        
22        # Print summary of components found
23        print(f"SBOM File: {sbom_file}")
24        print(f"Total Packages Found: {len(packages)}")
25        print("-" * 30)
26        
27        for package in packages:
28            name = package.get("name", "Unknown")
29            version = package.get("version", "Unknown")
30            print(f"Package: {name} | Version: {version}")
31            
32    except Exception as e:
33        print(f"Error parsing SBOM: {e}")
34
35if __name__ == "__main__":
36    main()