From ae532d5901f7b1c3767a542eb58611944f445fbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eirik=20F=2E=20Kj=C3=B8nstad?= Date: Sat, 23 May 2026 21:24:02 -0700 Subject: [PATCH 1/7] Add sable badge --- README.md | 10 ++++++++++ assets/sable-badge.svg | 24 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 assets/sable-badge.svg diff --git a/README.md b/README.md index 597d0ca..bfdaf88 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@

Sable logo +
+ + Code style: Sable +

An uncompromising Fortran formatter, inspired by [Black](https://github.com/psf/black). @@ -17,6 +21,12 @@ to identify code issues. pip install sable-fortran ``` +## Badge + +```markdown +[![Code style: Sable](https://raw.githubusercontent.com/eirik-kjonstad/sable/main/assets/sable-badge.svg)](https://github.com/eirik-kjonstad/sable) +``` + ## Quick Start ```bash diff --git a/assets/sable-badge.svg b/assets/sable-badge.svg new file mode 100644 index 0000000..56b7660 --- /dev/null +++ b/assets/sable-badge.svg @@ -0,0 +1,24 @@ + + Code style: Sable + A badge indicating that code is formatted with Sable. + + + + + + + + + + + + + + + + code style + code style + sable + sable + + From a9ac27faeb57e40f69538397c17e510cdede7ece Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eirik=20F=2E=20Kj=C3=B8nstad?= Date: Sat, 23 May 2026 21:25:19 -0700 Subject: [PATCH 2/7] Additional badges --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bfdaf88..07b185e 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,15 @@ Code style: Sable + + PyPI version + + + Python 3.10, 3.11, and 3.12 + + + License: MIT +

An uncompromising Fortran formatter, inspired by [Black](https://github.com/psf/black). @@ -21,10 +30,13 @@ to identify code issues. pip install sable-fortran ``` -## Badge +## Badges ```markdown [![Code style: Sable](https://raw.githubusercontent.com/eirik-kjonstad/sable/main/assets/sable-badge.svg)](https://github.com/eirik-kjonstad/sable) +[![PyPI version](https://img.shields.io/pypi/v/sable-fortran.svg)](https://pypi.org/project/sable-fortran/) +[![Python 3.10, 3.11, and 3.12](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-3776ab.svg)](https://github.com/eirik-kjonstad/sable/actions/workflows/ci.yml) +[![License: MIT](https://img.shields.io/pypi/l/sable-fortran.svg)](https://github.com/eirik-kjonstad/sable/blob/main/LICENSE) ``` ## Quick Start From fdaf280746e5cc75542960b824b715e282661684 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eirik=20F=2E=20Kj=C3=B8nstad?= Date: Sat, 23 May 2026 21:28:15 -0700 Subject: [PATCH 3/7] Adjust --- README.md | 31 ++++++++++--------------------- assets/sable-badge.svg | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 07b185e..66d5b35 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,10 @@

Sable logo
- - Code style: Sable - - - PyPI version - - - Python 3.10, 3.11, and 3.12 - - - License: MIT - + Code style: Sable + PyPI version + Python 3.10, 3.11, and 3.12 + License: MIT

An uncompromising Fortran formatter, inspired by [Black](https://github.com/psf/black). @@ -30,15 +22,6 @@ to identify code issues. pip install sable-fortran ``` -## Badges - -```markdown -[![Code style: Sable](https://raw.githubusercontent.com/eirik-kjonstad/sable/main/assets/sable-badge.svg)](https://github.com/eirik-kjonstad/sable) -[![PyPI version](https://img.shields.io/pypi/v/sable-fortran.svg)](https://pypi.org/project/sable-fortran/) -[![Python 3.10, 3.11, and 3.12](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-3776ab.svg)](https://github.com/eirik-kjonstad/sable/actions/workflows/ci.yml) -[![License: MIT](https://img.shields.io/pypi/l/sable-fortran.svg)](https://github.com/eirik-kjonstad/sable/blob/main/LICENSE) -``` - ## Quick Start ```bash @@ -158,6 +141,12 @@ generate_baseline = false CLI flags override `pyproject.toml` defaults. +## Badge + +```markdown +[![Code style: Sable](https://raw.githubusercontent.com/eirik-kjonstad/sable/main/assets/sable-badge.svg)](https://github.com/eirik-kjonstad/sable) +``` + ## License MIT diff --git a/assets/sable-badge.svg b/assets/sable-badge.svg index 56b7660..77bbb07 100644 --- a/assets/sable-badge.svg +++ b/assets/sable-badge.svg @@ -1,4 +1,4 @@ - + Code style: Sable A badge indicating that code is formatted with Sable. @@ -8,17 +8,17 @@ - + - - - + + + - - code style - code style - sable - sable + + code style + code style + sable + sable From 39b48eb60fb079cca0e416494b36f2b397ef9968 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eirik=20F=2E=20Kj=C3=B8nstad?= Date: Sat, 23 May 2026 21:32:28 -0700 Subject: [PATCH 4/7] Extend python tests up to 3.15 --- .github/workflows/ci.yml | 2 +- README.md | 2 +- assets/sable-badge.svg | 12 ++++++------ pyproject.toml | 3 +++ 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a8a2a11..653493c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"] steps: - uses: actions/checkout@v4 diff --git a/README.md b/README.md index 66d5b35..482375a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@
Code style: Sable PyPI version - Python 3.10, 3.11, and 3.12 + Python 3.10 through 3.15-dev License: MIT

diff --git a/assets/sable-badge.svg b/assets/sable-badge.svg index 77bbb07..4f60dd5 100644 --- a/assets/sable-badge.svg +++ b/assets/sable-badge.svg @@ -1,4 +1,4 @@ - + Code style: Sable A badge indicating that code is formatted with Sable. @@ -8,17 +8,17 @@ - + - - + + code style code style - sable - sable + sable + sable diff --git a/pyproject.toml b/pyproject.toml index 134e7ab..108243b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,6 +19,9 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Topic :: Software Development :: Quality Assurance", ] dependencies = [ From fc906ca7e99493f1b35109f84cd24225a203bb60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eirik=20F=2E=20Kj=C3=B8nstad?= Date: Sat, 23 May 2026 21:34:45 -0700 Subject: [PATCH 5/7] adjust logo --- assets/sable-badge.svg | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/assets/sable-badge.svg b/assets/sable-badge.svg index 4f60dd5..22acc3f 100644 --- a/assets/sable-badge.svg +++ b/assets/sable-badge.svg @@ -1,4 +1,4 @@ - + Code style: Sable A badge indicating that code is formatted with Sable. @@ -8,17 +8,17 @@ - + - - - + + + - - code style - code style - sable - sable + + code style + code style + sable + sable From 285525f49e43cc31315d5e6b61caabbea02f5f03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eirik=20F=2E=20Kj=C3=B8nstad?= Date: Sat, 23 May 2026 21:44:30 -0700 Subject: [PATCH 6/7] Add configuration to README --- README.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 482375a..1411051 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,28 @@ File-wide: ## Configuration +Formatter options are CLI flags: + +```bash +sable format --line-length 88 src/ +``` + +| Option | Default | Values | Applies to | +| --- | ---: | --- | --- | +| `--line-length` | `100` | integer | `format`, `check` | +| `--indent-width` | `3` | integer | `format`, `check` | +| `--keyword-case` | `lower` | `lower`, `upper` | `format`, `check` | +| `--end-keyword-form` | `spaced` | `spaced`, `compact` | `format`, `check` | +| `--no-normalize-operators` | off | flag | `format`, `check` | +| `rule_set` / `--rule-set` | `all` | `style`, `lint`, `all` | `check` | +| `select` / `--select` | `[]` | rule codes | `check` | +| `ignore` / `--ignore` | `[]` | rule codes | `check` | +| `output_format` / `--output-format` | `text` | `text`, `json`, `sarif`, `gitlab-codequality` | `check` | +| `baseline` / `--baseline` | unset | path | `check` | +| `fix` / `--fix` | `false` | boolean | `check` | +| `unsafe_fixes` / `--unsafe-fixes` | `false` | boolean | `check` | +| `generate_baseline` / `--generate-baseline` | `false` | boolean | `check` | + Example `pyproject.toml`: ```toml @@ -139,7 +161,7 @@ unsafe_fixes = false generate_baseline = false ``` -CLI flags override `pyproject.toml` defaults. +For `check`, CLI flags override `pyproject.toml` defaults. ## Badge From 59f53d67e0ece9b715bc4da13e9b7fbdc9989f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eirik=20F=2E=20Kj=C3=B8nstad?= Date: Sat, 23 May 2026 21:45:54 -0700 Subject: [PATCH 7/7] Bump version --- pyproject.toml | 2 +- src/sable/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 108243b..54e08c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "sable-fortran" -version = "0.3.8" +version = "0.3.9" description = "An uncompromising Fortran formatter, inspired by Black" readme = "README.md" requires-python = ">=3.10" diff --git a/src/sable/__init__.py b/src/sable/__init__.py index 74d18ad..1168c6c 100644 --- a/src/sable/__init__.py +++ b/src/sable/__init__.py @@ -1,3 +1,3 @@ """Sable: an uncompromising Fortran formatter.""" -__version__ = "0.3.8" +__version__ = "0.3.9"