Skip to main content

A high-performance async Python library for Microsoft SQL Server built on Rust for heavy workloads and low latency.

Project description

FastMSSQL ⚡

FastMSSQL is an async Python library for Microsoft SQL Server (MSSQL), built in Rust. Unlike pyodbc or pymssql, it uses a native SQL Server client—no ODBC required—simplifying installation on Windows, macOS, and Linux. Great for data ingestion, bulk inserts, and large-scale query workloads.

Python Versions Python 3.14 Experimental

License

Unit Tests

Latest Release

Platform

Rust Backend

Features

  • High performance: optimized for very high RPS and low overhead
  • Rust core: memory‑safe and reliable, tuned Tokio runtime
  • No ODBC: native SQL Server client, no external drivers needed
  • Connection pooling: bb8‑based, smart defaults (default max_size=10, min_idle=2)
  • Async first: clean async/await API with async with context managers
  • Strong typing: fast conversions for common SQL Server types
  • Thread‑safe: safe to use in concurrent apps
  • Cross‑platform: Windows, macOS, Linux
  • Batch operations: high-performance bulk inserts and batch query execution

Key API methods

Core methods for individual operations:

  • query() — SELECT statements that return rows
  • execute() — INSERT/UPDATE/DELETE/DDL that return affected row count
# Use query() for SELECT statements
result = await conn.query("SELECT * FROM users WHERE age > @P1", [25])
rows = result.rows()

# Use execute() for data modification
affected = await conn.execute("INSERT INTO users (name) VALUES (@P1)", ["John"])

Installation

From PyPI (recommended)

pip install fastmssql

Prerequisites

  • Python 3.9 to 3.14
  • Microsoft SQL Server (any recent version)

From source (development)

git clone <your-repo-url>
cd pymssql-rs
./setup.sh

Quick start

Basic async usage

import asyncio
from fastmssql import Connection

async def main():
    conn_str = "Server=localhost;Database=master;User Id=myuser;Password=mypass"
    async with Connection(conn_str) as conn:
        # SELECT: use query() -> rows()
        result = await conn.query("SELECT @@VERSION as version")
        for row in result.rows():
            print(row['version'])

        # Pool statistics (tuple: connected, connections, idle, max_size, min_idle)
        connected, connections, idle, max_size, min_idle = await conn.pool_stats()
        print(f"Pool: connected={connected}, size={connections}/{max_size}, idle={idle}, min_idle={min_idle}")

asyncio.run(main())

Explicit Connection Management

When not utilizing Python's context manager (async with), FastMssql uses lazy connection initialization:
if you call query() or execute() on a new Connection, the underlying pool is created if not already present.

For more control, you can explicitly connect and disconnect:

import asyncio
from fastmssql import Connection

async def main():
    conn_str = "Server=localhost;Database=master;User Id=myuser;Password=mypass"
    conn = Connection(conn_str)

    # Explicitly connect
    await conn.connect()
    assert await conn.is_connected()

    # Run queries
    result = await conn.query("SELECT 42 as answer")
    print(result.rows()[0]["answer"])  # -> 42

    # Explicitly disconnect
    await conn.disconnect()
    assert not await conn.is_connected()
    
asyncio.run(main())

Usage

Connection options

You can connect either with a connection string or individual parameters.

  1. Connection string
import asyncio
from fastmssql import Connection

async def main():
    conn_str = "Server=localhost;Database=master;User Id=myuser;Password=mypass"
    async with Connection(connection_string=conn_str) as conn:
        rows = (await conn.query("SELECT DB_NAME() as db")).rows()
        print(rows[0]['db'])

asyncio.run(main())
  1. Individual parameters
import asyncio
from fastmssql import Connection

async def main():
    async with Connection(
        server="localhost",
        database="master",
        username="myuser",
        password="mypassword"
    ) as conn:
        rows = (await conn.query("SELECT SUSER_SID() as sid")).rows()
        print(rows[0]['sid'])

asyncio.run(main())

Note: Windows authentication (Trusted Connection) is currently not supported. Use SQL authentication (username/password).

Working with data

import asyncio
from fastmssql import Connection

async def main():
    async with Connection("Server=.;Database=MyDB;User Id=sa;Password=StrongPwd;") as conn:
        # SELECT (returns rows)
        users = (await conn.query(
            "SELECT id, name, email FROM users WHERE active = 1"
        )).rows()
        for u in users:
            print(f"User {u['id']}: {u['name']} ({u['email']})")

        # INSERT / UPDATE / DELETE (returns affected row count)
        inserted = await conn.execute(
            "INSERT INTO users (name, email) VALUES (@P1, @P2)",
            ["Jane", "jane@example.com"],
        )
        print(f"Inserted {inserted} row(s)")

        updated = await conn.execute(
            "UPDATE users SET last_login = GETDATE() WHERE id = @P1",
            [123],
        )
        print(f"Updated {updated} row(s)")

asyncio.run(main())

Parameters use positional placeholders: @P1, @P2, ... Provide values as a list in the same order.

Batch operations

For high-throughput scenarios, use batch methods to reduce network round-trips:

import asyncio
from fastmssql import Connection

async def main():
    async with Connection("Server=.;Database=MyDB;User Id=sa;Password=StrongPwd;") as conn:
        # Bulk insert for fast data loading
        columns = ["name", "email", "age"]
        data_rows = [
            ["Alice Johnson", "alice@example.com", 28],
            ["Bob Smith", "bob@example.com", 32],
            ["Carol Davis", "carol@example.com", 25]
        ]
        
        rows_inserted = await conn.bulk_insert("users", columns, data_rows)
        print(f"Bulk inserted {rows_inserted} rows")
        
        # Batch queries for multiple SELECT operations
        queries = [
            ("SELECT COUNT(*) as total FROM users WHERE age > @P1", [25]),
            ("SELECT AVG(age) as avg_age FROM users", None),
            ("SELECT name FROM users WHERE email LIKE @P1", ["%@example.com"])
        ]
        
        results = await conn.query_batch(queries)
        print(f"Total users over 25: {results[0].rows()[0]['total']}")
        print(f"Average age: {results[1].rows()[0]['avg_age']:.1f}")
        print(f"Example.com users: {len(results[2].rows())}")
        
        # Batch commands for multiple operations
        commands = [
            ("UPDATE users SET last_login = GETDATE() WHERE name = @P1", ["Alice Johnson"]),
            ("INSERT INTO user_logs (action, user_name) VALUES (@P1, @P2)", ["login", "Alice Johnson"])
        ]
        
        affected_counts = await conn.execute_batch(commands)
        print(f"Updated {affected_counts[0]} users, inserted {affected_counts[1]} logs")

asyncio.run(main())

Connection strings

# SQL Server Authentication
conn_str = "Server=localhost;Database=MyDB;User Id=sa;Password=MyPassword"

# With specific port
conn_str = "Server=localhost,1433;Database=MyDB;User Id=myuser;Password=mypass"

# Azure SQL Database (encryption recommended)
conn_str = "Server=tcp:myserver.database.windows.net,1433;Database=MyDB;User Id=myuser;Password=mypass;Encrypt=true"

Connection pooling

Tune the pool to fit your workload. Constructor signature:

from fastmssql import PoolConfig

# PoolConfig(max_size=10, min_idle=2, max_lifetime_secs=None, idle_timeout_secs=None, connection_timeout_secs=30)
config = PoolConfig(
    max_size=20,              # max connections in pool
    min_idle=5,               # keep at least this many idle
    max_lifetime_secs=3600,   # recycle connections after 1h
    idle_timeout_secs=600,    # close idle connections after 10m
    connection_timeout_secs=30
)

Presets:

high  = PoolConfig.high_throughput()         # ~ max_size=50,  min_idle=15
low   = PoolConfig.low_resource()            # ~ max_size=3,   min_idle=1
dev   = PoolConfig.development()             # ~ max_size=5,   min_idle=1
maxp  = PoolConfig.maximum_performance()     # ~ max_size=100, min_idle=30
ultra = PoolConfig.ultra_high_concurrency()  # ~ max_size=200, min_idle=50

Apply to a connection:

async with Connection(conn_str, pool_config=high) as conn:
    rows = (await conn.query("SELECT 1 AS ok")).rows()

Default pool (if omitted): max_size=10, min_idle=2.

SSL/TLS

from fastmssql import SslConfig, EncryptionLevel, Connection

ssl = SslConfig(
    encryption_level=EncryptionLevel.REQUIRED,  # or "Required"
    trust_server_certificate=False,
)

async with Connection(conn_str, ssl_config=ssl) as conn:
    ...

Helpers:

  • SslConfig.development() – encrypt, trust all (dev only)
  • SslConfig.with_ca_certificate(path) – use custom CA
  • SslConfig.login_only() / SslConfig.disabled() – legacy modes

Performance tips

For maximum throughput in highly concurrent scenarios, use multiple Connection instances (each with its own pool) and batch your work:

import asyncio
from fastmssql import Connection, PoolConfig

async def worker(conn_str, cfg):
    async with Connection(conn_str, pool_config=cfg) as conn:
        for _ in range(1000):
            _ = (await conn.query("SELECT 1 as v")).rows()

async def main():
    conn_str = "Server=.;Database=master;User Id=sa;Password=StrongPwd;"
    cfg = PoolConfig.high_throughput()
    await asyncio.gather(*[asyncio.create_task(worker(conn_str, cfg)) for _ in range(32)])

asyncio.run(main())

Examples & benchmarks

  • Examples: examples/comprehensive_example.py
  • Benchmarks: benchmarks/ (MIT licensed)

Troubleshooting

  • Import/build: ensure Rust toolchain and maturin are installed if building from source
  • Connection: verify connection string; Windows auth not supported
  • Timeouts: increase pool size or tune connection_timeout_secs
  • Parameters: use @P1, @P2, ... and pass a list of values

Contributing

Contributions are welcome. Please open an issue or PR.

License

FastMSSQL is dual‑licensed:

  • GPL‑3.0 (for open source projects)
  • Commercial (for proprietary use). Contact: riverb514@gmail.com

See the LICENSE file for details.

Examples and Benchmarks

  • examples/ and benchmarks/ are under the MIT License. See files in licenses/.

Third‑party attributions

Built on excellent open source projects: Tiberius, PyO3, pyo3‑asyncio, bb8, tokio, serde, pytest, maturin, and more. See licenses/NOTICE.txt for the full list. The full texts of Apache‑2.0 and MIT are in licenses/.

Acknowledgments

Thanks to the maintainers of Tiberius, PyO3, pyo3‑asyncio, Tokio, pytest, maturin, and the broader open source community.

Project details


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.

fastmssql-0.3.8-cp314-cp314-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.14Windows x86-64

fastmssql-0.3.8-cp314-cp314-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

fastmssql-0.3.8-cp314-cp314-manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

fastmssql-0.3.8-cp314-cp314-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

fastmssql-0.3.8-cp314-cp314-macosx_10_13_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

fastmssql-0.3.8-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

fastmssql-0.3.8-cp313-cp313-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

fastmssql-0.3.8-cp313-cp313-manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

fastmssql-0.3.8-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastmssql-0.3.8-cp313-cp313-macosx_10_13_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastmssql-0.3.8-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

fastmssql-0.3.8-cp312-cp312-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

fastmssql-0.3.8-cp312-cp312-manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

fastmssql-0.3.8-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastmssql-0.3.8-cp312-cp312-macosx_10_13_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastmssql-0.3.8-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

fastmssql-0.3.8-cp311-cp311-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

fastmssql-0.3.8-cp311-cp311-manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

fastmssql-0.3.8-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastmssql-0.3.8-cp311-cp311-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

fastmssql-0.3.8-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

fastmssql-0.3.8-cp310-cp310-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

fastmssql-0.3.8-cp310-cp310-manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

fastmssql-0.3.8-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastmssql-0.3.8-cp310-cp310-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

fastmssql-0.3.8-cp39-cp39-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9Windows x86-64

fastmssql-0.3.8-cp39-cp39-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

fastmssql-0.3.8-cp39-cp39-manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

fastmssql-0.3.8-cp39-cp39-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fastmssql-0.3.8-cp39-cp39-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file fastmssql-0.3.8-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: fastmssql-0.3.8-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastmssql-0.3.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d5806d23ea6437c7213b185c80e1036c58c52e6857ab1b9585bcd788d55402e9
MD5 d8073e9e56e880c1152a6533b3d78d4f
BLAKE2b-256 9ef34be94d09021adc1bf6ba3ed2cb232cfa544c9ff4f5da8e18e381946e3eb3

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8f86e86ce27b304a0e3ad908a50a02b214e34b7c05bcf78d128e329eea12679d
MD5 07bc1e4484699fd1b0f3d8ba0bc62e7c
BLAKE2b-256 79a583b2b28c0bef7ef8a0e510e996812c5d5856390f5451ef529c1b8b2d86ac

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 37b83e62f78245ca35bd377bfb8d67d21fc167ae005ba639ec6a946aa214fabb
MD5 c1bc2b66867023e851d1428797ff9cfd
BLAKE2b-256 76436971116b35bb4339b977b201ff78cd5c9417029b673cfd7851894243a31d

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7dda0e5bd6997247963245449c3c24175f0fce9992b3f51f9fcb6a73200f9971
MD5 dead79c0c07d9ebd8d3c433cb1907313
BLAKE2b-256 f9996b655f1e0eac8b19c2bf8ecc06bf177b5a85114c4b540dd81b45ef9cd969

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp314-cp314-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3c49d3c50102d768a7f231623807bcb7d4fff8ebb6f0cb32fc0f3f6848fb1b38
MD5 a5c89c945b5dd252a8567b1b9358e6c7
BLAKE2b-256 71c968d832ab9b8682ed852452bc15f47b5cd889274f8576eecd2459fe32aaf8

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: fastmssql-0.3.8-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastmssql-0.3.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b48f9e59c45933b28f58a7cb9e4bcdf5bfce945c11300e459bce3e0e8079f9ff
MD5 2ec2d02bbaeaaff27205a6a0011e4579
BLAKE2b-256 395de4bf2e4b47da657ef7d602bf96a5465a05b95da8644809624be944cd425f

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be6f8b7f6de410078b3d1c752565c999820a31095f5c6828f7abf4cdcc8d76e2
MD5 c4da0011ad68e8117303bbd8b0cc6afc
BLAKE2b-256 f7e8d0bc881f8dec6c43994ef10158b17b7512b4e4f1a3e4f936a649afe47f13

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0a332c6b973150ebea3a38dead514b7be131db1ac68e30a15a0f0f02086f285c
MD5 dda8c4253002bd4255746c8e85bed2cc
BLAKE2b-256 39d47079546f6795f22ab9f0bb4f1e266c4f1990e492be3f416ff6e1c281545f

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0cfa271482e110d99a9c6d149569dc4e1810b7cb0bb3672aa1ed5f7293912ebe
MD5 174a087dbbc5e34805bfc30bca2e3ea6
BLAKE2b-256 62f45ce545136174e4b1025fd1397f5ccc7c36b4981f1434339ca0e688b7397b

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9970e9a73d7483480ad122cca5139170df91ea683c7fc12044449ca77c294979
MD5 08da330977ddd038cd20bbc48ed6e468
BLAKE2b-256 835b43093e4a52ab879f03cf4a0ffd119a4c84d9685a1fc5e26fd97e6580cab3

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fastmssql-0.3.8-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastmssql-0.3.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5ccfc16b8bd1db9f534321b4cdf88f8fed98e847ffcd629721f985799a2d3398
MD5 dba0d486c1908c0220eadc92febd2898
BLAKE2b-256 95b5b953b10a76b25581dd0c6ea8d945696eb7c0696328eecb64916a1c2bdb01

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 467df2a77308fc758662384a9b2d12ba4ffdf4853f1a58e8ff57cc7765a720bd
MD5 e3558f53ad49b046869c73685cf959bc
BLAKE2b-256 83a92632ee3d1bd5b80df8efd0369b5ad55948ac7b548f425d8f29e45530719c

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bfb0dfc2e1d39045e80b4c452ceb2308f71895b710c0fb07d73f87dcfea9e306
MD5 b2fe3b8081fcdb5510a2ec11148d9c75
BLAKE2b-256 3f87335b41fe88b69136326a6996225d3e38e19ba7fe24a30f15a413431f537b

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f4a84cbb203d48d2988b9552235e2cb940aa3dfc8b07011ddc497fa507c705b
MD5 45acea4d4c42ed1e925507541c65d012
BLAKE2b-256 973b34cb3c1cd86ae5a1406da04045455193349df2f35a1f8068c05c252110e3

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6018ba8ab4b56036e9afd4c4729a3d35fe4fee32d539ec9cacfd179143ad1acb
MD5 c4fa57fb3a71eb36383b398dd3f571a9
BLAKE2b-256 b14b546af2cacf620575899fc255b439f3213dd9d966c5c075422b7bf6170646

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: fastmssql-0.3.8-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastmssql-0.3.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 53fed473599f03efcbf709fbb74966dde958f6f7759553c630c0ec590595bb2b
MD5 3b5152660fcaf0d36fa4161234a9abc5
BLAKE2b-256 9cbc3109a6d1d68f91fccc9c5c2f81009634030cf55a23c5f8af1519d13b58fa

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6d47344257b59467bf2d1be914359f6e194fe5ee18b1b09e56f4697dd9c7bcc3
MD5 5595de1921a812e7de28482dc5640617
BLAKE2b-256 3d0e6ad9cc366e62c4ea0733fecc4bf74a9fefe0455643eda7a7a064ca49daaf

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6edc979a2ca9e1a894644acc6d0d38960c2efcb5334e244dc387aa6f88a3bedf
MD5 8c526b91c65fa3baf9d45f2e478b60e6
BLAKE2b-256 3d6a952fe40a40af29092acaba00369b2fc617e9d1e64f3b10b2271e5b19bd3b

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94403702abfcd4c8eaaacc5d1c3accd362f712178e68e527bc29cf528f7d9330
MD5 3ca52b86da051e5af3baf9080f8f1f17
BLAKE2b-256 058ea3c71b575d7f3d4d2a68e98d3b168d19f3cd7c94e97cbcc5445aee60f395

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4197a1b857314f1f30294bc57d9aa7dd9804735524682847b679dd37bd81c785
MD5 13441b47f6ee69881b99b3a9e3acce0b
BLAKE2b-256 bbf999eb6869778d1c3a87f6dca930d73f39646af681e27b6dba3102e4d82df8

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fastmssql-0.3.8-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastmssql-0.3.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 68eaebb96007327788da1d759a1453455f0b9c9873d7ef410f49275e4092a3c4
MD5 33ac61ecd253fb827c47c747b9481e11
BLAKE2b-256 743623cd30cb5f9de72a80960688201f1cf96c1de6345fce2c05ba6daa05fe14

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a67c1accae61be08c1174689df830fc2cf407b66b8dd86133017c487552c875
MD5 ba25c8d877e731ea02f004324a5adae9
BLAKE2b-256 4e72226b625771cdf5c0c7494c8a7e8d75af5199d2170f08705cc7577f112bf9

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 494e024b789535db6c918f1456fe97d658d9b5304604acf2f1f722c7fbf90d58
MD5 99d8415f2df8976accfe8e7bae24edca
BLAKE2b-256 2805763bcea29b43e189e3280879ba3140a9535a5004afed52c5cd659d306eaa

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f119c3bcb45ab54aa626a7beaf02aea8b5bd0b50806f0288d853c6abbd4d5028
MD5 b8f864fcf64e7927e114c7b3ca7b5ced
BLAKE2b-256 486e3b8431bdead82a2f329cc87e77d177ce1e1d02718c478cb9e77843a8aad2

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a8380d2fd6653d5f019bcfdcef83665761177dd1a9ccbbfba96f42531f45c692
MD5 7a2fcae64a8f24e2d176e6a00633b7fa
BLAKE2b-256 1342cc1e07b6423d78fe6c0b9eeaa5bea1af306139f4fbd0733a45e162f2c676

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fastmssql-0.3.8-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastmssql-0.3.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1ca611bd85b85869a937652d140ec189bb9d3026263495a4373d1350fe595844
MD5 2a7f22b0b29823e009f80dfbc301b97a
BLAKE2b-256 7dcb84119d0ac1f0f1faf65dc5aa7c962863fde0a4663763a8a4af063c0441c6

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a1034fc5eec58ea2cf9eeb901e3d1ded8ef4768aee1ae69456fba5a1c0e664c
MD5 81fb53470596a1caea8e1bf08383c34c
BLAKE2b-256 ac53bede7ae235d8a77e1ee8d6ac91c5f99b157ebccf1ba0e788e8e6f7e10e85

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d9e294b0e46f4c2494f0fdb9bcac096958ea3ef6a7cf0916028c5c405b7f789b
MD5 d5294ed935237ed6da894678a4c10948
BLAKE2b-256 7836cd75f7243647d67be12660741c1d93590488c760ded1bdd9f6348514f234

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 54564f79d178e99d5502a92465555fb90bf77227e8f6f62aeeadfba5169cc02b
MD5 38e68e2302493c65e5e00cf8c0726bce
BLAKE2b-256 11073421a9187b718717d3443ff6937c7bd341198c80893c6dab94d8a394d27e

See more details on using hashes here.

File details

Details for the file fastmssql-0.3.8-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fastmssql-0.3.8-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8978bdc5cecbe9c88f029389311ae36836e13d723fcd0a6443de601d44766461
MD5 7f2e30b33af719738faa539c15effab8
BLAKE2b-256 2cded226da94bdf9a8488d4b5c9ca37a7ce4d1c053f6fd365f61b9a40980f214

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page