Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Python 3.10 #2042

Merged
merged 2 commits into from Jan 26, 2022
Merged

Support Python 3.10 #2042

merged 2 commits into from Jan 26, 2022

Conversation

djmattyg007
Copy link
Contributor

No description provided.

@djmattyg007
Copy link
Contributor Author

I used this as a guide: 06be362

@djmattyg007
Copy link
Contributor Author

I'm not sure why this would have resulted in a decrease in code coverage. I don't see that as a reason to block merging this PR.

@kingosticks
Copy link
Member

Perhaps it's also time to remove Python 3.7. Debian stable has 3.9, Ubuntu LTS has 3.8.

Copy link
Member

@jodal jodal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this :-)

I'm open to dropping 3.7 support, but I think we can leave it for another PR, and maybe only do it when we want to use some feature that requires 3.8.

pyproject.toml Show resolved Hide resolved
.github/workflows/ubuntu-devel.yml Outdated Show resolved Hide resolved
@djmattyg007
Copy link
Contributor Author

Regarding dropping Python 3.7 support, the usual way I see this handled is to make one last release that supports the old version, then immediately drop support after the release. There's a few bugfixes waiting on the develop branch that would be good to get to as many people as possible.

@kingosticks kingosticks merged commit 0d9a18a into develop Jan 26, 2022
@kingosticks kingosticks deleted the python-310 branch January 26, 2022 13:40
@kingosticks kingosticks added the A-project Area: Project label Jan 26, 2022
@kingosticks kingosticks added this to the Next feature release milestone Jan 26, 2022
@kingosticks
Copy link
Member

I'm having trouble running flake8 on my dev environment following this change.

(mopidy3) nick@xps:~/Dev/mopidy-dev/mopidy$ flake8
./setup.py:0:1: BLK999 Unexpected exception: 'PY310'
./docs/conf.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/__init__.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/mixer.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/listener.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/commands.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/exceptions.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/__main__.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/httpclient.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/backend.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/zeroconf.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/ext.py:0:1: BLK999 Unexpected exception: 'PY310'
./mopidy/ext.py:5:1: I101 Imported names are in the wrong order. Should be NamedTuple, TYPE_CHECKING
<SNIP>

@kingosticks
Copy link
Member

Argh, stung yet again by the uselesness of pip install --upgrade blah

@jodal
Copy link
Member

jodal commented Jan 30, 2022

Maybe I should test out converting Mopidy to Poetry? I think the main thing to figure out is the best workflow for multiple extensions in the same venv.

@djmattyg007
Copy link
Contributor Author

I would love to see the Mopidy ecosystem move towards Poetry 👍 I normally do the following:

  1. Configure Poetry to not create its own virtualenvs
  2. Create my own virtualenv
  3. Use pip to install Poetry inside the virtualenv
  4. Run poetry install or whatever

I think if you wanted to install extensions and/or core inside the same virtualenv, you'd need to pick the "main" package you're working on, and make sure to run poetry install --no-root in all the others.

@blacklight
Copy link

I agree with @djmattyg007. Unless keeping back-compatibility unnecessarily complicates things, I wouldn't drop support for Debian's oldstable Python. Especially considering that the rpi upgraded to Bullseye < 3 months ago and many things are still broken/unstable (e.g. camera support). Give users a bit more time to dist-upgrade before dropping oldstable support.

@djmattyg007
Copy link
Contributor Author

I don't think we should be waiting much longer to drop 3.7 support. Python 3.7 was released over 3.5 years ago, and is going to start holding us back.

@djmattyg007
Copy link
Contributor Author

and make sure to run poetry install --no-root in all the others.

Oops, this was meant to say --no-dev, not --no-root.

@kingosticks
Copy link
Member

If poetry solves the shambolic dependency upgrade mess in a virtualenv I'm all for it.

@jodal jodal modified the milestones: v3.4.0, v3.3.0 Oct 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-project Area: Project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants