Skip to main content

rsqlx

English | 中文

Async PostgreSQL / MySQL / SQLite driver for Python, powered by Rust's sqlx and exposed as a native extension via PyO3 — the same approach as orjson: Rust core, Python surface.

Every query runs on a shared multi-threaded Tokio runtime; the GIL is released while waiting for the database, so concurrent tasks and threads run in parallel.

Author: Yingzi yingzilkq@163.com
Source: https://gitee.com/yingzi_shadow/rsqlx
License: MIT OR Apache-2.0

Features

  • One interface for PostgreSQL, MySQL and SQLite
  • Connection pooling (min/max connections, acquire timeout, idle timeout, max lifetime)
  • Transactions with async with (auto-commit on success, auto-rollback on exception)
  • execute_many rewrites single-row INSERTs into a multi-row INSERT — two orders of magnitude faster
  • execute_raw / fetch_raw use the COM_QUERY protocol for stored procedures and DDL that the prepared-statement protocol doesn't support
  • Migrations (sqlx-compatible <N>_<name>.up.sql files)
  • Full type mapping: datetime, Decimal, UUID, JSON, bytes, PG arrays
  • Exception hierarchy rooted at rsqlx.Error

Installation

Pre-built wheels:

Platform Architectures
Linux (glibc ≥ 2.28,或 musl ≥ 1.2 / Alpine) x86_64, aarch64
Windows 10+ x86_64, ARM64
macOS 11+ x86_64, arm64

Each (platform, arch) wheel works for CPython 3.9–3.13.

TLS: rustls + ring (pure Rust, no system OpenSSL). SQLite: statically linked via libsqlite3-sys. Zero system dependencies on the user side.

pip install rsqlx

Build from source (requires Rust and maturin):

pip install maturin
maturin build --release -o dist
pip install dist/rsqlx-*.whl

# For local development:
maturin develop --release

Quickstart

All three databases share the same connect() / Pool / Transaction API. Connection strings follow the sqlx convention:

# SQLite:     "sqlite:app.db" (file) or "sqlite::memory:" (in-memory) — placeholders: ?
# PostgreSQL: "postgres://user:pass@localhost:5432/db"               — placeholders: $1, $2, ...
# MySQL:      "mysql://user:pass@localhost:3306/db?ssl-mode=disabled" — placeholders: ?
#             (add ?ssl-mode=disabled when the server's TLS is incompatible with rustls)
import asyncio
import rsqlx

SQLite

import asyncio
import rsqlx

async def main():
    pool = await rsqlx.connect("sqlite::memory:", max_connections=5)

    await pool.execute(
        "CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INT)"
    )

    # execute returns ExecuteResult(rows_affected, last_insert_id)
    res = await pool.execute("INSERT INTO users (name, age) VALUES (?, ?)", ["Alice", 30])
    print(res.rows_affected, res.last_insert_id)            # 1 1

    # fetch returns list[dict]
    rows = await pool.fetch("SELECT * FROM users WHERE age > ?", [18])
    print(rows)                                            # [{'id': 1, 'name': 'Alice', 'age': 30}]

    # single-row helpers
    user  = await pool.fetch_one("SELECT * FROM users WHERE id = ?", [1])        # raises RowNotFound if no row
    maybe = await pool.fetch_optional("SELECT * FROM users WHERE id = ?", [99])  # None

    # transaction: commit on normal exit, rollback on exception
    async with await pool.begin() as tx:
        await tx.execute("INSERT INTO users (name, age) VALUES (?, ?)", ["Bob", 25])

    await pool.close()

asyncio.run(main())

PostgreSQL

import asyncio
import rsqlx

async def main():
    pool = await rsqlx.connect("postgres://user:pass@localhost:5432/db", max_connections=5)

    await pool.execute(
        "CREATE TABLE IF NOT EXISTS users ("
        "id SERIAL PRIMARY KEY, name TEXT, age INT, tags TEXT[])"
    )

    await pool.execute("INSERT INTO users (name, age) VALUES ($1, $2)", ["Alice", 30])

    # homogeneous scalar lists bind as native PG arrays (None elements preserved)
    await pool.execute(
        "INSERT INTO users (name, age, tags) VALUES ($1, $2, $3)",
        ["Bob", 25, ["python", "rust", None]],
    )

    user = await pool.fetch_one("SELECT * FROM users WHERE id = $1", [1])
    print(user["tags"])                                    # ['python', 'rust', None]

    # batch — single-row INSERT is auto-rewritten to a multi-row INSERT
    await pool.execute_many(
        "INSERT INTO users (name, age) VALUES ($1, $2)",
        [["Carol", 28], ["Dave", 40]],
    )

    await pool.close()

asyncio.run(main())

MySQL

import asyncio
import rsqlx

async def main():
    # add ?ssl-mode=disabled when the server's TLS is incompatible with rustls
    # (common with MySQL 8 default cipher configuration)
    pool = await rsqlx.connect(
        "mysql://user:pass@localhost:3306/db?ssl-mode=disabled", max_connections=5
    )

    await pool.execute(
        "CREATE TABLE IF NOT EXISTS users ("
        "id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(64), age INT)"
    )

    await pool.execute("INSERT INTO users (name, age) VALUES (?, ?)", ["Alice", 30])
    rows = await pool.fetch("SELECT * FROM users WHERE age > ?", [18])

    # stored procedures, multi-statement scripts and other non-prepared
    # statements use the raw protocol (execute_raw / fetch_raw)
    await pool.execute_raw("DROP PROCEDURE IF EXISTS sp_hello")
    await pool.execute_raw(
        "CREATE PROCEDURE sp_hello(IN n VARCHAR(64)) BEGIN SELECT n; END"
    )
    await pool.execute("CALL sp_hello(?)", ["world"])

    await pool.close()

asyncio.run(main())

Migrations

# Run sqlx-style migration files from a directory (applied once, then idempotent):
#   migrations/0001_init.up.sql
#   migrations/0002_seed.up.sql
await pool.migrate("migrations")

Placeholders

Use the database's native style: $1, $2, ... for PostgreSQL, ? for MySQL and SQLite. Multi-row INSERT rewrites ? to the correct format automatically.

API Reference

rsqlx.connect(url, *, min_connections=None, max_connections=None, acquire_timeout=None, idle_timeout=None, max_lifetime=None) -> Pool

Timeout arguments are in seconds (float).

Pool

Method Description
await fetch(sql, params=None) -> list[dict] All rows as dicts
await fetch_one(sql, params=None) -> dict One row; raises RowNotFound if none
`await fetch_optional(sql, params=None) -> dict None`
await execute(sql, params=None) -> ExecuteResult Returns rows_affected and last_insert_id
await execute_many(sql, params) -> ExecuteResult Batch; INSERT auto-optimized to multi-row
await execute_raw(sql) Raw query protocol (no parameter binding) — for stored procedures, DDL
await fetch_raw(sql) -> list[dict] Raw query protocol with row results
await begin() -> Transaction Start a transaction
await migrate(path) Run SQL migration files from a directory
await close() Close the pool
size / num_idle / is_closed Pool introspection

Pool and Transaction support async with.

Parameter Types

None, bool, int, float, str, bytes/bytearray, datetime (naive or aware), date, time, Decimal, UUID, dict/list/tuple (as JSON). Integers exceeding 64 bits degrade to Decimal. Homogeneous scalar lists/tuples bind as native PG arrays; lists containing dicts or nesting bind as JSON.

Row Type Mapping

Database type Python type
BOOL / BOOLEAN bool
INT2/INT4/INT8, TINYINT..BIGINT (+UNSIGNED), INTEGER int
FLOAT4/FLOAT8, FLOAT/DOUBLE, REAL float
NUMERIC / DECIMAL decimal.Decimal (TEXT on SQLite)
TEXT, VARCHAR, CHAR, NAME, ENUM, SET str
BYTEA, BINARY/BLOB variants bytes
JSON / JSONB auto-decoded (dict / list / scalars)
UUID (PG) uuid.UUID
DATE datetime.date
TIME datetime.time
TIMESTAMP / DATETIME naive datetime.datetime
TIMESTAMPTZ aware datetime.datetime
PG arrays of the above list (None elements preserved)

Unsupported types (PG INET, INTERVAL, ranges, custom types) raise InterfaceError — cast in SQL (SELECT col::text) to retrieve as string.

Exceptions

rsqlx.Error
├── InterfaceError        # unsupported types, decode failures, API misuse
├── DatabaseError         # server errors (syntax, constraint violations)
├── OperationalError      # IO failures, worker crashes, background task errors
├── RowNotFound           # fetch_one returned no rows
├── PoolTimedOut          # timed out acquiring a connection
├── PoolClosed            # operation on a closed pool
└── MigrateError          # migration failure

Limitations

  • Requires an asyncio event loop (asyncio.run / async def)
  • sqlx's compile-time query! macros are a Rust-only feature; rsqlx provides runtime-checked queries
  • Canceling a coroutine cancels the await, but the in-flight query runs to completion on the runtime
  • MySQL servers using DHE cipher suites (e.g. MySQL 8.0.16) are incompatible with rustls; add ?ssl-mode=disabled to the connection URL

Migrating from pymysql

pymysql rsqlx
pymysql.connect(host=..., user=..., password=...) await rsqlx.connect("mysql://user:pass@host/db")
cursor.execute(sql, (a, b)) await pool.execute(sql, [a, b])
cursor.fetchone() await pool.fetch_one(sql, [a, b])
cursor.fetchall() await pool.fetch(sql, [a, b])
cursor.executemany(sql, args) await pool.execute_many(sql, args)
conn.begin() / commit() / rollback() async with await pool.begin() as tx: ...
conn.insert_id() result.last_insert_id
conn.affected_rows result.rows_affected
cursor.callproc(name, args) await pool.execute("CALL name(?)", args) (DDL via execute_raw)
paramstyle = 'pyformat' (%s) ? (qmark)
DictCursor dicts by default
pymysql.IntegrityError rsqlx.DatabaseError

Main change: sync → async (defasync def, add await), %s?.

Tracking sqlx Upstream Updates

rsqlx depends on sqlx. When a new version is released, here's how to sync.

1. Check for a new sqlx version

cargo search sqlx
# Or check release notes: https://github.com/launchbadge/sqlx/releases

2. Update the version in Cargo.toml

[dependencies]
sqlx = { version = "0.9", default-features = false, features = [
    "runtime-tokio", "tls-rustls-ring", "postgres", "mysql", "sqlite",
    "chrono", "uuid", "rust_decimal", "migrate", "json",
] }

3. Check MSRV

rustup update stable
# Or install a specific version:
rustup install 1.94.0
rustup override set 1.94.0

4. Check feature name changes

Compare the new sqlx Cargo.toml (crates.io or GitHub). If a feature is renamed, cargo check will report unknown feature — fix per the error.

5. Compile

cargo check

Common breaking changes:

  • API signature changes: trait method refactors — adjust trait bounds and type references in src/backend.rs.
  • TypeInfo / Column API changes: affects row decoding (col.type_info().name()).
  • Query generic parameter changes: sqlx 0.7→0.8 added an Arguments generic to Query<'q, DB, A>.
  • New database types: add decode branches in backend.rs for new type names.

6. Run tests

python -m pytest tests/test_sqlite.py -v

$env:RSQLX_TEST_PG_URL = "postgres://postgres:pass@127.0.0.1:5432/postgres"
python tests/verify_pg.py

$env:RSQLX_TEST_MYSQL_URL = "mysql://root:pass@127.0.0.1:3306/testdb?ssl-mode=disabled"
python tests/verify_mysql.py

7. Do I need to download sqlx source?

Usually no. cargo build fetches and compiles from crates.io automatically — just change the version number.

When you do need the source (debugging type mappings, understanding API changes):

  • It's in the cargo registry cache: ~/.cargo/registry/src/index.crates.io-*/sqlx-<version>/
  • Or clone from GitHub: git clone --branch v0.9.0 https://github.com/launchbadge/sqlx.git

8. Bump rsqlx version

  • sqlx patch (0.8.5 → 0.8.6): rsqlx patch (0.1.0 → 0.1.1)
  • sqlx minor (0.8 → 0.9): rsqlx minor (0.1 → 0.2)

Update version in Cargo.toml and pyproject.toml, then:

git tag v0.2.0
git push origin v0.2.0
# GitHub Actions builds and publishes wheels automatically

Sync Checklist

  • sqlx version updated in Cargo.toml
  • Rust ≥ sqlx new MSRV
  • cargo check passes (feature names, API signatures)
  • tests/test_sqlite.py passes
  • tests/verify_pg.py passes
  • tests/verify_mysql.py passes
  • Type mapping tables (pg_value_to_py / mysql_value_to_py / sqlite_value_to_py in backend.rs) match new sqlx type names
  • rsqlx version bumped in Cargo.toml and pyproject.toml
  • CI Rust version ≥ new MSRV (update dtolnay/rust-toolchain if needed)

Documentation

Document Contents
README.md English: features, install, API reference, migration from pymysql
README_CN.md 中文说明
DEVELOPMENT.md Implementation internals, solved problems, packaging with maturin, PyPI publishing, installation
CHANGELOG.md Version history

For implementation details or to publish a new release, see DEVELOPMENT.md.

Project Structure

rsqlx/
├── Cargo.toml              # Rust dependencies and build config
├── pyproject.toml          # Python package metadata + maturin backend
├── Dockerfile              # Linux build-from-scratch verification
├── README.md               # English (this file)
├── README_CN.md            # 中文说明
├── DEVELOPMENT.md          # Implementation + packaging/publishing guide
├── CHANGELOG.md            # Version history
├── .github/workflows/
│   ├── build.yml           # Three-platform wheel builds + PyPI publish
│   └── tests.yml           # Three-platform functional tests (SQLite + PG + MySQL)
├── src/
│   ├── lib.rs              # Module registration, exceptions, connect()
│   ├── pool.rs             # Pool: CRUD, transactions, migrate, execute_raw
│   ├── transaction.rs      # Transaction: in-tx operations
│   ├── backend.rs          # Unified: param binding, row decoding, batch INSERT
│   ├── params.rs           # Python → Rust PyParam conversion
│   ├── error.rs            # sqlx::Error → Python exception mapping
│   └── runtime.rs          # Global Tokio runtime + GIL release
└── tests/
    ├── test_sqlite.py      # SQLite standalone tests (16)
    ├── verify_pg.py        # PG cross-validation vs psycopg2 (53)
    ├── verify_mysql.py     # MySQL cross-validation vs pymysql (50)
    └── bench_pymysql_vs_rsqlx.py  # Feature coverage + performance benchmark

License

rsqlx is dual-licensed under your choice of either:

You may use, copy, modify, merge, publish, distribute, sublicense and/or sell copies of this software under the terms of either license. You are not required to comply with both — pick whichever fits your situation and any downstream obligations.

MIT Apache-2.0
Type Permissive Permissive
Patent grant No Yes (explicit)
Change-notice Not required Required for modified files
NOTICE preservation Not required Required if a NOTICE file exists

Pick MIT for the simplest terms; pick Apache-2.0 if you want the explicit patent grant.

Copyright (C) rsqlx Contributors. Unless stated otherwise, contributions are dual-licensed under the same terms.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rsqlx-0.9.1.tar.gz (96.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rsqlx-0.9.1-cp313-cp313-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.13Windows x86-64

rsqlx-0.9.1-cp313-cp313-musllinux_1_2_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

rsqlx-0.9.1-cp313-cp313-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

rsqlx-0.9.1-cp313-cp313-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

rsqlx-0.9.1-cp313-cp313-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

rsqlx-0.9.1-cp313-cp313-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rsqlx-0.9.1-cp312-cp312-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.12Windows x86-64

rsqlx-0.9.1-cp312-cp312-musllinux_1_2_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

rsqlx-0.9.1-cp312-cp312-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

rsqlx-0.9.1-cp312-cp312-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

rsqlx-0.9.1-cp312-cp312-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

rsqlx-0.9.1-cp312-cp312-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rsqlx-0.9.1-cp311-cp311-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.11Windows x86-64

rsqlx-0.9.1-cp311-cp311-musllinux_1_2_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

rsqlx-0.9.1-cp311-cp311-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

rsqlx-0.9.1-cp311-cp311-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

rsqlx-0.9.1-cp311-cp311-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

rsqlx-0.9.1-cp311-cp311-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rsqlx-0.9.1-cp310-cp310-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.10Windows x86-64

rsqlx-0.9.1-cp310-cp310-musllinux_1_2_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

rsqlx-0.9.1-cp310-cp310-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

rsqlx-0.9.1-cp310-cp310-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

rsqlx-0.9.1-cp310-cp310-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

rsqlx-0.9.1-cp310-cp310-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

rsqlx-0.9.1-cp39-cp39-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.9Windows x86-64

rsqlx-0.9.1-cp39-cp39-musllinux_1_2_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

rsqlx-0.9.1-cp39-cp39-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

rsqlx-0.9.1-cp39-cp39-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

rsqlx-0.9.1-cp39-cp39-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

rsqlx-0.9.1-cp39-cp39-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file rsqlx-0.9.1.tar.gz.

File metadata

  • Download URL: rsqlx-0.9.1.tar.gz
  • Upload date:
  • Size: 96.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rsqlx-0.9.1.tar.gz
Algorithm Hash digest
SHA256 e31892bd1613b6b5e2c7b7aa1bb8193b4fca2698dcbef1e744cd90fe4b5e6bee
MD5 2c3b72e5c289f7c9aec26f5d2fbf7323
BLAKE2b-256 15746f58bbc89210a474cee3adfdcd82f28ceb12b5cfcb0a0fcdd3868f7e7ee3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1.tar.gz:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rsqlx-0.9.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rsqlx-0.9.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7821ae327c1c9a6495e3a746ee14437edc68c989659603b08d99a95c90412652
MD5 8b611a9a35c9f74cd985328f1ba0fad8
BLAKE2b-256 a22f7ec1d346d039d6e9e10f8667db6fb8c6b9048a20b27135230579f2df4753

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp313-cp313-win_amd64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8c3109f649e6fcd1414b0ddcc1620dae51903a291dc67c53ae19a6018b3b785f
MD5 f5fbd3caf90a2b99f718905fa83693b4
BLAKE2b-256 65264c31437442fc7c6d5fcd9caeb5535e5db08ea4763e4990066ae5c540a8f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b819811aa84ce302a3fbe7a4449903064b16214edb6e6eb35bbb40462ead1f77
MD5 2465c73b8a63be164f5fbe6699357565
BLAKE2b-256 8090572c1d3f76c1511666d26e8cb4b22ba14a0cc86f5a5e96a5e21ae65fbbf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0dc868d0c3db01e1debf067a381bcde3d24cb3e9e83c9f52cf2e9d19d4b902a4
MD5 7abc4d0143938213b44c4719f58d6723
BLAKE2b-256 949839ff78ee4ea7375d916e75f2853335b910c30320b000b0c6e48cb7f81aa1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1a2acf2ed68f0061adf3abe46e81465e2aff701afd5722d3d4d0e64b32cc4e16
MD5 5769a8d24af711c214e2485f833e2952
BLAKE2b-256 7d7cfa9542bb4c317b156487dd1c9927fcebcdf5c106d4028023496360817978

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7a18c4c9a81c08e4207f84bf8b1b824e1beafc4b2aebec1553a4b700df8f673e
MD5 5ec74a85a0d4ff9daa1a32baf7578344
BLAKE2b-256 a301c58666e1a078bfa300c09a431492f32bd614d17286378836d1144b0517d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rsqlx-0.9.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rsqlx-0.9.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dacb2b21d03d9abd32c315f3532fb25177bd9c3640c0eedcba21b1a8933d4bda
MD5 34898a35905ea7c5c58603b45d9d7707
BLAKE2b-256 5b97c7701bba900b5791f89fcf84a2eb347b37365d6eb1b989bb1947365578ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp312-cp312-win_amd64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 16baa8e1f15871ab1daa282edaeb7404748d8ec0653f04f78dea113d122f4027
MD5 a0645273b6db0fb2195af6f158f2325e
BLAKE2b-256 315e0119344bbf236be2eaeb15191bce1d61b7ce4e32d1b8dd59cfad587bfcd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0877fe5158b292aa1dc06b7397789f146186568d3b387345128dc598fec6a46a
MD5 4552eac46c6efe9c6902511ba354c29a
BLAKE2b-256 27aa753883f13ed3e9a53a34d867b647b370a711b8f912938d64d8d4fbfbca61

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b3260695308d955982c0ac3759860227ebb5a111ee149c2138eb492ec5667426
MD5 e97f9c47fd4a4ae585b0461f04f3ad37
BLAKE2b-256 8a9990fe713089bdb880544ad76645afc721ab9381a9b3e2fe20b0985e0bd7c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8c026f109fd9ff071edb5515830bd26f55fd421e78d96b9f60f346db9472cc72
MD5 bae28a680b182063d8b512f16901f12e
BLAKE2b-256 189f7a8ba580c5d0c79f2e7fcd34d8259a313eec46c7fe0fe94dbba21c63e9b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d22ad25e3552241a44c9237eb7a4fa54b5e91067c1f16e3e599685345de1f55
MD5 1a70f36ddd3c9d7d277b9d7f75223807
BLAKE2b-256 e8d5669f38b2c68654786dd15f9c9ddd2c603978cf5eb53c4714006e20f10f5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rsqlx-0.9.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rsqlx-0.9.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4a276e522a5f68ac61253a9f8f3f260b12b320279cabb53bfd007c63c2866bc1
MD5 1b7bf734b37f762344f60d2ee69617b2
BLAKE2b-256 2c9add61136ff1dda26323ed8ab9c590b2a13061cc8a5c02ee375b769f4e6efa

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp311-cp311-win_amd64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 34e4ad1038d45db13bd44aff6bfd65ab0bcc3dad766d86a24c5d31ef7515d56c
MD5 a23769a2fe1cdc2a0db47acb6ff5bdc0
BLAKE2b-256 e5901b11c5e2aba8db0afb3fcb553bb7f3b701e387b50aa8a7fead3011232d33

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dd15a11048d8cf0d0aa415543a4592f6a03baf0c139a5e7a02b4ba220bb839b3
MD5 4ba231cb118124f229331867fc4b0f06
BLAKE2b-256 39b024ab7a3597346ade6e44100543912a759ca73ba72b5847b26b5e03e0908d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1a0487dcfedd2107269d0875d48c61f05bd4cf5167771399c3220933d975b2bf
MD5 8da7dfdd49f7e768970f26088556a006
BLAKE2b-256 8ea53befee834b2b39c2b9b2d7002afe16656d2ab30b06e85b81988de10e53f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8b85c37905f22482fd5644473435bbd93f32b74e2a6ed8a83f2c2f9e17c1ee98
MD5 7135e937956c20d31f3d320b9cd4e714
BLAKE2b-256 a939b2b9ecb72721fcf08087bca304b2460836e75dbfc04ee6915806a6f9223f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 866babb1da17ab26b79ccd27090fdb9dff779751f6ee3f2f0b920409dc456b47
MD5 efc7773201636209390c5f4e90b7f0bc
BLAKE2b-256 0139a93a662fd065abf17129ab1991dfd7ad92055da2cfa95aff95d97bc55ba9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rsqlx-0.9.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rsqlx-0.9.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 16067077ae9ab2e38565d6934b240d5b7efce2082191c64821ca653315ed3c6d
MD5 b035f8612518be0989034101faddbd1c
BLAKE2b-256 f0e4d1f918e2acb9eb679ab035e39c3f14fce3c757c24480699bfb6b5ee1641e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp310-cp310-win_amd64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6f5d63b6c8d3c1d78324122744bcda6af5f2ebabb6fb76311310ffe5fb086cca
MD5 ad3c1c337987ace1996ae9a440616563
BLAKE2b-256 1ca80666c7b617359d2a4af30f7bee8f982e45557314f9735db5b864ebc0b697

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8a29890fcf076fd283ed2898071dd72c9cd1eec32749abfc2630f248a4dceeb1
MD5 c7ef6d8d12cdad516ead908f3e178858
BLAKE2b-256 934556a8692aa89a19fcf8822dd9f8fc030646cbd8953f2312d6bf6b0ac0f52b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 13f3b9e36a93b1846488a859a6fbc1aa2f3283dafe88940f7cfc87e251af0e1a
MD5 a179ff4aba7858ffe32fd563f7dbff5a
BLAKE2b-256 3937d0082ca014987059502d8d59d3fd31fa9023669fae75ccb1c007db815558

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 068ea1d03e8aaa17e3eb40948f14974a2dd3ba24b3d419476535e3a3f5e6e99b
MD5 8cd123e82bcba239446475e1aa190ecb
BLAKE2b-256 9560e9c31bfa063cf4c1df04677087e57bd7c2cd20bf57a8c9cdd7c462f65102

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 794df6eb0cd4a320f7b377f088c062743a062365e9dfd58100d27297fd50ce14
MD5 b4cd81c30284606f2cd462dc7fcded00
BLAKE2b-256 a98e4296cc8135df54ba8352654cec693e309f7ce6a43b5868887ad5413c6ff9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: rsqlx-0.9.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rsqlx-0.9.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4d2809bb38d55dcae907d995734726eaf93276f98e2fc142ecfc456bbc99062c
MD5 299c3732c79075f4006710182c7f758c
BLAKE2b-256 1698356020185fb468564340cca808f39426f844896742cbf8b7d18d72f86781

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp39-cp39-win_amd64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 76d5c80cc8d74df6d7e5f35eb5194d545357273107b87d7c7873c4db621595b6
MD5 20d2b8fba13b2783d263051bcbefc9b4
BLAKE2b-256 eb0d437f9c61775aaf3204b4c3a46a1ff348f0692af77fc88a1326f8a4e7f4fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0305d728c0a198afe1cdd16a5a1bc540ed29b9008b658f25914f3aa8ef763d54
MD5 de342cce2423852426ca6e727f034954
BLAKE2b-256 5b90556704a122ad5bcb0bb735f5590ef4455d744c6a667825b360039025c7f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d09bf61b23262dee0f4c963428334346f9874d1bde3edb2c3ba06cb7a057ac87
MD5 9f7578eb863c35aeae25995d4fcbf744
BLAKE2b-256 fbea6f69464c29141a7e2e5913855f07408a028bdfe58d1867f3054d75bec07e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5bbd846b49e63dc442dd2e63031f3c89aa684d17d89e4fd3652beda3dc10ac19
MD5 2e3f7ae4d9a9d4368ffc82580e368ada
BLAKE2b-256 87bfb1fadf7e8a200d9fc81ad1b378d59419ad6651f088540ed8a60f1cccea03

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp39-cp39-manylinux_2_28_aarch64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rsqlx-0.9.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rsqlx-0.9.1-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rsqlx-0.9.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 095267765b92d16db0591b9cd9a09f93b598ce5bb1cfd0ea7669dab890c35cc1
MD5 8491555f6f0b2cc7bb204488fc4d1ee4
BLAKE2b-256 ea1f26e561a60164297a05e3601e67b3ab8df0d046ce9c9927ba0d29378eab55

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: build.yml on likangcai/rsqlx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.9.1 This release

31 files

0.9.0

24 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