:mod:`airflow.hooks.sqlite_hook`
================================

.. py:module:: airflow.hooks.sqlite_hook


Module Contents
---------------

.. py:class:: SqliteHook

   Bases: :class:`airflow.hooks.dbapi_hook.DbApiHook`

   Interact with SQLite.

   .. attribute:: conn_name_attr
      :annotation: = sqlite_conn_id

      

   .. attribute:: default_conn_name
      :annotation: = sqlite_default

      

   .. attribute:: supports_autocommit
      :annotation: = False

      

   
   .. method:: get_conn(self)

      Returns a sqlite connection object




