* First pass add 3.14
* Update bitarray
* Update markupsafe
* Update zstd
* Update tach to version with 3.14 support
* Changes for 3.14 related things
* Refactor shutdown handling in sync method
* Ignore unclosed database ResourceWarning
Added a new warning to ignore for unclosed database resources.
* Update pytest.ini to ignore additional warnings
* ignore resourcewarnings about tempdir cleanup
* Minor cleanup for tests running under python 3.14
* Reduce consensus tests for test_ban_for_mismatched_tx_cost_fee
* make sure to close RPC client at end of test
* different idea for TempFile
* oh, no cleanup function
* small fixes for tests detected by 3.14
* update pytest.ini
* ignore sqlite errors during closing in __del__
* add code to ignore deprecatewarnings for loop policy
* Pass in ClientSession to wschiaconnection for proper cleanup
* Some more resource cleanup
* Trying to find unclosed sessions
* One more time needing a close
* wait for harvesters to connect to the farmer
* properly teardown vdf_server using context manager
* Testing cleanup for simulator tests
* Add in a sleep to allow sockets time to cleanup
* Revert "Testing cleanup for simulator tests"
This reverts commit c5a4ef0cc3.
* Revert "properly teardown vdf_server using context manager"
This reverts commit 18b456a7b6.
* Revert "Revert "Testing cleanup for simulator tests""
This reverts commit 8c8efc2e03.
* vdf_server cleanup
* attempt 47 of timelord cleanup
* Some other cleanup fixes in tests
* yet another attempt at timelord shutdown
* Some more adjustments for 3.14
* ignore unclosed socket resource warnings
* some more adjustments and cleanup
* remove commented code
* correct poetry.lock file
* Address some review comments
* fix merge indentation
* fix install script print
* update requests
* fix problems with timelord tests on 3.14
* Make sure to close dummy session on any exception
* Use different cleanup pattern to help with flakes on Windows
* better shutdown handling
* hopefully better awaiting for cleanup
* yet more better timelord cleanup
* some test adjustments
* more time for cleanup
* python 3.13 support
* some more
* 3.13 for dep checks
* more 3.13 *confused*
* fixup
* fixup
* update expected signature in 3.13
* fixup _attach/_detach hinting and testing
* ban freethreading
* Fix trailing comma in list
* replace legacy kw_only_dataclass decorator
* Adjust check for python version
* Remove debugging output
* Use reruns for 3.13+Windows flakes only
* re-lock poetry
---------
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Matt Hauff <quexington@gmail.com>
* initial changes
* poetry fix
* Address ruff
* Install scripts issues
* Experiment a little bit
* Okay now try for rocky linux and use 3.12 instead
* Remove the now unused thing
* Move defaults from 3.10 to 3.12
* Setup python3.12
* debug
* debug
* whoops
* listen I really dont know what Im doing
* debug
* debug
* debug
* debug
* debug
* debug
* debug
* debug
* debug
* debug
* Use Chia action
* Use an upstream change
* debug
* Move the python setup to the install action
* try something dumb
* back to sh
* debug
* Cleanup after extensive debug
* Add SQLite version report
* test with new images
* remove python setup
* try this image?
* back to this
* Try hyphenless
* Use published pyhon312 tags
* initial changes
* poetry fix
* Address ruff
* Install scripts issues
* Experiment a little bit
* Okay now try for rocky linux and use 3.12 instead
* Remove the now unused thing
* Use dnf for consistency
* Simplify installations
* Still need git
* relock poetry with 2.2.0
* relock poetry with 2.2.0
* try `git checkout main poetry.lock && .penv/bin/poetry lock` on altendky's system
---------
Co-authored-by: Kyle Altendorf <sda@fstab.net>
<!-- Merging Requirements:
- Please give your PR a title that is release-note friendly
- In order to be merged, you must add the most appropriate category
Label (Added, Changed, Fixed) to your PR
-->
<!-- Explain why this is an improvement (Does this add missing
functionality, improve performance, or reduce complexity?) -->
### Purpose:
<!-- Does this PR introduce a breaking change? -->
### Current Behavior:
### New Behavior:
<!-- As we aim for complete code coverage, please include details
regarding unit, and regression tests -->
### Testing Notes:
<!-- Attach any visual examples, or supporting evidence (attach any
.gif/video/console output below) -->
* Use #!/usr/bin/env bash
* Update setup-poetry.sh
* Use #!/usr/bin/env bash for shebang
* fix up typo for leading space
* For consistency fix up a few other scripts
* preliminary setup with poetry
* don't worry about locking the poetry env for the exploration right now
* recover black config in pyproject.toml
* install.sh for linting workflow
* pull chiavdf version from poetry in install-timelord.sh
* activate etc in upload and lint workflow
* debug poetry show output on macos
* update to clvm-tools 0.4.4
* add back setproctitle
* catchup deps
* lock
* allow 3.10
* debug
* make Install.ps1 use poetry as well
* -ErrorAction Ignore
* more todo about python version selection
* make install-timelord.sh modifications more posix compliant
* gitignore .penv* and .venv* as well
* remove requirements.penv.txt
* get artifact check requirements from poetry
* fix .gitignore for venv symlink
* separate out poetry setup
* :
* comment out code to be worked on
* setup poetry for dependency check
* ignore new poetry symlink
* chia_rs==0.1.4
* a few updates
* some missed updates `:[`
* update some types libs
* fix extras
* activate
* just use `python` somewhere
* for windows
* less symlinking for windows
* oops
* s
* more
* # shellcheck disable=SC2086
* activate action
* more python version
* lock up
* include ipython (for python >=3.8)
* add miniupnpc extra
* add poetry-dynamic-versioning
* type it out
* better match dev versioning
* catch up and delete setup.py again
* lock
* add pytest-cov
* .penv/bin/poetry
* .venv for windows activation
* update pytest-xdist
* install upnp extra
* upnp
* quote
* maybe update some deps
* mandatory and string
* oops
* slighty tidy
* debug pip list
* debug
* pybind11 maybe instead?
* remove pip install debugging
* debug without upnp nor pypi.chia.net
* chiavdf==1.0.8
* bring back upnp
* re-enable upnp
* diagnostic exception reraise
* .exe?
* diagnostics
* .cmd...?
* light tidy
* more cleanup
* make dependency check script not cwd dependent for finding the poetry env
* correct sh substitution
* lock
* coverage 7
* todo cleanup
* poetry update
* interesting
* windows too
* support non-editable install via scripts again
* oops
* again
* sheesh
* fixup
* more
* more
* Update dependencies
* various pre-commit linter updates
* add pyupgrade to extras list
* use priority=supplemental instead of secondary
* Add in some missing deps
* update setuptools and pyinstaller to match main
* venv->.venv
* lint fixes
* update a few packages for 3.12 support
* get zstd from chia resource for python 3.12
* Adjustments to dynamic versioning
* experiments with versioning
* test fixes
Signed-off-by: Earle Lowe <e.lowe@chia.net>
* fixup last commit
* include upnp as extra when installing on windows
* include mozilla-ca as a package for the cacert.pem file
* some windows tweaks
* use SPECPATH as anchor path in pyinstaller.spec file
* Add lxml as dev dependency
* Fixup typo in lxml version
* Update some packages to resolve GH vuln reports
* Update more packages to resolve GH vulns
* Ignore pylint license in depedency checker
* match installation of the dynamic version plugin on windows
* Fix issues with setting windows environment and use pip to install plugin per poetry docs recommendation
* properly apply non-editable option with -i
* use -f with ln to remove existing file as needed
* use shell=true for subprocess to help windows run chia if it's a .cmd
* Update .coveragerc
* use shutil.which() to find chia executable in a cross platform way
* mypy fixes
* Address conflicts for numpy based on python version
* Update lock file
* Remove troublesome reference to pypi source
* Add TODOs for manual install of poetry-dynamic-versioning plugin
* Use poetry dynamic versioning to figure out the version rather than setuptools_scm
* Update .github/workflows/reflow-version.yml
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Update .github/workflows/test-single.yml
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Update urllib3
* Attempts to get dynamic versioning to output something semver
* more versioning finangling
* lint pyproject.toml
* Update certifi
---------
Signed-off-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
* Remove all install.sh code that installs python and leave it to the user to install as needed
* A little cleanup
* some install workflow updates
* install python for rocky
* cleanup some unused bits
* replace blspy imports with chia_rs imports for BLS types
* remove blspy-stubs, since we're dropping the blspy dependency. chia_rs has type stubs already
* Fix python3.11-venv into install.sh
Fix Installation aborted due to not being able to install an older version of python3.10-venv
* Fixed python3.11-venv into install.sh rev2
Fixed Installation aborted due to not being able to install an older version of python3.10-venv
* Fixed python3.11-venv into install.sh rev3
Fixed Installation aborted due to not being able to install an older version of python3.10-venv
* Add Python 3.11 to CI
* 3.11 in the install scripts
* ${{ format('{0}.0-alpha - {0}.X', matrix.python) }}
* bump chiavdf and chiabip158 for releases with 3.11 wheels
* also bump blspy and clvm-tools-rs
* drop the extra .X for the python setup version
* chia_rs==0.1.13
* Update install.sh
* pyinstaller==5.5
* less mutable defaults
* memory_profiler
* assert sqlite3.threadsafety >= 1
* create tasks for stopping services
(cherry picked from commit 3384714f2e3e0bdc8c3d3741027e9e4fb69a6002)
* psutil==5.9.4
* drop memory_profiler transitive dep since it now supports 3.11
* drop redundant pre-release python getting incantation
* watchdog==2.2.0
* black for py311
* Add `-l` option to `install.sh` and use it for linux tests on CI
* Implement and test `tools/legacy_keyring.py`
* Update install.sh
Co-authored-by: Jeff <paninaro@gmail.com>
Co-authored-by: Jeff <paninaro@gmail.com>
* Deprecated `chia plotters install` command
* Fixed lint errors
* Made it able to recognize plotter executables in venv
* Added install-plotter.sh
* Removed strings for debug
* Added install-plotter.ps1
* Fixed an issue where madmax plotter under venv dir was not recognized by 'chia plotters' command
* Added exec permission to install-plotter.sh
* Fixed issues found in install-plotter.sh
* Fixed lint errors
* Added `-p` option to install.sh/install.ps1
* Fixed lint errors
* Added nice deprecated warning
* Fixed a lint error
* Slightly improved branching
* Made log messages look nice
* Fixed an issue where install.sh/ps1 -p failed if virtual env is not acivated
Co-authored-by: Izumi Hoshino <admin@chiamine.jp>
* Minimized a chance where `sudo xxx install ...` is executed and prompts users for password
* Fixed install issue on Ubuntu/Debian
* (Retry) Fixed install issue on Ubuntu/Debian
* Fixed an issue where `install.sh` exits unexpectedly on Ubuntu/Debian
* Added `set +e` and `set -e` to find_xxx functions
* Improve code structure
* Fixed an issue where `install.sh` fails if Python < 3.7 is already installed
* Added `-s` option and overwhaul entire construction
* `-d` and `-s` can be both specified at once
* Support for Python 3.10
* Update install.sh to block Python 3.11
* websockets to 10.1
* Update workflows for Python 3.10
* single quote 3.10
* Enable fedora:35 (py3.10) installer script testing
* rebuild workflows
* fixup test-install-scripts.yml
* add ignore for distutils deprecation in tests for now
* asyncio.get_event_loop().run_until_complete() -> asyncio.run()
* aiohttp==3.8.1 for python 3.10 support
* use ssl.Purpose.CLIENT_AUTH for ssl_context_for_server()
* rebuild workflows
* use ssl_context_for_client() in BlockTools.get_daemon_ssl_context()
* create a client context for the RpcServer to connect to the daemon
* go back to asyncio.get_event_loop().run_until_complete() for now to recover 3.7
* ignore:There is no current event loop:DeprecationWarning
* Ms.plot load perf2 (#10978)
* 2.7 seconds -> 0.45 seconds
* Merge
* Work on create_plots refactor
* Try to fix tests
* Try to fix tests
* Use new functions
* Fix block_tools by adding dir
* Extra argument
* Try to fix cyclic import
* isort
* Drop warning
* Some cleanups around `exclude_final_dir` and directory adding
* Cleanup `min_mainnet_k_size` checks
* Drop unrelated changes
* Fixes after rebase
* Fix cyclic import
* Update tests/block_tools.py
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
* Update tests/block_tools.py
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: xdustinface <xdustinfacex@gmail.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
* remove 3.10 avoidance step from debian:bookworm installer testing
* add 3.10 to wheel availability check workflow
* add 3.10 to Install.ps1 supported Python versions for Windows
* add jammy jellyfish to the install script test matrix
* correct ubuntu:jammy job name
* add 22.04 with Python 3.10 to install.sh
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com>
Co-authored-by: xdustinface <xdustinfacex@gmail.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
* MacOS isn't updating OpenSSL in install.sh
* Exit if no brew on MacOS
* Code the if tree like a pro instead.
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Check for vulnerable openssl
* Update OpenSSL on MacOS
* First attempt - openssl Ubuntu 18.04 and 20.04
* place local/bin ahead in PATH
* specify install openssl
* correct path
* run ldconfig
* stop building and check for patched openssl
* spell sudo right by removing it
* Remove openssl building - 1st attempt RHs
* Test Windows OpenSSL version HT @AmineKhaldi
* Test CLI installer on Rocky
* Add Rocky support to install.sh
* Update test-install-scripts.yml
* oops
* also sudo for rocky install.sh testing
* fix indentation
* oops
* preliminary testing of in-directory n on ubuntu always
* Use more n chiaminejp (#9971)
* Added n as a local npm dependency
* Fixed an issue where `install.sh` always tried to run `sudo apt install bc -y` even if `bc` is installed already
* Added validations and useful outputs for `start-gui.sh`
* Fixed lint error and use shell functions for readability
* Replace tags with spaces
* Skip installing python39 on RH like OS if it is already installed
* Fixed an issue where start-gui.sh failed silently if venv is not activated
* Suppressed message from pacman
* Support CentOS7
* Fixed typo
* Reduced unnecessary install messages
* Fixed end of file
* Added npm_global/__init__.py to pass CI
* Fixed lint errors
* Install python/sqlite from source on AMZN2. Clear old venv when changing python version on install
* Suppress unnecessary command outputs
* Suppress outputs
* Added centos7/8 to install test
* A minor fix
* Fixed yaml syntax error
* Fixed an issue where test-install-scripts failed in CentOS
Co-authored-by: ChiaMineJP <admin@chiamine.jp>