diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6023cfc8b7eefe6838af61e622695e800d2ea86e..457479cff029f5d692932bba588edc0c9f31db71 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -33,7 +33,7 @@ variables: # /!\ CI_REGISTRY is overriden to use a private Docker registry mirror in AWS ECR # in GitLab namespaces `nomadic-labs` and `tezos` ## This value MUST be the same as `opam_repository_tag` in `scripts/version.sh` - build_deps_image_version: fb2c027f2a7ccc71d8f8b0f974ee8cdb9f86743e + build_deps_image_version: e86fb42578f762ced5052c92ef484833686d6158 build_deps_image_name: "${CI_REGISTRY}/tezos/opam-repository" GIT_STRATEGY: fetch GIT_DEPTH: "1" diff --git a/CHANGES.rst b/CHANGES.rst index 42fececa1d38a9bb63fd3dc2c9e430db68b75510..06e68eaf4847d240220642e3525d97e4cf39e938 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -192,6 +192,8 @@ Codec Docker Images ------------- +- Change Python versions to 3.10.10. + Rollups ------- diff --git a/docs/developer/install-python-debian-ubuntu.sh b/docs/developer/install-python-debian-ubuntu.sh index cf76c5a814d1e62470566735e9ae8809526408d1..5a80b21d44721b34ea43b2fb5756c5d13301ec4d 100755 --- a/docs/developer/install-python-debian-ubuntu.sh +++ b/docs/developer/install-python-debian-ubuntu.sh @@ -67,20 +67,20 @@ pyenv --version [ "$PYENV_VIRTUALENV_INIT" = "1" ] ## -## Install python 3.10.9 through pyenv +## Install python 3.10.10 through pyenv ## ## References: ## - https://github.com/pyenv/pyenv#usage # [install python through pyenv] -pyenv install 3.10.9 -pyenv global 3.10.9 +pyenv install 3.10.10 +pyenv global 3.10.10 # [print python version] -python --version # should output 3.10.9 +python --version # should output 3.10.10 # [verify python version] -[ "$(python --version)" = "Python 3.10.9" ] +[ "$(python --version)" = "Python 3.10.10" ] ## ## Install poetry diff --git a/docs/developer/python_testing_framework.rst b/docs/developer/python_testing_framework.rst index d13f80b9b59daba015fbe5ab72c87e97bd328411..fe7a07fe5af7a7dcbaa9e4abc5b108794f0833ba 100644 --- a/docs/developer/python_testing_framework.rst +++ b/docs/developer/python_testing_framework.rst @@ -36,7 +36,7 @@ Installation Prerequisites: - The Octez binaries :ref:`compiled from sources ` -- `python 3.10.9`. It is recommended to use `pyenv +- `python 3.10.10`. It is recommended to use `pyenv `_ to manage the python versions. If you want to use ``pyenv``: @@ -45,11 +45,11 @@ Prerequisites: has been executed first during the shell session, by adding this line to an environment script sourced automatically. - * You can use then ``pyenv install 3.10.9`` followed by: + * You can use then ``pyenv install 3.10.10`` followed by: - + ``pyenv local 3.10.9`` to use ``python 3.10.9`` only in the current directory (and its subdirectories, unless redefined) - + ``pyenv global 3.10.9`` to set the python version to ``3.10.9`` globally - + ``pyenv shell 3.10.9`` to use ``python 3.10.9`` only in the current shell + + ``pyenv local 3.10.10`` to use ``python 3.10.10`` only in the current directory (and its subdirectories, unless redefined) + + ``pyenv global 3.10.10`` to set the python version to ``3.10.10`` globally + + ``pyenv shell 3.10.10`` to use ``python 3.10.10`` only in the current shell - `poetry `_ to manage the python dependencies and run the tests in a sandboxed python environment. Follow the `installation instructions `__. @@ -65,8 +65,8 @@ A typical installation of the above prerequisites (including their own prerequis # 1. install pyenv # 2. restart shell, to ensure "pyenv init -" has been evaluated # 3. then install python using pyenv: - pyenv install 3.10.9 - pyenv global 3.10.9 + pyenv install 3.10.10 + pyenv global 3.10.10 # 4. install poetry # 5. restart shell, to activate the poetry setup # 6. then install dependencies for Octez using poetry: @@ -115,7 +115,7 @@ executing ``pyenv``: :start-after: [print pyenv version] :end-before: [verify pyenv installation] -Now we can use ``pyenv`` to install Python 3.10.9 and set it as the +Now we can use ``pyenv`` to install Python 3.10.10 and set it as the default version to use: .. literalinclude:: install-python-debian-ubuntu.sh diff --git a/poetry.lock b/poetry.lock index 8b6056d24b46e4ae78f035f03bac8bf0ab20f11c..43eceec41684dc3f17088715e0425073d2d4d763 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,10 @@ [[package]] name = "alabaster" -version = "0.7.12" +version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" category = "main" optional = false -python-versions = "*" +python-versions = ">=3.6" [[package]] name = "astroid" @@ -28,21 +28,23 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "attrs" -version = "22.1.0" +version = "22.2.0" description = "Classes Without Boilerplate" category = "main" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" [package.extras] -dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] -docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] -tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "cloudpickle"] +cov = ["attrs", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] +dev = ["attrs"] +docs = ["furo", "sphinx", "myst-parser", "zope.interface", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier"] +tests = ["attrs", "zope.interface"] +tests-no-zope = ["hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist", "cloudpickle", "mypy (>=0.971,<0.990)", "pytest-mypy-plugins"] +tests_no_zope = ["hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist", "cloudpickle", "mypy (>=0.971,<0.990)", "pytest-mypy-plugins"] [[package]] name = "babel" -version = "2.10.3" +version = "2.11.0" description = "Internationalization utilities" category = "main" optional = false @@ -60,7 +62,7 @@ optional = false python-versions = ">=3.5" [package.extras] -tests = ["pytest-benchmark", "coveralls", "PyHamcrest (>=2.0.2)", "pytest-cov", "pytest-flake8", "pytest (>=4.6)"] +tests = ["pytest (>=4.6)", "pytest-flake8", "pytest-cov", "PyHamcrest (>=2.0.2)", "coveralls", "pytest-benchmark"] [[package]] name = "black" @@ -85,7 +87,7 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "certifi" -version = "2022.6.15" +version = "2022.12.7" description = "Python package for providing Mozilla's CA Bundle." category = "main" optional = false @@ -115,11 +117,11 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "docutils" @@ -143,7 +145,7 @@ termcolor = "*" [[package]] name = "idna" -version = "3.3" +version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" category = "main" optional = false @@ -159,24 +161,24 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "iniconfig" -version = "1.1.1" -description = "iniconfig: brain-dead simple config-ini parsing" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" category = "main" optional = false -python-versions = "*" +python-versions = ">=3.7" [[package]] name = "isort" -version = "5.10.1" +version = "5.12.0" description = "A Python utility / library to sort Python imports." category = "main" optional = false -python-versions = ">=3.6.1,<4.0" +python-versions = ">=3.8.0" [package.extras] -pipfile_deprecated_finder = ["pipreqs", "requirementslib"] -requirements_deprecated_finder = ["pipreqs", "pip-api"] -colors = ["colorama (>=0.4.3,<0.5.0)"] +colors = ["colorama (>=0.4.3)"] +requirements-deprecated-finder = ["pip-api", "pipreqs"] +pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"] plugins = ["setuptools"] [[package]] @@ -195,7 +197,7 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jsonschema" -version = "4.15.0" +version = "4.17.3" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false @@ -211,15 +213,15 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "lazy-object-proxy" -version = "1.7.1" +version = "1.9.0" description = "A fast and thorough lazy object proxy." category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [[package]] name = "markupsafe" -version = "2.1.1" +version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." category = "main" optional = false @@ -277,18 +279,15 @@ dev = ["pre-commit"] [[package]] name = "packaging" -version = "21.3" +version = "23.0" description = "Core utilities for Python packages" category = "main" optional = false -python-versions = ">=3.6" - -[package.dependencies] -pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" +python-versions = ">=3.7" [[package]] name = "pathspec" -version = "0.10.1" +version = "0.11.0" description = "Utility library for gitignore style pattern matching of file paths." category = "main" optional = false @@ -296,15 +295,15 @@ python-versions = ">=3.7" [[package]] name = "platformdirs" -version = "2.5.2" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +version = "3.0.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4)"] -test = ["appdirs (==1.4.4)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)", "pytest (>=6)"] +docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)", "sphinx (>=6.1.3)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest (>=7.2.1)"] [[package]] name = "pluggy" @@ -315,8 +314,8 @@ optional = false python-versions = ">=3.6" [package.extras] -testing = ["pytest-benchmark", "pytest"] -dev = ["tox", "pre-commit"] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] [[package]] name = "py" @@ -336,7 +335,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "pygments" -version = "2.13.0" +version = "2.14.0" description = "Pygments is a syntax highlighting package written in Python." category = "main" optional = false @@ -361,20 +360,9 @@ mccabe = ">=0.6,<0.7" platformdirs = ">=2.2.0" toml = ">=0.7.1" -[[package]] -name = "pyparsing" -version = "3.0.9" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" -optional = false -python-versions = ">=3.6.8" - -[package.extras] -diagrams = ["railroad-diagrams", "jinja2"] - [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.3" description = "Persistent/Functional/Immutable data structures" category = "main" optional = false @@ -448,7 +436,7 @@ yaml = ["PyYaml (>=5.2)"] [[package]] name = "pytz" -version = "2022.2.1" +version = "2022.7.1" description = "World timezone definitions, modern and historical" category = "main" optional = false @@ -482,11 +470,11 @@ use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"] [[package]] name = "requests-toolbelt" -version = "0.9.1" +version = "0.10.1" description = "A utility belt for advanced users of python-requests" category = "main" optional = false -python-versions = "*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [package.dependencies] requests = ">=2.0.1,<3.0.0" @@ -551,19 +539,19 @@ docutils = "<0.17" sphinx = "*" [package.extras] -dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client"] +dev = ["transifex-client", "sphinxcontrib-httpdomain", "bump2version"] [[package]] name = "sphinxcontrib-applehelp" -version = "1.0.2" -description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" +version = "1.0.4" +description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" category = "main" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" [package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] -lint = ["docutils-stubs", "mypy", "flake8"] [[package]] name = "sphinxcontrib-devhelp" @@ -574,20 +562,20 @@ optional = false python-versions = ">=3.5" [package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] -lint = ["docutils-stubs", "mypy", "flake8"] [[package]] name = "sphinxcontrib-htmlhelp" -version = "2.0.0" +version = "2.0.1" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" [package.extras] -test = ["html5lib", "pytest"] -lint = ["docutils-stubs", "mypy", "flake8"] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest", "html5lib"] [[package]] name = "sphinxcontrib-jsmath" @@ -598,7 +586,7 @@ optional = false python-versions = ">=3.5" [package.extras] -test = ["mypy", "flake8", "pytest"] +test = ["pytest", "flake8", "mypy"] [[package]] name = "sphinxcontrib-qthelp" @@ -609,8 +597,8 @@ optional = false python-versions = ">=3.5" [package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] -lint = ["docutils-stubs", "mypy", "flake8"] [[package]] name = "sphinxcontrib-serializinghtml" @@ -621,16 +609,19 @@ optional = false python-versions = ">=3.5" [package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] -lint = ["docutils-stubs", "mypy", "flake8"] [[package]] name = "termcolor" -version = "1.1.0" -description = "ANSII Color formatting for output in terminal." +version = "2.2.0" +description = "ANSI color formatting for output in terminal" category = "main" optional = false -python-versions = "*" +python-versions = ">=3.7" + +[package.extras] +tests = ["pytest", "pytest-cov"] [[package]] name = "toml" @@ -648,9 +639,29 @@ category = "main" optional = false python-versions = ">=3.7" +[[package]] +name = "types-docutils" +version = "0.19.1.2" +description = "Typing stubs for docutils" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "types-pygments" +version = "2.14.0.1" +description = "Typing stubs for Pygments" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +types-docutils = "*" +types-setuptools = "*" + [[package]] name = "types-requests" -version = "2.28.9" +version = "2.28.11.12" description = "Typing stubs for requests" category = "main" optional = false @@ -659,9 +670,20 @@ python-versions = "*" [package.dependencies] types-urllib3 = "<1.27" +[[package]] +name = "types-setuptools" +version = "67.2.0.1" +description = "Typing stubs for setuptools" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +types-docutils = "*" + [[package]] name = "types-urllib3" -version = "1.26.23" +version = "1.26.25.5" description = "Typing stubs for urllib3" category = "main" optional = false @@ -669,7 +691,7 @@ python-versions = "*" [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -677,11 +699,11 @@ python-versions = ">=3.7" [[package]] name = "urllib3" -version = "1.26.12" +version = "1.26.14" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" [package.extras] brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] @@ -699,7 +721,7 @@ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" [metadata] lock-version = "1.1" python-versions = "~3.10" -content-hash = "db20deb15ae9d3dead077f2149b15db5cabd95fbdf1d523b0b072540dde3b52a" +content-hash = "cc8cdd5a9fbf6106d25a514892b1c60c40d3599cbd19cc6c0051fde20995b2bf" [metadata.files] alabaster = [] @@ -735,7 +757,6 @@ py = [] pycodestyle = [] pygments = [] pylint = [] -pyparsing = [] pyrsistent = [] pytest = [] pytest-regtest = [] @@ -758,7 +779,10 @@ sphinxcontrib-serializinghtml = [] termcolor = [] toml = [] tomli = [] +types-docutils = [] +types-pygments = [] types-requests = [] +types-setuptools = [] types-urllib3 = [] typing-extensions = [] urllib3 = [] diff --git a/pyproject.toml b/pyproject.toml index 34d2ca6761c45df5518bb9562e3a1018d7391618..60c397000665a34df83c7e39d95b26e25e5b6895 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,7 @@ black = "22.3.0" # tests_python/ python testing and execution framework dependencies pytest = "6.2.5" -pytest-regtest = { "git" = "https://gitlab.com/nomadic-labs/pytest-regtest", branch="fc5bd9b2" } +pytest-regtest = { "git" = "https://gitlab.com/nomadic-labs/pytest-regtest", rev="fc5bd9b2" } pytest-timeout = "1.4.2" # tests_python/tests_*/test_openapi.py dependencies requests = "2.26.0" @@ -39,6 +39,8 @@ openapi-spec-validator = "0.2.9" # docs/ dependencies sphinx = "4.2.0" sphinx-rtd-theme = "0.5.2" +types-pygments = "2.14.0.1" +types-docutils = "0.19.1.2" # scripts/b58_prefix dependencies base58 = "2.1.0" diff --git a/scripts/version.sh b/scripts/version.sh index 5692b180865bcd1de11a149be5ad9efdce84e0de..de58c47570296459c9d762a864a41426bde4e02e 100755 --- a/scripts/version.sh +++ b/scripts/version.sh @@ -25,7 +25,7 @@ export full_opam_repository_tag=6698d7801c195f2f1e5ef81997bb09a75d71f6c0 ## opam_repository is an additional, tezos-specific opam repository. ## This value MUST be the same as `build_deps_image_version` in `.gitlab/ci/templates.yml export opam_repository_url=https://gitlab.com/tezos/opam-repository -export opam_repository_tag="${OPAM_REPOSITORY_TAG:-fb2c027f2a7ccc71d8f8b0f974ee8cdb9f86743e}" +export opam_repository_tag="${OPAM_REPOSITORY_TAG:-e86fb42578f762ced5052c92ef484833686d6158}" export opam_repository_git="$opam_repository_url.git" export opam_repository="$opam_repository_git"\#"$opam_repository_tag"