-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Someone to collaborate on the next major release #341
-
Hi all!
A major release of WTFPython is long overdue, there are some great potential inclusions already in the Issues section, and I have a few of myself too that I've been maintaining separately.
I'm looking for someone who'd want to take a stab at working up the next major release, which typically involves,
- Including newer snippets with explanations.
- Making rearrangements in the grouping of the examples or the orders of the examples, to make things more intuitive and fun. This needs to be done anyway with addition of new snippets.
- Adding newer modes of consumption (last time I added jupyter notebooks via google colab, and then I worked on an interactive version using pyiodide which I didn't share that much publicly)
- Doing a proofread and sanity check of all the snippets with the latest Python version to make sure outputs and explanations are correct.
There aren't any monetary benefits, but based on my past experience, you do get to learn a LOT (about Python and about creative writing if you put decent focus on presentation and reading flow), and I'm more than happy to transparently attribute you for all the awesome work. It's also exciting to share the new release on the internet with thousands of developers, so you get to share that feeling as well :)
If interested, please let me know at discuss@satwikkansal.xyz with few lines about your background, what got you interested, the timeline you're comfortable with, and the kind of changes you'd want to make in the newer release (apart from the ones already covered in Github issues).
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 4 comments 13 replies
-
Hey @satwikkansal , what do you think about converting this issue into discussion?
Beta Was this translation helpful? Give feedback.
All reactions
-
Done 👍
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
I suppose it would be better to make another release before 4.0
, let's say 3.1
.
It will include every change since last release + preparations for next major release (mostly internal stuff to ease contribution and repo management) - markdown linter and formatter, typos, old issues and PRs, some guidelines for local development, CI and pre-commit
checks.
Beta Was this translation helpful? Give feedback.
All reactions
-
Another important question is formats of provided information. Are you sure that the project need cli
version? And so on
Beta Was this translation helpful? Give feedback.
All reactions
-
Yes, let's develop a plan for the 3.1 release. As for the pre-commit checks, we should have a spell checker for non-code blocks in README.md. Many of the fixes we see involve spelling corrections.
Long run, what'd also be nice to have is a GitHub action that could run the snippets and verify the output, I've not thought about how it'll work, but it's something that could be useful.
As for the formats we need to keep, I agree we need to consolidate a bit. We can drop cli support, it isn't convenient to read anyway. We can just stick to Google colab notebooks (1 for each translation). Interactive web version and CLI versions can be dropped. I'd like to introduce a pdf version for those reading offline, this has been a frequent ask and long overdue.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
Cool, then I'll create issues and you will add release milestone or label for them
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
Hey Satwik,
Could you also check what files are extra and can be easily deleted. For example, .travis.yml
Beta Was this translation helpful? Give feedback.
All reactions
-
- The entire pypi directory
- There might be a few scripts in
irrelevant
directory that we can delete, but you can leave it to me. We can delete after we know we aren't going to use any of that stuff.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 2
-
Hey @satwikkansal ,
I'm making another try to revive the project and the first step should be analytics.
Let's collect current problems and pains and try to prioritize them
This is how I see a current wtfpython
state, problems and pains:
-
For Maintainer
- (A guess) No time to work on project -> the project is not active
- PR takes a lot of time to review -> too much PRs dated years ago
- No control over translations, they are stored in forks -> the translations are outdated and not controlled
- Lots of stars, no contributors -> the project is not active
-
For Contributor
- No clear and useful how-to guidelines -> Each PR and changes are different, no way to standartize them
- The development process is not clear. Why there is
develop
branch? Why not to merge everything inmaster
? - Many issues and PR means that maintainer is not interested in project -> then I (as contributor) won't spend my time on this project
- Dont understand how to start, what issues are good for beginner -> then I (as contributor) won't spend my time on this project
-
For End user
- Low activity recently -> abandoned project, skip it
- No way to see the changes (changelog or release notes) -> I (as user) don't want to spend time to find out what has been changed since my last visit, skip the project
- The content is probably outdated since there is python 2 info and last release was in 2019 -> abandoned project, skip it
Beta Was this translation helpful? Give feedback.
All reactions
-
Hey @nifadyev , Sorry it got missed thanks for the reminder. Here are my thoughts;
-
We don't need stale action to automatically close the issues, rather it should be our job to keep closing them. Ideally, we should be tagging the issues, and depending on the tag we should have timelines to close them. For example, if the tag is
bug
orincorrect explanation
then the action should remind us if the issue has been open for more than 15 days. If an issue is untagged for let's say 15 days, then action should remind us to tag it. If the issue is tagged asnew snippet
then we have to wait till the next release to get it out, in that case we have to keep it open. I hope I'm able convey where I'm getting with this -
Yeah we should close existing issues which aren't going to end up as examples.
-
Agreed
-
Yes monthly report is good
-
It's a personal project and it helps me give credibitlity for the freelancing work I do, so for that reason I want to not move towards an organisation, as it'd make it difficult to get new work and sustain financially. Delegation of responsibilities can still be performed, people can comment on issues, review PRs, etc. It's just that my manual involvement would be needed (labeling issues, merging PRs, etc), which I'm more than happy doing.
-
Agree with the changelogs
-
Agree with the contributing guide. Regarding irrelevant, it's irrelevant from reader's perspective but some of the code is relevant from our purpose. So I think we need to do two things there, the code that is obsolete, we can delete it. The other code we can still keep it and not call irrelevant but something else like
internal
Beta Was this translation helpful? Give feedback.
All reactions
-
Hey @satwikkansal , thank you for a reply.
I will start making issues for all points discussed above with more details, and wait for your approval to proceed with them.
Meanwhile, it'd be awesome to the issues (1 2 3 4 5 6 7 8 9 10 11 12 13 14) and PR (except 1 2 3)
Beta Was this translation helpful? Give feedback.
All reactions
-
Sure, will do that over next few days 👍
Beta Was this translation helpful? Give feedback.
All reactions
-
Hey @satwikkansal , updated the list of issues to delete. Most issues are new snippets and they shall not be included in upcoming small patch release. They will be a part of new major release
Beta Was this translation helpful? Give feedback.
All reactions
-
I closed the issues you linked, and most inactive PRs. Most of the remaining issues are actually snippets that we may intend to include in new major release so we can keep them open, and close them after the release. Thanks for going over them and leaving your comments @nifadyev 🙏
Beta Was this translation helpful? Give feedback.