{"bomFormat":"CycloneDX","specVersion":"1.5","version":1,"serialNumber":"urn:uuid:25553c42-3ae6-4946-8e59-34f4abce27b6","metadata":{"timestamp":"2026-10-20T10:58:46Z","tools":[{"vendor":"Ecosystems","name":"Ecosystems SBOM Generator"}],"component":{"type":"application","name":"lambda-feedback/in2lambda"}},"components":[{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/deploy-docs.yml"}]},{"type":"library","name":"actions/setup-python","version":"v4","purl":"pkg:githubactions/actions/setup-python","properties":[{"name":"filePath","value":".github/workflows/deploy-docs.yml"}]},{"type":"library","name":"sphinx-notes/pages","version":"v3","purl":"pkg:githubactions/sphinx-notes/pages","properties":[{"name":"filePath","value":".github/workflows/deploy-docs.yml"}]},{"type":"library","name":"alabaster","version":"0.7.13","purl":"pkg:pypi/alabaster","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"babel","version":"2.12.1","purl":"pkg:pypi/babel","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"beartype","version":"0.15.0","purl":"pkg:pypi/beartype","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"beautifulsoup4","version":"4.12.2","purl":"pkg:pypi/beautifulsoup4","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"black","version":"23.7.0","purl":"pkg:pypi/black","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"certifi","version":"2023.7.22","purl":"pkg:pypi/certifi","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"charset-normalizer","version":"3.2.0","purl":"pkg:pypi/charset-normalizer","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"click","version":"8.1.7","purl":"pkg:pypi/click","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"colorama","version":"0.4.6","purl":"pkg:pypi/colorama","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"contourpy","version":"1.1.0","purl":"pkg:pypi/contourpy","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"coverage","version":"7.3.0","purl":"pkg:pypi/coverage","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"cycler","version":"0.11.0","purl":"pkg:pypi/cycler","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"docutils","version":"0.20.1","purl":"pkg:pypi/docutils","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"exceptiongroup","version":"1.1.3","purl":"pkg:pypi/exceptiongroup","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"fonttools","version":"4.42.0","purl":"pkg:pypi/fonttools","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"furo","version":"2023.8.17","purl":"pkg:pypi/furo","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"idna","version":"3.4","purl":"pkg:pypi/idna","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"imagesize","version":"1.4.1","purl":"pkg:pypi/imagesize","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"iniconfig","version":"2.0.0","purl":"pkg:pypi/iniconfig","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"isort","version":"5.12.0","purl":"pkg:pypi/isort","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"jinja2","version":"3.1.2","purl":"pkg:pypi/jinja2","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"kiwisolver","version":"1.4.4","purl":"pkg:pypi/kiwisolver","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"markdown-it-py","version":"3.0.0","purl":"pkg:pypi/markdown-it-py","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"markupsafe","version":"2.1.3","purl":"pkg:pypi/markupsafe","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"matplotlib","version":"3.7.2","purl":"pkg:pypi/matplotlib","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"mdit-py-plugins","version":"0.4.0","purl":"pkg:pypi/mdit-py-plugins","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"mdurl","version":"0.1.2","purl":"pkg:pypi/mdurl","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"mypy","version":"1.5.1","purl":"pkg:pypi/mypy","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"mypy-extensions","version":"1.0.0","purl":"pkg:pypi/mypy-extensions","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"myst-parser","version":"2.0.0","purl":"pkg:pypi/myst-parser","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"numpy","version":"1.25.2","purl":"pkg:pypi/numpy","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"packaging","version":"23.1","purl":"pkg:pypi/packaging","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"panflute","version":"2.3.0","purl":"pkg:pypi/panflute","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pathspec","version":"0.11.2","purl":"pkg:pypi/pathspec","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pillow","version":"10.0.0","purl":"pkg:pypi/pillow","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"platformdirs","version":"3.10.0","purl":"pkg:pypi/platformdirs","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pluggy","version":"1.2.0","purl":"pkg:pypi/pluggy","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pydocstyle","version":"6.3.0","purl":"pkg:pypi/pydocstyle","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pygments","version":"2.16.1","purl":"pkg:pypi/pygments","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pyparsing","version":"3.0.9","purl":"pkg:pypi/pyparsing","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pytest","version":"7.4.0","purl":"pkg:pypi/pytest","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pytest-cov","version":"4.1.0","purl":"pkg:pypi/pytest-cov","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pytest-sugar","version":"0.9.7","purl":"pkg:pypi/pytest-sugar","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"python-dateutil","version":"2.8.2","purl":"pkg:pypi/python-dateutil","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pyyaml","version":"6.0.1","purl":"pkg:pypi/pyyaml","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"requests","version":"2.31.0","purl":"pkg:pypi/requests","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"rich","version":"13.5.2","purl":"pkg:pypi/rich","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"rich-click","version":"1.6.1","purl":"pkg:pypi/rich-click","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"six","version":"1.16.0","purl":"pkg:pypi/six","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"snowballstemmer","version":"2.2.0","purl":"pkg:pypi/snowballstemmer","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"soupsieve","version":"2.4.1","purl":"pkg:pypi/soupsieve","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinx","version":"7.2.2","purl":"pkg:pypi/sphinx","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinx-basic-ng","version":"1.0.0b2","purl":"pkg:pypi/sphinx-basic-ng","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinx-click","version":"5.0.1","purl":"pkg:pypi/sphinx-click","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinx-copybutton","version":"0.5.2","purl":"pkg:pypi/sphinx-copybutton","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinx-design","version":"0.5.0","purl":"pkg:pypi/sphinx-design","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinxcontrib-applehelp","version":"1.0.7","purl":"pkg:pypi/sphinxcontrib-applehelp","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinxcontrib-devhelp","version":"1.0.5","purl":"pkg:pypi/sphinxcontrib-devhelp","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinxcontrib-htmlhelp","version":"2.0.4","purl":"pkg:pypi/sphinxcontrib-htmlhelp","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinxcontrib-jsmath","version":"1.0.1","purl":"pkg:pypi/sphinxcontrib-jsmath","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinxcontrib-qthelp","version":"1.0.6","purl":"pkg:pypi/sphinxcontrib-qthelp","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinxcontrib-serializinghtml","version":"1.1.8","purl":"pkg:pypi/sphinxcontrib-serializinghtml","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sphinxext-opengraph","version":"0.8.2","purl":"pkg:pypi/sphinxext-opengraph","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"termcolor","version":"2.3.0","purl":"pkg:pypi/termcolor","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"tomli","version":"2.0.1","purl":"pkg:pypi/tomli","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"typing-extensions","version":"4.7.1","purl":"pkg:pypi/typing-extensions","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"urllib3","version":"2.0.4","purl":"pkg:pypi/urllib3","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"python","version":"^3.10","purl":"pkg:pypi/python","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"panflute","version":"^2.3.0","purl":"pkg:pypi/panflute","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"rich-click","version":"^1.6.1","purl":"pkg:pypi/rich-click","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"beartype","version":"^0.15.0","purl":"pkg:pypi/beartype","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/docker-publish.yml"}]},{"type":"library","name":"docker/setup-qemu-action","version":"v2","purl":"pkg:githubactions/docker/setup-qemu-action","properties":[{"name":"filePath","value":".github/workflows/docker-publish.yml"}]},{"type":"library","name":"docker/setup-buildx-action","version":"v2","purl":"pkg:githubactions/docker/setup-buildx-action","properties":[{"name":"filePath","value":".github/workflows/docker-publish.yml"}]},{"type":"library","name":"docker/login-action","version":"v2","purl":"pkg:githubactions/docker/login-action","properties":[{"name":"filePath","value":".github/workflows/docker-publish.yml"}]},{"type":"library","name":"docker/metadata-action","version":"v4","purl":"pkg:githubactions/docker/metadata-action","properties":[{"name":"filePath","value":".github/workflows/docker-publish.yml"}]},{"type":"library","name":"docker/build-push-action","version":"f2a1d5e99d037542a71f64918e516c093c6f3fc4","purl":"pkg:githubactions/docker/build-push-action","properties":[{"name":"filePath","value":".github/workflows/docker-publish.yml"}]},{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/test.yml"}]},{"type":"library","name":"actions/setup-python","version":"v4","purl":"pkg:githubactions/actions/setup-python","properties":[{"name":"filePath","value":".github/workflows/test.yml"}]},{"type":"library","name":"r-lib/actions/setup-pandoc","version":"v2","purl":"pkg:githubactions/r-lib/actions/setup-pandoc","properties":[{"name":"filePath","value":".github/workflows/test.yml"}]},{"type":"library","name":"codecov/codecov-action","version":"v3","purl":"pkg:githubactions/codecov/codecov-action","properties":[{"name":"filePath","value":".github/workflows/test.yml"}]},{"type":"library","name":"python","version":"3.11.4-alpine","purl":"pkg:docker/python","properties":[{"name":"filePath","value":"Dockerfile"}]}]}