The official sqlc binaries, pip-installable — no Go toolchain required
Project description
sqlc-bin
sqlc as a pip-installable package. Installs the official sqlc release binaries — no Go toolchain required.
sqlc generates fully type-safe code from SQL. This package exists so Python projects (and anyone without Go installed) can get the sqlc CLI straight from PyPI and pin it like any other dependency.
Installation
# with uv
uv add --dev sqlc-bin # as a project dev dependency
uv tool install sqlc-bin # as a global tool
# with pip
pip install sqlc-bin
# with pipx
pipx install sqlc-bin
# run without installing
uvx --from sqlc-bin sqlc version
Usage
Exactly like a go installed sqlc — the sqlc command is on your PATH:
sqlc version
sqlc init
sqlc generate
It also works as a Python module:
python -m sqlc_bin generate
See the sqlc documentation for everything the CLI can do.
Supported platforms
| OS | x86_64 | arm64 |
|---|---|---|
| Linux (glibc and musl) | ✅ | ✅ |
| macOS 11+ | ✅ | ✅ |
| Windows | ✅ | ✅ |
Each platform gets its own wheel with the matching binary inside; pip/uv picks the right one automatically. On any other platform, installation falls back to the sdist, which downloads the binary for the host at build time (and fails clearly if sqlc doesn't publish one).
How it works
- Wheels bundle the unmodified official binaries from sqlc's GitHub releases.
- Every downloaded archive is verified against sha256 checksums pinned in
checksums.jsonbefore packaging. - The
sqlcentry pointexecs the bundled binary (POSIX) or forwards to it as a subprocess (Windows), so arguments, stdio, exit codes, and signals behave like the real thing — because it is the real thing.
Versioning
The package version tracks the sqlc version: sqlc-bin==1.31.1 ships sqlc v1.31.1. Packaging-only fixes are published as post-releases (1.31.1.post1) containing the same binary.
Development
uv sync # set up the dev environment
uv build --wheel # build a wheel for your platform
SQLC_BIN_TARGET=windows_arm64 uv build --wheel # cross-build for another target
uv run --with dist/*.whl pytest # tests run against an installed wheel
uv run --no-project scripts/bump_sqlc.py # update to the latest sqlc release
Releases are built and published to PyPI by GitHub Actions (.github/workflows/release.yml) on version tags, using trusted publishing. A daily workflow checks for new sqlc releases and opens a bump PR.
License
This packaging project is MIT-licensed. sqlc itself is MIT-licensed by its authors; the binaries are redistributed unmodified. This project is not affiliated with or endorsed by the sqlc authors.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sqlc_bin-1.31.1.tar.gz.
File metadata
- Download URL: sqlc_bin-1.31.1.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8137ddc386575ca49445d0e8cfa1c9313b3ccd2d0065db66e96052852350e28c
|
|
| MD5 |
d4ba6d074bf8d9a45825c10df760ad5f
|
|
| BLAKE2b-256 |
70374d84c593de7e48eb4ff2e9596ac063ec12098f4183c46dbc200485305803
|
File details
Details for the file sqlc_bin-1.31.1-py3-none-win_arm64.whl.
File metadata
- Download URL: sqlc_bin-1.31.1-py3-none-win_arm64.whl
- Upload date:
- Size: 13.7 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5878818453bec60c8b5499bb29217d7f6ad409a4d3b08849bba6102687d17c77
|
|
| MD5 |
0a918f97f32068e4eb2c91afbbbbaf7a
|
|
| BLAKE2b-256 |
761f0641954b57de1ba034a5c883d06a9ce5608ac0f19e64f94b7f84b4450d48
|
File details
Details for the file sqlc_bin-1.31.1-py3-none-win_amd64.whl.
File metadata
- Download URL: sqlc_bin-1.31.1-py3-none-win_amd64.whl
- Upload date:
- Size: 15.4 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c30a1f94e0ff46063c40c80c15a345b7ca8f394fad3488107dcaad5cd867a806
|
|
| MD5 |
e2c997bc91b057cbcb86235a734f7b6c
|
|
| BLAKE2b-256 |
51ffcee392488b86ebbced4db25454842d7e844d28e161c3d4a6671f7ff2fa7d
|
File details
Details for the file sqlc_bin-1.31.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl.
File metadata
- Download URL: sqlc_bin-1.31.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
- Upload date:
- Size: 15.1 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36f6ded803e321685b774618e7ea9ef2ca70c81b9210305062540e15863dfee4
|
|
| MD5 |
6f6f8bdb5a93e038c2e8fdb640438c2b
|
|
| BLAKE2b-256 |
6b5a4dccfcf41665dfc93833aaf9626bf597b0b249e4bbe3d212befbcc9a1390
|
File details
Details for the file sqlc_bin-1.31.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.
File metadata
- Download URL: sqlc_bin-1.31.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
- Upload date:
- Size: 13.6 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64, musllinux: musl 1.1+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1abfa9163fc11857ea6cd63783662087f52c0cb09353996d2c04cc06b5d1c7dd
|
|
| MD5 |
022bae3cb5da1f88c578433297016eca
|
|
| BLAKE2b-256 |
081b8de4878439d805605d050a3c6f72ca5d00b0d0b010534c71476b6d60607d
|
File details
Details for the file sqlc_bin-1.31.1-py3-none-macosx_11_0_x86_64.whl.
File metadata
- Download URL: sqlc_bin-1.31.1-py3-none-macosx_11_0_x86_64.whl
- Upload date:
- Size: 15.9 MB
- Tags: Python 3, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42d3c60af657cd1734c0cfbea010c6f3f412d70752268e7552a2df23bb579509
|
|
| MD5 |
4bc7ed1874b48d3c6b4b929e66fb714a
|
|
| BLAKE2b-256 |
fe31070a853245dc377e28f9fd83f33b153167ea1cc61922b2fb42207aa3a854
|
File details
Details for the file sqlc_bin-1.31.1-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: sqlc_bin-1.31.1-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 14.5 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05bd721ccb949deb1ef99fcffeaf658a29b90639b23557574ddd654535ba7d42
|
|
| MD5 |
c8b4c4d748a4678cd543e6d458ee3af6
|
|
| BLAKE2b-256 |
c3bafd84b2b6018f92eb593a6f421d90a74dee743e7c40abcb89ba3fd372adaa
|