diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7660ddc..f79df46 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,11 +13,11 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "3.12" - name: Install dependencies run: | sudo apt-get update diff --git a/Pipfile b/Pipfile index ea82f9e..c985ba6 100644 --- a/Pipfile +++ b/Pipfile @@ -4,13 +4,14 @@ verify_ssl = true name = "pypi" [packages] -PySide6 = "<6.5" # 6.5.0 causes fatal Python error. Try 6.5.1 when released. +PySide6 = "*" four-letter-blocks = {editable = true, path = "."} beautifulsoup4 = "*" scipy = "*" [dev-packages] four-letter-blocks = {editable = true, extras = ["dev"], path = "."} +mypy = "*" [requires] -python_version = "3.10" +python_version = "3.12" diff --git a/Pipfile.lock b/Pipfile.lock index 0fadb38..3be39f0 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "341c7f6c5a43ee6e04ddd93a12c99bd82ea6aaed6a0e26a01d5754a0f9051718" + "sha256": "eb0401b8889af6a106c69db54efb36a21743eb9c747fcbb20590f459ef3547ca" }, "pipfile-spec": 6, "requires": { - "python_version": "3.10" + "python_version": "3.12" }, "sources": [ { @@ -80,40 +80,33 @@ }, "pyside6": { "hashes": [ - "sha256:137831ed89f79ff8c68d21457abbee82f61dedacc19bbefc8eb7d80da1703aad", - "sha256:1389e818ecf794b52b570e4617c0813865fd9a790ee077fedabbd8aac6da7416", - "sha256:1c1c7e6fb8e2d0fe041e278beefdb033c364e67867565f824d4dc40352906f42", - "sha256:706324dd7a16854073c3b08de608f9ced868d567b8b202a88b7b9985f54ef30c", - "sha256:73883c13bc44221507abc2b3d6a7bebbf0e067844f7d0a6e16b2df177aab89d8", - "sha256:bc37b7790ca69b0813b86d3c70c39db740a0d15dc1fc7dbb8e6a0499a96c6461" + "sha256:3b6266fb29bab66526f2bbab2a6610f9f47a4df42ae6fb3713cd8329f593a561", + "sha256:5bdaa27d1a921c35764d82a2ec86943488c818cb33b9e16b2784d539b45f6171", + "sha256:a8200b2a1f02e42adfd1f41bc60d52d157398778b6ba232d46ad7402bc6f91ec", + "sha256:e359ebccd3f90fba85ebd5b93bdeadfa9e5d2fd06b3b5e8985aa5da50ca6243b" ], - "index": "pypi", - "markers": "python_version < '3.12' and python_version >= '3.7'", - "version": "==6.4.3" + "markers": "python_version < '3.13' and python_version >= '3.8'", + "version": "==6.6.2" }, "pyside6-addons": { "hashes": [ - "sha256:062593d7810bb53e51c1268b8cba23e47e4600afba0e981a26b57ff05617b1c6", - "sha256:493527ed86ee903e496f761da66edc7c237e12a8465d62075fe206b2874585e8", - "sha256:4e0d0ab705a481e7b4714f06b3648818a0ef80404ea976becea43a13280cc7f3", - "sha256:60781372ccf9f9cbc2a1aa7a41318111c92850f2434dbfbf6fa215a89681de1e", - "sha256:9d9a607b7c233077f907baa326f55759427a3ae47efff0ca19e72007778e15e1", - "sha256:b95e6a98b1a71aaa2bc97e4a6a4e18e78d6141ff161eff598a3b85850eaacd4a" + "sha256:4fb00bc98bc8335177eaa8f6d70ba687ab9bf00b3ee343abbc7156040f3e586d", + "sha256:748151fb49d5fe760b7cf6c88c4ec851e68d66a119939567407115948bf8a08f", + "sha256:90f20dcf2caf69307e20d3d682cbe2b1a38e7ddb1f50f4f0e3ae4306219f8883", + "sha256:cbdb7393de88a916ed1e9bd8407149f911717d1e06aee04119e26042679d8cce" ], - "markers": "python_version < '3.12' and python_version >= '3.7'", - "version": "==6.4.3" + "markers": "python_version < '3.13' and python_version >= '3.8'", + "version": "==6.6.2" }, "pyside6-essentials": { "hashes": [ - "sha256:62f7f80e99eaaa3b3f7014170bf01c2fa2e76955805f24c443630abc10793abb", - "sha256:7983cf2152dfebf3c2d0767d12e452c4bd0809aa53777fef949a7ff4b0ef8a49", - "sha256:9e1964de12b6ea351c69032a6e15dcc29f48d561dfd579e67adc15bad3be1d45", - "sha256:c07e5c425b8720fe8ecdbd46f36d7ab90ffbe27ac0258fea326dcf153484b3c7", - "sha256:c41cbef7a25c67da11b6f6281e60f59c21a198c1da471821e43963e1b8f196f7", - "sha256:cadd2197f534f7ff55c7718ce50c61ab6d13270449dfde8e27f46b9500b9fe56" + "sha256:030a0565ad2d6361ed8be7826f81fe3dbb7a98330837687608e75cbede5f0ca2", + "sha256:11496a322138eab4579c3683d2e3afebb41435412d4109394cb2b9ddaac66fe3", + "sha256:41373f9b8fd17bb39a7dc7da85168508fe288955a17117c2e993339f387b23c1", + "sha256:90be2cf1a404f1c62777ccc6898895c864376f1fd68ae9f82f7622522bce5814" ], - "markers": "python_version < '3.12' and python_version >= '3.7'", - "version": "==6.4.3" + "markers": "python_version < '3.13' and python_version >= '3.8'", + "version": "==6.6.2" }, "scipy": { "hashes": [ @@ -149,15 +142,13 @@ }, "shiboken6": { "hashes": [ - "sha256:0b6d6a571131b94546aa784dc00221ba7afc90515354eaae65525753a84b6c4a", - "sha256:0fee602ba02a0d1a6e4d4a69ddc5375ec7bed2ac5b51f06266a919d896517ee5", - "sha256:4a63978b1a4ffed32776413a213a0f4e0a7fde2ebe06ac2ac70f99103fed185b", - "sha256:6504ed8b01bde387cebc035687deae77a0bddcef3339e2e5b0e5bf9e6258e860", - "sha256:73af15fa9f6b7305849116308923d437354ecabefc0546dc514901ec3bae4d89", - "sha256:74570273004d2e481e55618150dfaee7ae253027b438066e216b339fae1e999a" + "sha256:531728324ad3ad4ed7b1d85d2dff548d618182d67024e16e84079f7db104590d", + "sha256:60dbad15901ad6fff6e198d8668091bbb2f20b82729412e5fd4d47ac86c97d42", + "sha256:9da86622cee5e7201bafe9c5beee3c06d9168c6b8f3e2fac52c1b7df00956bff", + "sha256:d4e99e7d1137a7d2c665a465b80baf820829dfba5fe474549d49b0ef81b0abf2" ], - "markers": "python_version < '3.12' and python_version >= '3.7'", - "version": "==6.4.3" + "markers": "python_version < '3.13' and python_version >= '3.8'", + "version": "==6.6.2" }, "soupsieve": { "hashes": [ @@ -231,17 +222,8 @@ "sha256:fcc66e222cf4c719fe7722a403888b1f5e1682d1679bd780e2b26c18bb648cdc", "sha256:fd6545d97c98a192c5ac995d21c894b581f1fd14cf389be90724d21808b657e2" ], - "markers": "python_version >= '3.8'", "version": "==7.4.3" }, - "exceptiongroup": { - "hashes": [ - "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14", - "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68" - ], - "markers": "python_version < '3.11'", - "version": "==1.2.0" - }, "four-letter-blocks": { "editable": true, "path": "." @@ -284,6 +266,7 @@ "sha256:e46f44b54ebddbeedbd3d5b289a893219065ef805d95094d16a0af6630f5d410", "sha256:f5ac9a4eeb1ec0f1ccdc6f326bcdb464de5f80eb07fb38b5ddd7b0de6bc61e55" ], + "index": "pypi", "markers": "python_version >= '3.8'", "version": "==1.8.0" }, @@ -355,60 +338,50 @@ }, "pyside6": { "hashes": [ - "sha256:137831ed89f79ff8c68d21457abbee82f61dedacc19bbefc8eb7d80da1703aad", - "sha256:1389e818ecf794b52b570e4617c0813865fd9a790ee077fedabbd8aac6da7416", - "sha256:1c1c7e6fb8e2d0fe041e278beefdb033c364e67867565f824d4dc40352906f42", - "sha256:706324dd7a16854073c3b08de608f9ced868d567b8b202a88b7b9985f54ef30c", - "sha256:73883c13bc44221507abc2b3d6a7bebbf0e067844f7d0a6e16b2df177aab89d8", - "sha256:bc37b7790ca69b0813b86d3c70c39db740a0d15dc1fc7dbb8e6a0499a96c6461" + "sha256:3b6266fb29bab66526f2bbab2a6610f9f47a4df42ae6fb3713cd8329f593a561", + "sha256:5bdaa27d1a921c35764d82a2ec86943488c818cb33b9e16b2784d539b45f6171", + "sha256:a8200b2a1f02e42adfd1f41bc60d52d157398778b6ba232d46ad7402bc6f91ec", + "sha256:e359ebccd3f90fba85ebd5b93bdeadfa9e5d2fd06b3b5e8985aa5da50ca6243b" ], - "index": "pypi", - "markers": "python_version < '3.12' and python_version >= '3.7'", - "version": "==6.4.3" + "markers": "python_version < '3.13' and python_version >= '3.8'", + "version": "==6.6.2" }, "pyside6-addons": { "hashes": [ - "sha256:062593d7810bb53e51c1268b8cba23e47e4600afba0e981a26b57ff05617b1c6", - "sha256:493527ed86ee903e496f761da66edc7c237e12a8465d62075fe206b2874585e8", - "sha256:4e0d0ab705a481e7b4714f06b3648818a0ef80404ea976becea43a13280cc7f3", - "sha256:60781372ccf9f9cbc2a1aa7a41318111c92850f2434dbfbf6fa215a89681de1e", - "sha256:9d9a607b7c233077f907baa326f55759427a3ae47efff0ca19e72007778e15e1", - "sha256:b95e6a98b1a71aaa2bc97e4a6a4e18e78d6141ff161eff598a3b85850eaacd4a" + "sha256:4fb00bc98bc8335177eaa8f6d70ba687ab9bf00b3ee343abbc7156040f3e586d", + "sha256:748151fb49d5fe760b7cf6c88c4ec851e68d66a119939567407115948bf8a08f", + "sha256:90f20dcf2caf69307e20d3d682cbe2b1a38e7ddb1f50f4f0e3ae4306219f8883", + "sha256:cbdb7393de88a916ed1e9bd8407149f911717d1e06aee04119e26042679d8cce" ], - "markers": "python_version < '3.12' and python_version >= '3.7'", - "version": "==6.4.3" + "markers": "python_version < '3.13' and python_version >= '3.8'", + "version": "==6.6.2" }, "pyside6-essentials": { "hashes": [ - "sha256:62f7f80e99eaaa3b3f7014170bf01c2fa2e76955805f24c443630abc10793abb", - "sha256:7983cf2152dfebf3c2d0767d12e452c4bd0809aa53777fef949a7ff4b0ef8a49", - "sha256:9e1964de12b6ea351c69032a6e15dcc29f48d561dfd579e67adc15bad3be1d45", - "sha256:c07e5c425b8720fe8ecdbd46f36d7ab90ffbe27ac0258fea326dcf153484b3c7", - "sha256:c41cbef7a25c67da11b6f6281e60f59c21a198c1da471821e43963e1b8f196f7", - "sha256:cadd2197f534f7ff55c7718ce50c61ab6d13270449dfde8e27f46b9500b9fe56" + "sha256:030a0565ad2d6361ed8be7826f81fe3dbb7a98330837687608e75cbede5f0ca2", + "sha256:11496a322138eab4579c3683d2e3afebb41435412d4109394cb2b9ddaac66fe3", + "sha256:41373f9b8fd17bb39a7dc7da85168508fe288955a17117c2e993339f387b23c1", + "sha256:90be2cf1a404f1c62777ccc6898895c864376f1fd68ae9f82f7622522bce5814" ], - "markers": "python_version < '3.12' and python_version >= '3.7'", - "version": "==6.4.3" + "markers": "python_version < '3.13' and python_version >= '3.8'", + "version": "==6.6.2" }, "pytest": { "hashes": [ "sha256:d4051d623a2e0b7e51960ba963193b09ce6daeb9759a451844a21e4ddedfc1bd", "sha256:edfaaef32ce5172d5466b5127b42e0d6d35ebbe4453f0e3505d96afd93f6b096" ], - "markers": "python_version >= '3.7'", "version": "==8.0.2" }, "shiboken6": { "hashes": [ - "sha256:0b6d6a571131b94546aa784dc00221ba7afc90515354eaae65525753a84b6c4a", - "sha256:0fee602ba02a0d1a6e4d4a69ddc5375ec7bed2ac5b51f06266a919d896517ee5", - "sha256:4a63978b1a4ffed32776413a213a0f4e0a7fde2ebe06ac2ac70f99103fed185b", - "sha256:6504ed8b01bde387cebc035687deae77a0bddcef3339e2e5b0e5bf9e6258e860", - "sha256:73af15fa9f6b7305849116308923d437354ecabefc0546dc514901ec3bae4d89", - "sha256:74570273004d2e481e55618150dfaee7ae253027b438066e216b339fae1e999a" + "sha256:531728324ad3ad4ed7b1d85d2dff548d618182d67024e16e84079f7db104590d", + "sha256:60dbad15901ad6fff6e198d8668091bbb2f20b82729412e5fd4d47ac86c97d42", + "sha256:9da86622cee5e7201bafe9c5beee3c06d9168c6b8f3e2fac52c1b7df00956bff", + "sha256:d4e99e7d1137a7d2c665a465b80baf820829dfba5fe474549d49b0ef81b0abf2" ], - "markers": "python_version < '3.12' and python_version >= '3.7'", - "version": "==6.4.3" + "markers": "python_version < '3.13' and python_version >= '3.8'", + "version": "==6.6.2" }, "space-tracer": { "hashes": [ @@ -417,14 +390,6 @@ ], "version": "==4.11.0" }, - "tomli": { - "hashes": [ - "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" - ], - "markers": "python_version < '3.11'", - "version": "==2.0.1" - }, "typing-extensions": { "hashes": [ "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", diff --git a/docs/construct_your_own.md b/docs/construct_your_own.md index dd61884..a853cf8 100644 --- a/docs/construct_your_own.md +++ b/docs/construct_your_own.md @@ -109,6 +109,15 @@ it by installing those dependencies like this: sudo apt-get install freeglut3 freeglut3-dev +Another known bug on Ubuntu 22.04: + +>"qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though +> it was found." + +Work around it by installing a dependency like this: + + sudo apt install libxcb-cursor0 + ### Splitting Up the Grid Start by filling in the title and grid. Use the `#` character for black squares. As you type, the bottom of