{"bomFormat":"CycloneDX","specVersion":"1.5","version":1,"serialNumber":"urn:uuid:9e2839b1-1077-416c-8044-ce2deb6ee434","metadata":{"timestamp":"2026-06-21T16:17:43Z","tools":[{"vendor":"Ecosystems","name":"Ecosystems SBOM Generator"}],"component":{"type":"application","name":"libsql/sqlalchemy-libsql"}},"components":[{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/ci.yml"}]},{"type":"library","name":"actions/setup-python","version":"v4","purl":"pkg:githubactions/actions/setup-python","properties":[{"name":"filePath","value":".github/workflows/ci.yml"}]},{"type":"library","name":"pre-commit/action","version":"v3.0.0","purl":"pkg:githubactions/pre-commit/action","properties":[{"name":"filePath","value":".github/workflows/ci.yml"}]},{"type":"library","name":"aiohttp","version":"3.8.4","purl":"pkg:pypi/aiohttp","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"aiosignal","version":"1.3.1","purl":"pkg:pypi/aiosignal","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"async-timeout","version":"4.0.2","purl":"pkg:pypi/async-timeout","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"asynctest","version":"0.13.0","purl":"pkg:pypi/asynctest","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"attrs","version":"23.1.0","purl":"pkg:pypi/attrs","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"charset-normalizer","version":"3.1.0","purl":"pkg:pypi/charset-normalizer","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":"exceptiongroup","version":"1.1.1","purl":"pkg:pypi/exceptiongroup","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"frozenlist","version":"1.3.3","purl":"pkg:pypi/frozenlist","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"greenlet","version":"2.0.2","purl":"pkg:pypi/greenlet","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":"importlib-metadata","version":"6.6.0","purl":"pkg:pypi/importlib-metadata","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":"libsql-client","version":"0.3.0","purl":"pkg:pypi/libsql-client","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"multidict","version":"6.0.4","purl":"pkg:pypi/multidict","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":"pluggy","version":"1.0.0","purl":"pkg:pypi/pluggy","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"pytest","version":"7.3.1","purl":"pkg:pypi/pytest","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"sqlalchemy","version":"2.0.15","purl":"pkg:pypi/sqlalchemy","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.6.2","purl":"pkg:pypi/typing-extensions","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"yarl","version":"1.9.2","purl":"pkg:pypi/yarl","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"zipp","version":"3.15.0","purl":"pkg:pypi/zipp","properties":[{"name":"filePath","value":"poetry.lock"}]},{"type":"library","name":"python","version":"^3.7","purl":"pkg:pypi/python","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"sqlalchemy","version":"^2.0.0","purl":"pkg:pypi/sqlalchemy","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"libsql-client","version":"^0.3.0","purl":"pkg:pypi/libsql-client","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"pytest","version":"^7.3","purl":"pkg:pypi/pytest","properties":[{"name":"filePath","value":"pyproject.toml"}]}]}