Comfy-Org / Comfy-Org/ComfyUI-Manager
[Feature Request] Poetry + Dynamic Versioning Adoption
- Dominant language
- Python
- Stars
- 16.1k
- Forks
- 2.5k
- Avg merge
- 5d 4h
- Merged PRs (30d)
- 13
Description
Heh, its funny because I just saw a thread regarding package versioning and I was thinking about the pain-in-the-ass it'll be for me, just returning from a semi-long sabbatical, to manage to keep all the nodes happy with my PyMods.
Just wanna precaution I shoulda/woulda/coulda got my bearings before this post. I mean, for one, this would be a pretty massive shift, but I imagine it would be a semi-welcomed one (pip -> Poetry) and in the end appreciated by all. Of course, it wouldn't really even change a dang thing, at least just yet. There are nifty capabilities of Poetry that a Custom Node could take advantage of that'd leave pip users SOL.
First 'un is something that's a non-break-y neat enhancement of Poetry's default packaging that is easy enough for anyone to add into their Poetry instance. But with that being said, I've yet to really use it myself! There's a caveat to the "easy" thing, the syntax of the actual written out dynamism is a tad convoluted IMO.
I'm not talking rocket science here, I legitimately just haven't spent the 10-15 mins. to get acclimated with the versioning syntax. This is also a real diamond-in-the-rough plugin because it has very little usage thus far (as to say, documentation, examples, etc. are nil). I'm optimistic with ComfyUI/CUM gushing over it, that this plugin would become very user-friendly. Man, there's just something about ltdrdata's CU-M! All jokes aside, I think pip is pitiful for Custom Node Addiction -- its limited, better for simple projects.
Python Projects that require a lot of modules are really only manageable with Pipenv or Poetry. I used Pipenv for a long while but I just found it bug-ridden, slow as duck and clunky. Poetry can be whatever you want it to be, package manager, build, venv controller and so on. There's also Conda/Mamba I suppose...but I think it doesn't fit the bill with this project's needs (isolating ComfyUI is likely not-so preferable for a large # of users).
Poetry Pros: (Heh)
- Great .venv experience
- Opens up new possibilities with its configuration management, ala scripts-to-trigger in the pyproject.toml
- Fluid, Customizable Sourcing of Packages (Divi up a couple lists, maybe grab Torch/Audio/Vision via Pytorch.org for the dev vers.)
- Doesn't really change diddley squat, I just think it'd be great if it were pushed as the gold standard of CUM or ComfyUI. Would work well with things like the long cherished Pysss/RG-Three type enhancements IMO, no screwing around with some Web Folder, etc.
Cons: ???
_Sry, this was a procrasturbation post, should be doing other things, toodle-looo!!!_
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the proposed Poetry workflow and the existing package configuration, including the pyproject.toml scripts mentioned in the issue. Establish whether Poetry and dynamic versioning fit ComfyUI-Manager, then document the migration scope, compatibility concerns, and a concrete definition of done; the issue currently names no files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100