You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are a lot of Python package/project management systems (poetry, flit, hatch, and regular setuptools are ones that come to mind quickly). All have their unique qualities and all, more or less, have the same goals.
Enter whey
I just discovered whey. The documentation doesn't really explain how/why whey is different. So I'm left asking myself: Why whey?
Project Goals/Scope
In my experience, it's extremely beneficial to clearly establish the goals/scope of a project. Not only for one's own sanity, but also to help clearly and concretely communicate to others what the project is about. This is especially helpful in open source projects to focus the efforts of contributors and reduce (if not eliminate) superfluous PRs that don't really go in the direction envisioned for the project.
Doing this also helps reduce/prevent scope creep and helps to determine if some feature or functonality should be in the project or should be a sub-project/plugin/etc.
Efficiency / Duplication of Efforts
I like efficiency. I also have a strong distaste for duplicating efforts. (Now that's just me...) I am definitely not going to go rewrite something like numpy or pandas from the ground up. But either (a) improving/adding functionality to the core project or (b) extending the core in some way to add functionality... that's great. Excellent examples of this would be how pint-pandas extends pandas to utilise pint
Differences/Comparison
As a developer, it's not always the most pleasant thing to compare your work or project to others. Yet, others will do it regardless and, at the end of the day, the project lead/originator/inventor is, ultimately, likely the best person to do the comparison (because he/she recognized a need and understands best the differences). There are several examples at the end and I've included a list of questions in a later section.
Humour Is Great (and often based in reality)
The reality, as we know, is that the above XKCD isn't far from the truth... And the very reason why it's funny could be an excellent starting point for a project.
Questions to Consider Answering
Note: @domdfcoding you may have already answered these in your head or maybe not. My suggestion is to write about it so that others can understand. 😀
What are the goals of whey? What does whey set out to accomplish? What unmet need is whey attempting to solve? What's the scope? (These can always be changed/updated. But having them clearly defined helps to have a baseline so you can decide whether or not to change them.)
Are there projects that are similar (there are, in this case...)? What do they do? What do they do well? What do they do not so well? What don't they do?
How does whey compare to these other projects? Features? Capabilities? Goals? Scope? What makes whey different? ... Why (do you think) whey is better?
What does whey do well? What doesn't whey do so well? (And the latter question can be broken into 2 subparts: What doesn't whey do so well right now [but is planned]? What doesn't whey do so well and isn't in the scope of the project?)
Roadmap (ties in with scope/goals): Where is whey going? Features? Plans?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Background
There are a lot of Python package/project management systems (
poetry
,flit
,hatch
, and regularsetuptools
are ones that come to mind quickly). All have their unique qualities and all, more or less, have the same goals.Enter
whey
I just discovered
whey
. The documentation doesn't really explain how/whywhey
is different. So I'm left asking myself: Whywhey
?Project Goals/Scope
In my experience, it's extremely beneficial to clearly establish the goals/scope of a project. Not only for one's own sanity, but also to help clearly and concretely communicate to others what the project is about. This is especially helpful in open source projects to focus the efforts of contributors and reduce (if not eliminate) superfluous PRs that don't really go in the direction envisioned for the project.
Doing this also helps reduce/prevent scope creep and helps to determine if some feature or functonality should be in the project or should be a sub-project/plugin/etc.
Efficiency / Duplication of Efforts
I like efficiency. I also have a strong distaste for duplicating efforts. (Now that's just me...) I am definitely not going to go rewrite something like
numpy
orpandas
from the ground up. But either (a) improving/adding functionality to the core project or (b) extending the core in some way to add functionality... that's great. Excellent examples of this would be how pint-pandas extends pandas to utilise pintDifferences/Comparison
As a developer, it's not always the most pleasant thing to compare your work or project to others. Yet, others will do it regardless and, at the end of the day, the project lead/originator/inventor is, ultimately, likely the best person to do the comparison (because he/she recognized a need and understands best the differences). There are several examples at the end and I've included a list of questions in a later section.
Humour Is Great (and often based in reality)
The reality, as we know, is that the above XKCD isn't far from the truth... And the very reason why it's funny could be an excellent starting point for a project.
Questions to Consider Answering
Note: @domdfcoding you may have already answered these in your head or maybe not. My suggestion is to write about it so that others can understand. 😀
whey
? What doeswhey
set out to accomplish? What unmet need iswhey
attempting to solve? What's the scope? (These can always be changed/updated. But having them clearly defined helps to have a baseline so you can decide whether or not to change them.)whey
compare to these other projects? Features? Capabilities? Goals? Scope? What makeswhey
different? ... Why (do you think)whey
is better?whey
do well? What doesn'twhey
do so well? (And the latter question can be broken into 2 subparts: What doesn'twhey
do so well right now [but is planned]? What doesn'twhey
do so well and isn't in the scope of the project?)whey
going? Features? Plans?As an example,
whey
's readme indicatesGreat! So, how do
poetry
,flit
,hatch
, andsetuptools
compare? I don't really know, but I'd like to! 😁Examples of Answers to some of the above from other projects
The text was updated successfully, but these errors were encountered: