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

Collaboration Proposal #90

Open
LiamPattinson opened this issue Feb 14, 2023 · 6 comments
Open

Collaboration Proposal #90

LiamPattinson opened this issue Feb 14, 2023 · 6 comments

Comments

@LiamPattinson
Copy link

Hi there! I recently created my own lesson on Python packaging using the Carpentries Workbench, mostly as a way to gather all the info I'd gathered on the topic. I don't have any experience designing/delivering workshops, so the lesson may not be suitable for teaching in its current form. As both lessons cover a lot of the same material, I think it'd be a good idea for us to collaborate on a single lesson.

My lesson assumes that the students are familiar with writing single-file scripts, and demonstrates how to progress through the following stages:

  • Convert single-file script to a reusable module of functions.
  • Expand from a single module to a package.
  • Build and install a package using pip, setuptools, and pyproject.toml (no setup.py/setup.cfg).
  • Versioning and publishing your code.

It also contains an optional lesson that covers the evolution of the 'standard' packaging methods, and so it explains why tutorials often offer conflicting information on Python packaging.

Would you like me to adapt some of that material for this lesson? I think my lesson mostly covers the same topics as episode 3, though it goes into a bit more detail. Please also let me know if there are any other ways I could contribute.

@vinisalazar
Copy link
Contributor

Hi @LiamPattinson, thank you for the issue. I meant to do some work on this lesson back in 2021 but could never get around to it. So, a major update/merging it with another lesson would be more than welcome. I'm not sure of who else is maintaining this lesson (cc @brownsarahm ?), but it would be nice to get input from them as well.

Having this said, if your lesson is in the Workbench format, I believe it would be best to attempt to merge the content of this lesson to yours, instead of the other way around, so the result is in the Workbench format. Otherwise we would probably need to transition this lesson to the Workbench first, before adding content to it.

If we go on with this change, I'm happy to review any code/pull requests that you make.

Best,
Vini

@LiamPattinson
Copy link
Author

Thanks @vinisalazar, I'd be happy to accept any issues/PRs to my lesson and accept new maintainers. I'm already aware of a bunch of issues with the lesson as it stands, and I've collated them in a new issue. If it turns out it'd be easier to update this lesson than it would be to get mine in a teachable state, I'm aware of an automated tool for converting lessons to the Workbench, though I can't say I've used it or know much about the process.

@brownsarahm
Copy link
Collaborator

Yes, I am interested broadly in collaboration!

Converting this to the workbench is on my todolist, but I have not gotten to it yet. I need to get familiar with workbench in order to continue serving as a maintainer on the Instructor Training curriculum anyway, so I'll try to accelerate this.

Your lesson has much better level of detail which I think is important. This lesson, I think, starts where more carpentries learners end up: a collection of code that does what they want, that is possibly long jupyter notebooks, not even .py files. I taught this successfully with graduate students in biology and they found this starting point helpful. I think integrating your level of detail on the packaging into the broader narrative here makes sense?

Given my bandwidth, I'm perhaps more reliable at reviewing PRs than generating them. Since you're proposing collaboration I am going to make an offer that assumes you have time planned and available to work on this in the short term. You are welcome to reject this idea, and propose an alternative.

My proposal is that:

  • I convert this lesson to workbench (realistically, this is probably at least a week away)
  • we ask for you to be added as a maintainer on this lesson
  • you make PRs to integrate the content
  • I serve as a reviewer

@LiamPattinson
Copy link
Author

@brownsarahm That sounds good to me! I usually work on several software engineering projects in parallel, so I won't be able to dedicate myself full-time to this, but I should be able to find some time in a few weeks to transfer the relevant material over.

@tobyhodges
Copy link
Member

Dropping in to say that I am happy to help if you need me, but to also mention that you (@brownsarahm) will be able to add @LiamPattinson or anyone else as a Maintainer for the lesson directly: you have Maintainer privileges on the @carpentries-incubator/python-packaging-publishing-maintainers Team, and any new members you add there will receive Maintainer access to this lesson repository.

@brownsarahm
Copy link
Collaborator

@LiamPattinson that sounds great.

and thanks @tobyhodges I was planning to ask you for help, but if I have persmission I will do it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants