Repository navigation
Upgrade to Python 3.14.10 and skale.py-core 8, drop unused dependencies - #990
Merged
Merged
Conversation
dmytrotkk
requested review from
a team,
badrogger and
kladkogex
as code owners
October 30, 2026 12:03
badrogger
approved these changes
Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves node-cli to Python 3.14.10, skale.py-core 8.0dev0 and uv 0.13.6, upgrades every dependency to its latest release, fixes several bugs found on the way, and drops what is no longer used. Version 3.3.2 → 3.4.0, so develop publishes 3.4.0-develop.0. Node hosts are assumed to run Ubuntu 24.04, which this release ships with.
Dependencies
cryptography, as in skale-admin, with the same output), sh, terminaltables (the health, sgx and ssl tables use the CLI's texttable formatter), and the explicit MarkupSafe and itsdangerous pins (Flask pulls them in)requests-mockmoved to dev; bumpversion, twine, mock (tests useunittest.mock) and pytest-cov dropped; ruff 0.17.3, pytest 9.2.0requires-python = ">=3.14",.python-version3.14, noprerelease = "allow"; unused project metadata and setuptools options removedPython 3.14
multiprocessing.Lock: with 3.14's forkserver default it made everyskalecommand re-execute the binary through the resource tracker, andskale lvmpy runkept spawning copies. The bump also brings in Fix inactive volumes docker-lvmpy#169:ensure_group_activenow reactivates theschainsvolume group only when its own volumes are inactive, not when any volume group on the host has oneskale node restoreextracts withfilter='tar': 3.14's defaultdatafilter would make restored files root-owned, including the node user'sadmin-api.tokendatetime.utcfromtimestampreplaced; times print with+00:00Fixes
--pull-configoption of the update commands was accepted but never saved, soskale node update --pull-config ...did nothing; it is passed to the internal settings again, and the update operations no longer overwrite themskale node initandskale fair boot initnever ran the post-install checks; a failed init now exits right away with the real error instead of waiting for the containersskale version, failed on a host without dockerskale health containerscalledhealth/containers, which admin moved toinfo/containers; routes the CLI never calls are removed (schains/repair, gone from admin, plusnode/send-tg-notification,ssl/statusandssl/upload, since SSL is handled locally)node signatureandfair boot signatureprinted the error as the signature and exited 0yaml.safe_load; settings files are no longer deleted before being rewrittenRemoved dead code
testor2.6.*), with the nftables helpers only it usedskale exit finalizecommand, unused text keys, and dead test fixtures;nftablesis imported where it is used instead of in a guarded module-level importBuild
uv:latest, no apt step in the buildermain.spec,scripts/build.shandscripts/generate_info.shtrimmed to what PyInstaller 6 and the build use; the patchelf step fordatafiles/skaled-ssl-teststaysCI
curl | sh,.python-versioninstead of setup-python,uv sync, least-privilege permissionsdistinstead of/home/ubuntu/distset_versions_ga.sh),softprops/action-gh-release@v3, prerelease unless the base is stableaudit.yml(push and weekly pip-audit of the runtime set); deletedissue_check.yml,.codacy.ymland.github/dependabot.yml.github/copilot-instructions.mdTested locally: ruff; the test suite on Python 3.14.10 with a private Docker daemon (283 passed; the 6 failures come from the test container, which runs as root with no docker group, docker CLI or btrfs binary, and fail the same way on develop). After the lvmpy bump: ruff, every lvmpy entry point imports under
-W error, the test suite again on macOS (287 passed; the 2 failures need a btrfs binary and a docker group, andcore_node_test.pyneeds a Docker daemon), and both binaries rebuilt withscripts/build.sh(34.2 MB each, 34.7 MB on develop) and run on Ubuntu 24.04 amd64:--help,versionandinfoexit 0 with nothing on stderr, andskale lvmpy runserves with a steady two processes (the PyInstaller bootloader and the CLI) instead of spawning copies.After merge, the open dependabot PRs can be closed.
Part of skalenetwork/skale-node#891