Skip to main content

SQLite3 Multiple Ciphers combined with Another Python SQLite Wrapper

Project description

APSW SQLite Multiple Cipher logo - links to documentation

About

This project packages 3 things together

APSW

Another Python SQLite wrapper, providing complete access to SQLite3 from Python.

SQLite 3

Small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is configured with secure delete turned on, and to use memory for temporary storage.

SQLite3 Multiple Ciphers

Extends SQLite 3 to allow reading and writing encrypted databases.

The distribution is entirely self contained, and does not use or alter any existing SQLite you may already have on your system.

Installation

Available from PyPi. Binaries are included for most platforms, and pip will build from source for the rest.:

pip install apsw-sqlite3mc

Usage

Use as you would regular APSW. You can check the version of SQLite3 Multiple Ciphers with apsw.mc_version.

For encrypted databases you need to use the relevant pragmas to set a passphrase based key, or a binary bytes based key:

connection.pragma("key", "my secret passphrase")
connection.pragma("hexkey", b"\xfe\x23\x9e\x77".hex())

Setting the key on a new database is the only change needed to your code.

>>> import apsw
>>> print(apsw.mc_version)
SQLite3 Multiple Ciphers 1.9.0
>>> con = apsw.Connection("database.sqlite3")
>>> con.pragma("key", "my secret passphrase")
ok

Note: The ok means the pragma was understood. It does not mean the key is correct or has been applied to an empty database. See the next section on best practice to check and apply the key.

Note: key only sets the key for following reads and writes. If the database already has content, and you want to encrypt it then use rekey which will modify the database to apply the supplied key.

Alternately you can use URI parameters. You need to correctly encode the filename and parameters, and tell SQLite that you are using a URI name:

import urllib.parse
import apsw

uri_filename = urllib.parse.quote("my db filename.sqlite3")
uri_parameters = urllib.parse.urlencode(
    {
        "cipher": "aes256cbc",
        "kdf_iter": 8192,
        "key": "it's a secret",
    }
)
con = apsw.Connection(
    f"file:{uri_filename}?{uri_parameters}",
    flags=apsw.SQLITE_OPEN_URI
       | apsw.SQLITE_OPEN_CREATE
       | apsw.SQLITE_OPEN_READWRITE,
)

Best practice

SQLite has various quirks in how it operates. For example database files are not populated until the first write. SQLite3MultipleCiphers can’t check keys are correct until the first access, and the database is populated. You shouldn’t set or change keys while in a transaction. In order to ensure files are populated, and the keys and cipher configuration provided are correct, use the following method with example usage shown at the end.

import apsw

def apply_encryption(db, **kwargs):
    """You must include an argument for keying, and optional cipher configurations"""

    if db.in_transaction:
        raise Exception("Won't update encryption while in a transaction")

    # the order of pragmas matters
    def pragma_order(item):
        # pragmas are case insensitive
        pragma = item[0].lower()
        # cipher must be first
        if pragma == "cipher":
            return 1
        # old default settings reset configuration next
        if pragma == "legacy":
            return 2
        # then anything with legacy in the name
        if "legacy" in pragma:
            return 3
        # all except keys
        if pragma not in {"key", "hexkey", "rekey", "hexrekey"}:
            return 3
        # keys are last
        return 100

    # check only ome key present
    if 1 != sum(1 if pragma_order(item) == 100 else 0 for item in kwargs.items()):
        raise ValueError("Exactly one key must be provided")

    for pragma, value in sorted(kwargs.items(), key=pragma_order):
        # if the pragma was understood and in range we get the value
        # back, while key related ones return 'ok'
        expected = "ok" if pragma_order((pragma, value)) == 100 else str(value)
        if db.pragma(pragma, value) != expected:
            raise ValueError(f"Failed to configure {pragma=}")

    # Try to read from the database.  If the database is encrypted and
    # the cipher/key information is wrong you will get NotADBError
    # because the file looks like random noise
    db.pragma("user_version")

    try:
        # try to set the user_version to the value it already has
        # which has a side effect of populating an empty database
        with db:
            # done inside a transaction to avoid race conditions
            db.pragma("user_version", db.pragma("user_version"))
    except apsw.ReadOnlyError:
        # can't make changes - that is ok
        pass


con = apsw.Connection("database.sqlite3")

apply_encryption(con, key="my secret key")

# you can also do more sophisticated operations.  Here we change the cipher,
# kdf rounds, and the key
apply_encryption(con, rekey="new key", cipher="ascon128", kdf_iter=1000)

Verification

You can verify your database is encrypted with a hex viewer. Regular database files start with SQLite format 3 while encrypted database files are random.

$ hexdump -C database.sqlite3  | head
00000000  e1 3e f0 7c 5e 66 4c 20  19 85 9d de 04 d9 e8 e7  |.>.|^fL ........|
00000010  10 00 01 01 20 40 20 20  29 2e cb 95 ef 4e 4e 67  |.... @  )....NNg|
00000020  22 a1 5a 8f 18 1a fa a1  cf b3 a8 ba b1 80 07 b5  |".Z.............|
00000030  2f 68 4d 8a 13 26 fd 6a  0c 99 5a a4 2c a7 f3 a7  |/hM..&.j..Z.,...|
00000040  d9 ae ef 24 dd 1c d1 9c  cc 91 4b e8 58 00 96 62  |...$......K.X..b|
00000050  b2 aa 51 bf 57 8e 9a a9  d7 6d b2 75 58 84 f6 7d  |..Q.W....m.uX..}|
00000060  c9 fd a9 57 88 05 ca 60  7f db d1 73 40 ad 98 59  |...W...`...s@..Y|
00000070  c2 a0 4c 76 f5 88 31 d3  d7 6f 9e ef f6 c1 c4 88  |..Lv..1..o......|
00000080  92 ed 8a 3e 00 ce 35 ef  4b 0d 38 33 9a 61 88 8a  |...>..5.K.83.a..|
00000090  34 37 72 70 4b 33 f3 1d  a2 4b 86 5f c5 59 02 c6  |47rpK3...K._.Y..|

$ hexdump -C regular.db | head
00000000  53 51 4c 69 74 65 20 66  6f 72 6d 61 74 20 33 00  |SQLite format 3.|
00000010  10 00 02 02 00 40 20 20  00 00 00 95 00 09 22 e6  |.....@  ......".|
00000020  00 08 eb 8f 00 00 ff 8c  00 00 03 d5 00 00 00 04  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 01 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 95  |................|
00000060  00 2e 7a 70 0d 09 30 00  09 08 c9 00 0f a9 0e d5  |..zp..0.........|
00000070  0e 70 0d f7 0d 8c 08 c9  0c 67 0b 2f 09 71 08 db  |.p.......g./.q..|
00000080  08 db 08 db 03 ae 03 55  03 55 03 55 03 55 03 55  |.......U.U.U.U.U|
00000090  03 55 03 55 03 55 03 55  03 55 03 55 03 55 03 55  |.U.U.U.U.U.U.U.U|

Support/Discussions

For SQLite questions, support, and issues, use the SQLite Forum.`

For APSW questions, support, and issues, see your choices.

For SQLite3MultipleCiphers questions, support, and issues see the project page.

For APSW together with SQLite3MultipleCiphers questions, support, and issues see the project page.

Project details


Download files

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

Source Distribution

apsw-sqlite3mc-3.47.0.0.tar.gz (4.1 MB view details)

Uploaded Source

Built Distributions

apsw_sqlite3mc-3.47.0.0-cp313-cp313-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.13 Windows x86-64

apsw_sqlite3mc-3.47.0.0-cp313-cp313-win32.whl (1.6 MB view details)

Uploaded CPython 3.13 Windows x86

apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ x86-64

apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_i686.whl (7.0 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ i686

apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ ARM64

apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (6.9 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

apsw_sqlite3mc-3.47.0.0-cp313-cp313-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

apsw_sqlite3mc-3.47.0.0-cp313-cp313-macosx_10_13_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13 macOS 10.13+ x86-64

apsw_sqlite3mc-3.47.0.0-cp312-cp312-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.12 Windows x86-64

apsw_sqlite3mc-3.47.0.0-cp312-cp312-win32.whl (1.6 MB view details)

Uploaded CPython 3.12 Windows x86

apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_i686.whl (7.0 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (6.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

apsw_sqlite3mc-3.47.0.0-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

apsw_sqlite3mc-3.47.0.0-cp312-cp312-macosx_10_13_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

apsw_sqlite3mc-3.47.0.0-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11 Windows x86-64

apsw_sqlite3mc-3.47.0.0-cp311-cp311-win32.whl (1.6 MB view details)

Uploaded CPython 3.11 Windows x86

apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_i686.whl (7.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (6.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

apsw_sqlite3mc-3.47.0.0-cp311-cp311-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

apsw_sqlite3mc-3.47.0.0-cp311-cp311-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

apsw_sqlite3mc-3.47.0.0-cp310-cp310-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.10 Windows x86-64

apsw_sqlite3mc-3.47.0.0-cp310-cp310-win32.whl (1.6 MB view details)

Uploaded CPython 3.10 Windows x86

apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_i686.whl (6.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (6.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

apsw_sqlite3mc-3.47.0.0-cp310-cp310-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

apsw_sqlite3mc-3.47.0.0-cp310-cp310-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

apsw_sqlite3mc-3.47.0.0-cp39-cp39-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.9 Windows x86-64

apsw_sqlite3mc-3.47.0.0-cp39-cp39-win32.whl (1.6 MB view details)

Uploaded CPython 3.9 Windows x86

apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_i686.whl (6.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (6.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

apsw_sqlite3mc-3.47.0.0-cp39-cp39-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

apsw_sqlite3mc-3.47.0.0-cp39-cp39-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

Details for the file apsw-sqlite3mc-3.47.0.0.tar.gz.

File metadata

  • Download URL: apsw-sqlite3mc-3.47.0.0.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for apsw-sqlite3mc-3.47.0.0.tar.gz
Algorithm Hash digest
SHA256 2715a144cd3f1c845ea1e16099ac6a7fbbd944cc9656136d0bf110349e522682
MD5 471a36f8d6b0c1767378c6000d572103
BLAKE2b-256 6607ee14c4a8f8d0d5027c7fb1e66afa48bdb8358bea86db9e47dbba7b56cc93

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw-sqlite3mc-3.47.0.0.tar.gz:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c747272131dfdf3562a8ef07efe4ba34ef6c5903000be0e3ca7b7ccef8f7d95e
MD5 8eb16f0985a43e5982b263a46511e237
BLAKE2b-256 0855b87cbc67c6128231b6079d0da9600745edeb4a81a92b1dcd243baa1275df

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp313-cp313-win_amd64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 ab9688737b2ece00fd19173c78d250be59751cfcd41891223f364b98971af8df
MD5 a4c57ff9ed794d03a37db550c54676b9
BLAKE2b-256 b66b911fc893fe8b82425781e197309b8e12c70f243c6f89ed6075e91b978e81

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp313-cp313-win32.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8ee1efcd2bcdcb7c517c46f8110816eb3d9f5c6039fda3a903eefa46a08502ab
MD5 1a8ae1441340cbcd6211d63793fb3640
BLAKE2b-256 dada1c71e21c4cdc79b781aa8a956d745e65a053a79206e085980c56e238d3d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 244aaf8fdd91a0fe88773d34e124680510e7f9b2abb7898c49fa73905983e59d
MD5 70fb67a67ef0190a20b68e2287bf3430
BLAKE2b-256 a4dc5d8d67a54ed1897cf98cf9250756a8c15bd028cad9a37e914d12aa89ed92

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_i686.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8a920dff891e526a261a21dd91d3317e88437c9d559a94fffd6b08cb2f82f9cc
MD5 4c189fc3e5beddff1cb9535eee9b17d6
BLAKE2b-256 b5f6e22cda4cc02b964dcc17380e5962adc5ad4ebda47d3e90ad8bf1371610e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 981257af863f3aeada2a2928d12fc158f71c29bf14be27391e11ecfee392f3c3
MD5 46b8be1bc7ff601577ff4bcb465a73a2
BLAKE2b-256 bc57d473ff3ae435e44fe8cc50460f226af68f095bfcf63247fd71a94c7f650b

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f55292d18760928233634b873630cf6a2d3e7ca4502e70c76795ff356fbd9d4b
MD5 a4df3013c8be44e4fa26991336bdc40c
BLAKE2b-256 5664dcb8a30932d6870c5b442686c3a39512a1516cc49397e343149b12649837

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b1d65a83318160d51235d5d29be00d3781dab1cba614bd69bf28346106980053
MD5 48df4b688e775f385fca9d3e09c92c62
BLAKE2b-256 aed5b6bb87607db9e4ec58c6b36a1df87ce1157245c7955854fa4a9dfe3b90d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bf192051447ce21fd088a99ed44cb44de9c686b9ced902d92ed77fca5ad211bf
MD5 09e733eaba6c2d504d26a09c3b9c15e1
BLAKE2b-256 60bdf00ce76ecfe6662f6a63f91ad3f0e742bda765e08317c54fcd781c5bc23d

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 354b80b418343b1af102ea1e74e124b1b6acae32cb037db2d296deafb74154f5
MD5 f368985e52be0c236ced06484ebad209
BLAKE2b-256 c69dce4846bc95686c3b60c96b30699e6875783fdb9a0c1b5ad186c47e41af5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7781aa452bb1e9d1e7e940f8fcecf1f8b9ee8a68e89bc7567da69cb47e649176
MD5 2a13073c73994ea89940032b0b399bc2
BLAKE2b-256 46c82a24221bc3cb53276a180b9377c299aa54ce746180809ea96aa54393cc5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp312-cp312-win_amd64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 dc897d176f42af76a494bc5eee449a083c9edf0e10bd54823d4bf9bf0c7b71f9
MD5 571dc467c51a9739c7aa1e477c84b115
BLAKE2b-256 7d7c1b922d5ce7e0f686cfdf668b11e569ab8a9460b7d4c01afb03fa5cf1f88a

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp312-cp312-win32.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f5fb92e686fa15959f22d48ff4cd39eb341c3b2b6e60293be4b410055759444e
MD5 d23466b5e19e04c34152c91a764eebb8
BLAKE2b-256 7f21fd28897c7e9325ced6663d982b1082da17df87ead4766f1af5e7277ea41f

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b007634c35bf570ac4a41f06267090fda0204cee9829ccb6cf55f18593298c9e
MD5 9361e8191f3626e2b0112825c1660f0b
BLAKE2b-256 f3bf6066ead2ee8218fe4f19a57ac3fe5bdb4376092d68db2cf98f3825ca2017

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_i686.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0229a268b1de995fad2133bc599c4bb662f8052d9dcc2ebc044634d0a8fda01a
MD5 348968b1258cd2a5bbbf1791c80628ba
BLAKE2b-256 5bf50db1cce0de566b4cc1aae0651676756cfb2209533f38ba26506665205e88

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86cc35999063bbdf8b23b01a675bc51c0e7e8d4d53690b3d68f8dc3f731cb660
MD5 4fefc62d6802bf966de546a0774779a9
BLAKE2b-256 743045a0bbacadc9654cf6b7488f0fe00c260c404cf45e735c7760eddd5e2d41

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 02115a8a453413320ad1c747fc14b3514230daba3f970c03e00f17c7005a1ccd
MD5 ec51527d60169a8100b062437ea40d55
BLAKE2b-256 f3788fb030a71f78cef73ce31d1bf68f445eb0e7c50a401edb4487d6181f9266

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cb1576cc4a446de579a7b4b5d1acdea4ff7b56b7f0bacea6d85c9bc1832d2b46
MD5 f05b02a8a4fc294d96b9c05084f9789c
BLAKE2b-256 1bdd9ee0e1f7e38b201b28cc11de201f60724d4c70faaf00f567c2f4fb715bb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f61b5596ad47a8045b9cce0f7b8ba07084ce6de79df71a3e11ff49509049c6dd
MD5 2a81d0415579ea984866f60632359dfa
BLAKE2b-256 9fab24425af48e887e06ec43473b511f93bba86ce5544d4cfaa4ae56dac14d44

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8c0377ca7d12b287abdf6c01aa1caba7646df69f53c3c80b52a78309d2fda745
MD5 001e56be53765d2b2f8f12fcb83993a9
BLAKE2b-256 8ba936ce6acfdc15ecb3b850216ad702a9bb0f58c4b203d9982dfb2381d3278e

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7de29aed4de980453e61ffe43fc2fadd395f9d462d9e0ddc6eec967e5dd413b9
MD5 21949fce9812639f834c11adeed1307f
BLAKE2b-256 21ca3c95bf06960fcb21e402ae5656828c9c9e039a51e6b652cd0564141bff02

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp311-cp311-win_amd64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 2cb9356d0bba72a1936c86a20f8bb21a4d024c4457bf8ef6d071e935adfff333
MD5 e7dd808c12f44c8b368435897266d694
BLAKE2b-256 995be2d33a1034ff7cf026542af176f723469adc7b81aa30678846cf72e651cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp311-cp311-win32.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bb8b8efae874234b23626602c72187d93ac157304531e8f11fc2a372f32be496
MD5 530844530eccac629b520ad37a0038fb
BLAKE2b-256 07302a9ef58dae7024513170d690196ba89c8b62d45b8acc3537eb09f32980e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bc0e726c2a4b4374a326e49bc9aa386ee8da34283afce5c6e7cb050ffe4160bc
MD5 831df45a169c3e2497198f151b7fdb54
BLAKE2b-256 1499ce359b5d3b462ab9e2af16b6256311e6ddb624f98fae6313929d9206d6a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_i686.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c3c026b9bfda1afa1ca1e55621e0bc827749ab2275cea04ada4f764aeeebe191
MD5 3d151a141311ab623839ed3d2ef8dd8c
BLAKE2b-256 736563c9b70a01a1d9b7d992bd1346712e195213861ca99f93144fde97539580

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9cd9395c1b4861ccb4e0c10c0e0b5e927232ea3b66202933405fe705bc5b1350
MD5 6b1b437f235c8c9dc6116c7c787d3e4d
BLAKE2b-256 7fe776d7f48e75180797abf545be5f6db46333cfb570a3f77354484fa2bd9894

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 99e9ea8a93c33017c7b2d262622b54ab1e83e199e380cfdd7951e21826eb6d83
MD5 44acc75168d6810d7f1dfb2c50e0f34d
BLAKE2b-256 36106e460757f379550e507dd416dc10e2c570d5218eb67d3c14d4f2758e92ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 22e92fda3427f74e1e13054215afa786a72727066b19df43de7d777244a23608
MD5 011a72ed30b93423cd8e6209aa99276b
BLAKE2b-256 f5a4ad07a4d565fd944bb9678c505c469fa7b185641c8bf28cebaeda418162ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e3967dc1e5d3491fa6e1371d9ece910c8ced55bdffdcb829bea8d4cd9a7f2bbe
MD5 d35f2a004c1a4d7c109d59e7b33a3242
BLAKE2b-256 f602887c30c3315079f5fc3623b314ddbc0674d36b788792458a0747835e2396

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c49cab48be425608ebeabf9514fdbf6200154f504af2c5e3dc6b82bed815514b
MD5 bb7e0dabc0930b4a66068c5f2cc3c3de
BLAKE2b-256 77971ecdebb06547d698f39872838fc1313aa9e8b900922c01c44015e0e23cb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a4d12fe1fa98419b88742c4d9ad2d28650cff894b73e6887d5e8d9f9ea7b6c7d
MD5 148cfe2fe2d3f4c728784d878fbd5d68
BLAKE2b-256 70460e9fd2035a0b2e4f3e0116e98801f8d6ac0893544493c57d4cf4ff1e5bb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp310-cp310-win_amd64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 651164fd70a8869a5d58e7411bebeafed0b9f52136e143272ab5f0738fb06e59
MD5 74e8d058c96dffa18fc9cd55e3efa14b
BLAKE2b-256 6c67e690b3709da286445a2691ab468d7e5a7544440522a4e01fe50ac8890934

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp310-cp310-win32.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f55e39447ff6f72623fcea818ae4884fa09a0ef57242ba69944737af138e2fa3
MD5 854f54017810cda04db353d94bf8a915
BLAKE2b-256 54c2f68623c525a72f18ff75204fe83a475125a66ccc30d0a33598eb80a36de8

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b72cac1bfa90d522163390263e658de536e8dd9d2af1a7e52791b4fb79c3019b
MD5 16d67acba08e177d0371620918ca3704
BLAKE2b-256 adf982b314259fc675f44962bfc091c565eea0d37c82fbb897a310e50d8ae6ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_i686.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 beb756d2b80e8579a218307ae9d748ad8d0bfe0f24dd3c435caa8a7a8de3e2bc
MD5 8a0d9c3c1111b21a1bbb680da6968e02
BLAKE2b-256 06321f7dcd28b2377337b9804715bbdb8fb8f0ee54ad63c1c843c92fbfcd3e5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bbdf2b9270cdd9542e96754fe77815543ae6e53084a84b11d2e8ce1edcdde577
MD5 cc4dcfafece296ecb1099e6ee36c8e36
BLAKE2b-256 6b92c04101aac5f9ca0cd27869a297e1d341dd5c79feb4e8874d9329b876ce05

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a537b374f5b7cf517969e5bef0d9ed2266f39a59c4611293c89ab19c1145b4d1
MD5 8433d2ecdbdb3620e2eea066b7b4af40
BLAKE2b-256 23803be58e56f51c5641ada8a573aa1e8aaeeafa88e3aaacb4ed16b106aa149c

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8b2a0edbff9e80ab6ab21f2c740e192eec55cc71317353a0cff8d625771ad7db
MD5 ab82bd24cf2781a4ba458ddeef1d6c23
BLAKE2b-256 f3ef6904cac6c1371ce8f797812e31ea198df311c2cbf5067af5d74f7d741e91

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aff708df461929d8f7359c8337b64c5ffef2d1fd83b9c8a21f4695c5d29fd882
MD5 54efc7fb0a6a4d1144dc3f04d9c56cda
BLAKE2b-256 c20fd85fd45fb27a29b8aa50cdfff6fb573c08530d9d6311da86f354ca1342d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2f818db5d7666facaf5f5101bf476e9a8f08d69741b508a333ea499b8d92496f
MD5 9ec8e27b42f0ec058b02cb37254fce23
BLAKE2b-256 86cc9e9a49f7c5166c308e1ed487553c616d626fdb31ce4d0e4132160fe352d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bb8d2b2d085a0339522129e9dcefe53c7a997d08867a0be176981260db20551b
MD5 a5deedda1a20f7b2c6c5f54961e4ec81
BLAKE2b-256 3727c210302bbe2e240896e64461d7fd655bd6fa32c191453223ad659befebb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp39-cp39-win_amd64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 9293689a5c5500b293e5f48a44f735b3c08009a262b714b0e08f29a79350eb63
MD5 912acc19fac13d8a9dd72ee7966ea34e
BLAKE2b-256 bd615d873b58eb97713062b5d2a08f702c998c3416d70f5353f1a7321f1f63ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp39-cp39-win32.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a02d6fdc6f2d3814d9d88e84c8cdd4c7574bddf75ab1f8ae56009eb8440f24d4
MD5 27c85840e82a4b0d8979eae8a8e6eaac
BLAKE2b-256 9d6a9dd12edb40026d813b020fd4a06b8e66252486946ca816cc16f452ae8fcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 38d58a590f01dcfbdd1b12040533e9a78882bf3bb75c0f7b3c1638b4d5de72c3
MD5 abf3d77cb9dd59c9e6aa0cc289d9d363
BLAKE2b-256 9e8d7e35479ca73a9e69c1fa2797b975bd075df52584b28a29ca7b2718d2314d

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_i686.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a9351dc84431c8d2ad352e45b30f5c3cbecabd340a474f9f8f1ff4eef6dbf129
MD5 703bbc85e915ecf4438f583ab0f9726c
BLAKE2b-256 f0dc78cd3d33f685f05eeeb2e49a1cc7dd5449b6789e6d7ea0c5337d7a99caff

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5e5dae82a904369530f0f1d1af12cc61870ebfe1c1da38122a29d01244e9b96
MD5 9d7d3be9bbb3f5613012f2411ecb1428
BLAKE2b-256 1402e8cf867f6d914966d7dd83dd2c4561cbcb0085916aeb1823488830e6153b

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e92511c99b38426a7c2a11f78caad0d5a58f47fd4de80eb61e6fb70089570691
MD5 9c4fe8fd1e1790c329f438a9cc887681
BLAKE2b-256 d6cc2f031755499dab79f52ca89d57afc831ba3b20b5d377675a8cebd27cf11f

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 209629d8e3798cf501072b509d725d5f7935dcb4325c66f6d4bbe28e4585a4e6
MD5 7d9ba96d7189e15c3a7f2894a67c2960
BLAKE2b-256 c55e600264e1614f9e661d3028de7bef6f8a149613b1e5ffd1931e7cad64af49

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ec49c789457d0266568526feda221913b895994d932621ed973f9c8cc4f7bc70
MD5 18e564e8c585260617d0a9fd9151ed9e
BLAKE2b-256 3a953aba8d1fdb3b47196e448eb5c154e4037ada3040c38ec847b7e958faed4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

File details

Details for the file apsw_sqlite3mc-3.47.0.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for apsw_sqlite3mc-3.47.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0e724eced35e877ea4ed6d9860ab7d6d8dd49f3dfd0620b7d1dd84eb7e252f7d
MD5 a8c27560711a1e0a0c4945194fa071a7
BLAKE2b-256 f575fd50674a11b194331f5b7e4b5be907d32e0569dccdf2ef2db2ad8be888db

See more details on using hashes here.

Provenance

The following attestation bundles were made for apsw_sqlite3mc-3.47.0.0-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: build-pypi.yml on utelle/apsw-sqlite3mc

Attestations:

Supported by

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