diff --git a/.idx/dev.nix b/.idx/dev.nix index 607f242..37c48eb 100644 --- a/.idx/dev.nix +++ b/.idx/dev.nix @@ -1,6 +1,10 @@ # To learn more about how to use Nix to configure your environment # see: https://firebase.google.com/docs/studio/customize-workspace -{ pkgs, ... }: { +{ pkgs, lib, ... }: { + imports = lib.optionals (builtins.pathExists ./dev.local.nix) [ + ./dev.local.nix + ]; + # Which nixpkgs channel to use. channel = "unstable"; # or "unstable" diff --git a/.vscode/settings.json b/.vscode/settings.json index 8a08771..c389ba7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -46,5 +46,7 @@ "markdown.preview.fontSize": 16, "markdown.preview.lineHeight": 1.6, "markdown.extension.toc.levels": "2..6", - "markdown.extension.preview.autoShowPreviewToSide": true + "markdown.extension.preview.autoShowPreviewToSide": true, + "IDX.aI.enableInlineCompletion": true, + "IDX.aI.enableCodebaseIndexing": true } \ No newline at end of file diff --git a/Pipfile b/Pipfile index 50e2fba..e1eec0b 100644 --- a/Pipfile +++ b/Pipfile @@ -19,7 +19,7 @@ zensical = "*" [dev-packages] [requires] -python_version = "3.13" +python_version = "3.14" [scripts] dev = "mkdocs serve --watch overrides --watch-theme" diff --git a/Pipfile.lock b/Pipfile.lock index 96463ea..395a36b 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "21bc35e4a60508ada7a4d1d46af7744213b9370926f34e073458dd8fb13ee997" + "sha256": "a54f862fd105133810703030592c31182334be6733f29a2b959e3d75ef3993dc" }, "pipfile-spec": 6, "requires": { - "python_version": "3.13" + "python_version": "3.14" }, "sources": [ { @@ -18,24 +18,24 @@ "default": { "babel": { "hashes": [ - "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", - "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2" + "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", + "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35" ], "markers": "python_version >= '3.8'", - "version": "==2.17.0" + "version": "==2.18.0" }, "backrefs": { "hashes": [ - "sha256:13eafbc9ccd5222e9c1f0bec563e6d2a6d21514962f11e7fc79872fd56cbc853", - "sha256:2a2ccb96302337ce61ee4717ceacfbf26ba4efb1d55af86564b8bbaeda39cac1", - "sha256:3bba1749aafe1db9b915f00e0dd166cba613b6f788ffd63060ac3485dc9be231", - "sha256:4c9d3dc1e2e558965202c012304f33d4e0e477e1c103663fd2c3cc9bb18b0d05", - "sha256:a9e99b8a4867852cad177a6430e31b0f6e495d65f8c6c134b68c14c3c95bf4b0", - "sha256:c64698c8d2269343d88947c0735cb4b78745bd3ba590e10313fbf3f78c34da5a", - "sha256:e82bba3875ee4430f4de4b6db19429a27275d95a5f3773c57e9e18abc23fd2b7" + "sha256:08aa7fae530c6b2361d7bdcbda1a7c454e330cc9dbcd03f5c23205e430e5c3be", + "sha256:0fdc7b012420b6b144410342caeb8adc54c6866cf12064abc9bb211302e496f8", + "sha256:12df81596ab511f783b7d87c043ce26bc5b0288cf3bb03610fe76b8189282b2b", + "sha256:664e33cd88c6840b7625b826ecf2555f32d491800900f5a541f772c485f7cda7", + "sha256:c3f4b9cb2af8cda0d87ab4f57800b57b95428488477be164dd2b47be54db0c90", + "sha256:e5f805ae09819caa1aa0623b4a83790e7028604aa2b8c73ba602c4454e665de7", + "sha256:f44ff4d48808b243b6c0cdc6231e22195c32f77046018141556c66f8bab72a49" ], "markers": "python_version >= '3.9'", - "version": "==6.1" + "version": "==6.2" }, "cachecontrol": { "extras": [ @@ -67,11 +67,11 @@ }, "certifi": { "hashes": [ - "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", - "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316" + "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", + "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120" ], "markers": "python_version >= '3.7'", - "version": "==2025.11.12" + "version": "==2026.1.4" }, "cffi": { "hashes": [ @@ -306,11 +306,11 @@ }, "cssselect2": { "hashes": [ - "sha256:46fc70ebc41ced7a32cd42d58b1884d72ade23d21e5a4eaaf022401c13f0e76e", - "sha256:7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a" + "sha256:6a99e5f91f9a016a304dd929b0966ca464bcfda15177b6fb4a118fc0fb5d9563", + "sha256:759aa22c216326356f65e62e791d66160a0f9c91d1424e8d8adc5e74dddfc6fb" ], - "markers": "python_version >= '3.9'", - "version": "==0.8.0" + "markers": "python_version >= '3.10'", + "version": "==0.9.0" }, "deepmerge": { "hashes": [ @@ -330,11 +330,11 @@ }, "filelock": { "hashes": [ - "sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2", - "sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4" + "sha256:011a5644dc937c22699943ebbfc46e969cdde3e171470a6e40b9533e5a72affa", + "sha256:426e9a4660391f7f8a810d71b0555bce9008b0a1cc342ab1f6947d37639e002d" ], "markers": "python_version >= '3.10'", - "version": "==3.20.0" + "version": "==3.24.3" }, "ghp-import": { "hashes": [ @@ -353,11 +353,11 @@ }, "gitpython": { "hashes": [ - "sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c", - "sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77" + "sha256:400124c7d0ef4ea03f7310ac2fbf7151e09ff97f2a3288d64a440c584a29c37f", + "sha256:79812ed143d9d25b6d176a10bb511de0f9c67b1fa641d82097b0ab90398a2058" ], "markers": "python_version >= '3.7'", - "version": "==3.1.45" + "version": "==3.1.46" }, "htmlmin2": { "hashes": [ @@ -389,11 +389,11 @@ }, "markdown": { "hashes": [ - "sha256:37062d4f2aa4b2b6b32aefb80faa300f82cc790cb949a35b8caede34f2b68c0e", - "sha256:b5b99d6951e2e4948d939255596523444c0e677c669700b1d17aa4a8a464cb7c" + "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", + "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36" ], "markers": "python_version >= '3.10'", - "version": "==3.10" + "version": "==3.10.2" }, "markupsafe": { "hashes": [ @@ -543,21 +543,21 @@ }, "mkdocs-git-revision-date-localized-plugin": { "hashes": [ - "sha256:17345ccfdf69a1905dc96fb1070dce82d03a1eb6b0d48f958081a7589ce3c248", - "sha256:933f9e35a8c135b113f21bb57610d82e9b7bcc71dd34fb06a029053c97e99656" + "sha256:2b0239455cd84784dd87ac8dfc9253fe4b2dd35e102696f21b5d34e2175981c6", + "sha256:b00fd36ed0f9b2326b1488fd8fa31bf2ce64e68c4aa60a9ce857f10719571903" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==1.5.0" + "markers": "python_version >= '3.10'", + "version": "==1.5.1" }, "mkdocs-material": { "hashes": [ - "sha256:602b359844e906ee402b7ed9640340cf8a474420d02d8891451733b6b02314ec", - "sha256:da2866ea53601125ff5baa8aa06404c6e07af3c5ce3d5de95e3b52b80b442887" + "sha256:6776256552290b9b7a7aa002780e25b1e04bc9c3a8516b6b153e82e16b8384bd", + "sha256:9bf6f53452d4a4d527eac3cef3f92b7b6fc4931c55d57766a7d87890d47e1b92" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==9.7.0" + "version": "==9.7.2" }, "mkdocs-material-extensions": { "hashes": [ @@ -587,12 +587,12 @@ }, "mkdocs-rss-plugin": { "hashes": [ - "sha256:17b7b78c2c0b6418b83644b701867d5b2c48ecf069609917250b829bd4c3a718", - "sha256:6903f85e75ee976ae5f21eb05a54fa4d848bc246a227523945eaf6be7580c930" + "sha256:1c30b192a73a46714c3c5f2f1fbc4b15850ed719106eb241de99891adb7e6258", + "sha256:7aaa607d0a19f03343e83f4ee1b193e1d6f5af19b853546878c4b57fe406e0c4" ], "index": "pypi", "markers": "python_version >= '3.10'", - "version": "==1.17.7" + "version": "==1.17.9" }, "msgpack": { "hashes": [ @@ -664,11 +664,11 @@ }, "packaging": { "hashes": [ - "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", - "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" + "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", + "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529" ], "markers": "python_version >= '3.8'", - "version": "==25.0" + "version": "==26.0" }, "paginate": { "hashes": [ @@ -679,125 +679,125 @@ }, "pathspec": { "hashes": [ - "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", - "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712" + "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645", + "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723" ], - "markers": "python_version >= '3.8'", - "version": "==0.12.1" + "markers": "python_version >= '3.9'", + "version": "==1.0.4" }, "pillow": { "hashes": [ - "sha256:0869154a2d0546545cde61d1789a6524319fc1897d9ee31218eae7a60ccc5643", - "sha256:09f2d0abef9e4e2f349305a4f8cc784a8a6c2f58a8c4892eea13b10a943bd26e", - "sha256:0b817e7035ea7f6b942c13aa03bb554fc44fea70838ea21f8eb31c638326584e", - "sha256:0fd00cac9c03256c8b2ff58f162ebcd2587ad3e1f2e397eab718c47e24d231cc", - "sha256:110486b79f2d112cf6add83b28b627e369219388f64ef2f960fef9ebaf54c642", - "sha256:1979f4566bb96c1e50a62d9831e2ea2d1211761e5662afc545fa766f996632f6", - "sha256:1ac11e8ea4f611c3c0147424eae514028b5e9077dd99ab91e1bd7bc33ff145e1", - "sha256:1b1b133e6e16105f524a8dec491e0586d072948ce15c9b914e41cdadd209052b", - "sha256:1ee80a59f6ce048ae13cda1abf7fbd2a34ab9ee7d401c46be3ca685d1999a399", - "sha256:21f241bdd5080a15bc86d3466a9f6074a9c2c2b314100dd896ac81ee6db2f1ba", - "sha256:266cd5f2b63ff316d5a1bba46268e603c9caf5606d44f38c2873c380950576ad", - "sha256:26d9f7d2b604cd23aba3e9faf795787456ac25634d82cd060556998e39c6fa47", - "sha256:27f95b12453d165099c84f8a8bfdfd46b9e4bda9e0e4b65f0635430027f55739", - "sha256:2c54c1a783d6d60595d3514f0efe9b37c8808746a66920315bfd34a938d7994b", - "sha256:2fa5f0b6716fc88f11380b88b31fe591a06c6315e955c096c35715788b339e3f", - "sha256:32ed80ea8a90ee3e6fa08c21e2e091bba6eda8eccc83dbc34c95169507a91f10", - "sha256:3830c769decf88f1289680a59d4f4c46c72573446352e2befec9a8512104fa52", - "sha256:38df9b4bfd3db902c9c2bd369bcacaf9d935b2fff73709429d95cc41554f7b3d", - "sha256:3adfb466bbc544b926d50fe8f4a4e6abd8c6bffd28a26177594e6e9b2b76572b", - "sha256:3e42edad50b6909089750e65c91aa09aaf1e0a71310d383f11321b27c224ed8a", - "sha256:4078242472387600b2ce8d93ade8899c12bf33fa89e55ec89fe126e9d6d5d9e9", - "sha256:455247ac8a4cfb7b9bc45b7e432d10421aea9fc2e74d285ba4072688a74c2e9d", - "sha256:4cc6b3b2efff105c6a1656cfe59da4fdde2cda9af1c5e0b58529b24525d0a098", - "sha256:4cf7fed4b4580601c4345ceb5d4cbf5a980d030fd5ad07c4d2ec589f95f09905", - "sha256:5193fde9a5f23c331ea26d0cf171fbf67e3f247585f50c08b3e205c7aeb4589b", - "sha256:5269cc1caeedb67e6f7269a42014f381f45e2e7cd42d834ede3c703a1d915fe3", - "sha256:53561a4ddc36facb432fae7a9d8afbfaf94795414f5cdc5fc52f28c1dca90371", - "sha256:55f818bd74fe2f11d4d7cbc65880a843c4075e0ac7226bc1a23261dbea531953", - "sha256:58eea5ebe51504057dd95c5b77d21700b77615ab0243d8152793dc00eb4faf01", - "sha256:5d5c411a8eaa2299322b647cd932586b1427367fd3184ffbb8f7a219ea2041ca", - "sha256:6846bd2d116ff42cba6b646edf5bf61d37e5cbd256425fa089fee4ff5c07a99e", - "sha256:6ace95230bfb7cd79ef66caa064bbe2f2a1e63d93471c3a2e1f1348d9f22d6b7", - "sha256:6e51b71417049ad6ab14c49608b4a24d8fb3fe605e5dfabfe523b58064dc3d27", - "sha256:71db6b4c1653045dacc1585c1b0d184004f0d7e694c7b34ac165ca70c0838082", - "sha256:7438839e9e053ef79f7112c881cef684013855016f928b168b81ed5835f3e75e", - "sha256:759de84a33be3b178a64c8ba28ad5c135900359e85fb662bc6e403ad4407791d", - "sha256:792a2c0be4dcc18af9d4a2dfd8a11a17d5e25274a1062b0ec1c2d79c76f3e7f8", - "sha256:7d87ef5795da03d742bf49439f9ca4d027cde49c82c5371ba52464aee266699a", - "sha256:7dfb439562f234f7d57b1ac6bc8fe7f838a4bd49c79230e0f6a1da93e82f1fad", - "sha256:7fa22993bac7b77b78cae22bad1e2a987ddf0d9015c63358032f84a53f23cdc3", - "sha256:805ebf596939e48dbb2e4922a1d3852cfc25c38160751ce02da93058b48d252a", - "sha256:82240051c6ca513c616f7f9da06e871f61bfd7805f566275841af15015b8f98d", - "sha256:87d4f8125c9988bfbed67af47dd7a953e2fc7b0cc1e7800ec6d2080d490bb353", - "sha256:8d8ca2b210ada074d57fcee40c30446c9562e542fc46aedc19baf758a93532ee", - "sha256:8dc232e39d409036af549c86f24aed8273a40ffa459981146829a324e0848b4b", - "sha256:90387104ee8400a7b4598253b4c406f8958f59fcf983a6cea2b50d59f7d63d0b", - "sha256:905b0365b210c73afb0ebe9101a32572152dfd1c144c7e28968a331b9217b94a", - "sha256:99353a06902c2e43b43e8ff74ee65a7d90307d82370604746738a1e0661ccca7", - "sha256:99a7f72fb6249302aa62245680754862a44179b545ded638cf1fef59befb57ef", - "sha256:9f0b04c6b8584c2c193babcccc908b38ed29524b29dd464bc8801bf10d746a3a", - "sha256:9fe611163f6303d1619bbcb653540a4d60f9e55e622d60a3108be0d5b441017a", - "sha256:a3475b96f5908b3b16c47533daaa87380c491357d197564e0ba34ae75c0f3257", - "sha256:a6597ff2b61d121172f5844b53f21467f7082f5fb385a9a29c01414463f93b07", - "sha256:a7921c5a6d31b3d756ec980f2f47c0cfdbce0fc48c22a39347a895f41f4a6ea4", - "sha256:aa5129de4e174daccbc59d0a3b6d20eaf24417d59851c07ebb37aeb02947987c", - "sha256:aeaefa96c768fc66818730b952a862235d68825c178f1b3ffd4efd7ad2edcb7c", - "sha256:afbefa430092f71a9593a99ab6a4e7538bc9eabbf7bf94f91510d3503943edc4", - "sha256:aff9e4d82d082ff9513bdd6acd4f5bd359f5b2c870907d2b0a9c5e10d40c88fe", - "sha256:b22bd8c974942477156be55a768f7aa37c46904c175be4e158b6a86e3a6b7ca8", - "sha256:b290fd8aa38422444d4b50d579de197557f182ef1068b75f5aa8558638b8d0a5", - "sha256:b2e4b27a6e15b04832fe9bf292b94b5ca156016bbc1ea9c2c20098a0320d6cf6", - "sha256:b583dc9070312190192631373c6c8ed277254aa6e6084b74bdd0a6d3b221608e", - "sha256:b87843e225e74576437fd5b6a4c2205d422754f84a06942cfaf1dc32243e45a8", - "sha256:bc91a56697869546d1b8f0a3ff35224557ae7f881050e99f615e0119bf934b4e", - "sha256:bd87e140e45399c818fac4247880b9ce719e4783d767e030a883a970be632275", - "sha256:bde737cff1a975b70652b62d626f7785e0480918dece11e8fef3c0cf057351c3", - "sha256:bdee52571a343d721fb2eb3b090a82d959ff37fc631e3f70422e0c2e029f3e76", - "sha256:bee2a6db3a7242ea309aa7ee8e2780726fed67ff4e5b40169f2c940e7eb09227", - "sha256:beeae3f27f62308f1ddbcfb0690bf44b10732f2ef43758f169d5e9303165d3f9", - "sha256:c50f36a62a22d350c96e49ad02d0da41dbd17ddc2e29750dbdba4323f85eb4a5", - "sha256:c607c90ba67533e1b2355b821fef6764d1dd2cbe26b8c1005ae84f7aea25ff79", - "sha256:c7b2a63fd6d5246349f3d3f37b14430d73ee7e8173154461785e43036ffa96ca", - "sha256:c828a1ae702fc712978bda0320ba1b9893d99be0badf2647f693cc01cf0f04fa", - "sha256:c85de1136429c524e55cfa4e033b4a7940ac5c8ee4d9401cc2d1bf48154bbc7b", - "sha256:c98fa880d695de164b4135a52fd2e9cd7b7c90a9d8ac5e9e443a24a95ef9248e", - "sha256:cae81479f77420d217def5f54b5b9d279804d17e982e0f2fa19b1d1e14ab5197", - "sha256:d034140032870024e6b9892c692fe2968493790dd57208b2c37e3fb35f6df3ab", - "sha256:d120c38a42c234dc9a8c5de7ceaaf899cf33561956acb4941653f8bdc657aa79", - "sha256:d4827615da15cd59784ce39d3388275ec093ae3ee8d7f0c089b76fa87af756c2", - "sha256:d49e2314c373f4c2b39446fb1a45ed333c850e09d0c59ac79b72eb3b95397363", - "sha256:d52610d51e265a51518692045e372a4c363056130d922a7351429ac9f27e70b0", - "sha256:d64317d2587c70324b79861babb9c09f71fbb780bad212018874b2c013d8600e", - "sha256:d77153e14b709fd8b8af6f66a3afbb9ed6e9fc5ccf0b6b7e1ced7b036a228782", - "sha256:d7e091d464ac59d2c7ad8e7e08105eaf9dafbc3883fd7265ffccc2baad6ac925", - "sha256:dd333073e0cacdc3089525c7df7d39b211bcdf31fc2824e49d01c6b6187b07d0", - "sha256:e5d8efac84c9afcb40914ab49ba063d94f5dbdf5066db4482c66a992f47a3a3b", - "sha256:f135c702ac42262573fe9714dfe99c944b4ba307af5eb507abef1667e2cbbced", - "sha256:f13711b1a5ba512d647a0e4ba79280d3a9a045aaf7e0cc6fbe96b91d4cdf6b0c", - "sha256:f4f1231b7dec408e8670264ce63e9c71409d9583dd21d32c163e25213ee2a344", - "sha256:fa3ed2a29a9e9d2d488b4da81dcb54720ac3104a20bf0bd273f1e4648aff5af9", - "sha256:fb3096c30df99fd01c7bf8e544f392103d0795b9f98ba71a8054bcbf56b255f1" + "sha256:02f84dfad02693676692746df05b89cf25597560db2857363a208e393429f5e9", + "sha256:0330d233c1a0ead844fc097a7d16c0abff4c12e856c0b325f231820fee1f39da", + "sha256:03edcc34d688572014ff223c125a3f77fb08091e4607e7745002fc214070b35f", + "sha256:097690ba1f2efdeb165a20469d59d8bb03c55fb6621eb2041a060ae8ea3e9642", + "sha256:178aa072084bd88ec759052feca8e56cbb14a60b39322b99a049e58090479713", + "sha256:18e5bddd742a44b7e6b1e773ab5db102bd7a94c32555ba656e76d319d19c3850", + "sha256:1a9b0ee305220b392e1124a764ee4265bd063e54a751a6b62eff69992f457fa9", + "sha256:1f1625b72740fdda5d77b4def688eb8fd6490975d06b909fd19f13f391e077e0", + "sha256:1f1be78ce9466a7ee64bfda57bdba0f7cc499d9794d518b854816c41bf0aa4e9", + "sha256:1f90cff8aa76835cba5769f0b3121a22bd4eb9e6884cfe338216e557a9a548b8", + "sha256:21329ec8c96c6e979cd0dfd29406c40c1d52521a90544463057d2aaa937d66a6", + "sha256:2815a87ab27848db0321fb78c7f0b2c8649dee134b7f2b80c6a45c6831d75ccd", + "sha256:2c1fc0f2ca5f96a3c8407e41cca26a16e46b21060fe6d5b099d2cb01412222f5", + "sha256:2e0c664be47252947d870ac0d327fea7e63985a08794758aa8af5b6cb6ec0c9c", + "sha256:339ffdcb7cbeaa08221cd401d517d4b1fe7a9ed5d400e4a8039719238620ca35", + "sha256:344cf1e3dab3be4b1fa08e449323d98a2a3f819ad20f4b22e77a0ede31f0faa1", + "sha256:36341d06738a9f66c8287cf8b876d24b18db9bd8740fa0672c74e259ad408cff", + "sha256:365b10bb9417dd4498c0e3b128018c4a624dc11c7b97d8cc54effe3b096f4c38", + "sha256:3a5cbdcddad0af3da87cb16b60d23648bc3b51967eb07223e9fed77a82b457c4", + "sha256:417423db963cb4be8bac3fc1204fe61610f6abeed1580a7a2cbb2fbda20f12af", + "sha256:42fc1f4677106188ad9a55562bbade416f8b55456f522430fadab3cef7cd4e60", + "sha256:44ce27545b6efcf0fdbdceb31c9a5bdea9333e664cda58a7e674bb74608b3986", + "sha256:472a8d7ded663e6162dafdf20015c486a7009483ca671cece7a9279b512fcb13", + "sha256:47b94983da0c642de92ced1702c5b6c292a84bd3a8e1d1702ff923f183594717", + "sha256:495c302af3aad1ca67420ddd5c7bd480c8867ad173528767d906428057a11f0e", + "sha256:4ceb838d4bd9dab43e06c363cab2eebf63846d6a4aeaea283bbdfd8f1a8ed58b", + "sha256:50480dcd74fa63b8e78235957d302d98d98d82ccbfac4c7e12108ba9ecbdba15", + "sha256:518a48c2aab7ce596d3bf79d0e275661b846e86e4d0e7dec34712c30fe07f02a", + "sha256:559b38da23606e68681337ad74622c4dbba02254fc9cb4488a305dd5975c7eeb", + "sha256:578510d88c6229d735855e1f278aa305270438d36a05031dfaae5067cc8eb04d", + "sha256:597bd9c8419bc7c6af5604e55847789b69123bbe25d65cc6ad3012b4f3c98d8b", + "sha256:5a8eb7ed8d4198bccbd07058416eeec51686b498e784eda166395a23eb99138e", + "sha256:5c0dd1636633e7e6a0afe7bf6a51a14992b7f8e60de5789018ebbdfae55b040a", + "sha256:5cb1785d97b0c3d1d1a16bc1d710c4a0049daefc4935f3a8f31f827f4d3d2e7f", + "sha256:5d1f9575a12bed9e9eedd9a4972834b08c97a352bd17955ccdebfeca5913fa0a", + "sha256:5d8c41325b382c07799a3682c1c258469ea2ff97103c53717b7893862d0c98ce", + "sha256:5dae5f21afb91322f2ff791895ddd8889e5e947ff59f71b46041c8ce6db790bc", + "sha256:600fd103672b925fe62ed08e0d874ea34d692474df6f4bf7ebe148b30f89f39f", + "sha256:6408a7b064595afcab0a49393a413732a35788f2a5092fdc6266952ed67de586", + "sha256:652a2c9ccfb556235b2b501a3a7cf3742148cd22e04b5625c5fe057ea3e3191f", + "sha256:665e1b916b043cef294bc54d47bf02d87e13f769bc4bc5fa225a24b3a6c5aca9", + "sha256:691ab2ac363b8217f7d31b3497108fb1f50faab2f75dfb03284ec2f217e87bf8", + "sha256:6c52f062424c523d6c4db85518774cc3d50f5539dd6eed32b8f6229b26f24d40", + "sha256:6c6db3b84c87d48d0088943bf33440e0c42370b99b1c2a7989216f7b42eede60", + "sha256:7311c0a0dcadb89b36b7025dfd8326ecfa36964e29913074d47382706e516a7c", + "sha256:7aac39bcf8d4770d089588a2e1dd111cbaa42df5a94be3114222057d68336bd0", + "sha256:7b03048319bfc6170e93bd60728a1af51d3dd7704935feb228c4d4faab35d334", + "sha256:7e7976bf1910a8116b523b9f9f58bf410f3e8aa330cd9a2bb2953f9266ab49af", + "sha256:8089c852a56c2966cf18835db62d9b34fef7ba74c726ad943928d494fa7f4735", + "sha256:86172b0831b82ce4f7877f280055892b31179e1576aa00d0df3bb1bbf8c3e524", + "sha256:89b54027a766529136a06cfebeecb3a04900397a3590fd252160b888479517bf", + "sha256:89c7e895002bbe49cdc5426150377cbbc04767d7547ed145473f496dfa40408b", + "sha256:8b7e5304e34942bf62e15184219a7b5ad4ff7f3bb5cca4d984f37df1a0e1aee2", + "sha256:8fd420ef0c52c88b5a035a0886f367748c72147b2b8f384c9d12656678dfdfa9", + "sha256:98edb152429ab62a1818039744d8fbb3ccab98a7c29fc3d5fcef158f3f1f68b7", + "sha256:99c1506ea77c11531d75e3a412832a13a71c7ebc8192ab9e4b2e355555920e3e", + "sha256:9ad8fa5937ab05218e2b6a4cff30295ad35afd2f83ac592e68c0d871bb0fdbc4", + "sha256:9f51079765661884a486727f0729d29054242f74b46186026582b4e4769918e4", + "sha256:a003d7422449f6d1e3a34e3dd4110c22148336918ddbfc6a32581cd54b2e0b2b", + "sha256:a0b1cd6232e2b618adcc54d9882e4e662a089d5768cd188f7c245b4c8c44a397", + "sha256:a285e3eb7a5a45a2ff504e31f4a8d1b12ef62e84e5411c6804a42197c1cf586c", + "sha256:a37691702ed687799de29a518d63d4682d9016932db66d4e90c345831b02fb4e", + "sha256:a550ae29b95c6dc13cf69e2c9dc5747f814c54eeb2e32d683e5e93af56caa029", + "sha256:ab174cd7d29a62dd139c44bf74b698039328f45cb03b4596c43473a46656b2f3", + "sha256:ab323b787d6e18b3d91a72fc99b1a2c28651e4358749842b8f8dfacd28ef2052", + "sha256:adebb5bee0f0af4909c30db0d890c773d1a92ffe83da908e2e9e720f8edf3984", + "sha256:aee2810642b2898bb187ced9b349e95d2a7272930796e022efaf12e99dccd293", + "sha256:af9a332e572978f0218686636610555ae3defd1633597be015ed50289a03c523", + "sha256:b574c51cf7d5d62e9be37ba446224b59a2da26dc4c1bb2ecbe936a4fb1a7cb7f", + "sha256:b66e95d05ba806247aaa1561f080abc7975daf715c30780ff92a20e4ec546e1b", + "sha256:b81b5e3511211631b3f672a595e3221252c90af017e399056d0faabb9538aa80", + "sha256:b957b71c6b2387610f556a7eb0828afbe40b4a98036fc0d2acfa5a44a0c2036f", + "sha256:bb66b7cc26f50977108790e2456b7921e773f23db5630261102233eb355a3b79", + "sha256:c6008de247150668a705a6338156efb92334113421ceecf7438a12c9a12dab23", + "sha256:c7697918b5be27424e9ce568193efd13d925c4481dd364e43f5dff72d33e10f8", + "sha256:cb9bb857b2d057c6dfc72ac5f3b44836924ba15721882ef103cecb40d002d80e", + "sha256:cc7d296b5ea4d29e6570dabeaed58d31c3fea35a633a69679fb03d7664f43fb3", + "sha256:d242e8ac078781f1de88bf823d70c1a9b3c7950a44cdf4b7c012e22ccbcd8e4e", + "sha256:d2912fd8114fc5545aa3a4b5576512f64c55a03f3ebcca4c10194d593d43ea36", + "sha256:d470ab1178551dd17fdba0fef463359c41aaa613cdcd7ff8373f54be629f9f8f", + "sha256:d4ce8e329c93845720cd2014659ca67eac35f6433fd3050393d85f3ecef0dad5", + "sha256:d6e4571eedf43af33d0fc233a382a76e849badbccdf1ac438841308652a08e1f", + "sha256:e65498daf4b583091ccbb2556c7000abf0f3349fcd57ef7adc9a84a394ed29f6", + "sha256:e879bb6cd5c73848ef3b2b48b8af9ff08c5b71ecda8048b7dd22d8a33f60be32", + "sha256:e9e8064fb1cc019296958595f6db671fba95209e3ceb0c4734c9baf97de04b20", + "sha256:f7ed2c6543bad5a7d5530eb9e78c53132f93dfa44a28492db88b41cdab885202", + "sha256:f95c00d5d6700b2b890479664a06e754974848afaae5e21beb4d83c106923fd0", + "sha256:f975aa7ef9684ce7e2c18a3aa8f8e2106ce1e46b94ab713d156b2898811651d3", + "sha256:fbfa2a7c10cc2623f412753cddf391c7f971c52ca40a3f65dc5039b2939e8563", + "sha256:fc354a04072b765eccf2204f588a7a532c9511e8b9c7f900e1b64e3e33487090", + "sha256:fc44ef1f3de4f45b50ccf9136999d71abb99dca7706bc75d222ed350b9fd2289" ], "index": "pypi", "markers": "python_version >= '3.10'", - "version": "==12.0.0" + "version": "==12.1.1" }, "platformdirs": { "hashes": [ - "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", - "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31" + "sha256:9170634f126f8efdae22fb58ae8a0eaa86f38365bc57897a6c4f781d1f5875bd", + "sha256:9a33809944b9db043ad67ca0db94b14bf452cc6aeaac46a88ea55b26e2e9d291" ], "markers": "python_version >= '3.10'", - "version": "==4.5.1" + "version": "==4.9.2" }, "pycparser": { "hashes": [ - "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", - "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934" + "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", + "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992" ], - "markers": "python_version >= '3.8'", - "version": "==2.23" + "markers": "python_version >= '3.10'", + "version": "==3.0" }, "pygments": { "hashes": [ @@ -809,11 +809,11 @@ }, "pymdown-extensions": { "hashes": [ - "sha256:26bb3d7688e651606260c90fb46409fbda70bf9fdc3623c7868643a1aeee4713", - "sha256:bffae79a2e8b9e44aef0d813583a8fea63457b7a23643a43988055b7b79b4992" + "sha256:39f4a020f40773f6b2ff31d2cd2546c2c04d0a6498c31d9c688d2be07e1767d5", + "sha256:91b879f9f864d49794c2d9534372b10150e6141096c3908a455e45ca72ad9d3f" ], "markers": "python_version >= '3.9'", - "version": "==10.17.2" + "version": "==10.21" }, "python-dateutil": { "hashes": [ @@ -944,11 +944,11 @@ }, "urllib3": { "hashes": [ - "sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f", - "sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1" + "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", + "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" ], "markers": "python_version >= '3.9'", - "version": "==2.6.0" + "version": "==2.6.3" }, "watchdog": { "hashes": [ @@ -995,23 +995,23 @@ }, "zensical": { "hashes": [ - "sha256:0ef33bf2efdb66e444bb59aff134729ba83b271c2ee034063289cdb5e76b7947", - "sha256:1744f743d69aa9745570499392ca81962885b90700569ea4564858d01200b1c7", - "sha256:32ea5a572473d0f3187d8abeeb6b1a55acd1b09bfecb153820b57a41232b3109", - "sha256:4c048779787ebcbdf01c15c69287ca5add5f8661c860ea6302c1ad45606e4b5f", - "sha256:8df38c0538eb763a3b3d42f1d179927c0e9b8deec365ff016c00ca71ae287bce", - "sha256:bab3897bb3bf4d3fd81234640590888e95bd7f49070f840e5817b67b25d9cf2f", - "sha256:bc672c3d986829add78e2c8bd0e50dd091ae93c9b7144a9ae02908aea63bb601", - "sha256:bdb776ba9257a0f2a991ce5bd82110a0ca44dfe4342abc545b1e8add12de1ba5", - "sha256:bfd215bd14724d63e37eff2f0984517b997616cf1fd68059d7c41edfeb695dd3", - "sha256:d7a206c22ac66bbe885a04a5efa27610c5cc4899c78df1f7e8e9a36d298ec14b", - "sha256:e4bfbc6cc80e3c927d4372bb005460fd731a71966dec3a5e4f61f5aeccb86cc5", - "sha256:e5c883eaabe82ce733e3a653a28afa901e529574c93a0a51ed2e52801ef064ed", - "sha256:fb61bd1d3d864bb36caa277b59c4bcf4431fbd6d8d2914a6b0bb1281f6259e5f" + "sha256:35d6d3eb803fe73a67187a1a25443408bd02a8dd50e151f4a4bafd40de3f0928", + "sha256:49c1cbd6131dafa056be828e081759184f9b8dd24b99bf38d1e77c8c31b0c720", + "sha256:54d981e21a19c3dcec6e7fa77c4421db47389dfdff20d29fea70df8e1be4062e", + "sha256:5973267460a190f348f24d445ff0c01e8ed334fd075947687b305e68257f6b18", + "sha256:5c4fc3aaf075df99d8cf41b9f2566e4d588180d9a89493014d3607dfe50ac4bc", + "sha256:927d12fe2851f355fb3206809e04641d6651bdd2ff4afe9c205721aa3a32aa82", + "sha256:953adf1f0b346a6c65fc6e05e6cc1c38a6440fec29c50c76fb29700cc1927006", + "sha256:9a3679d6bf6374f503afb74d9f6061da5de83c25922f618042b63a30b16f0389", + "sha256:a8cfe240dca75231e8e525985366d010d09ee73aec0937930e88f7230694ce01", + "sha256:afde7865cc3c79c99f6df4a911d638fb2c3b472a1b81367d47163f8e3c36f910", + "sha256:c484674d7b0a3e6d39db83914db932249bccdef2efaf8a5669671c66c16f584d", + "sha256:f5b7fe22c5d33b2b91899c5df7631ad4ce9cccfabac2560cc92ba73eafe2d297", + "sha256:ffb79db4244324e9cc063d16adff25a40b145153e5e76d75e0012ba3c05af25d" ], "index": "pypi", "markers": "python_version >= '3.10'", - "version": "==0.0.11" + "version": "==0.0.23" } }, "develop": {} diff --git a/devenv.nix b/devenv.nix index 163e64e..15f7d1e 100644 --- a/devenv.nix +++ b/devenv.nix @@ -41,7 +41,7 @@ }; python = { enable = true; - version = "3.13.3"; + package = pkgs.python314; }; }; diff --git a/requirements.txt b/requirements.txt index 34e5faf..87bf481 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,55 +1,57 @@ -babel==2.17.0 -backrefs==5.9 -CacheControl==0.14.3 -cairocffi==1.7.1 -CairoSVG==2.8.2 -certifi==2025.10.5 -cffi==2.0.0 -charset-normalizer==3.4.3 -click==8.3.0 -colorama==0.4.6 +-i https://pypi.org/simple +babel==2.18.0; python_version >= '3.8' +backrefs==6.2; python_version >= '3.9' +cachecontrol[filecache]==0.14.4; python_version >= '3.10' +cairocffi==1.7.1; python_version >= '3.8' +cairosvg==2.8.2; python_version >= '3.9' +certifi==2026.1.4; python_version >= '3.7' +cffi==2.0.0; python_version >= '3.9' +charset-normalizer==3.4.4; python_version >= '3.7' +click==8.3.1; python_version >= '3.10' +colorama==0.4.6; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6' csscompressor==0.9.5 -cssselect2==0.8.0 -defusedxml==0.7.1 -filelock==3.19.1 +cssselect2==0.9.0; python_version >= '3.10' +deepmerge==2.0; python_version >= '3.8' +defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' +filelock==3.24.3; python_version >= '3.10' ghp-import==2.1.0 -gitdb==4.0.12 -GitPython==3.1.45 +gitdb==4.0.12; python_version >= '3.7' +gitpython==3.1.46; python_version >= '3.7' htmlmin2==0.1.13 -idna==3.10 -Jinja2==3.1.6 +idna==3.11; python_version >= '3.8' +jinja2==3.1.6; python_version >= '3.7' jsmin==3.0.1 -Markdown==3.9 -MarkupSafe==3.0.3 -mergedeep==1.3.4 -mkdocs==1.6.1 -mkdocs-autolinks-plugin==0.7.1 -mkdocs-get-deps==0.2.0 -mkdocs-git-authors-plugin==0.10.0 -mkdocs-git-committers-plugin-2==2.5.0 -mkdocs-git-revision-date-localized-plugin==1.4.7 -mkdocs-material==9.6.21 -mkdocs-material-extensions==1.3.1 -mkdocs-minify-plugin==0.8.0 -mkdocs-redirects==1.2.2 -mkdocs-rss-plugin==1.17.3 -msgpack==1.1.2 -packaging==25.0 +markdown==3.10.2; python_version >= '3.10' +markupsafe==3.0.3; python_version >= '3.9' +mergedeep==1.3.4; python_version >= '3.6' +mkdocs==1.6.1; python_version >= '3.8' +mkdocs-autolinks-plugin==0.7.1; python_version >= '3.4' +mkdocs-get-deps==0.2.0; python_version >= '3.8' +mkdocs-git-authors-plugin==0.10.0; python_version >= '3.8' +mkdocs-git-committers-plugin-2==2.5.0; python_version >= '3.8' and python_version < '4' +mkdocs-git-revision-date-localized-plugin==1.5.1; python_version >= '3.10' +mkdocs-material==9.7.2; python_version >= '3.8' +mkdocs-material-extensions==1.3.1; python_version >= '3.8' +mkdocs-minify-plugin==0.8.0; python_version >= '3.8' +mkdocs-redirects==1.2.2; python_version >= '3.8' +mkdocs-rss-plugin==1.17.9; python_version >= '3.10' +msgpack==1.1.2; python_version >= '3.9' +packaging==26.0; python_version >= '3.8' paginate==0.5.7 -pathspec==0.12.1 -pillow==11.3.0 -platformdirs==4.4.0 -pycparser==2.23 -Pygments==2.19.2 -pymdown-extensions==10.16.1 -python-dateutil==2.9.0.post0 -pytz==2025.2 -PyYAML==6.0.3 -pyyaml_env_tag==1.1 -requests==2.32.5 -six==1.17.0 -smmap==5.0.2 -tinycss2==1.4.0 -urllib3==2.5.0 -watchdog==6.0.0 +pathspec==1.0.4; python_version >= '3.9' +pillow==12.1.1; python_version >= '3.10' +platformdirs==4.9.2; python_version >= '3.10' +pycparser==3.0; python_version >= '3.10' +pygments==2.19.2; python_version >= '3.8' +pymdown-extensions==10.21; python_version >= '3.9' +python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2' +pyyaml==6.0.3; python_version >= '3.8' +pyyaml-env-tag==1.1; python_version >= '3.9' +requests==2.32.5; python_version >= '3.9' +six==1.17.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2' +smmap==5.0.2; python_version >= '3.7' +tinycss2==1.5.1; python_version >= '3.10' +urllib3==2.6.3; python_version >= '3.9' +watchdog==6.0.0; python_version >= '3.9' webencodings==0.5.1 +zensical==0.0.23; python_version >= '3.10'