Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Description

<!-- Describe your changes here -->

## Test Plan

<!-- How were these changes tested? -->

## Checklist

- [ ] I have run `make style` and fixed any issues
- [ ] I have added tests for my changes (if applicable)
- [ ] All existing tests pass (`make fast-test`)
- [ ] My commits are signed off (`git commit -s`) per the [DCO](DCO)

<!-- See CONTRIBUTING.md for more details on the contribution process -->
17 changes: 17 additions & 0 deletions .github/workflows/dco.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Sanity check
on: [pull_request]

jobs:
commits_check_job:
runs-on: ubuntu-latest
name: Commits Check
steps:
- name: Get PR Commits
id: 'get-pr-commits'
uses: tim-actions/get-pr-commits@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: DCO Check
uses: tim-actions/dco@master
with:
commits: ${{ steps.get-pr-commits.outputs.commits }}
5 changes: 5 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Code of Conduct

SQLMesh follows the [LF Projects Code of Conduct](https://lfprojects.org/policies/code-of-conduct/). All participants in the project are expected to abide by it.

If you believe someone is violating the code of conduct, please report it by following the instructions in the [LF Projects Code of Conduct](https://lfprojects.org/policies/code-of-conduct/).
90 changes: 90 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Contributing to SQLMesh

## Welcome

SQLMesh is a project of the Linux Foundation. We welcome contributions from anyone — whether you're fixing a bug, improving documentation, or proposing a new feature.

## Technical Steering Committee (TSC)

The TSC is responsible for technical oversight of the SQLMesh project, including coordinating technical direction, approving contribution policies, and maintaining community norms.

Initial TSC voting members are the project's Maintainers:

| Name | GitHub Handle | Affiliation | Role |
|---------------------|---------------|----------------|------------|
| Alexander Butler | z3z1ma | Harness | TSC Member |
| Alexander Filipchik | afilipchik | Cloud Kitchens | TSC Member |
| Reid Hooper | rhooper9711 | Benzinga | TSC Member |
| Yuki Kakegawa | StuffbyYuki | Jump.ai | TSC Member |
| Toby Mao | tobymao | Fivetran | TSC Chair |
| Alex Wilde | alexminerv | Minerva | TSC Member |


## Roles

**Contributors**: Anyone who contributes code, documentation, or other technical artifacts to the project.

**Maintainers**: Contributors who have earned the ability to modify source code, documentation, or other technical artifacts. A Contributor may become a Maintainer by majority approval of the TSC. A Maintainer may be removed by majority approval of the TSC.

## How to Contribute

1. Fork the repository on GitHub
2. Create a branch for your changes
3. Make your changes and commit them with a sign-off (see DCO section below)
4. Submit a pull request against the `main` branch

File issues at [github.com/sqlmesh/sqlmesh/issues](https://github.com/sqlmesh/sqlmesh/issues).

## Developer Certificate of Origin (DCO)

All contributions must include a `Signed-off-by` line in the commit message per the [Developer Certificate of Origin](DCO). This certifies that you wrote the contribution or have the right to submit it under the project's open source license.

Use `git commit -s` to add the sign-off automatically:

```bash
git commit -s -m "Your commit message"
```

To fix a commit that is missing the sign-off:

```bash
git commit --amend -s
```

To add a sign-off to multiple commits:

```bash
git rebase HEAD~N --signoff
```

## Development Setup

See [docs/development.md](docs/development.md) for full setup instructions. Key commands:

```bash
python -m venv .venv
source .venv/bin/activate
make install-dev
make style # Run before submitting
make fast-test # Quick test suite
```

## Coding Standards

- Run `make style` before submitting a pull request
- Follow existing code patterns and conventions in the codebase
- New files should include an SPDX license header:
```python
# SPDX-License-Identifier: Apache-2.0
```

## Pull Request Process

- Describe your changes clearly in the pull request description
- Ensure all CI checks pass
- Include a DCO sign-off on all commits (`git commit -s`)
- Be responsive to review feedback from maintainers

## Licensing

Code contributions are licensed under the [Apache License 2.0](LICENSE). Documentation contributions are licensed under [Creative Commons Attribution 4.0 International (CC-BY-4.0)](https://creativecommons.org/licenses/by/4.0/). See the LICENSE file and the [technical charter](sqlmesh-technical-charter.pdf) for details.
34 changes: 34 additions & 0 deletions DCO
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or

(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or

(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.

(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
41 changes: 41 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,44 @@
# SQLMesh Project Governance

## Overview

SQLMesh is a Series of LF Projects, LLC. The project is governed by its [Technical Charter](sqlmesh-technical-charter.pdf) and overseen by the Technical Steering Committee (TSC). SQLMesh is a project of the [Linux Foundation](https://www.linuxfoundation.org/).

## Technical Steering Committee

The TSC is responsible for all technical oversight of the project, including:

- Coordinating the technical direction of the project
- Approving project or system proposals
- Organizing sub-projects and removing sub-projects
- Creating sub-committees or working groups to focus on cross-project technical issues
- Appointing representatives to work with other open source or open standards communities
- Establishing community norms, workflows, issuing releases, and security vulnerability reports
- Approving and implementing policies for contribution requirements
- Coordinating any marketing, events, or communications regarding the project

## TSC Composition

TSC voting members are initially the project's Maintainers as listed in [CONTRIBUTING.md](CONTRIBUTING.md). The TSC may elect a Chair from among its voting members. The Chair presides over TSC meetings and serves as the primary point of contact with the Linux Foundation.

## Decision Making

The project operates as a consensus-based community. When a formal vote is required:

- Each voting TSC member receives one vote
- A quorum of 50% of voting members is required to conduct a vote
- Decisions are made by a majority of those present when quorum is met
- Electronic votes (e.g., via GitHub issues or mailing list) require a majority of all voting members to pass
- Votes that do not meet quorum or remain unresolved may be referred to the Series Manager for resolution

## Charter Amendments

The technical charter may be amended by a two-thirds vote of the entire TSC, subject to approval by LF Projects, LLC.

## Reference

The full technical charter is available at [sqlmesh-technical-charter.pdf](sqlmesh-technical-charter.pdf).

# TSC Meeting Minutes

## 2026-03-10 — Initial TSC Meeting
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2024 Tobiko Data Inc.
Copyright Contributors to the SQLMesh project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
26 changes: 14 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<p align="center">
<img src="docs/readme/sqlmesh.png" alt="SQLMesh logo" width="50%" height="50%">
</p>
<p align="center">SQLMesh is a project of the <a href="https://www.linuxfoundation.org/">Linux Foundation</a>.</p>

SQLMesh is a next-generation data transformation framework designed to ship data quickly, efficiently, and without error. Data teams can run and deploy data transformations written in SQL or Python with visibility and control at any size.

Expand All @@ -12,7 +13,7 @@ It is more than just a [dbt alternative](https://tobikodata.com/reduce_costs_wit

## Core Features

<img src="https://github.com/TobikoData/sqlmesh-public-assets/blob/main/vscode.gif?raw=true" alt="SQLMesh Plan Mode">
<img src="https://github.com/sqlmesh/sqlmesh-public-assets/blob/main/vscode.gif?raw=true" alt="SQLMesh Plan Mode">

> Get instant SQL impact and context of your changes, both in the CLI and in the [SQLMesh VSCode Extension](https://sqlmesh.readthedocs.io/en/latest/guides/vscode/?h=vs+cod)

Expand Down Expand Up @@ -126,14 +127,14 @@ outputs:
<details>
<summary><b>Level Up Your SQL</b></summary>
Write SQL in any dialect and SQLMesh will transpile it to your target SQL dialect on the fly before sending it to the warehouse.
<img src="https://github.com/TobikoData/sqlmesh/blob/main/docs/readme/transpile_example.png?raw=true" alt="Transpile Example">
<img src="https://github.com/sqlmesh/sqlmesh/blob/main/docs/readme/transpile_example.png?raw=true" alt="Transpile Example">
</details>

* Debug transformation errors *before* you run them in your warehouse in [10+ different SQL dialects](https://sqlmesh.readthedocs.io/en/stable/integrations/overview/#execution-engines)
* Definitions using [simply SQL](https://sqlmesh.readthedocs.io/en/stable/concepts/models/sql_models/#sql-based-definition) (no need for redundant and confusing `Jinja` + `YAML`)
* See impact of changes before you run them in your warehouse with column-level lineage

For more information, check out the [website](https://www.tobikodata.com/sqlmesh) and [documentation](https://sqlmesh.readthedocs.io/en/stable/).
For more information, check out the [documentation](https://sqlmesh.readthedocs.io/en/stable/).

## Getting Started
Install SQLMesh through [pypi](https://pypi.org/project/sqlmesh/) by running:
Expand Down Expand Up @@ -174,16 +175,17 @@ Follow the [crash course](https://sqlmesh.readthedocs.io/en/stable/examples/sqlm
Follow this [example](https://sqlmesh.readthedocs.io/en/stable/examples/incremental_time_full_walkthrough/) to learn how to use SQLMesh in a full walkthrough.

## Join Our Community
Together, we want to build data transformation without the waste. Connect with us in the following ways:
Connect with us in the following ways:

* Join the [Tobiko Slack Community](https://tobikodata.com/slack) to ask questions, or just to say hi!
* File an issue on our [GitHub](https://github.com/TobikoData/sqlmesh/issues/new)
* Send us an email at [hello@tobikodata.com](mailto:hello@tobikodata.com) with your questions or feedback
* Read our [blog](https://tobikodata.com/blog)
* Join the [SQLMesh Slack Community](https://tobikodata.com/slack) to ask questions, or just to say hi!
* File an issue on our [GitHub](https://github.com/sqlmesh/sqlmesh/issues/new)

## Contribution
Contributions in the form of issues or pull requests (from fork) are greatly appreciated.
## Contributing
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to contribute, including our DCO sign-off requirement.

[Read more](https://sqlmesh.readthedocs.io/en/stable/development/) on how to contribute to SQLMesh open source.
Please review our [Code of Conduct](CODE_OF_CONDUCT.md) and [Governance](GOVERNANCE.md) documents.

[Watch this video walkthrough](https://www.loom.com/share/2abd0d661c12459693fa155490633126?sid=b65c1c0f-8ef7-4036-ad19-3f85a3b87ff2) to see how our team contributes a feature to SQLMesh.
[Read more](https://sqlmesh.readthedocs.io/en/stable/development/) on how to set up your development environment.

## License
This project is licensed under the [Apache License 2.0](LICENSE). Documentation is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/).
17 changes: 17 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Security Policy

## Reporting a Vulnerability

If you discover a security vulnerability in SQLMesh, please report it through [GitHub Security Advisories](https://github.com/sqlmesh/sqlmesh/security/advisories/new). Do not file a public issue for security vulnerabilities.

## Response

We will acknowledge receipt of your report within 72 hours and aim to provide an initial assessment within one week.

## Disclosure

We follow a coordinated disclosure process. We will work with you to understand and address the issue before any public disclosure.

## Supported Versions

Security fixes are generally applied to the latest release. Critical vulnerabilities may be backported to recent prior releases at the discretion of the maintainers.
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "sqlmesh"
dynamic = ["version"]
description = "Next-generation data transformation framework"
readme = "README.md"
authors = [{ name = "TobikoData Inc.", email = "engineering@tobikodata.com" }]
authors = [{ name = "SQLMesh Contributors" }]
license = { file = "LICENSE" }
requires-python = ">= 3.9"
dependencies = [
Expand Down Expand Up @@ -154,8 +154,8 @@ sqlmesh_lsp = "sqlmesh.lsp.main:main"
[project.urls]
Homepage = "https://sqlmesh.com/"
Documentation = "https://sqlmesh.readthedocs.io/en/stable/"
Repository = "https://github.com/TobikoData/sqlmesh"
Issues = "https://github.com/TobikoData/sqlmesh/issues"
Repository = "https://github.com/sqlmesh/sqlmesh"
Issues = "https://github.com/sqlmesh/sqlmesh/issues"

[build-system]
requires = ["setuptools >= 61.0", "setuptools_scm"]
Expand Down
Binary file added sqlmesh-technical-charter.pdf
Binary file not shown.
Loading