{"bomFormat":"CycloneDX","specVersion":"1.5","version":1,"serialNumber":"urn:uuid:2740fa74-d7b9-4e4f-889f-053f3db631bb","metadata":{"timestamp":"2026-10-11T12:35:23Z","tools":[{"vendor":"Ecosystems","name":"Ecosystems SBOM Generator"}],"component":{"type":"application","name":"libtcod/python-tcod"}},"components":[{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/python-package.yml"}]},{"type":"library","name":"liskin/gh-problem-matcher-wrap","version":"v1","purl":"pkg:githubactions/liskin/gh-problem-matcher-wrap","properties":[{"name":"filePath","value":".github/workflows/python-package.yml"}]},{"type":"library","name":"actions/setup-python","version":"v2","purl":"pkg:githubactions/actions/setup-python","properties":[{"name":"filePath","value":".github/workflows/python-package.yml"}]},{"type":"library","name":"codecov/codecov-action","version":"v2","purl":"pkg:githubactions/codecov/codecov-action","properties":[{"name":"filePath","value":".github/workflows/python-package.yml"}]},{"type":"library","name":"actions/upload-artifact","version":"v2","purl":"pkg:githubactions/actions/upload-artifact","properties":[{"name":"filePath","value":".github/workflows/python-package.yml"}]},{"type":"library","name":"actions/download-artifact","version":"v2","purl":"pkg:githubactions/actions/download-artifact","properties":[{"name":"filePath","value":".github/workflows/python-package.yml"}]},{"type":"library","name":"docker/setup-qemu-action","version":"v1","purl":"pkg:githubactions/docker/setup-qemu-action","properties":[{"name":"filePath","value":".github/workflows/python-package.yml"}]},{"type":"library","name":"pypa/cibuildwheel","version":"v2.0.0a4","purl":"pkg:githubactions/pypa/cibuildwheel","properties":[{"name":"filePath","value":".github/workflows/python-package.yml"}]},{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/release-on-tag.yml"}]},{"type":"library","name":"actions/create-release","version":"v1","purl":"pkg:githubactions/actions/create-release","properties":[{"name":"filePath","value":".github/workflows/release-on-tag.yml"}]},{"type":"library","name":"sphinx","version":"\u003e=5.0.2,","purl":"pkg:pypi/sphinx","properties":[{"name":"filePath","value":"docs/requirements.txt"}]},{"type":"library","name":"sphinx_rtd_theme","version":"*","purl":"pkg:pypi/sphinx_rtd_theme","properties":[{"name":"filePath","value":"docs/requirements.txt"}]},{"type":"library","name":"tcod","version":"==12.2.0","purl":"pkg:pypi/tcod","properties":[{"name":"filePath","value":"examples/distribution/PyInstaller/requirements.txt"}]},{"type":"library","name":"pyinstaller","version":"==4.3","purl":"pkg:pypi/pyinstaller","properties":[{"name":"filePath","value":"examples/distribution/PyInstaller/requirements.txt"}]},{"type":"library","name":"pypiwin32","version":"*","purl":"pkg:pypi/pypiwin32","properties":[{"name":"filePath","value":"examples/distribution/PyInstaller/requirements.txt"}]},{"type":"library","name":"tcod","version":"==12.0.0","purl":"pkg:pypi/tcod","properties":[{"name":"filePath","value":"examples/distribution/cx_Freeze/requirements.txt"}]},{"type":"library","name":"cx-freeze","version":"==6.5.3","purl":"pkg:pypi/cx-freeze","properties":[{"name":"filePath","value":"examples/distribution/cx_Freeze/requirements.txt"}]},{"type":"library","name":"cffi","version":"\u003e=1.15","purl":"pkg:pypi/cffi","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"numpy","version":"\u003e=1.21.4","purl":"pkg:pypi/numpy","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"pycparser","version":"\u003e=2.14","purl":"pkg:pypi/pycparser","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"requests","version":"\u003e=2.28.1","purl":"pkg:pypi/requests","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"setuptools","version":"==65.5.1","purl":"pkg:pypi/setuptools","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"types-requests","version":"*","purl":"pkg:pypi/types-requests","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"types-setuptools","version":"*","purl":"pkg:pypi/types-setuptools","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"types-tabulate","version":"*","purl":"pkg:pypi/types-tabulate","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"typing_extensions","version":"*","purl":"pkg:pypi/typing_extensions","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"pcpp","version":"==1.30","purl":"pkg:pypi/pcpp","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"cffi","version":"\u003e=1.15","purl":"pkg:pypi/cffi","properties":[{"name":"filePath","value":"setup.py"}]},{"type":"library","name":"numpy","version":"\u003e=1.21.4","purl":"pkg:pypi/numpy","properties":[{"name":"filePath","value":"setup.py"}]},{"type":"library","name":"typing_extensions","version":"*","purl":"pkg:pypi/typing_extensions","properties":[{"name":"filePath","value":"setup.py"}]},{"type":"library","name":"cffi","version":"\u003e=1.15","purl":"pkg:pypi/cffi","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"numpy","version":"\u003e=1.21.4; implementation_name != \"pypy\"","purl":"pkg:pypi/numpy","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"typing_extensions","version":"*","purl":"pkg:pypi/typing_extensions","properties":[{"name":"filePath","value":"pyproject.toml"}]}]}