kytos-ng / kytos

Kytos SDN Platform. Kytos is designed to be easy to install, use, develop and share Network Apps (NApps).
https://kytos-ng.github.io/
MIT License
2 stars 7 forks source link

Upgrade to Python 3.11 (3.12 will be in another opportunity) #448

Closed viniarck closed 3 months ago

viniarck commented 4 months ago

This supersedes https://github.com/kytos-ng/kytos/issues/309

In a next opportunity probably on 2024.1 let's see if we'll can afford:

When this gets prioritized this deserves its own epic, and tasks will be further broken down.

viniarck commented 4 months ago

core libs to potentially ugrade if no blockers:

related issues:

https://github.com/kytos-ng/kytos/issues/350

https://github.com/kytos-ng/kytos/issues/420

viniarck commented 4 months ago

When upgrading to python 3.11 it also needs to be updated on Scrutinizer CI, here's the current template, we'll need to bump the version when the time comes, but if locally tests are passing it should pass on CI too, so you won't be blocked as you work on this locally:

checks:
    python:
        code_rating: true
        duplicate_code: true
filter:
    paths: ['*']
build:
    environment:
        python: 3.9.12
        postgresql: false
        redis: false
    dependencies:
        before:
            - pip install tox==3.27.1 virtualenv==20.21.0 coverage
    tests:
        override:
            -
                command: 'tox'
                idle_timeout: 300
                coverage:
                    file: '.coverage'
                    config_file: '.coveragerc'
                    format: 'py-cc'
    nodes:
        analysis:
            tests:
                override:
                    - py-scrutinizer-run
        tests: true
viniarck commented 4 months ago

As discussed on Slack, we'll go for 3.11 based on AmLight Ops team' feedback, we don't have a hard requirement for 3.12, and the Ops team rather use 3.11 since Debian stable already uses 3.11 and that's fairly stable.