sbomvis


Namesbomvis JSON
Version 0.0.0rc14 PyPI version JSON
download
home_pageNone
SummarySurfactant SBOM Visualization
upload_time2025-08-28 18:16:33
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT License
keywords surfactant
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SBOM Visualization Plugin
A plugin for Surfactant that generates interactive visualizations of CyTRICS-formatted SBOMs
![Example Output](https://github.com/user-attachments/assets/fb3efd41-7e09-4bbf-a56e-2bd2c16cbe9b)

## Installation
SBOMVis can be installed as a plugin for Surfactant or as a standalone executable with `pip` & `pipx`. Commands for installing with `pipx` (recommended) are shown below:
### As a Surfactant plugin
```bash
$ pipx inject surfactant sbomvis
```

### Standalone installation
```bash
$ pipx install sbomvis
```

## Usage
The plugin can generate visualizations when running Surfactant's `generate` command or from an existing SBOM.

### Generating visualizations during a Surfactant run
Passing in `sbomvis` as the output format will cause Surfactant to generate an HTML file with the same name as the SBOM containing the visualization. The original JSON SBOM will also be saved to the same directory.
```bash
$ surfactant generate --output_format=sbomvis SPECIMEN_CONFIG SBOM_OUTFILE
```

### Generating visualizations from an existing SBOM
Visualizations can be created from an existing Surfactant SBOM by running `sbomvis` and passing in it's path with `-p`.

Surfactant SBOM Visualization

options:
  -h, --help            show this help message and exit
  -p PATH [PATH ...], --path PATH [PATH ...]
                        Path(s) to JSON SBOMs
  -c, --cull            Enable culling of isolated nodes (may improve performance on large graphs at the cost of completeness)
  -pb, --use-progress-bar
                        Display progress bar while waiting for large graphs to load instead of disabling physics
```

## Controls
Several controls are included:
* Clicking on a node will reveal a sidebar with more information about it
* Right clicking on a node will pin/unpin it in place
* Archives and containers can be expanded or collapsed by double clicking

Note: Physics is initially disabled for large graphs (~600+ nodes) to improve loading times. Once the graph is on screen it should be re-enabled via clicking the toggle in the upper left corner.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sbomvis",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "surfactant",
    "author": null,
    "author_email": "Joseph Hand <hand8@llnl.gov>",
    "download_url": "https://files.pythonhosted.org/packages/9a/3d/23a2e611a1b8e7e30c9058ae8da3bd76b12ba01c54dc33828b9f05748ded/sbomvis-0.0.0rc14.tar.gz",
    "platform": null,
    "description": "# SBOM Visualization Plugin\nA plugin for Surfactant that generates interactive visualizations of CyTRICS-formatted SBOMs\n![Example Output](https://github.com/user-attachments/assets/fb3efd41-7e09-4bbf-a56e-2bd2c16cbe9b)\n\n## Installation\nSBOMVis can be installed as a plugin for Surfactant or as a standalone executable with `pip` & `pipx`. Commands for installing with `pipx` (recommended) are shown below:\n### As a Surfactant plugin\n```bash\n$ pipx inject surfactant sbomvis\n```\n\n### Standalone installation\n```bash\n$ pipx install sbomvis\n```\n\n## Usage\nThe plugin can generate visualizations when running Surfactant's `generate` command or from an existing SBOM.\n\n### Generating visualizations during a Surfactant run\nPassing in `sbomvis` as the output format will cause Surfactant to generate an HTML file with the same name as the SBOM containing the visualization. The original JSON SBOM will also be saved to the same directory.\n```bash\n$ surfactant generate --output_format=sbomvis SPECIMEN_CONFIG SBOM_OUTFILE\n```\n\n### Generating visualizations from an existing SBOM\nVisualizations can be created from an existing Surfactant SBOM by running `sbomvis` and passing in it's path with `-p`.\n\nSurfactant SBOM Visualization\n\noptions:\n  -h, --help            show this help message and exit\n  -p PATH [PATH ...], --path PATH [PATH ...]\n                        Path(s) to JSON SBOMs\n  -c, --cull            Enable culling of isolated nodes (may improve performance on large graphs at the cost of completeness)\n  -pb, --use-progress-bar\n                        Display progress bar while waiting for large graphs to load instead of disabling physics\n```\n\n## Controls\nSeveral controls are included:\n* Clicking on a node will reveal a sidebar with more information about it\n* Right clicking on a node will pin/unpin it in place\n* Archives and containers can be expanded or collapsed by double clicking\n\nNote: Physics is initially disabled for large graphs (~600+ nodes) to improve loading times. Once the graph is on screen it should be re-enabled via clicking the toggle in the upper left corner.\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "Surfactant SBOM Visualization",
    "version": "0.0.0rc14",
    "project_urls": null,
    "split_keywords": [
        "surfactant"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e50f23584b852351d817e0df1893e0f7ca4272eb739435024b750eb29e8620e7",
                "md5": "9526e3f26db297115d02c7ff5629bcc9",
                "sha256": "7c6ddc9f064da4d80a2609d4534a837d62bb0aa17b5575bc78cdfeac3747932a"
            },
            "downloads": -1,
            "filename": "sbomvis-0.0.0rc14-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9526e3f26db297115d02c7ff5629bcc9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 27496,
            "upload_time": "2025-08-28T18:16:32",
            "upload_time_iso_8601": "2025-08-28T18:16:32.487091Z",
            "url": "https://files.pythonhosted.org/packages/e5/0f/23584b852351d817e0df1893e0f7ca4272eb739435024b750eb29e8620e7/sbomvis-0.0.0rc14-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9a3d23a2e611a1b8e7e30c9058ae8da3bd76b12ba01c54dc33828b9f05748ded",
                "md5": "22e642b9dd5ee35e0a66808a8ab2cb36",
                "sha256": "97d95b8605900c76533df35eab276bb5f51e497c643caae1b22af395c5969d3c"
            },
            "downloads": -1,
            "filename": "sbomvis-0.0.0rc14.tar.gz",
            "has_sig": false,
            "md5_digest": "22e642b9dd5ee35e0a66808a8ab2cb36",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 26311,
            "upload_time": "2025-08-28T18:16:33",
            "upload_time_iso_8601": "2025-08-28T18:16:33.913379Z",
            "url": "https://files.pythonhosted.org/packages/9a/3d/23a2e611a1b8e7e30c9058ae8da3bd76b12ba01c54dc33828b9f05748ded/sbomvis-0.0.0rc14.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-28 18:16:33",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "sbomvis"
}
        
Elapsed time: 2.40219s