Open cdeil opened 2 months ago
TL;DR: Based on the pixi bug you filed, it seems pixi may have issues with Arcade's upcoming 3.0 release and its dev previews.
What you've proposed is worth considering. However, my understanding is:
Since it's worth verifying https://github.com/prefix-dev/pixi/issues/1357 further, can you try installing arcade==3.0.0.dev34
with pixi? Based on my reading of your bug, it might fail because:
development
branch currenly uses a dev preview of pyglet 2.1 https://github.com/pythonarcade/arcade/blob/e9dd36a4860e02d14aae7ad4ae9bc9797809c018/pyproject.toml#L26Hi, yes, pixi currently lacks support for dev preview releases from PyPI, that's an open feature request to them to add this support.
This request is independent though for you with Arcade to create a new release that uses stable and not dev versions though.
So you're aiming directly for a 3.0 release and the 2.x series is completely frozen I gather? Is it possible to give an ETA (weeks / months)?
Update: So far, there doesn't seem to be much opposition to a final 2.6.18
Recap of the Discord discussion:
/latest
doc if possibleThe tasks as I understand them:
Wow, thanks. :-)
I am interested in helping. But realistically unfortunately I will only manage to spend an hour rarely. So please don't count on it and decide just what you prefer to do.
For now I changed to Python 3.11 and just using pip
and then did the platformer tutorial and everything worked. :-)
So I think the full support for newer Python 3.12 and modern more strict package managers pixi / uv could also just come with Arcade 3.0 if you prefer to put your time into getting that done. For me as complete newbie to Arcade and game development just wanting to get started with two kids in the next weeks doing the platformer tutorial that is even nicer since I don't have old Arcade code and get the even nicer package. So if you go that way to focus on Arcade 3.0 I would read the docs and help test / contribute a bit there in the coming weeks.
Is it possible to change your dependency management to the usual style moving forward of only using stable releases of pyglet
and just cutting stable releases there more often as needed to get fixes/improvements out?
Try to get rid of this linking to pyglet dev versions? https://github.com/pythonarcade/arcade/blob/895bf57c3e8cddb5e66edb501151c03fdf7a5cc8/pyproject.toml#L26
TL;DR: I updated the tasks above, ty please help test 3.0, I also want stable releases in the future
Note: some of this comment may re-iterate / expand on my earlier comment to act as easy reference.
just wanting to get started with two kids in the next weeks doing the platformer tutorial
The 1st party book teaching Python has a lesson plan you may find helpful, but it hasn't been updated for 3.0 like the Platformer Tutorial.
The fact the book and other non-core materials need to be updated separately is a major reason for considering a 2.6.18 release, especially since I'm not sure on what the timeline for updating the book is. The book's author (and Arcade's creator) isn't currently teaching as far as I know.
So I think the full support for newer Python 3.12 and modern more strict package managers... could also just come with Arcade 3.0 if you prefer to put your time into getting that done.
Since we also may want to add warnings to the 2.6.X doc, I've updated the task list in my earlier comment with points einarf raised on Discord.
So if you go that way to focus on Arcade 3.0 I would read the docs and help test / contribute a bit there in the coming weeks.
I appreciate the offer! If you're still planning on using 3.0 (or 2.6.18 doesn't work out):
Regardless of the answers to those questions, we'll need proofreading for the 3.0 Platformer Tutorial. It's a rewrite to account for changes such as the brand new camera system, and that means there'll be rough edges to smooth out.
Stuff like a porting guide and (maybe) a 2to3-like utility may arrive incrementally after 3.0. Input on those would also be appreciated.
Is it possible to change your dependency management to the usual style moving forward of only using stable releases of
pyglet
My current personal opinion is:
Since I don't control the PyPI package, my opinion isn't the one that matters.
Update on this:
Update: discovered a doc resource embed issue, started fixing it.
The ticket is #2387 (binding development breaks prior doc versions):
2.6-py-312
branchdevelopment
will likely need slightly different fixes
This is the latest stable version of arcade: https://pypi.org/project/arcade/2.6.17/
The wheel on PyPI declares that it requires pyglet development version: 2.0.dev23
This causes https://pixi.sh/ to install by default a broken older arcade version 2.3 if I use
pixi add --pypi arcade
andimport arcade
.Trying to install specifically the latest stable version:
I see here that a stable version of pyglet is available: https://pypi.org/project/pyglet/2.0.17/
Could you please release a newer version of arcade that fixes this dependency to the stable one so that install "just works"?