{"id":23524,"library":"dbt-sqlite","title":"dbt SQLite Adapter","description":"A SQLite adapter plugin for dbt (data build tool). Allows using SQLite as a target database for dbt transformations. Version 1.10.0 is compatible with dbt-core >= 1.10.x. The adapter is maintained by the community, with releases tracking dbt-core minor versions.","status":"active","version":"1.10.0","language":"python","source_language":"en","source_url":"https://github.com/codeforkjeff/dbt-sqlite","tags":["dbt","sqlite","adapter","database","etl"],"install":[{"cmd":"pip install dbt-sqlite","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"Required runtime dependency for dbt adapters.","package":"dbt-core","optional":false},{"reason":"Provides crypto and math extensions for SQLite; strongly recommended for full compatibility with dbt's cross-database macros.","package":"sqlean.py","optional":true}],"imports":[{"note":"","symbol":"SQLiteAdapter","correct":"from dbt.adapters.sqlite import SQLiteAdapter"},{"note":"","symbol":"SQLiteCredentials","correct":"from dbt.adapters.sqlite import SQLiteCredentials"}],"quickstart":{"code":"# Create a profiles.yml file\n# ~/.dbt/profiles.yml:\n# dbt_sqlite:\n#   outputs:\n#     dev:\n#       type: sqlite\n#       threads: 1\n#       database: 'database'\n#       schema: 'main'\n#       path: /path/to/your_sqlite.db\n#   target: dev\n\ndbt init my_project\ncd my_project\ndbt run\n","lang":"bash","description":"After installing dbt-sqlite, set up a profile pointing to a SQLite database file, then run dbt."},"warnings":[{"fix":"Ensure dbt-core and dbt-sqlite versions match (e.g., dbt-core 1.10.x with dbt-sqlite 1.10.x).","message":"dbt-sqlite releases are tied to specific dbt-core minor versions. Using v1.10.0 with dbt-core 1.9.x will cause import errors.","severity":"breaking","affected_versions":"all"},{"fix":"Set threads: 1 in your profiles.yml for SQLite profiles.","message":"SQLite does not support concurrent writes; threads > 1 may cause database locked errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Update your profiles.yml to reference sqlean modules (e.g., paths to sqlean extensions) as shown in the v1.9.1 release notes.","message":"The 'digest.so' extension path in old sample profiles.yml has been removed. Use 'sqlean' modules instead.","severity":"deprecated","affected_versions":"<1.9.1"},{"fix":"Install sqlean.py (pip install sqlean.py) and load the necessary extensions in your SQLite connection.","message":"SQLite has limited support for cross-database macros (e.g., dateadd, datediff). Some functions may not work without the sqlean extension.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install a compatible version: pip install 'dbt-sqlite==1.10.0' and ensure dbt-core==1.10.x.","cause":"dbt-sqlite is not registered correctly, or the version mismatches dbt-core.","error":"dbt.exceptions.PluginNotInstalled: Cannot load adapter: sqlite, plugin 'sqlite' not found. The following packages are installed: ['dbt-core', 'dbt-sqlite']"},{"fix":"Install sqlean and configure the extension path in your profiles.yml under the 'extensions' option.","cause":"Missing SQLite extensions (e.g., crypto, math) needed for dbt macros.","error":"sqlite3.OperationalError: no such module: ..."},{"fix":"Set threads: 1 in profiles.yml, or use a different database for concurrent access.","cause":"Multiple threads trying to write to the SQLite file simultaneously.","error":"OperationalError: database is locked"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}