.. image:: https://raw.githubusercontent.com/utelle/apsw-sqlite3mc/sqlite3mc/apsw-sqlite3mc-logo.jpg
:width: 512 px
:alt: APSW SQLite Multiple Cipher logo - links to documentation
:target: https://utelle.github.io/SQLite3MultipleCiphers/
.. contents:: Contents
About
-----
This project packages 3 things together
`APSW <https://rogerbinns.github.io/apsw/>`__
Another Python SQLite wrapper, providing complete access to SQLite3
from Python.
`SQLite 3 <https://www.sqlite.org/>`__
Small, fast, self-contained, high-reliability, full-featured, SQL
database engine. SQLite is configured with `secure delete
<https://www.sqlite.org/pragma.html#pragma_secure_delete>`__ turned
on, and to use `memory for temporary storage
<https://www.sqlite.org/tempfiles.html#the_sqlite_temp_store_compile_time_parameter_and_pragma>`__.
`SQLite3 Multiple Ciphers <https://utelle.github.io/SQLite3MultipleCiphers/>`__
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 <https://pypi.org/project/apsw-sqlite3mc/>`__.
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
<https://rogerbinns.github.io/apsw/>`__. You can check the version of
SQLite3 Multiple Ciphers with ``apsw.mc_version``.
For encrypted databases you need to use the relevant `pragmas
<https://utelle.github.io/SQLite3MultipleCiphers/docs/configuration/config_sql_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.
.. code-block:: pycon
>>> import apsw
>>> print(apsw.mc_version)
SQLite3 Multiple Ciphers 1.9.1
>>> 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
<https://utelle.github.io/SQLite3MultipleCiphers/docs/configuration/config_uri/>`__.
You need to correctly encode the filename and parameters, and tell
SQLite that you are using a URI name:
.. code-block:: python
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.
.. code-block:: python
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.
.. code-block:: console
$ 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 <https://sqlite.org/forum/forum>`__.`
For APSW questions, support, and issues, see `your
choices <https://rogerbinns.github.io/apsw/about.html#mailing-lists-contacts>`__.
For SQLite3MultipleCiphers questions, support, and issues see `the
project page <https://github.com/utelle/SQLite3MultipleCiphers>`__.
For APSW together with SQLite3MultipleCiphers questions, support, and
issues see `the project page
<https://github.com/utelle/apsw-sqlite3mc>`__.
Raw data
{
"_id": null,
"home_page": "https://github.com/utelle/apsw-sqlite3mc",
"name": "apsw-sqlite3mc",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "database, sqlite, encryption",
"author": "Ulrich Telle",
"author_email": "github@telle-online.de",
"download_url": "https://files.pythonhosted.org/packages/df/f8/1ee0bf779685831c4628ce8d2fbc1aac35053f8de6bb13be509709182cbf/apsw-sqlite3mc-3.47.2.0.tar.gz",
"platform": "any",
"description": ".. image:: https://raw.githubusercontent.com/utelle/apsw-sqlite3mc/sqlite3mc/apsw-sqlite3mc-logo.jpg\n :width: 512 px\n :alt: APSW SQLite Multiple Cipher logo - links to documentation\n :target: https://utelle.github.io/SQLite3MultipleCiphers/\n\n.. contents:: Contents\n\nAbout\n-----\n\nThis project packages 3 things together\n\n`APSW <https://rogerbinns.github.io/apsw/>`__\n\n Another Python SQLite wrapper, providing complete access to SQLite3\n from Python.\n\n`SQLite 3 <https://www.sqlite.org/>`__\n\n Small, fast, self-contained, high-reliability, full-featured, SQL\n database engine. SQLite is configured with `secure delete\n <https://www.sqlite.org/pragma.html#pragma_secure_delete>`__ turned\n on, and to use `memory for temporary storage\n <https://www.sqlite.org/tempfiles.html#the_sqlite_temp_store_compile_time_parameter_and_pragma>`__.\n\n`SQLite3 Multiple Ciphers <https://utelle.github.io/SQLite3MultipleCiphers/>`__\n\n Extends SQLite 3 to allow reading and writing encrypted databases.\n\nThe distribution is entirely self contained, and does not use or alter\nany existing SQLite you may already have on your system.\n\nInstallation\n------------\n\nAvailable from `PyPi <https://pypi.org/project/apsw-sqlite3mc/>`__.\nBinaries are included for most platforms, and pip will build from\nsource for the rest.::\n\n pip install apsw-sqlite3mc\n\nUsage\n-----\n\nUse as you would regular `APSW\n<https://rogerbinns.github.io/apsw/>`__. You can check the version of\nSQLite3 Multiple Ciphers with ``apsw.mc_version``.\n\nFor encrypted databases you need to use the relevant `pragmas\n<https://utelle.github.io/SQLite3MultipleCiphers/docs/configuration/config_sql_pragmas/>`__\nto set a passphrase based key, or a binary bytes based key::\n\n connection.pragma(\"key\", \"my secret passphrase\")\n connection.pragma(\"hexkey\", b\"\\xfe\\x23\\x9e\\x77\".hex())\n\nSetting the key on a new database is the only change needed to your code.\n\n.. code-block:: pycon\n\n >>> import apsw\n >>> print(apsw.mc_version)\n SQLite3 Multiple Ciphers 1.9.1\n >>> con = apsw.Connection(\"database.sqlite3\")\n >>> con.pragma(\"key\", \"my secret passphrase\")\n ok\n\n**Note**: The ``ok`` means the pragma was understood. It does not mean\nthe key is correct or has been applied to an empty database. See the\nnext section on best practice to check and apply the key.\n\n**Note**: ``key`` only sets the key for following reads and writes. If\nthe database already has content, and you want to encrypt it then use\n``rekey`` which will modify the database to apply the supplied key.\n\nAlternately you can use `URI parameters\n<https://utelle.github.io/SQLite3MultipleCiphers/docs/configuration/config_uri/>`__.\nYou need to correctly encode the filename and parameters, and tell\nSQLite that you are using a URI name:\n\n.. code-block:: python\n\n import urllib.parse\n import apsw\n\n uri_filename = urllib.parse.quote(\"my db filename.sqlite3\")\n uri_parameters = urllib.parse.urlencode(\n {\n \"cipher\": \"aes256cbc\",\n \"kdf_iter\": 8192,\n \"key\": \"it's a secret\",\n }\n )\n con = apsw.Connection(\n f\"file:{uri_filename}?{uri_parameters}\",\n flags=apsw.SQLITE_OPEN_URI\n | apsw.SQLITE_OPEN_CREATE\n | apsw.SQLITE_OPEN_READWRITE,\n )\n\nBest practice\n-------------\n\nSQLite has various quirks in how it operates. For example database\nfiles are not populated until the first write. SQLite3MultipleCiphers\ncan't check keys are correct until the first access, and the database\nis populated. You shouldn't set or change keys while in a\ntransaction. In order to ensure files are populated, and the keys and\ncipher configuration provided are correct, use the following method with\nexample usage shown at the end.\n\n.. code-block:: python\n\n import apsw\n\n def apply_encryption(db, **kwargs):\n \"\"\"You must include an argument for keying, and optional cipher configurations\"\"\"\n\n if db.in_transaction:\n raise Exception(\"Won't update encryption while in a transaction\")\n\n # the order of pragmas matters\n def pragma_order(item):\n # pragmas are case insensitive\n pragma = item[0].lower()\n # cipher must be first\n if pragma == \"cipher\":\n return 1\n # old default settings reset configuration next\n if pragma == \"legacy\":\n return 2\n # then anything with legacy in the name\n if \"legacy\" in pragma:\n return 3\n # all except keys\n if pragma not in {\"key\", \"hexkey\", \"rekey\", \"hexrekey\"}:\n return 3\n # keys are last\n return 100\n\n # check only ome key present\n if 1 != sum(1 if pragma_order(item) == 100 else 0 for item in kwargs.items()):\n raise ValueError(\"Exactly one key must be provided\")\n\n for pragma, value in sorted(kwargs.items(), key=pragma_order):\n # if the pragma was understood and in range we get the value\n # back, while key related ones return 'ok'\n expected = \"ok\" if pragma_order((pragma, value)) == 100 else str(value)\n if db.pragma(pragma, value) != expected:\n raise ValueError(f\"Failed to configure {pragma=}\")\n\n # Try to read from the database. If the database is encrypted and\n # the cipher/key information is wrong you will get NotADBError\n # because the file looks like random noise\n db.pragma(\"user_version\")\n\n try:\n # try to set the user_version to the value it already has\n # which has a side effect of populating an empty database\n with db:\n # done inside a transaction to avoid race conditions\n db.pragma(\"user_version\", db.pragma(\"user_version\"))\n except apsw.ReadOnlyError:\n # can't make changes - that is ok\n pass\n\n\n con = apsw.Connection(\"database.sqlite3\")\n\n apply_encryption(con, key=\"my secret key\")\n\n # you can also do more sophisticated operations. Here we change the cipher,\n # kdf rounds, and the key\n apply_encryption(con, rekey=\"new key\", cipher=\"ascon128\", kdf_iter=1000)\n\n\nVerification\n------------\n\nYou can verify your database is encrypted with a hex viewer. Regular database files\nstart with `SQLite format 3` while encrypted database files are random.\n\n.. code-block:: console\n\n $ hexdump -C database.sqlite3 | head\n 00000000 e1 3e f0 7c 5e 66 4c 20 19 85 9d de 04 d9 e8 e7 |.>.|^fL ........|\n 00000010 10 00 01 01 20 40 20 20 29 2e cb 95 ef 4e 4e 67 |.... @ )....NNg|\n 00000020 22 a1 5a 8f 18 1a fa a1 cf b3 a8 ba b1 80 07 b5 |\".Z.............|\n 00000030 2f 68 4d 8a 13 26 fd 6a 0c 99 5a a4 2c a7 f3 a7 |/hM..&.j..Z.,...|\n 00000040 d9 ae ef 24 dd 1c d1 9c cc 91 4b e8 58 00 96 62 |...$......K.X..b|\n 00000050 b2 aa 51 bf 57 8e 9a a9 d7 6d b2 75 58 84 f6 7d |..Q.W....m.uX..}|\n 00000060 c9 fd a9 57 88 05 ca 60 7f db d1 73 40 ad 98 59 |...W...`...s@..Y|\n 00000070 c2 a0 4c 76 f5 88 31 d3 d7 6f 9e ef f6 c1 c4 88 |..Lv..1..o......|\n 00000080 92 ed 8a 3e 00 ce 35 ef 4b 0d 38 33 9a 61 88 8a |...>..5.K.83.a..|\n 00000090 34 37 72 70 4b 33 f3 1d a2 4b 86 5f c5 59 02 c6 |47rpK3...K._.Y..|\n\n $ hexdump -C regular.db | head\n 00000000 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 |SQLite format 3.|\n 00000010 10 00 02 02 00 40 20 20 00 00 00 95 00 09 22 e6 |.....@ ......\".|\n 00000020 00 08 eb 8f 00 00 ff 8c 00 00 03 d5 00 00 00 04 |................|\n 00000030 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 |................|\n 00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 95 |................|\n 00000060 00 2e 7a 70 0d 09 30 00 09 08 c9 00 0f a9 0e d5 |..zp..0.........|\n 00000070 0e 70 0d f7 0d 8c 08 c9 0c 67 0b 2f 09 71 08 db |.p.......g./.q..|\n 00000080 08 db 08 db 03 ae 03 55 03 55 03 55 03 55 03 55 |.......U.U.U.U.U|\n 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|\n\nSupport/Discussions\n-------------------\n\nFor SQLite questions, support, and issues, use the `SQLite\nForum <https://sqlite.org/forum/forum>`__.`\n\nFor APSW questions, support, and issues, see `your\nchoices <https://rogerbinns.github.io/apsw/about.html#mailing-lists-contacts>`__.\n\nFor SQLite3MultipleCiphers questions, support, and issues see `the\nproject page <https://github.com/utelle/SQLite3MultipleCiphers>`__.\n\nFor APSW together with SQLite3MultipleCiphers questions, support, and\nissues see `the project page\n<https://github.com/utelle/apsw-sqlite3mc>`__.\n",
"bugtrack_url": null,
"license": "OSI Approved",
"summary": "SQLite3 Multiple Ciphers combined with Another Python SQLite Wrapper",
"version": "3.47.2.0",
"project_urls": {
"Code": "https://github.com/utelle/apsw-sqlite3mc",
"Documentation (APSW)": "https://rogerbinns.github.io/apsw/",
"Documentation (MultipleCiphers)": "https://utelle.github.io/SQLite3MultipleCiphers/",
"Documentation (SQLite)": "https://sqlite.org/lang.html",
"Homepage": "https://github.com/utelle/apsw-sqlite3mc",
"Issue Tracker": "https://github.com/utelle/apsw-sqlite3mc/issues",
"Support/Discussions": "https://github.com/utelle/apsw-sqlite3mc?tab=readme-ov-file#supportdiscussions"
},
"split_keywords": [
"database",
" sqlite",
" encryption"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "77ec78d374c9624d5fc2ab1898388f0850f435715b8710809e9d2ae3130494c8",
"md5": "1251ae2148707a66e34da044eae33a32",
"sha256": "d31e6d7fe44d3974bdb75b44cb94c3218277deb50a39fb8700e41b313e8fa405"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "1251ae2148707a66e34da044eae33a32",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1933860,
"upload_time": "2024-12-08T23:51:51",
"upload_time_iso_8601": "2024-12-08T23:51:51.670716Z",
"url": "https://files.pythonhosted.org/packages/77/ec/78d374c9624d5fc2ab1898388f0850f435715b8710809e9d2ae3130494c8/apsw_sqlite3mc-3.47.2.0-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "557a45b4e9736d4459de512e3bcbc89c30658aa754d507f7d6535e7a3500dd1b",
"md5": "3aea440c0a483b46b3b5bc0be6f6eaaa",
"sha256": "76554de1667d160369463d8ae7469e16f2ee04115f25ae923455002a1b3acb18"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "3aea440c0a483b46b3b5bc0be6f6eaaa",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1865102,
"upload_time": "2024-12-08T23:51:54",
"upload_time_iso_8601": "2024-12-08T23:51:54.120078Z",
"url": "https://files.pythonhosted.org/packages/55/7a/45b4e9736d4459de512e3bcbc89c30658aa754d507f7d6535e7a3500dd1b/apsw_sqlite3mc-3.47.2.0-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5a1688d562b86a15863a0f5011c8565bf7d562985e210b03d4ad69ee91fb90f5",
"md5": "714a7b69a7e5afa82a41d4ea086e3ecd",
"sha256": "deaa308aa27267d2053362170f7fb6797bd58433c9228346d5261fe3346b96f6"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "714a7b69a7e5afa82a41d4ea086e3ecd",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 6777949,
"upload_time": "2024-12-08T23:51:55",
"upload_time_iso_8601": "2024-12-08T23:51:55.914318Z",
"url": "https://files.pythonhosted.org/packages/5a/16/88d562b86a15863a0f5011c8565bf7d562985e210b03d4ad69ee91fb90f5/apsw_sqlite3mc-3.47.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ca99d2de925ea94bfa3de2b2f573ab3da89058493fbe8255cffad672f3872737",
"md5": "1975971023fc6e4866adc03fe9fdd95b",
"sha256": "c08b0fed059029d3f5fdf34a6993270998730a08ced13c387d331727d224b866"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "1975971023fc6e4866adc03fe9fdd95b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 6756154,
"upload_time": "2024-12-08T23:51:58",
"upload_time_iso_8601": "2024-12-08T23:51:58.353426Z",
"url": "https://files.pythonhosted.org/packages/ca/99/d2de925ea94bfa3de2b2f573ab3da89058493fbe8255cffad672f3872737/apsw_sqlite3mc-3.47.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "80d6dbb3c3475ffa37c414cff49068fee17dd3d146e165188372b5ed88ee321f",
"md5": "d8a73a639867bfd1a1e968779f5f9a9c",
"sha256": "07e0c1aa5a816de0e3d2d2b99d411a88397ba8f5e58b38e327b9eef1ad295146"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "d8a73a639867bfd1a1e968779f5f9a9c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 6685606,
"upload_time": "2024-12-08T23:52:00",
"upload_time_iso_8601": "2024-12-08T23:52:00.597082Z",
"url": "https://files.pythonhosted.org/packages/80/d6/dbb3c3475ffa37c414cff49068fee17dd3d146e165188372b5ed88ee321f/apsw_sqlite3mc-3.47.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4f71ecb4c691928330f5b7389b8b557130eb92fcf63f12069ab7151bbe775342",
"md5": "4aebd81756726a0bec07211554ba42a2",
"sha256": "91bafcc8868fd5972acf3edce92cadd490b5e1d48e69ba73dc8323b58f0ee0cc"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp310-cp310-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "4aebd81756726a0bec07211554ba42a2",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 6855084,
"upload_time": "2024-12-08T23:52:03",
"upload_time_iso_8601": "2024-12-08T23:52:03.067052Z",
"url": "https://files.pythonhosted.org/packages/4f/71/ecb4c691928330f5b7389b8b557130eb92fcf63f12069ab7151bbe775342/apsw_sqlite3mc-3.47.2.0-cp310-cp310-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e9b317996ce68429fa915af6224980737d64d509547912f39bcd8f500d297d00",
"md5": "dcf135b54219155022c90cd9449d6f10",
"sha256": "b33defe66967676ff483a5883f6e5c910fc4c8cb7bb0035bbc125f99daf89cab"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp310-cp310-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "dcf135b54219155022c90cd9449d6f10",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 6855874,
"upload_time": "2024-12-08T23:52:05",
"upload_time_iso_8601": "2024-12-08T23:52:05.609233Z",
"url": "https://files.pythonhosted.org/packages/e9/b3/17996ce68429fa915af6224980737d64d509547912f39bcd8f500d297d00/apsw_sqlite3mc-3.47.2.0-cp310-cp310-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "46b9fc9fbb411f72ba4b64c118648f1b0b20b4cabb463e0fbd36ddb3bbf11e6d",
"md5": "f56bbf63d3af7a5eb00aea762c72859c",
"sha256": "74ec23bdeb655a20f074e631217d0cfbb124d73912b28a468eb6c1eb67f36fb2"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp310-cp310-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "f56bbf63d3af7a5eb00aea762c72859c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 6845409,
"upload_time": "2024-12-08T23:52:07",
"upload_time_iso_8601": "2024-12-08T23:52:07.732286Z",
"url": "https://files.pythonhosted.org/packages/46/b9/fc9fbb411f72ba4b64c118648f1b0b20b4cabb463e0fbd36ddb3bbf11e6d/apsw_sqlite3mc-3.47.2.0-cp310-cp310-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c08930ceb8ae3b5e304ef5f44f443d2b327d2273e270b0685073b01ad9d50c61",
"md5": "ea974a974e0f6f08e09621eabf4b2496",
"sha256": "bd7e3d0fd8bdfac455bd8d72aaf25a03e24e8c8705c0ebbb0975950756ec4134"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "ea974a974e0f6f08e09621eabf4b2496",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1611546,
"upload_time": "2024-12-08T23:52:10",
"upload_time_iso_8601": "2024-12-08T23:52:10.067368Z",
"url": "https://files.pythonhosted.org/packages/c0/89/30ceb8ae3b5e304ef5f44f443d2b327d2273e270b0685073b01ad9d50c61/apsw_sqlite3mc-3.47.2.0-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8672350d80dbcf6fdcddba77b31f8c72a7cdc098106dac1da7f1bfce63ee6c63",
"md5": "87055effb332ac219499e99741c751ce",
"sha256": "a556d8c8f0aa6186b2f913a7fad072f2d8e16661d543ab341574d2a8214d551d"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "87055effb332ac219499e99741c751ce",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1751265,
"upload_time": "2024-12-08T23:52:12",
"upload_time_iso_8601": "2024-12-08T23:52:12.204439Z",
"url": "https://files.pythonhosted.org/packages/86/72/350d80dbcf6fdcddba77b31f8c72a7cdc098106dac1da7f1bfce63ee6c63/apsw_sqlite3mc-3.47.2.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b2c9928d2054c0419a3946eb555cbcc2f45ba5c701f4b9632b2b0342ae917f97",
"md5": "df3e001c7d09fca56924aee5cd2e80a1",
"sha256": "923a0abfed85d173e6f2d581aeda4eb6a2917d0c23dc59a56ace4f5fda5ff2b2"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "df3e001c7d09fca56924aee5cd2e80a1",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1935549,
"upload_time": "2024-12-08T23:52:13",
"upload_time_iso_8601": "2024-12-08T23:52:13.706766Z",
"url": "https://files.pythonhosted.org/packages/b2/c9/928d2054c0419a3946eb555cbcc2f45ba5c701f4b9632b2b0342ae917f97/apsw_sqlite3mc-3.47.2.0-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "af1909d2955d3921e2b72e7d5241e694b4590c45804591dc6e18aa7267c5af8e",
"md5": "440974735558365b45d96a901b5e3530",
"sha256": "66c5b1815355f255c69872335958184fc385479ca742ba62128b72716d5f41fc"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "440974735558365b45d96a901b5e3530",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1867315,
"upload_time": "2024-12-08T23:52:16",
"upload_time_iso_8601": "2024-12-08T23:52:16.134164Z",
"url": "https://files.pythonhosted.org/packages/af/19/09d2955d3921e2b72e7d5241e694b4590c45804591dc6e18aa7267c5af8e/apsw_sqlite3mc-3.47.2.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "31c11418267dae53304c7d52ede369732f4b299874d07ab98685762081861157",
"md5": "685fe43bf9f189e27eaa4344b6291030",
"sha256": "5fc35153389aad4414df4fe80d251bfe6f48d2e409d25fb51f9d2d1cee24da8e"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "685fe43bf9f189e27eaa4344b6291030",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 6985292,
"upload_time": "2024-12-08T23:52:18",
"upload_time_iso_8601": "2024-12-08T23:52:18.708497Z",
"url": "https://files.pythonhosted.org/packages/31/c1/1418267dae53304c7d52ede369732f4b299874d07ab98685762081861157/apsw_sqlite3mc-3.47.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "43cb5da853648766736e3c7565436e1c68b1742010410570d01e27b2d1221402",
"md5": "7afacbcea46f91f09939ae2efb7de07a",
"sha256": "a2bd87270e866eea01e5e8466c4705dc80e15538c62e31840f2291a75a4ef231"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "7afacbcea46f91f09939ae2efb7de07a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 6959219,
"upload_time": "2024-12-08T23:52:21",
"upload_time_iso_8601": "2024-12-08T23:52:21.164325Z",
"url": "https://files.pythonhosted.org/packages/43/cb/5da853648766736e3c7565436e1c68b1742010410570d01e27b2d1221402/apsw_sqlite3mc-3.47.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3e44eabad4f37d363fcce8c26496fbc93b036be8a90c228ed3039081acea195f",
"md5": "c3eb294a02942c0ade7069043abb4825",
"sha256": "fb3c4977da06b1f32f5075397591f3652df9d2a01a2d639099078368dff29a32"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "c3eb294a02942c0ade7069043abb4825",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 6873873,
"upload_time": "2024-12-08T23:52:22",
"upload_time_iso_8601": "2024-12-08T23:52:22.909221Z",
"url": "https://files.pythonhosted.org/packages/3e/44/eabad4f37d363fcce8c26496fbc93b036be8a90c228ed3039081acea195f/apsw_sqlite3mc-3.47.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0df86584bc4e48ac61cbd93b3909190b731a0134cb168d588f1d1a6f8931ac99",
"md5": "5b643c028879546706d2f5b6451caa99",
"sha256": "08a5a3e8cf74717ffffe3eae8359da30c220abaddd83a5f3e03ee536f7f8a897"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp311-cp311-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "5b643c028879546706d2f5b6451caa99",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 7030664,
"upload_time": "2024-12-08T23:52:24",
"upload_time_iso_8601": "2024-12-08T23:52:24.680696Z",
"url": "https://files.pythonhosted.org/packages/0d/f8/6584bc4e48ac61cbd93b3909190b731a0134cb168d588f1d1a6f8931ac99/apsw_sqlite3mc-3.47.2.0-cp311-cp311-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "46f4d6160f0b49f13d495ce5bbc776dd6717c04242a864c9cc6ca1ef23d38852",
"md5": "d564beb8091c4119321e68c509e635b2",
"sha256": "c9a8b429bade02f2e56dd96356db2db84e7e725e0c4f3fffb3d7d4217262928f"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp311-cp311-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "d564beb8091c4119321e68c509e635b2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 6969345,
"upload_time": "2024-12-08T23:52:26",
"upload_time_iso_8601": "2024-12-08T23:52:26.505791Z",
"url": "https://files.pythonhosted.org/packages/46/f4/d6160f0b49f13d495ce5bbc776dd6717c04242a864c9cc6ca1ef23d38852/apsw_sqlite3mc-3.47.2.0-cp311-cp311-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "551949d604586951c181e7a6d30298227656de5aad8591fc4237019797e54b9a",
"md5": "0cc57c564ae3f910b45dac7760f51f96",
"sha256": "f1a0c50721a388313e2abaf72ca5f4f63adef91e4889d1a96ccf80d78c7a59ff"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp311-cp311-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "0cc57c564ae3f910b45dac7760f51f96",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 6964142,
"upload_time": "2024-12-08T23:52:28",
"upload_time_iso_8601": "2024-12-08T23:52:28.914368Z",
"url": "https://files.pythonhosted.org/packages/55/19/49d604586951c181e7a6d30298227656de5aad8591fc4237019797e54b9a/apsw_sqlite3mc-3.47.2.0-cp311-cp311-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "68e24417abeafd8428305d39562d4a4d9056d6bba76c1e4721e9dc2256db548a",
"md5": "86edcf7df0164362728a0ae7a1bf4dbe",
"sha256": "36a3949fc296842e0df851945b5ac536c757e96fc778e3af570c3075684cee9d"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "86edcf7df0164362728a0ae7a1bf4dbe",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1605890,
"upload_time": "2024-12-08T23:52:30",
"upload_time_iso_8601": "2024-12-08T23:52:30.765438Z",
"url": "https://files.pythonhosted.org/packages/68/e2/4417abeafd8428305d39562d4a4d9056d6bba76c1e4721e9dc2256db548a/apsw_sqlite3mc-3.47.2.0-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4faf73d19a37a21d2440e02584bfa82edc696b27ff9c506a631c1ac357b6a746",
"md5": "ff0f5378f340e2be483fff94a6a21c5e",
"sha256": "8d04c5f8e9c66efe1655ab29d31beeae548c40e042cb587c0373dd254ea5820e"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "ff0f5378f340e2be483fff94a6a21c5e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1748955,
"upload_time": "2024-12-08T23:52:32",
"upload_time_iso_8601": "2024-12-08T23:52:32.220217Z",
"url": "https://files.pythonhosted.org/packages/4f/af/73d19a37a21d2440e02584bfa82edc696b27ff9c506a631c1ac357b6a746/apsw_sqlite3mc-3.47.2.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "315519fb6b054a79d7a35a5b17a72aec1b43d9c6b00f04a5bdb85edeb36316e0",
"md5": "58f9c1e0c765c26499114f14f9f3aeb2",
"sha256": "940088825b053c419df70441d2eb8ff61f8ea27d71e924870136c71fed3ac1dc"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "58f9c1e0c765c26499114f14f9f3aeb2",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1936019,
"upload_time": "2024-12-08T23:52:34",
"upload_time_iso_8601": "2024-12-08T23:52:34.431906Z",
"url": "https://files.pythonhosted.org/packages/31/55/19fb6b054a79d7a35a5b17a72aec1b43d9c6b00f04a5bdb85edeb36316e0/apsw_sqlite3mc-3.47.2.0-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e340ae2d537538abc2af33adecba785d2e9a6c31c22101b387ff076fd6906d96",
"md5": "481f5a6c197bb4fc3e82f899f67d25ee",
"sha256": "5b9f92485915a00aa94ee06f326f1bdd678f3a5086cb8b23041d58d4996ba16e"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "481f5a6c197bb4fc3e82f899f67d25ee",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1866925,
"upload_time": "2024-12-08T23:52:36",
"upload_time_iso_8601": "2024-12-08T23:52:36.784746Z",
"url": "https://files.pythonhosted.org/packages/e3/40/ae2d537538abc2af33adecba785d2e9a6c31c22101b387ff076fd6906d96/apsw_sqlite3mc-3.47.2.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e749172f726e010d51718558f0b9105b87552adcebbb68567692653805baa20f",
"md5": "6c22ef57a1ff66a852fcc5a671ccb237",
"sha256": "1611a8b8a1d77c5036a0f5ae766e72cf484b7b3b38a9d82f7be0650dbe4c6b75"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "6c22ef57a1ff66a852fcc5a671ccb237",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 6983630,
"upload_time": "2024-12-08T23:52:38",
"upload_time_iso_8601": "2024-12-08T23:52:38.399757Z",
"url": "https://files.pythonhosted.org/packages/e7/49/172f726e010d51718558f0b9105b87552adcebbb68567692653805baa20f/apsw_sqlite3mc-3.47.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aafa6b1c9189159490083bfdd06027887c3d5920a83ed094e70df1706bf5ea92",
"md5": "caa27a29809b928206f773f1ea2e56fe",
"sha256": "44fe55f7a36934a959d7c1af116b65e579af68d11c0e283bfef4e38e4e23561b"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "caa27a29809b928206f773f1ea2e56fe",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 6950410,
"upload_time": "2024-12-08T23:52:40",
"upload_time_iso_8601": "2024-12-08T23:52:40.906547Z",
"url": "https://files.pythonhosted.org/packages/aa/fa/6b1c9189159490083bfdd06027887c3d5920a83ed094e70df1706bf5ea92/apsw_sqlite3mc-3.47.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8524455a5a42bf1d9d50853e9db1959bade38f9e2fa12782e2721eb938589ef6",
"md5": "78165ccda52182f61de3e944630d9b20",
"sha256": "2809a4735423056d4d131ddc33fffbbae746b544634a44ba54e0d3c5172ae0ac"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "78165ccda52182f61de3e944630d9b20",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 6854979,
"upload_time": "2024-12-08T23:52:43",
"upload_time_iso_8601": "2024-12-08T23:52:43.440722Z",
"url": "https://files.pythonhosted.org/packages/85/24/455a5a42bf1d9d50853e9db1959bade38f9e2fa12782e2721eb938589ef6/apsw_sqlite3mc-3.47.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b9928d92b66fe657d91f49fd29336bec126da4893bb6818b92399d6f252895a1",
"md5": "aedc9edc1f287cb8d196594f9b362078",
"sha256": "48cd5c049343f0c43fecd24d1da82b41fcf7c2094852f66d1899ed73d3530a0e"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp312-cp312-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "aedc9edc1f287cb8d196594f9b362078",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 7015788,
"upload_time": "2024-12-08T23:52:46",
"upload_time_iso_8601": "2024-12-08T23:52:46.604046Z",
"url": "https://files.pythonhosted.org/packages/b9/92/8d92b66fe657d91f49fd29336bec126da4893bb6818b92399d6f252895a1/apsw_sqlite3mc-3.47.2.0-cp312-cp312-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "62b5664433a3d2406b5b8bb306023e94cf1b5a8f15707e2d738ed96fdd980d4e",
"md5": "33855d76537a1ee55601d950c0e53b25",
"sha256": "03d9458d5631e831e4a564acf826d8501a08a2b84b056fdf6bde73ae498089ee"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp312-cp312-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "33855d76537a1ee55601d950c0e53b25",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 6959523,
"upload_time": "2024-12-08T23:52:48",
"upload_time_iso_8601": "2024-12-08T23:52:48.672204Z",
"url": "https://files.pythonhosted.org/packages/62/b5/664433a3d2406b5b8bb306023e94cf1b5a8f15707e2d738ed96fdd980d4e/apsw_sqlite3mc-3.47.2.0-cp312-cp312-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "11d9f03bc7bc4103e14a0be48644f463daa3f8612040816a25aacf0b4a87d9dd",
"md5": "fa35ecae7d635c28bd167be85187227d",
"sha256": "f3f0c519a6a582f4f747ef5ff056fcb605073f5acbb3378bb3b21f01ddaa3732"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp312-cp312-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "fa35ecae7d635c28bd167be85187227d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 6945223,
"upload_time": "2024-12-08T23:52:51",
"upload_time_iso_8601": "2024-12-08T23:52:51.571338Z",
"url": "https://files.pythonhosted.org/packages/11/d9/f03bc7bc4103e14a0be48644f463daa3f8612040816a25aacf0b4a87d9dd/apsw_sqlite3mc-3.47.2.0-cp312-cp312-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2d72edafc7d4e9c89903a00e11b802a6d9e8d44b536e8c3e90636c0c05600c40",
"md5": "239b6584b8eaa0f70272394c133dbc5b",
"sha256": "6aac9dabcba7cfaec6d533a5da250dc297132afd63e34fb106a7d630102abb24"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "239b6584b8eaa0f70272394c133dbc5b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1605524,
"upload_time": "2024-12-08T23:52:53",
"upload_time_iso_8601": "2024-12-08T23:52:53.268719Z",
"url": "https://files.pythonhosted.org/packages/2d/72/edafc7d4e9c89903a00e11b802a6d9e8d44b536e8c3e90636c0c05600c40/apsw_sqlite3mc-3.47.2.0-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a3ad580e751d7bfe36759cdae358fd96286f937d3e32b5857a39da8194050040",
"md5": "0b6b469430864bc48b249dbb016c8fcd",
"sha256": "548ac3278560afa9faa82d2d34f21bdcd30c55a9021dbf1c2133dacab357d6e7"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "0b6b469430864bc48b249dbb016c8fcd",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1747725,
"upload_time": "2024-12-08T23:52:55",
"upload_time_iso_8601": "2024-12-08T23:52:55.154101Z",
"url": "https://files.pythonhosted.org/packages/a3/ad/580e751d7bfe36759cdae358fd96286f937d3e32b5857a39da8194050040/apsw_sqlite3mc-3.47.2.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "939653f886d272b31238c6599698d390e962da4bae8cd041ebe88faaf5d1b67e",
"md5": "a865097ed1cdcc95322f29364d4a95dd",
"sha256": "7c655c7225146c4f46d3c4a0bb3407842970dcb73bb71fa9a98cea8d98f8ea19"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "a865097ed1cdcc95322f29364d4a95dd",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1934491,
"upload_time": "2024-12-08T23:52:57",
"upload_time_iso_8601": "2024-12-08T23:52:57.413435Z",
"url": "https://files.pythonhosted.org/packages/93/96/53f886d272b31238c6599698d390e962da4bae8cd041ebe88faaf5d1b67e/apsw_sqlite3mc-3.47.2.0-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b023105fe5545f31d0cfd14323e2014d2723563213fdde0e68416e9e8c952a81",
"md5": "61742e3d5e1b68889f9bbecc175abe99",
"sha256": "5c173731d9393cb782623ecc4e73d44378d0f89e3d1e22b1d3e443edbb139aef"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "61742e3d5e1b68889f9bbecc175abe99",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1865099,
"upload_time": "2024-12-08T23:52:58",
"upload_time_iso_8601": "2024-12-08T23:52:58.954922Z",
"url": "https://files.pythonhosted.org/packages/b0/23/105fe5545f31d0cfd14323e2014d2723563213fdde0e68416e9e8c952a81/apsw_sqlite3mc-3.47.2.0-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "36fb3c3b37a97e602e08dc402caab74711b64572c330bf337346a01ac6f58801",
"md5": "3c31fdb88c90dd385958586bdd2eee5b",
"sha256": "da6979d585302a087a502be5a61195a4a500bb44fff56d646d0b9184d3b28a55"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "3c31fdb88c90dd385958586bdd2eee5b",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 6996109,
"upload_time": "2024-12-08T23:53:01",
"upload_time_iso_8601": "2024-12-08T23:53:01.386979Z",
"url": "https://files.pythonhosted.org/packages/36/fb/3c3b37a97e602e08dc402caab74711b64572c330bf337346a01ac6f58801/apsw_sqlite3mc-3.47.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "39309e25c57f3ace611849e99e8cf4cfdfddcff433da7b4b9b8f81141128123e",
"md5": "6bcdce4494705faba6b6d038991010a3",
"sha256": "745315ffe0b1b4fdc54c0dabd808078111c115328784069b2794b3f9c14ce614"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "6bcdce4494705faba6b6d038991010a3",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 6964017,
"upload_time": "2024-12-08T23:53:03",
"upload_time_iso_8601": "2024-12-08T23:53:03.205125Z",
"url": "https://files.pythonhosted.org/packages/39/30/9e25c57f3ace611849e99e8cf4cfdfddcff433da7b4b9b8f81141128123e/apsw_sqlite3mc-3.47.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cfa402733c32b58c59f44fc0d9bc2aca84801c934c8847db19bb16d3c40d5919",
"md5": "feda63748e0f63610032bdfdf70fb827",
"sha256": "7506083e52d0299ee560f57fa6886e9723fa2104d825514185f7e20841be881e"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "feda63748e0f63610032bdfdf70fb827",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 6865425,
"upload_time": "2024-12-08T23:53:04",
"upload_time_iso_8601": "2024-12-08T23:53:04.949015Z",
"url": "https://files.pythonhosted.org/packages/cf/a4/02733c32b58c59f44fc0d9bc2aca84801c934c8847db19bb16d3c40d5919/apsw_sqlite3mc-3.47.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "41a86dc0c179a70c91a2da6e2e0a2878182d32bc37a5bbab202b01cde42dea7b",
"md5": "5891615745dc8e2d83035bc7a8ed1a18",
"sha256": "b6b2a1bdda4bc383ee184758ecc3c907119977f05282f4e80cb6d28263fa35b7"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp313-cp313-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "5891615745dc8e2d83035bc7a8ed1a18",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 7027549,
"upload_time": "2024-12-08T23:53:07",
"upload_time_iso_8601": "2024-12-08T23:53:07.864768Z",
"url": "https://files.pythonhosted.org/packages/41/a8/6dc0c179a70c91a2da6e2e0a2878182d32bc37a5bbab202b01cde42dea7b/apsw_sqlite3mc-3.47.2.0-cp313-cp313-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c713876da18e1d7aa615c9b85980b0027f36a6801d7f9a2e83476eb8b01fe24",
"md5": "f39084661b45e5197073660e4e15efa9",
"sha256": "a6e4d33bce2b14bbc1654ef31cd46e8c6b511f82734fc36caad3acd60283e632"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp313-cp313-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "f39084661b45e5197073660e4e15efa9",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 6962323,
"upload_time": "2024-12-08T23:53:09",
"upload_time_iso_8601": "2024-12-08T23:53:09.665422Z",
"url": "https://files.pythonhosted.org/packages/2c/71/3876da18e1d7aa615c9b85980b0027f36a6801d7f9a2e83476eb8b01fe24/apsw_sqlite3mc-3.47.2.0-cp313-cp313-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6f70319122f289d9494ee3c0be29d49bd7d1636cddc27d65df7618404fe26f7f",
"md5": "13fa1c633653c2bd7ea036580b85f8c9",
"sha256": "66438ce54d0a46ce0c30051183841335c37743b186cbe71aa500e40f2fb0f0b5"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp313-cp313-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "13fa1c633653c2bd7ea036580b85f8c9",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 6957574,
"upload_time": "2024-12-08T23:53:11",
"upload_time_iso_8601": "2024-12-08T23:53:11.549806Z",
"url": "https://files.pythonhosted.org/packages/6f/70/319122f289d9494ee3c0be29d49bd7d1636cddc27d65df7618404fe26f7f/apsw_sqlite3mc-3.47.2.0-cp313-cp313-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "492a476d2bfe18549f5d9078b6c5e9d093406f237c65deeda896b54c21b44c6b",
"md5": "f34a6471723286736bf756235080545e",
"sha256": "b9434ceca2aeee6c8ed3798439d24aa614775e47cb6268292bca39189ea4c817"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp313-cp313-win32.whl",
"has_sig": false,
"md5_digest": "f34a6471723286736bf756235080545e",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1604162,
"upload_time": "2024-12-08T23:53:13",
"upload_time_iso_8601": "2024-12-08T23:53:13.276401Z",
"url": "https://files.pythonhosted.org/packages/49/2a/476d2bfe18549f5d9078b6c5e9d093406f237c65deeda896b54c21b44c6b/apsw_sqlite3mc-3.47.2.0-cp313-cp313-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d01e30fadfc1a26954f050f4f05e415415eb25ddb593a9bb11fd78c72d71f82a",
"md5": "6bfad57495f79258ec3355e5f355d53c",
"sha256": "bd345a69a62d64f312a12a593396cb61b53040a1b96fda061586ad1092c596ef"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "6bfad57495f79258ec3355e5f355d53c",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1746235,
"upload_time": "2024-12-08T23:53:14",
"upload_time_iso_8601": "2024-12-08T23:53:14.781415Z",
"url": "https://files.pythonhosted.org/packages/d0/1e/30fadfc1a26954f050f4f05e415415eb25ddb593a9bb11fd78c72d71f82a/apsw_sqlite3mc-3.47.2.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d8731adbd6b2b3c5fe0c9e28fb3b77a95702bbfeed2ba855373aacad7175b5cf",
"md5": "f926e341b317c8bc99484667149312f7",
"sha256": "076f56e8efbea290f130984d869579bb89a821b649b13c8f1123356c49fabf48"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "f926e341b317c8bc99484667149312f7",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1933837,
"upload_time": "2024-12-08T23:53:16",
"upload_time_iso_8601": "2024-12-08T23:53:16.182160Z",
"url": "https://files.pythonhosted.org/packages/d8/73/1adbd6b2b3c5fe0c9e28fb3b77a95702bbfeed2ba855373aacad7175b5cf/apsw_sqlite3mc-3.47.2.0-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1227e6b91d3e3789bf1a677f84cc4b223fb935d0f45d4a12fb375b5bebf80f19",
"md5": "f14c88f1bbfed4ca82b8fed0ad123b69",
"sha256": "b66db72f80a28c136bf97f50a19477fa5a233f275d64866d6a9cf45d349ab6cd"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "f14c88f1bbfed4ca82b8fed0ad123b69",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1864952,
"upload_time": "2024-12-08T23:53:17",
"upload_time_iso_8601": "2024-12-08T23:53:17.650338Z",
"url": "https://files.pythonhosted.org/packages/12/27/e6b91d3e3789bf1a677f84cc4b223fb935d0f45d4a12fb375b5bebf80f19/apsw_sqlite3mc-3.47.2.0-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4d6e5c68d3f8c501da40f37a8a93292051a42acfcf2fe58e984f948799a65435",
"md5": "218e5a719d718174ecc5714dd49c766c",
"sha256": "e5216b5c06207777699a794c7182023c80facefc012bcf7a10ea5964c99627a2"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "218e5a719d718174ecc5714dd49c766c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 6782861,
"upload_time": "2024-12-08T23:53:19",
"upload_time_iso_8601": "2024-12-08T23:53:19.905873Z",
"url": "https://files.pythonhosted.org/packages/4d/6e/5c68d3f8c501da40f37a8a93292051a42acfcf2fe58e984f948799a65435/apsw_sqlite3mc-3.47.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cee635b0cfd930400dc8e5e121eecc4bbf38a8fcb071e791117ec1e22f25a6d6",
"md5": "6f4ac6e390dde3bab1dc90a9dc501de5",
"sha256": "9df1dba94f831536c3874cfec8febcead67252077f7cbafd36e77b64f9ce7151"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "6f4ac6e390dde3bab1dc90a9dc501de5",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 6759165,
"upload_time": "2024-12-08T23:53:21",
"upload_time_iso_8601": "2024-12-08T23:53:21.681681Z",
"url": "https://files.pythonhosted.org/packages/ce/e6/35b0cfd930400dc8e5e121eecc4bbf38a8fcb071e791117ec1e22f25a6d6/apsw_sqlite3mc-3.47.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "770be55b33b36b9f74198ca7c819ce8a685fd6f9bd1ac621e20118dc398a30c8",
"md5": "6add487e7e81476a10f20d365f6da2e5",
"sha256": "2b0b5d095153888f4c6083d531bfd68d54e72cac3df2eba26954e2a73d59fdc1"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "6add487e7e81476a10f20d365f6da2e5",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 6689129,
"upload_time": "2024-12-08T23:53:23",
"upload_time_iso_8601": "2024-12-08T23:53:23.386557Z",
"url": "https://files.pythonhosted.org/packages/77/0b/e55b33b36b9f74198ca7c819ce8a685fd6f9bd1ac621e20118dc398a30c8/apsw_sqlite3mc-3.47.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6e21f15bc737bf90e9c425169949d7403104c27380e428a54f22c22852a72914",
"md5": "5c2afc8f5a01f68a86c14b72218c75c2",
"sha256": "4ed985195ef3b801b829de092c5134cb8385de33218237c4f8539e40fc5b7e3e"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp39-cp39-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "5c2afc8f5a01f68a86c14b72218c75c2",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 6860855,
"upload_time": "2024-12-08T23:53:26",
"upload_time_iso_8601": "2024-12-08T23:53:26.096047Z",
"url": "https://files.pythonhosted.org/packages/6e/21/f15bc737bf90e9c425169949d7403104c27380e428a54f22c22852a72914/apsw_sqlite3mc-3.47.2.0-cp39-cp39-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ce326a27aa3bba3364be49bce7efc8236739e0209e6b3131654cf11bf051b01e",
"md5": "dc6558672550994a8704869bb639a5d6",
"sha256": "ca1e7d4516997898d564f1cb29d0851f65276c3377f202d1e096b05b8f876762"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp39-cp39-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "dc6558672550994a8704869bb639a5d6",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 6859489,
"upload_time": "2024-12-08T23:53:28",
"upload_time_iso_8601": "2024-12-08T23:53:28.133958Z",
"url": "https://files.pythonhosted.org/packages/ce/32/6a27aa3bba3364be49bce7efc8236739e0209e6b3131654cf11bf051b01e/apsw_sqlite3mc-3.47.2.0-cp39-cp39-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cd452d31f18b2393c4036fa379f57d0b490dac98dfc85ed0c39944191985e0c5",
"md5": "8618d452855cd911734d4572956689a7",
"sha256": "fbda0fca129c22606c24f10f3fb2831e2a58b5f5f702ee2af4f4d8a81cd0d42f"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp39-cp39-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "8618d452855cd911734d4572956689a7",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 6849504,
"upload_time": "2024-12-08T23:53:30",
"upload_time_iso_8601": "2024-12-08T23:53:30.612079Z",
"url": "https://files.pythonhosted.org/packages/cd/45/2d31f18b2393c4036fa379f57d0b490dac98dfc85ed0c39944191985e0c5/apsw_sqlite3mc-3.47.2.0-cp39-cp39-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cc744c71acbde852e2ebdd0d6d7e71a531e27aa592e90bc6e4cfd249f2bcd3fd",
"md5": "c8cdabfb97104905bf38403f575fd386",
"sha256": "67c3ca0ec4cf08d94e2e3d16012e19b2933d49a0705705109a8903af23a5a1fb"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "c8cdabfb97104905bf38403f575fd386",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1611876,
"upload_time": "2024-12-08T23:53:32",
"upload_time_iso_8601": "2024-12-08T23:53:32.379540Z",
"url": "https://files.pythonhosted.org/packages/cc/74/4c71acbde852e2ebdd0d6d7e71a531e27aa592e90bc6e4cfd249f2bcd3fd/apsw_sqlite3mc-3.47.2.0-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ac295471b49f6ef587edc152561d2762ed94b7806532777035513855b101306d",
"md5": "31af1d5730ad0644f7682ff998a7250d",
"sha256": "32aedc0442ea85b53d312aed75f3d42f46e30fa2ae99d669b110150ca1f4cba9"
},
"downloads": -1,
"filename": "apsw_sqlite3mc-3.47.2.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "31af1d5730ad0644f7682ff998a7250d",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1752329,
"upload_time": "2024-12-08T23:53:34",
"upload_time_iso_8601": "2024-12-08T23:53:34.996018Z",
"url": "https://files.pythonhosted.org/packages/ac/29/5471b49f6ef587edc152561d2762ed94b7806532777035513855b101306d/apsw_sqlite3mc-3.47.2.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dff81ee0bf779685831c4628ce8d2fbc1aac35053f8de6bb13be509709182cbf",
"md5": "9109d453701a41c5392d516079d7f7ef",
"sha256": "879a3a31b66d48b0de50a0329f55d36206d3b0e3d5271240d9df70e06d117e97"
},
"downloads": -1,
"filename": "apsw-sqlite3mc-3.47.2.0.tar.gz",
"has_sig": false,
"md5_digest": "9109d453701a41c5392d516079d7f7ef",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 4107678,
"upload_time": "2024-12-08T23:53:37",
"upload_time_iso_8601": "2024-12-08T23:53:37.134637Z",
"url": "https://files.pythonhosted.org/packages/df/f8/1ee0bf779685831c4628ce8d2fbc1aac35053f8de6bb13be509709182cbf/apsw-sqlite3mc-3.47.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-08 23:53:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "utelle",
"github_project": "apsw-sqlite3mc",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "apsw-sqlite3mc"
}