k-cTDS is a full Python DB API-2.0-compliant SQL Server database library for Linux, Windows, and Mac OS X supporting Python 3.
k-cTDS is a maintained fork of cTDS, originally developed by Zillow.
The full documentation for k-cTDS can be found here.
Features
Supports Microsoft SQL Server 2008 and up.
Complete DB API-2.0 support.
Python 3.9-3.14 support.
Bulk insert (bcp) support.
Written entirely in C.
Pre-built wheels with bundled FreeTDS and OpenSSL for Linux, macOS, and Windows.
TLS/SSL support out of the box (OpenSSL 3.0).
Installation
Install from PyPI using pip. Pre-built wheels are available for Linux (x86_64, aarch64), macOS (x86_64, arm64), and Windows (AMD64):
pip install k-ctds
That’s it — the wheels bundle FreeTDS and OpenSSL so there is nothing else to install. TLS/SSL connections to SQL Server (including Azure SQL) work out of the box.
Using a Custom FreeTDS
If you need to link against your own build of FreeTDS (for example, to use a newer version or one compiled with different options), install from source:
pip install k-ctds --no-binary k-ctds
Point the build at your FreeTDS installation using environment variables:
export CTDS_INCLUDE_DIRS=/path/to/freetds/include
export CTDS_LIBRARY_DIRS=/path/to/freetds/lib
export CTDS_RUNTIME_LIBRARY_DIRS=/path/to/freetds/lib
pip install k-ctds --no-binary k-ctds
On Debian/Ubuntu you can use the system FreeTDS:
sudo apt-get install freetds-dev python3-dev
pip install k-ctds --no-binary k-ctds
On macOS with Homebrew:
brew install freetds
pip install k-ctds --no-binary k-ctds
On Windows (requires Visual Studio 2022 Build Tools, CMake, and 7-Zip):
# Build FreeTDS from source (uses the included helper script)
./windows/freetds-install.ps1
$Env:CTDS_INCLUDE_DIRS = "$(pwd)/build/include"
$Env:CTDS_LIBRARY_DIRS = "$(pwd)/build/lib"
pip install k-ctds --no-binary k-ctds
Dependencies
When installed from a pre-built wheel: none — FreeTDS, OpenSSL, and all native dependencies are bundled.
When installed from source: FreeTDS and its development headers must be available on the system.
Releasing
Publishing new versions of the package and documentation is automated using Github Actions workflows. Official releases are marked using git tags. Pushing the tag to the git remote will trigger the automated deployment. E.g.
git tag -a v1.2.3 -m 'v1.2.3'
git push --tags
Documentation
Generate documentation using the following:
tox -e docs
# Generated to build/docs/
Documentation is hosted on GitHub Pages. As such, the source code for the documentation pages must be committed to the gh-pages branch in order to update the live documentation.
Development
Local development and testing is supported on Linux-based systems running tox and Docker. Docker containers are used for running a local instance of SQL Server on Linux. Only Docker and tox are required for running tests locally on Linux or OS X systems. pyenv is recommended for managing multiple local versions of Python. By default all tests are run against the system version of FreeTDS. GNU Make targets are provided to make compiling specific FreeTDS versions locally for testing purposes. For example:
# Run tests against FreeTDS version 1.1.24
make test-1.1.24
Development and testing will require an instance of SQL Server on Linux running for validation. A script, ./scripts/ensure-sqlserver.sh, is provided to start a Docker container running the database and create the login used by the tests.
# Start a docker-based SQL Server instance.
# The default tox targets will do this automatically for you.
make start-sqlserver
# Run tests as needed ...
# Stop the docker-base SQL Server instance.
make stop-sqlserver
Testing
Testing is designed to be relatively seamless using Docker containers and SQL Server on Linux. The pytest framework is used for running the automated tests.
To run the tests against the system version of FreeTDS and Python, use:
tox
GNU make targets are provided for convenience and to provide a standard method for building and installing the various versions of FreeTDS used in testing. Most targets are wrappers around tox or replicate some behavior in the CI/CD automation.
To run the tests against an arbitrary version of FreeTDS:
# Python X.Y & FreeTDS Z.ZZ.ZZ
make test_X.Y_Z.ZZ.ZZ
To run tests against all supported versions of FreeTDS and Python and additional linting and metadata checks:
make check
Valgrind
valgrind is utilized to ensure memory is managed properly and to detect defects such as memory leaks, buffer overruns, etc. Because valgrind requires Python is compiled with specific flags, a Docker file is provided to compile Python as necessary to run the test suite under valgrind.
To run test test suite under valgrind:
make valgrind
Metadata
Release files for k-ctds 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| k_ctds-2.2.0.tar.gz | 148.5 kB | Details |
Built distributions (wheels)
Total release size: 68.5 MB
Release files / k_ctds-2.2.0.tar.gz
| Download URL | k_ctds-2.2.0.tar.gz |
|---|---|
| Size | 148.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e96d2e88513d1955d33f658713ef76572831e7896ce5e4c7bf1c8857932e387
|
|
BLAKE2b-256 checksum How to use checksums |
337f98a618c75c95cdff575d9e7ff57e183b01068f7bd3be5e5d6b543b5262b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp314-cp314-win_amd64.whl
| Download URL | k_ctds-2.2.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 494.7 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3ffeb6abd16b5daa0d0279d4c5625763d2517680b1c4e7037f08b1c1966e9782
|
|
BLAKE2b-256 checksum How to use checksums |
371a76dd75b1831c8a388d11320d5c5b030e47b200e853f2ed09b30c423756ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | k_ctds-2.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
695af9cfad58adf2dc44e9ac7b0cd57a35c2c4d96e8c9a0205fe24d769a67ca1
|
|
BLAKE2b-256 checksum How to use checksums |
e71b174de0146d0beb895c6d4a547803bf8ce48a643560c305a778055f704a90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | k_ctds-2.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
64431a0eb01a2c33f65db6bbc2b8f7b83a146ad9cdd9edd3d5c01b844b53ba53
|
|
BLAKE2b-256 checksum How to use checksums |
d16a17bd529787b07d65f465fd3996fe8cb99e377880bd948d8c452be131a1f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp314-cp314-macosx_15_0_x86_64.whl
| Download URL | k_ctds-2.2.0-cp314-cp314-macosx_15_0_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.14 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
85824c3b84cc876fcf04ac6d898811085e16135602c11dcebf29036977576021
|
|
BLAKE2b-256 checksum How to use checksums |
fe6bc343ad553e160c52ff8addd69c06e85596e59ebb647168079e3b9d460662
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp314-cp314-macosx_15_0_arm64.whl
| Download URL | k_ctds-2.2.0-cp314-cp314-macosx_15_0_arm64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.14 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f135b2648c98ed9e07e1048ecaf96e0782537b4e416e2d1db14a5a026cbd222d
|
|
BLAKE2b-256 checksum How to use checksums |
9023dd0829a4bf8b44f6273b4636491fb1e9fadd908e308aac721d3fd4e4841f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp313-cp313-win_amd64.whl
| Download URL | k_ctds-2.2.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 482.3 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d24d1395f0bd82ff09dd0d1a5759500339a2da0df5db83c5785935a7180200ca
|
|
BLAKE2b-256 checksum How to use checksums |
ba8f334ee298eadb01c425b28981f80f4b01b30d33cb644a87fb949706051e67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | k_ctds-2.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d28f0fb9f8d047a947f5bbc5f916cf832261388df95f48a5b65a33aa5911c8c8
|
|
BLAKE2b-256 checksum How to use checksums |
3c0723455afcbc4165a1df59dae65622801bf169499d7a5c9bf0482be09dfce3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | k_ctds-2.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
d3da43d2cb7b724bee9a6352bd0b8bd8f9bd575fc41e771bc40dbf7f5b76320c
|
|
BLAKE2b-256 checksum How to use checksums |
3d377548a4a20e03e3c83e38b2ab6e2dc91e19505643d2eb4fd819eece1aaa6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp313-cp313-macosx_15_0_x86_64.whl
| Download URL | k_ctds-2.2.0-cp313-cp313-macosx_15_0_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.13 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
b40f2cb2267fc3e90f1b69db463bca8de471cc114dbd5e762c3d90dafbd470ba
|
|
BLAKE2b-256 checksum How to use checksums |
633c56d09a8fb9d1e905276c008bea8289ea195fe12127c79d5d52540d6842c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp313-cp313-macosx_15_0_arm64.whl
| Download URL | k_ctds-2.2.0-cp313-cp313-macosx_15_0_arm64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.13 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9681e7a298c339ac8190a7b02a0e29defbaf3cfb07ff6ea3adfa213be8811c35
|
|
BLAKE2b-256 checksum How to use checksums |
aa58d4569d27153eeeb9b71b8becc4d5519c402b775947e0cdd76173dd6d9e9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp312-cp312-win_amd64.whl
| Download URL | k_ctds-2.2.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 482.3 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f781e1726132a4fa97671be8958a6543b1655761be03add09fc7fad344b3ac0b
|
|
BLAKE2b-256 checksum How to use checksums |
499920bdaaeb9c7fa2a5f16ba81a399230733ba7526780c4714b77172259f8ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | k_ctds-2.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
deda3c17cd7e706c3e69eba36a0ee1bf3c148646ba0dfbf2c33e33fdbdcd20c0
|
|
BLAKE2b-256 checksum How to use checksums |
44cc242dc08d254ace62e78af900ecf96a20fbdb956b73b15c8929edfe379b3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | k_ctds-2.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
30702d29d693ff06d88dc3b66ccc27364f0d837ada253ddbffda37210584c7dd
|
|
BLAKE2b-256 checksum How to use checksums |
395f626d4a0c59ca0c457acdeb3936ed440f339e733d39f0399cf802b875ce56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp312-cp312-macosx_15_0_x86_64.whl
| Download URL | k_ctds-2.2.0-cp312-cp312-macosx_15_0_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.12 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
0496e3941257a19fe6803bea7d69b9be14ff4ac20707efa88960a6f256440e21
|
|
BLAKE2b-256 checksum How to use checksums |
eb8ddf2879e25a2efd438a11a8bab55dbe55328e2043d74ffe7a3ee69b4f670b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp312-cp312-macosx_15_0_arm64.whl
| Download URL | k_ctds-2.2.0-cp312-cp312-macosx_15_0_arm64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.12 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f0a8f8a9492bd3e8111b8ba611246a43c6cb7a4313a250dee01977b498321825
|
|
BLAKE2b-256 checksum How to use checksums |
49bf63ff84b15474a356a3795b8ad29d2f56f78101d8071e7648c6735a7d8f9d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp311-cp311-win_amd64.whl
| Download URL | k_ctds-2.2.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 481.9 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a4d12b47c56e6810ed1696b1a4dff8b41fc3a0c7c0440de4c031755e7e04e5ea
|
|
BLAKE2b-256 checksum How to use checksums |
1329238bc5e4546b11e7532a40cb9f03099e70f67f2829dc4f115ed91d7e75b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | k_ctds-2.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
153f128d52ab80ab5f9a13543ca8fffdec74ad1918f1640247d6faa4d5e49001
|
|
BLAKE2b-256 checksum How to use checksums |
bfe6781fccead4deb7e93bfb0a25cece76d138ea590062f0996d1213ad5b90bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | k_ctds-2.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
8f81ebaa26e6ae93ecc3d635fb5d4752b5d936615d4605aa0d6253f3bfd58987
|
|
BLAKE2b-256 checksum How to use checksums |
16e8edd0a284e946a53972e685de4ccd4e83596b91cfd77bd320f859edab1d7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp311-cp311-macosx_15_0_x86_64.whl
| Download URL | k_ctds-2.2.0-cp311-cp311-macosx_15_0_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.11 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
e8bcb08c833e4c65bc3ce0bd70cccd54c8b9d6e05fa3273c090c4d6b197f5458
|
|
BLAKE2b-256 checksum How to use checksums |
c69a3f4e677c9e2b82171a3154075d981479bc8dac3da649530d46091e42dd3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp311-cp311-macosx_15_0_arm64.whl
| Download URL | k_ctds-2.2.0-cp311-cp311-macosx_15_0_arm64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.11 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2170364e480e8be49143f3613bcab6c929e24c151b26a6e66f369396f84152b8
|
|
BLAKE2b-256 checksum How to use checksums |
98e0eeb94a476518b414fb05afdcd768b9b82d8b6b66cdf55716826fe578bb76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp310-cp310-win_amd64.whl
| Download URL | k_ctds-2.2.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 481.9 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6b3c2138c13ed9895da9dc3442f8bb69a9e1688b137aabcc4364afaa424b18e8
|
|
BLAKE2b-256 checksum How to use checksums |
fbbf617b3aa24d072101ce593f40adb50a91d53a38c5ec15e4ea4b3485445259
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | k_ctds-2.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d374a39fb8eda63b8bd4a98434c9c5828c226de23e90e26e528f768b23b50001
|
|
BLAKE2b-256 checksum How to use checksums |
2c0fafc7e490d348d3cc6386a7c678b4bec5832c41ef2c7a57140c9e5b0a6493
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | k_ctds-2.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
1381d0ad6c208d36b49a7ed535d15d0a34114fa212ac1152c12d0d89f1909640
|
|
BLAKE2b-256 checksum How to use checksums |
8486e942c8286472444ca2b4e2df97fb8414775cbaaa87675237eb57e2059965
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp310-cp310-macosx_15_0_x86_64.whl
| Download URL | k_ctds-2.2.0-cp310-cp310-macosx_15_0_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
310f105e4283061d78fcc02fb1aa459ad50a39d25336589f2e51a67aaafdc57f
|
|
BLAKE2b-256 checksum How to use checksums |
d38f1bbf918e31a6de89aa76e20feb31411aa5cb757a971cf2b8c4e3332694e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp310-cp310-macosx_15_0_arm64.whl
| Download URL | k_ctds-2.2.0-cp310-cp310-macosx_15_0_arm64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.10 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
854b72d6792c85979814d694941fdc9e5ff66ac25c5c35d975789d4aae89958e
|
|
BLAKE2b-256 checksum How to use checksums |
4d574c80859107aa429fc09ba1f186c3776189c26785087dae511733c5fdacb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp39-cp39-win_amd64.whl
| Download URL | k_ctds-2.2.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 482.7 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cac34f5bd0a660a25e45550f0932f2931ab547ecf4bbcca892e5368b1c93da60
|
|
BLAKE2b-256 checksum How to use checksums |
25c78729c6950b043825f73633d8ea20bbbe22a8e8385b0695808366ae09c3c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | k_ctds-2.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8a8fbf2cfd85d3c96da5133e7114270ebf87f64f8bd561167fe4ccfa728866eb
|
|
BLAKE2b-256 checksum How to use checksums |
57e63a0f355099b55c5401b4d5ddbd3cd2307d56503e4f9ffb15d4e1e6977213
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | k_ctds-2.2.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
b4381cbbab3d457e71a083546a07acf13b2a8c2290dac8c42e5d3377e484b744
|
|
BLAKE2b-256 checksum How to use checksums |
ec164a04eedc6254d00bfd54b9f160166140299270f037fd99c41923702d874b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp39-cp39-macosx_15_0_x86_64.whl
| Download URL | k_ctds-2.2.0-cp39-cp39-macosx_15_0_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.9 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
051faf97a31138b060cdf67dfc9c0471d7e416b65ef3c682ac2b4f76740746cc
|
|
BLAKE2b-256 checksum How to use checksums |
eeadf2d778566ef3dbb4a00b7c86bbeba63d723068f7ef8d7ada7d7536c331f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / k_ctds-2.2.0-cp39-cp39-macosx_15_0_arm64.whl
| Download URL | k_ctds-2.2.0-cp39-cp39-macosx_15_0_arm64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.9 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
618aeb22601937301bfe77d3cd0326e65262909a73ea072df19f37366e6d1d7a
|
|
BLAKE2b-256 checksum How to use checksums |
9a4a8a1dd9797eca166019b5ab5ffab371e8446632e52ee1e03e4535a98e9da9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency log