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

Python 3.13 support #2435

Open
3 tasks done
BabyBoySnow opened this issue Oct 29, 2024 · 7 comments
Open
3 tasks done

Python 3.13 support #2435

BabyBoySnow opened this issue Oct 29, 2024 · 7 comments
Labels
t/bug This issue is quite clearly a bug t/lib discord.py or yt-dl is doing a bad

Comments

@BabyBoySnow
Copy link
Collaborator

BabyBoySnow commented Oct 29, 2024

What went wrong?

You can currently download python 3.13 from the python home page, however MusicBot will currently not work with it as some internal changes are needed. If you try to run MusicBot with 3.13 you will see this:

File "<string>", line 1, in <module>
--
15 | NameError: name 'everything' is not defined

The actual traceback is longer than this, but the key is to look for 'everything' is not defined. Until further notice please use a lower version between 3.8-3.12.

How do we reproduce this?

Install python 3.13 and try to run the bot with that version.

Which version of the bot are you using?

Affects all branches

Which operating system are you using?

Affects all OS's

Just checking...

  • I have confirmed that my issue has not already been reported.
  • I am using Python 3.8 or higher.
  • I have updated my Python dependencies.
@BabyBoySnow BabyBoySnow added t/bug This issue is quite clearly a bug needs triage t/lib discord.py or yt-dl is doing a bad and removed needs triage labels Oct 29, 2024
@BabyBoySnow BabyBoySnow pinned this issue Oct 29, 2024
@YijunWang1121
Copy link

Hello! I’m a student enrolled in the EECS481 Software Engineering course at the University of Michigan. My partner and I are interested in working on this issue to make MusicBot compatible with Python 3.13 as part of our course project.

We’d like to contribute by investigating compatibility changes needed for Python 3.13, addressing any deprecated features, and updating dependencies if necessary. Could we proceed with this issue as our project? We'd be happy to coordinate and provide updates along the way.

Thank you for considering our contribution!

@BabyBoySnow
Copy link
Collaborator Author

Hello! I’m a student enrolled in the EECS481 Software Engineering course at the University of Michigan. My partner and I are interested in working on this issue to make MusicBot compatible with Python 3.13 as part of our course project.

We’d like to contribute by investigating compatibility changes needed for Python 3.13, addressing any deprecated features, and updating dependencies if necessary. Could we proceed with this issue as our project? We'd be happy to coordinate and provide updates along the way.

Thank you for considering our contribution!

Sure, feel free to work on it.
Some things to note:
When pr'ing please create a new branch based off of dev, this will allow you to rebase any changes you make on top of any pushes the might occur in the meantime.
Please ensure that you format with black.

@BabyBoySnow
Copy link
Collaborator Author

This might be for naught, the issue stems from the way we set up loggers using the exec() function, which seems to be a tad bit different in 3.13, @itsTheFae has a WIP to change the way we do language (i18n) stuff, which replaces the way loggers work. In order to save yourself unwarranted time and effort, I'd suggest to focus on something else instead :)

@itsTheFae
Copy link
Contributor

itsTheFae commented Nov 10, 2024

As the PR #2436 is now in Draft, feel free to contribute to it instead of the existing branches.
Snow and I have discussed several issues and made some changes that should at least allow the draft version to start on python 3.13. I would be grateful for the extra testing.

For reference, MusicBot currently aims to support python versions 3.8 and up. So any changes need to remain compatible with those versions.
Snow informs me that the "Free-threaded" versions of 3.13 just don't work. This might be down to some of the dependencies we have, and could be addressed by the time 3.14 is a stable release. But that is just my guess.

@dodozean
Copy link

dodozean commented Nov 29, 2024

@itsTheFae @BabyBoySnow Hello, @YijunWang1121 and I are currently working on testing the branch in PR #2436 . We are using the provided test cases in musicbot/testrig.py and also creating additional test cases to ensure thorough coverage. Additionally, we plan to provide a coverage report once the testing is complete. After addressing and debugging the issue related to Python compatibility, we will create a PR targeting itsTheFae:ui-and-i18n. Would that approach work for you?

@itsTheFae
Copy link
Contributor

That sounds good to me. I'm certain there are improvements to be made with the tests and probably the rig too.
I need to actually do coverage as well... It's been a few months since I last looked at that.

@dodozean
Copy link

@itsTheFae A pull request has been made on your fork of this repo :) Feel free to take a look.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
t/bug This issue is quite clearly a bug t/lib discord.py or yt-dl is doing a bad
Projects
None yet
Development

No branches or pull requests

4 participants