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

[Documentaton] What makes whey different? #52

Open
danieldjewell opened this issue Oct 16, 2021 · 1 comment
Open

[Documentaton] What makes whey different? #52

danieldjewell opened this issue Oct 16, 2021 · 1 comment
Assignees
Labels
enhancement New feature or request stale

Comments

@danieldjewell
Copy link

Background

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)

PythonEnviromment

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?

As an example, whey's readme indicates

Great! So, how do poetry, flit, hatch, and setuptools compare? I don't really know, but I'd like to! 😁

Examples of Answers to some of the above from other projects

@danieldjewell danieldjewell added the enhancement New feature or request label Oct 16, 2021
@stale
Copy link

stale bot commented Apr 16, 2022

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.

@stale stale bot added the stale label Apr 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request stale
Projects
None yet
Development

No branches or pull requests

2 participants