Qmonus Documents /
Migration Guide /v23.1LTS module差分

【参考】SDK Core が利用する pythonモジュール差分について

v22系からv23.1LTSのpythonモジュールの差分について記載します。ユーザアプリケーションでこれらのモジュールを利用されいている場合は、それぞれの差分に注意してください。

aiohttp 3.8.1 → 3.8.3

https://github.com/aio-libs/aiohttp/releases

  • 影響はありません。

aiomysql 0.0.22 → 0.1.1

https://github.com/aio-libs/aiomysql/releases

  • Remove deprecated no_delay argument #702 (Core)
  • SDK core側に影響はありません。
  • aiomysqlをユーザー側コードでimportして利用している場合、上記変更が含まれますのでご注意ください。

aiopg N/A → 1.3.5

v23.1よりPostgreSQLの非同期ドライバであるaiopg moduleをSDK Core側でデフォルト利用します。

psycopg2-binary N/A → 2.9.4

aiopg 1.3.5依存パッケージとしてpsycopg2-binary 2.9.1が指定されています。
SDK Coreではpsycopg2-binary 2.9.4を再指定しています。

aiosmtplib 1.1.6 → 2.0.0

https://github.com/cole/aiosmtplib/releases

  • BREAKING: Drop Python 3.5 and 3.6 support.
  • BREAKING: On connect, if the server supports STARTTLS, automatically try to upgrade the connection. STARTTLS after connect can be turned on or off explicitly by passing start_tls=True or start_tls=False respectively.
  • BREAKING: Remove deprecated loop keyword argument for the SMTP class.
  • SDK Core側に影響はありません。
  • aiosmtplibをユーザー側コードでimportしてご利用いただく場合、上記変更が含まれますのでご注意ください。

aiofiles 0.8.0 → 22.1.0

https://github.com/Tinche/aiofiles/tree/v22.1.0

  • 影響はありません。

aniso8601 3.0.2 → 9.0.1

grapheneの依存moduleとしてインストールされます。

aniso8601のバージョンはSDK Coreとして明示的に記載していないため、あくまで参考情報扱いとなります。環境変更後、より最新バージョンのaniso8601がインストールされる場合がございます。

asyncssh 1.18.0 → 2.13.0

https://asyncssh.readthedocs.io/en/latest/changes.html

  • Updated AsyncSSH to use the modern async/await syntax internally, now requiring Python 3.6 or later. Those wishing to use AsyncSSH on Python 3.4 or 3.5 should stick to the AsyncSSH 1.x releases.
  • Changed first argument of SFTPServer constructor from an SSHServerConnection (conn) to an SSHServerChannel (chan) to allow custom SFTP server implementations to access environment variables set on the channel that SFTP is run over. Applications which subclass the SFTPServer class and implement an init method will need to be updated to account for this change and pass the new argument through to the SFTPServer parent class. If the subclass has no init and just uses the connection, channel, and env properties of SFTPServer to access this information, no changes should be required.
  • Removed deprecated “session_encoding” and “session_errors” arguments from create_server() and listen() functions. These arguments were renamed to “encoding” and “errors” back in version 1.16.0 to be consistent with other AsyncSSH APIs.
  • Removed get_environment(), get_command(), and get_subsystem() methods on SSHServerProcess class. This information was made available as “env”, “command”, and “subsystem” properties of SSHServerProcess in AsyncSSH 1.11.0.
  • Removed optional loop argument from all public AsyncSSH APIs, consistent with the deprecation of this argument in the asyncio package in Python 3.8. Calls will now always use the event loop which is active at the time of the call.
  • Removed support for non-async context managers on AsyncSSH connections and processes and SFTP client connections and file objects. Callers should use “async with” to invoke the async the context managers on these objects.
  • SDK Core側には影響ありません。
  • asyncsshをユーザー側コードでimportしてご利用いただく場合、上記変更が含まれますのでご注意ください。

cffi 1.14.6 → 1.15.0

https://cffi.readthedocs.io/en/latest/whatsnew.html

  • 影響はありません。

Cython 0.29.26 → 0.29.32

https://cython.readthedocs.io/en/latest/src/changes.html

  • 影響はありません。

graphene 2.1.8 → N/A

graphene-sqlalchemy 2.3.0の依存パッケージとして2.1.3以上3未満のバージョンがインストールされます。

graphene 2.1.9では

graphql-core>=2.1,<3

graphql-relay>=2,<3

aniso8601>=3,<=7
が依存moduleとなっています。

https://github.com/graphql-python/graphene/blob/v2.1.9/setup.py

grapheneのバージョンはSDK Coreとして明示的に記載していないため、あくまで参考情報扱いとなります。環境変更後、より最新バージョンのgrapheneがインストールされる場合がございます。

graphene-sqlalchemy 2.2.2 → 2.3.0

graphene 2.1.3以上3未満のバージョンが依存moduleとなっています。
https://github.com/graphql-python/graphene-sqlalchemy/blob/20ecaeadf2144b88555a3daf1a04e31b7f2ff95a/setup.py#L16

graphql-core 2.2.1 → N/A

grapheneの依存moduleとしてインストールされます。

graphene-coreのバージョンはSDK Coreとして明示的に記載していないため、あくまで参考情報扱いとなります。環境変更後、より最新バージョンのgraphene-coreがインストールされる場合がございます。

graphql-relay 2.0.0 → N/A

grapheneの依存moduleとしてインストールされます。

graphene-relayのバージョンはSDK Coreとして明示的に記載していないため、あくまで参考情報扱いとなります。環境変更後、より最新バージョンのgraphene-relayがインストールされる場合がございます。

Jinja2 3.0.3 → 3.1.2

https://jinja.palletsprojects.com/en/3.1.x/changes/

  • Remove previously deprecated code. #1544
    • WithExtension and AutoEscapeExtension are built-in now.
    • contextfilter and contextfunction are replaced by pass_contextevalcontextfilter and evalcontextfunction are replaced by pass_eval_contextenvironmentfilter and environmentfunction are replaced by pass_environment.
    • Markup and escape should be imported from MarkupSafe.
    • Compiled templates from very old Jinja versions may need to be recompiled.
    • Legacy resolve mode for Context subclasses is no longer supported. Override resolve_or_missing instead of resolve.
    • unicode_urlencode is renamed to url_quote.
  • SDK Core側に影響はありません。
  • jinja2をユーザー側コードでimportしてご利用いただく場合、上記変更が含まれますのでご注意ください。

jsonschema 4.4.0 → 4.17.3

https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst

  • 影響はありません。

netmiko 3.4.0 → 4.1.2

Netmiko 4.0.0 Release

  • Backwards incompatible and other major changes
    • Convert send_command to use read_timeout.
    • Convert send_command_timing to use read_timeout and last_read
    • Add type hints and mypy support
    • Relocate exceptions module to netmiko.exceptions (was ssh_exceptions)
    • Add read_timeout argument to send_config_set
    • Convert netmiko-tools to be an entry point and directly a part of Netmiko library
    • Creating a new internal Channel class
    • Restructure read methods
    • Implement NoEnable and NoConfig inheritance classes to standardize no-config and no-enable behavior
  • SDK Core側に影響はありません。
  • netmikoをユーザー側コードでimportしてご利用いただく場合、上記変更が含まれますのでご注意ください。

paramiko 2.7.2 → 2.12.0

https://github.com/paramiko/paramiko/blob/main/NEWS

  • [Feature] #1643: (also #1925#1644#1326) Add support for SHA-2 variants of RSA key verification algorithms (as described in RFC 8332) as well as limited SSH extension negotiation (RFC 8308).
  • Warning
    • This change is slightly backwards incompatible, insofar as action is required if your target systems do not support either RSA2 or the server-sig-algs protocol extension.
    • Specifically, you need to specify disabled_algorithms={'keys': ['rsa-sha2-256', 'rsa-sha2-512']} in either [SSHClient](https://docs.paramiko.org/en/latest/api/client.html#paramiko.client.SSHClient.__init__) or [Transport](https://docs.paramiko.org/en/latest/api/transport.html#paramiko.transport.Transport.__init__).
  • paramikoをユーザー側コードでimportしてご利用いただく場合、上記変更によりSSHClient classのconnectメソッド、もしくはTransport クラスを利用する際、レガシーサーバーへの接続時に認証が失敗してしまう場合があります。この場合はkwargs引数にdisabled_algorithms={'keys': ['rsa-sha2-256', 'rsa-sha2-512']} を追加することで接続が可能な場合がございますのでお試しください。

psutil 5.9.0 → 5.9.4

https://github.com/giampaolo/psutil/blob/master/HISTORY.rst

  • 影響はありません。

pycryptodome 3.12.0 → 3.16.0

pycryptodomex 3.12.0 → 3.16.0

https://pycryptodome.readthedocs.io/en/latest/src/changelog.html

  • 影響はありません。

pycurl 7.44.1 → 7.45.2

https://github.com/pycurl/pycurl/blob/master/ChangeLog

  • 影響はありません。

PyJWT 2.3.0 → 2.6.0

https://pyjwt.readthedocs.io/en/stable/changelog.html

  • 影響はありません。

PyMySQL 0.9.3 → 1.0.2

https://github.com/PyMySQL/PyMySQL/blob/main/CHANGELOG.md

  • Backward incompatible changes:
    • Python 2.7 and 3.5 are not supported.
    • connect() uses keyword-only arguments. User must use keyword argument.
    • connect() kwargs db and passwd are now deprecated; Use database and password instead.
    • old_password authentication method (used by MySQL older than 4.1) is not supported.
    • MySQL 5.5 and MariaDB 5.5 are not officially supported, although it may still works.
    • Removed escape_dictescape_sequence, and escape_string from pymysql module. They are still in pymysql.converters.
  • PyMySQLをユーザー側コードでimportしてご利用いただく場合、上記変更が含まれますのでご注意ください。

PyNaCl 1.4.0 →1.5.0

https://pynacl.readthedocs.io/en/latest/changelog/

  • 影響はありません。

pysmi 0.3.4 → N/A

pysmiの代替として、pysnmp-pysmiがpysnmplibの依存モジュールとしてインストールされます。

pysnmp-pysmiのバージョンはSDK Coreとして明示的に記載していないため、あくまで参考情報扱いとなります。環境変更後、より最新バージョンのpysnmp-pysmiがインストールされる場合がございます。

pysmiをユーザー側コードでご利用になる場合はユーザー側requirements.txtでの指定が必要となります。

pysnmp 4.4.12 → N/A

pysnmpモジュールは4系までの提供となり、5系からはpysnmplibパッケージへの提供へ移行となります。

pysnmpをユーザー側コードでご利用になる場合はユーザー側requirements.txtでの指定が必要となります。

pysnmplib N/A → 5.0.20

https://github.com/pysnmp/pysnmp/blob/c0900761c0b1b427e632f5750778bd021bb74119/pyproject.toml#L30

pysnmplib 5.0.20の場合、pysnmp-pysmi 1.X.Xが追加インストールされます。

pytz 2021.3 → 2022.7

https://launchpad.net/pytz/+announcements

  • 影響はありません。

PyYAML 5.4.1 → 6.0

https://github.com/yaml/pyyaml/blob/master/CHANGES

  • SDK Core側に影響はありません。
  • https://github.com/yaml/pyyaml/pull/561 – always require Loader arg to yaml.load()
  • PyYAMLをユーザー側コードでimportして利用している場合、上記変更が含まれますのでご注意ください。

python-rapidjson 1.5 → 1.9

https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst

  • 影響はありません。

redis 4.1.0 → 4.4.0

https://github.com/redis/redis-py/releases

  • Fix backward compatibility from 4.3.2 in Lock.acquire() (#2254)
  • Fix XAUTOCLAIM to return the full response, instead of only keys 2+ (#2252)
  • Replace OSError exceptions from can_read with redis.ConnectionError (#2140)
  • Updated FUNCTION LOAD changes (from release 7.0 rc3 to support redis 7.0 final) (#2139)
  • Functions within RedisGraph support, were renamed to match Python naming conventions. (#1872)
  • Modified rootPath argument in JSON.SET to root_path as part of type hint addition. (#1921)
  • redisモジュールをユーザー側コードでimportして利用している場合、上記変更が含まれますのでご注意ください。

scp 0.14.2 → 0.14.4

https://github.com/jbardin/scp.py/blob/master/CHANGELOG.md

  • 影響はありません。

SQLAlchemy 1.4.36 → 1.4.46

https://docs.sqlalchemy.org/en/20/changelog/changelog_14.html#change-1.4.46

  • 影響はありません。

tornado 6.1 → 6.2

https://www.tornadoweb.org/en/stable/releases/v6.2.0.html

  • 影響はありません。

uvloop 0.16.0 → 0.17.0

https://github.com/MagicStack/uvloop/releases

  • 影響はありません。

xmltodict 0.12.0 → 0.13.0

https://github.com/martinblech/xmltodict/blob/master/CHANGELOG.md

  • 影響はありません。

requests 2.26.0 → 2.28.1

https://github.com/psf/requests/blob/main/HISTORY.md

  • 影響はありません。

line-profiler 3.4.0 → 4.0.2

https://github.com/pyutils/line_profiler/blob/main/CHANGELOG.rst

  • 影響はありません。

rstr 3.0.0 → 3.2.0

https://github.com/leapfrogonline/rstr/blob/master/RELEASE_NOTES

  • 影響はありません。

autopep8 1.6.0 → 2.0.1

https://github.com/hhatto/autopep8/releases

  • 影響はありません。

geopy 2.2.0 → 2.3.0

https://github.com/geopy/geopy/releases

  • SDK Core側に影響はありません。
  • .Pelias: deprecate country_bias param, use countriesinstead. (#504)
  • .IGNFrance: authentication is no longer accepted by the API,so passing any credentials to the geocoder class has been deprecated.These arguments should be removed. (#496)
  • geopyをユーザー側コードでimportしてご利用いただく場合、上記変更が含まれますのでご注意ください。

prometheus-client 0.12.0 → 0.15.0

https://github.com/prometheus/client_python/releases

  • 影響はありません。

tosca-parser 2.4.1 → 2.7.0

https://github.com/openstack/tosca-parser/compare/2.4.1…2.7.0

kubernetes-asyncio 19.15.0 → 24.2.2

https://github.com/tomplus/kubernetes_asyncio/blob/master/CHANGELOG.md

gcloud-aio-auth 3.7.0 → 4.0.1

gcloud-aio-pubsub 4.5.0 → 5.1.1

https://github.com/talkiq/gcloud-aio/releases

  • 影響はありません。

flake8 4.0.1 → 6.0.0

https://flake8.pycqa.org/en/latest/release-notes/index.html

  • Remove -diff option (See also #1389#1720).
  • Produce an error when invalid codes are specified in configuration (See also #1689#1713).
  • Produce an error if the file specified in -extend-config does not exist (See also #1729#1732).
  • Remove optparse compatibility support (See also #1739).
  • Remove indent_size_str (See also #1411).
  • Remove some dead code (See also #1453#1540#1541).
  • Missing explicitly-specified configuration is now an error (See also #1497#1498).
  • Always read configuration files as UTF-8 (See also #1532#1533).
  • Remove manpage from docs – use help2man or related tools instead (See also #1557).
  • Forbid invalid plugin codes (See also #325#1579).
  • flake8をユーザー側コードでimportしてご利用いただく場合、上記変更が含まれますのでご注意ください。
v22.7LTS
v23.1LTS