SQLFluff is a dialect-flexible and configurable SQL linter. Designed with ELT applications in mind, SQLFluff also works with Jinja templating and dbt. SQLFluff will auto-fix most linting errors, allowing you to focus your time on what matters.
The core python library sqlfluff
is the cornerstone of the SQLFluff family.
This is the project which is published on pypi as sqlfluff
.
If you're looking for somewhere to get started with SQLFluff, particularly in a CLI or CI/CD context, this is almost certainly the place to start.
If you're using SQLFluff within the context of a dbt
project you might also be looking for to install along side the core SQLFluff
library above. This is the project which is published on
pypi as sqlfluff
.
This is a plugin for SQLFluff and allows the dbt
templater to be selected.
Currently, this plugin is maintained within the same git repository as the main
SQLFluff project because of fairly tight coupling between the two.
If you're developing SQL code within VSCode as your IDE, you may find our
maintained VSCode extension helpful. This project is published on
OpenVSX as vscode-sqlfluff
or on the Visual Studio Marketplace as dorzey.vscode-sqlfluff
.
Many users deploying SQFluff within a CI/CD context do so on the Github Actions platform. For those users we provide a few templates of how some organisations have done the same. These are provided as templates and examples. We recommend that you personalise them to your own use case as applicable.
For full documentation visit docs.sqlfluff.com. This documentation is generated from the core SQLFluff repository, so to any issues or contributions should be focussed there.
We have a fast-growing community on Slack, come and join us!
Follow us on Twitter @SQLFluff for announcements and other related posts.
We are grateful to all our contributors. There is a lot to do in this project, and we are just getting started.
If you want to understand more about the architecture of SQLFluff, you can find more here.
If you would like to contribute, check out the open issues on GitHub. You can also see the guide to contributing.