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) 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

rsqlx-0.9.0-cp313-cp313-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.13Windows x86-64

rsqlx-0.9.0-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.0-cp313-cp313-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

rsqlx-0.9.0-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.0-cp313-cp313-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

rsqlx-0.9.0-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.0-cp312-cp312-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

rsqlx-0.9.0-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.0-cp312-cp312-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

rsqlx-0.9.0-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.0-cp311-cp311-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

rsqlx-0.9.0-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.0-cp311-cp311-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

rsqlx-0.9.0-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.0-cp310-cp310-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

rsqlx-0.9.0-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.0-cp310-cp310-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: rsqlx-0.9.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for rsqlx-0.9.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 540a56afbed1398ef4b2c52ea08bfb90c96f6bc9cd49e8905e4593ebb98067ce
MD5 d42ef78fa552bffee27699dca0049348
BLAKE2b-256 4a04d76601f03a1d65df263af911887547d94a03d8418f5bcf4d751fe33e31d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0f2e60a98a6a34e194e2861d32b141406232705cc84dd64cacba8cc68db1baf2
MD5 2011dc59a7b04baf89a2051e94b349a8
BLAKE2b-256 dd966722d010ab316b9542b038762791700d4e68a283bf95985a50bf0122574f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 274b5382b773f50b7fd1478a7aab3f6f6c1d4da60abbe06cb2bbeaad3b29b320
MD5 090a08ee3ff30368bfe7f5a357bb69b3
BLAKE2b-256 85a1f721a9c8fbf9810f214d85f4eccc23225301c066174c9239812475ea3912

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf87ab9325490c3e660bb51a456738a680e70a0e6b86881a0421416d03681cee
MD5 e731f82b79dac614aae0fa02b1565316
BLAKE2b-256 2648544f461879bda5d7c48f3a23b825f9dace5197f2533866946b410d8ef0c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 053f28b1a42a6de3359c83efe6cd64a1483dc6bd1515a320ff5bfc72fbbc9b53
MD5 26cbd5a128f076d9e255f759e54197cf
BLAKE2b-256 e1b54ef58e0d8e9fd1bc55bec0e388ddab551eb12f68ce31fa4e36c7af293247

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1937d3de279b09c1c5d11082b43397fb078c6db03202519476d1c797af5d1c42
MD5 d622e42306261aa8f1062b2e8b1208fc
BLAKE2b-256 2113be785d37e615e880a9818359adc5349d72a2ebac7377174169b8f529af85

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rsqlx-0.9.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f7ebf482df352ad5802647f01d5a3022423bad222a7343de991c04dd6c7f48a4
MD5 593c13da89565f06f708b19c265758d0
BLAKE2b-256 b60289d52c062180b34fe583fbcedd1ffbc28023e1c6a27a796c6ca08f8f5f32

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 529c517e05da5542eefdb66f8e5aa1cf8f2e5bed4ed452912a64ff5d2376ca62
MD5 dda16dd7c15cfb0fb954d5c9bc0d18e7
BLAKE2b-256 fa8ad1403ad6f356a557f539a8f1861fd6110ce29686630537b8e819c1f4a9a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6c0946e288254bfa5281fe1fc32f473ea0d560edc3a5e6e396c7098585344907
MD5 e248b920af13e85be3b0f530daa77386
BLAKE2b-256 79a6a8aa4f2658f8b58b42f9a263c57d3931a05d7a2bb60aff07ef0e8e8b07f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0e280e49a07c05305f727dbf0abac4a9c9550f07cf12e8b6301ca60598cd47ed
MD5 796a52468aa46c9eaa676aab27a820d6
BLAKE2b-256 f240bd571b1cc979d721a5369f00d9f52493def772720e4efa7f99f97144aa42

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 96caba3b7b72fb733d7e383672a298652e1de57923a83dcf13879f69c1e3e0f0
MD5 d0857332a977c7a9bcd5fe0abeea5331
BLAKE2b-256 4d0546ff92087c9bdb0d59105bc99d3599457bb94e49e94f983d5b9c99451482

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 306fe4f749c5d5c752949607b3defc08f3338dfa990dcda21d9dee88a75f2516
MD5 32650a9864011e17e522085dbbc7d689
BLAKE2b-256 2b4821f6bac66f2221c18aad58291c6002e8c8d280c4b49de2b3ac69469bdc86

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rsqlx-0.9.0-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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c44cca0648ec045b10ad0febab21dc7fef9a8ecf23b20c2a7c5a270f6fa24973
MD5 bd1ad7c877ac2188eb6f9442d5d15975
BLAKE2b-256 91f207ed5791643c84398d2f611816f5252683b9b75d422e3cddcb8f5c60b6b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 25ca9952c77c5555a994fe9c5f8978be95fae9be821fcfbfe7235c1874e4a9be
MD5 b76a78ca0e1eebacfa3069853f2bafd4
BLAKE2b-256 411363c07cbb54dbdd212ded9d4635767581e810d5ec547e090077588b9c8b8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5d225672d06f51b3b10c483ee01dc21b92673a830b29e4274d643512b8addd33
MD5 dd8c9c192257982555069cec1d6119ff
BLAKE2b-256 5373c5bf0a0cc980240248cacf4c98de5ca6abf8416f4b86cb2e004d5935f8ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6be92fe443d89992d8cab69c5b1bd12fe0fbb2dcbbc4290965c034fb09aa8395
MD5 1c2880a67d48eb510771cc935006ebbd
BLAKE2b-256 051f09e617eeedd7f190dc5e2217315ad3b8d11863557b656aa830855abf1c3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 26206fe5086d22c43d1f6bdfe68293b705ce7c5d9988d19d0da6786dc27648c7
MD5 d5ac5cba888077ff0ca01fd67a6f4afe
BLAKE2b-256 2260bbd1199ade01455fb850c1d7a9f515a3460c08712070649bb40fe569b9ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c836169d0b65b4560fa525830a9e7ae247e3283c9a24b0d359914994c984317
MD5 90c1376d04f2ee00fa4f01933062e8d4
BLAKE2b-256 c180e5fa444474af610388c2968fe41c3a6f8bdc8ff7db16497219ef28c2cd22

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rsqlx-0.9.0-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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 49a496d81715394002c9acb217f3313a10b37bd476adb0094b42dc074844877b
MD5 86bcbead12f583208ddb91ab85112675
BLAKE2b-256 15ded19ef77f5a133e1957c6b0d836f120701704d9ef549c061949c8906740be

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 65eac916f4b0aa99055c8b802657aa71fa1a1f086bc5a1f6d78303fd6c23bb72
MD5 6d78281c17d0bc27fb6adfe723636069
BLAKE2b-256 687b9f8bd00e807c3c1bf989eff314718556fcc513855ce6b5db50fc6ce3cdbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e8fd1c2a40e667f05d84fdac7b079f48d9d4ce3122365de9b6efefb5034f0ea2
MD5 7d1060e06ec430103d096e39601cc978
BLAKE2b-256 e8620f582ec297d7cad059adf846cb2c7efffd72aecf6e0d29ed2eb42be44566

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e933d476991ebffe34aa8af9b9fb8bdeade049f9282ce30252d08f627a57e879
MD5 6125bd11bda6ba336a81d7588ed30f6b
BLAKE2b-256 6d184700938287f6faa3a22a96c4defd623a3317b5739e809a8fdf5ac1666cf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3249d4af34cd77d6abbd0379709c7730b439297ce3cc1d5fe11e604a7c347c64
MD5 6fcb4187bdf6a83f4f79d49e542f6ede
BLAKE2b-256 dfbf8d62a2f12cfbf0056b38dd4054e350173fec2e013246dcbab3ffd0a8f8bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rsqlx-0.9.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30fae21cb581cd19897d6713a42c886555d3d0a7002cee28f95cae8d5649b962
MD5 b331afb604db45ed67cf0034b9b748b4
BLAKE2b-256 e62ac07c101938e4ebbd7dac69bbc0db5824e7d71c1ad347881e5fd915303bb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rsqlx-0.9.0-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.

Release history Release notifications | RSS feed

0.9.1

31 files

This release

0.9.0 This release

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