Skip to main content

Generate Software Bill of Materials from PDM based projects

Project description

pdm-sbom

Generate Software Bill of Materials from PDM based projects

Note: This is still a pre-development state.

Open topics

  • CLI Options
  • Create a wheel
  • Refactor implementation (Too large parser module, too large sbom namespace)
  • Refactor implementation for improved testing
  • Create tests
  • Add CI/CT/CD Pipeline
  • Improve documentation
  • Divide components into application, framework, etc
  • Add validation, e.g. missing license or author
  • Add parser for TROVE classifiers
  • Add more data to Project entity to fill in gaps
  • Unify implementation for meta data extraction

Purpose

When developing software, gathering the tree of used software for the development including the runtime-dependencies is essential in some cases. The so called software bill of materials is an essential piece of software development.

This pdm plugin analyzes the output of pdm list and divides the output into a hierarchical dependency tree including development and optional dependencies. This tree is enriched with the module meta data consisting of authors and licenses.

In the end, three different SBOMs can be created:

  • a regular JSON file.
  • an spdx file in Version 1.0 to 2.3, either as
    • JSON
    • YAML
    • XML
    • RDF (XML)
    • SPDX Tag-Value
  • a cyclonede file in version 1.0 to 1.4, either as
    • XML
    • JSON

The resulting file will be stored in the dists folder next to the resulting wheel.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pdm_sbom-0.6.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file pdm_sbom-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: pdm_sbom-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for pdm_sbom-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59720a6be61c5c7b166f9e865786edda7079584ac9a6a8f39e1e08c817f1a60f
MD5 45ae779e49564718cfe2e686a75762e6
BLAKE2b-256 f6c9a340749c9c3e326aa1c8cf77471dccb882461ec0aff8b8e8dd39d12f0cae

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page