(sql-table-layout-ref)= # Database Protocols Opt-in protocols that `BaseDataSource` subclasses can implement to customise how they are persisted by the database backend. See {ref}`Database persistence of custom data sources ` for usage guidance and a worked example. ```{eval-rst} .. automodule:: algomancy_data.database.protocols :members: :undoc-members: :show-inheritance: ```