{"bomFormat":"CycloneDX","specVersion":"1.5","version":1,"serialNumber":"urn:uuid:67bed23c-0092-4eaf-8bbc-d482b8ad02df","metadata":{"timestamp":"2026-10-26T11:22:02Z","tools":[{"vendor":"Ecosystems","name":"Ecosystems SBOM Generator"}],"component":{"type":"application","name":"daveoncode/python-string-utils"}},"components":[{"type":"library","name":"alabaster","version":"==0.7.12","purl":"pkg:pypi/alabaster","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"appdirs","version":"==1.4.3","purl":"pkg:pypi/appdirs","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"Babel","version":"==2.8.0","purl":"pkg:pypi/Babel","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"bleach","version":"==3.1.4","purl":"pkg:pypi/bleach","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"certifi","version":"==2019.11.28","purl":"pkg:pypi/certifi","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"cffi","version":"==1.14.0","purl":"pkg:pypi/cffi","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"chardet","version":"==3.0.4","purl":"pkg:pypi/chardet","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"coverage","version":"==5.0.3","purl":"pkg:pypi/coverage","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"cryptography","version":"==2.8","purl":"pkg:pypi/cryptography","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"distlib","version":"==0.3.0","purl":"pkg:pypi/distlib","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"docutils","version":"==0.16","purl":"pkg:pypi/docutils","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"filelock","version":"==3.0.12","purl":"pkg:pypi/filelock","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"idna","version":"==2.9","purl":"pkg:pypi/idna","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"imagesize","version":"==1.2.0","purl":"pkg:pypi/imagesize","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"jeepney","version":"==0.4.2","purl":"pkg:pypi/jeepney","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"Jinja2","version":"==2.11.1","purl":"pkg:pypi/Jinja2","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"MarkupSafe","version":"==1.1.1","purl":"pkg:pypi/MarkupSafe","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"packaging","version":"==20.1","purl":"pkg:pypi/packaging","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"pkginfo","version":"==1.5.0.1","purl":"pkg:pypi/pkginfo","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"pluggy","version":"==0.13.1","purl":"pkg:pypi/pluggy","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"py","version":"==1.8.1","purl":"pkg:pypi/py","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"pycparser","version":"==2.19","purl":"pkg:pypi/pycparser","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"Pygments","version":"==2.5.2","purl":"pkg:pypi/Pygments","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"pyparsing","version":"==2.4.6","purl":"pkg:pypi/pyparsing","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"pytz","version":"==2019.3","purl":"pkg:pypi/pytz","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"readme-renderer","version":"==24.0","purl":"pkg:pypi/readme-renderer","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"requests","version":"==2.23.0","purl":"pkg:pypi/requests","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"requests-toolbelt","version":"==0.9.1","purl":"pkg:pypi/requests-toolbelt","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"SecretStorage","version":"==3.1.2","purl":"pkg:pypi/SecretStorage","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"six","version":"==1.14.0","purl":"pkg:pypi/six","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"snowballstemmer","version":"==2.0.0","purl":"pkg:pypi/snowballstemmer","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"Sphinx","version":"==2.4.3","purl":"pkg:pypi/Sphinx","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"sphinx-rtd-theme","version":"==0.4.3","purl":"pkg:pypi/sphinx-rtd-theme","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"sphinxcontrib-applehelp","version":"==1.0.2","purl":"pkg:pypi/sphinxcontrib-applehelp","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"sphinxcontrib-devhelp","version":"==1.0.2","purl":"pkg:pypi/sphinxcontrib-devhelp","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"sphinxcontrib-htmlhelp","version":"==1.0.3","purl":"pkg:pypi/sphinxcontrib-htmlhelp","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"sphinxcontrib-jsmath","version":"==1.0.1","purl":"pkg:pypi/sphinxcontrib-jsmath","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"sphinxcontrib-qthelp","version":"==1.0.3","purl":"pkg:pypi/sphinxcontrib-qthelp","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"sphinxcontrib-serializinghtml","version":"==1.1.4","purl":"pkg:pypi/sphinxcontrib-serializinghtml","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"toml","version":"==0.10.0","purl":"pkg:pypi/toml","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"tox","version":"==3.14.5","purl":"pkg:pypi/tox","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"tqdm","version":"==4.43.0","purl":"pkg:pypi/tqdm","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"twine","version":"==1.15.0","purl":"pkg:pypi/twine","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"urllib3","version":"==1.25.8","purl":"pkg:pypi/urllib3","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"virtualenv","version":"==20.0.7","purl":"pkg:pypi/virtualenv","properties":[{"name":"filePath","value":"dev.requirements.txt"}]},{"type":"library","name":"webencodings","version":"==0.5.1","purl":"pkg:pypi/webencodings","properties":[{"name":"filePath","value":"dev.requirements.txt"}]}]}