From 9fc9a592329837f103b5b3d3562cf01119f63f6f Mon Sep 17 00:00:00 2001 From: Iain Dillingham Date: Tue, 30 Jan 2024 19:37:51 +0000 Subject: [PATCH] Replace pysqlite3-binary with sqlean.py The advantage of sqlean.py is that it includes wheels for Windows, macOS, and Linux. pysqlite3-binary doesn't: it includes wheels only for Linux, and, based on the project's closed issues, that is the way it's going to stay. (Aside: sqlean.py's maintainer has dropped into pysqlite3-binary's issues to recommend sqlean.py over pysqlite3-binary [1][].) As we've made the switch in ehrQL, and as at least one member of the team doesn't develop on Linux (and has only so much patience for Docker), it would seem reasonable to replace the former for the latter. [1]: https://github.com/coleifer/pysqlite3/issues/64 --- opencodelists/settings.py | 4 ++-- requirements.prod.in | 2 +- requirements.prod.txt | 40 +++++++++++++++++++++++++++++++-------- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/opencodelists/settings.py b/opencodelists/settings.py index caeef256..bd3e558a 100644 --- a/opencodelists/settings.py +++ b/opencodelists/settings.py @@ -24,8 +24,8 @@ # Patch sqlite3 to ensure recent version -__import__("pysqlite3") -sys.modules["sqlite3"] = sys.modules.pop("pysqlite3") +__import__("sqlean") +sys.modules["sqlite3"] = sys.modules.pop("sqlean") # Read env file/vars diff --git a/requirements.prod.in b/requirements.prod.in index 7bfca3bc..4001daf5 100644 --- a/requirements.prod.in +++ b/requirements.prod.in @@ -24,8 +24,8 @@ openpyxl opentelemetry-exporter-otlp opentelemetry-instrumentation-django opentelemetry-sdk -pysqlite3-binary whitenoise sentry-sdk +sqlean.py structlog tqdm diff --git a/requirements.prod.txt b/requirements.prod.txt index c64939ef..43420dd6 100644 --- a/requirements.prod.txt +++ b/requirements.prod.txt @@ -547,14 +547,6 @@ pycparser==2.21 \ --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \ --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 # via cffi -pysqlite3-binary==0.5.1 \ - --hash=sha256:102e17ad76878ac8ec4686104b57cd0115a3ba6b82e46625165ff28074a2374e \ - --hash=sha256:1991c12f98771f6446f06161e68878375e6a4abc341a0783bd329eb3dfe0e6eb \ - --hash=sha256:41c17f30a68c1fe87aef88402f9e5ededf1cb319089705fdf2f8fdeeb91f79d1 \ - --hash=sha256:4a22cf616b5367b683054f114b5fe6dece302cf12a04730332a310f335a38441 \ - --hash=sha256:4d1089b986db9b5abe13813a0edd7eb5f693612641ff99e40afc0afed2633b14 \ - --hash=sha256:d038101b39da76c20218af0e625213d7ac4ed00fbac02748878e28551f065cce - # via -r requirements.prod.in python-dotenv==1.0.0 \ --hash=sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba \ --hash=sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a @@ -580,6 +572,38 @@ six==1.16.0 \ # bleach # furl # orderedmultidict +sqlean-py==3.45.0 \ + --hash=sha256:0f1283db3c1393dee2b1e7eeb5a754c4d8a56e4418296379f09cd44c61bea801 \ + --hash=sha256:25b11e30fb63da8c2d688ef5eb2b6ed73aee5e9b1e94fe8528a252ca1840cd1c \ + --hash=sha256:26471ceaa36e4c477956f6a004d8376e948fdd4603dba606660ec64216630d7e \ + --hash=sha256:274423f82c6cc1358bf89944019746aa38fe9bf65b3added1cd81a474e61f90d \ + --hash=sha256:478f25a2663c16c08232adcef1cf7745cca0c74eff2e84bf15fd94b05c12482f \ + --hash=sha256:484a83fe472e8eac2b3b81889ebcee547cda2a8efcfbd54d7ae007c208297f61 \ + --hash=sha256:4cffdde58a2ee64fc3507044366f559ae7d1d9349d234054661ee9af89a99b75 \ + --hash=sha256:52b113c172e7b43e0e784e610b1186c6fff811f5c58c1ec9ba51e15de9eb7b9b \ + --hash=sha256:52f6c77ccceff2a702372bd3ebd38094f2c2eb60210f4ada50100f2e665545a9 \ + --hash=sha256:655ad50cac324cd2395c9b34e9d29981a5da5a61782bca2d8e2d3319094fc6bf \ + --hash=sha256:78bcaba0c135172357b2be83733247e37cdeb67ca1d045e42a02a34d4451be63 \ + --hash=sha256:7e21b09303170135a7476f2a696445d6f01f223e454c33afd47a5caa3e079179 \ + --hash=sha256:83365878c0fd0d07f3db8119a690206a0b177cc36282316731c000f85905d2ec \ + --hash=sha256:8b173d363bf83c8fe3cd3d40b6b52164b97ddedab9d3ba90e2863f78e58501af \ + --hash=sha256:8c986852bbae5a67ccec4fe8ef20967d8ed50839670d8f2b32f999621dfedc97 \ + --hash=sha256:8fe56490a7e448dddeed7ac648f9575066ebf0919d52d59a03f38e98b30bfe87 \ + --hash=sha256:9171fbcacb9d533d1b3feea793df21e8cbaddc75023fb87c99279a75f80abd8b \ + --hash=sha256:976088939ba54003f1803b0b22d9a92f000b7b8c2f3ba6260fa9df9e2fc0b41e \ + --hash=sha256:9b46e8c1889db6aefd79696cc9801c7b41969cf4ddf91dc6b4e203430b625452 \ + --hash=sha256:a5a94be979fdbeb231db28e4ffdcc1924c8b806979729eadb71f9dd356aabd70 \ + --hash=sha256:a667af4a37089e2819019526bcb0757c7ebb08f5579118b6eaba3a5c4f9b2f38 \ + --hash=sha256:a9afdb298336f7929d9e3a96eed2b6e5c9978d5a408aeaa6a1052b8d31c47a5d \ + --hash=sha256:aaffe871288445cdb610652194ce808ac6f12624ea70604779dde32e05bd83cf \ + --hash=sha256:ae964bd5398452f0315c40a2bc32a347d63f10654e1f5cbe69dae7b48fa0a0e2 \ + --hash=sha256:af028964ed19e3bc44bf0064160cb849febb86bc217a65f8971af5596d4d8b73 \ + --hash=sha256:c3c93b2391c048949f853115e3b77ce2d0e4963d90cd0549600ac22bf9ae4bb8 \ + --hash=sha256:cdb37523f91d07169996684066bf579e08787a9796288fa1adea21c1745935cf \ + --hash=sha256:d43e5729a8e4376194bd620c4c30686f7e110328fc1bf7bf9b157d3aef6e1278 \ + --hash=sha256:e632d84be7ee6a37152e00b28dea47dea23bddd81feda1ef29a326c746e3861c \ + --hash=sha256:f9bac784ae505a4e51d5c673f1bd6a84a0db032e6f8520c5d1b48893020d208d + # via -r requirements.prod.in sqlparse==0.4.4 \ --hash=sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3 \ --hash=sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c