Skip to main content

Diffsay

Generate a Conventional commit message from the staged git diff, locally with MLX.

Requires Python 3.10+ and Apple silicon.

Install

uv tool install diffsay

Or from this repo:

uv tool install .

Usage

git add .
diffsay

In a terminal, the suggested subject is prefilled. Move with the arrow keys to edit it, then press Enter to git commit. Ctrl-C cancels.

Piped use, or --print-only, only prints the subject:

git commit -m "$(diffsay --print-only)"

Default model is Qwen2.5-Coder-7B-Instruct-4bit. Bare names resolve under mlx-community/.

diffsay -m Qwen2.5-Coder-14B-Instruct-4bit

Use a 7B+ instruct model. Sub-3B models (Gemma 1B, Qwen 1.5B) tend to invent tokens and ignore the “one line” rule.

Model RAM (4-bit) Notes
Qwen2.5-Coder-7B-Instruct-4bit ~6–8 GB Default
Qwen2.5-Coder-14B-Instruct-4bit ~10–12 GB Better whole-diff summaries
Qwen2.5-Coder-32B-Instruct-4bit ~20+ GB Needs 24+ GB unified memory
Llama-3.1-8B-Instruct-4bit ~6–8 GB US, follows instructions well
Qwen3-8B-Instruct-4bit ~6–8 GB Newer general model
Qwen3-14B-Instruct-4bit ~10–12 GB Stronger feat vs fix

Develop

uv sync
uv run ruff check src tests
uv run pytest

Metadata

Release files for diffsay 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for diffsay 0.2.0
File Size Uploaded
diffsay-0.2.0.tar.gz 80.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for diffsay 0.2.0
File Interpreter ABI Platform
diffsay-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 85.8 kB

Release files / diffsay-0.2.0.tar.gz

Download URL diffsay-0.2.0.tar.gz
Size 80.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a07b498cbce147f6018339da5cead13bb23482a5f0629ae6818d31659d1d9f61
BLAKE2b-256 checksum
How to use checksums
a6b31ac5137949a7af1f1b7ba7d161c44655cf81a32d914bbf307770df562eea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / diffsay-0.2.0-py3-none-any.whl

Download URL diffsay-0.2.0-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0bcbca8753e19f11ab101b4a4d784c91534af07bddd5301b4d295ca5c75f4b94
BLAKE2b-256 checksum
How to use checksums
68df883076aa0087371daf0d73128d3e2370638b20bf14f8c4585b574cd2cb73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page