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
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

## 0.1.0 - 2026-05-24

Initial MVP release.

- Detect SQL embedded in Python triple-quoted strings.
- Format safe embedded SQL with SQLGlot.
- Extract embedded SQL into `.sql` files and replace Python strings with file references.
- Skip f-strings and Jinja-like templates conservatively.
- Support explicit SQLGlot dialect selection with `--dialect` / `-d` for `generic`, `mysql`, `postgres`, and `redshift`.
- Preserve Redshift `COPY` and `UNLOAD` command-style statements instead of rewriting load/export options.
- Provide `list`, `format`, `check`, `extract`, and `dialects` CLI commands.
- Add documentation, CI checks, package build validation, and GitHub Pages docs.
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,19 +44,21 @@ options.

## Installation

`py-sql-cleaner` is not published to PyPI yet. PyPI installation will be available
after the first package release.
Install `py-sql-cleaner` from PyPI:

```bash
pip install py-sql-cleaner
```

Or install it as an isolated CLI tool:
Or install it as an isolated CLI tool with `pipx`:

```bash
pipx install py-sql-cleaner
```

Release archives and wheels are also attached to
[GitHub Releases](https://github.com/enumura1/py-sql-cleaner/releases).

You can also run it without installing:

```bash
Expand Down
4 changes: 3 additions & 1 deletion docs/development/branching.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,9 @@ Releases are cut from `main`.

1. Merge release preparation changes through a pull request.
2. Tag the release commit on `main`.
3. Build and publish artifacts from the tagged commit.
3. Build artifacts from the tagged commit.
4. Publish the package to PyPI.
5. Create a GitHub Release and attach the source distribution and wheel.

Do not release from feature branches.

Expand Down
16 changes: 16 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,28 @@ license-files = ["LICENSE"]
authors = [
{ name = "enumura1" },
]
classifiers = [
"Development Status :: 3 - Alpha",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Quality Assurance",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"typer>=0.12",
"rich>=13",
"sqlglot>=25",
]

[project.urls]
Documentation = "https://enumura1.github.io/py-sql-cleaner/"
Repository = "https://github.com/enumura1/py-sql-cleaner"
Issues = "https://github.com/enumura1/py-sql-cleaner/issues"

[project.optional-dependencies]
dev = [
"build>=1.2",
Expand Down
8 changes: 5 additions & 3 deletions website/docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,21 @@ sidebar_position: 1

# Installation

`py-sql-cleaner` is not published to PyPI yet. PyPI installation will be available
after the first package release.
Install `py-sql-cleaner` from PyPI:

```bash
pip install py-sql-cleaner
```

After release, it can also be installed as an isolated CLI tool:
It can also be installed as an isolated CLI tool with `pipx`:

```bash
pipx install py-sql-cleaner
```

Release archives and wheels are also attached to
[GitHub Releases](https://github.com/enumura1/py-sql-cleaner/releases).

Or run without installing:

```bash
Expand Down
3 changes: 2 additions & 1 deletion website/docs/project/status.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ sidebar_position: 2

# Project Status

`py-sql-cleaner` is currently an early MVP.
`py-sql-cleaner` is currently an early MVP. The `0.1.x` release line is intended
for early use and feedback, not long-term compatibility guarantees.

The current focus is:

Expand Down
Loading