About "Improve PyMC3 example notebooks for PyMC3 4.0 and Aesara"

Topic about the outreachy project proposal titled Improve PyMC3 example notebooks for PyMC3 4.0 and Aesara. This topic is aimed at outreachy applicants, for ideas on how to improve pymc-examples, pymc docs in general or to propose a new notebook for the repo, create a new topic or open an issue at pymc-examples.

As you can see in the project description, the only hard requirement to apply to this project is being experimented working with the GitHub workflow, forking repos and using multiple branches to work on multiple features at once to eventually submit a PR that can be merged into the main branch. In pymc3 and pymc-examples, there are also some other requirements to be met while working, code style and formatting, testing, collaboration guidelines… These are described in the contributing guide.

The requirement to apply to this project is to have opened (note opened, not have merged) at least 3 PRs to pymc-examples before April 29th with at least two of them being open at the same time. To minimize git conflicts in pymc-examples, where most of the content are jupyter notebooks, each PRs should modify only 1-2 notebooks and it is therefore crucial to be able to work on multiple branches at the same time.

I have opened an issue per notebook using the tracker id label. I am progressively going over the notebooks to add some extra labels and guidance that is specific to the respective notebook, but I won’t be able to cover all the notebooks and it should not be a problem. I have also written a somewhat detailed wiki page on things that need to be updated. I will keep updating this document as more notebooks are updated and I see more examples of outdated code.

You should consider all issues with the label “tracker id” that are not in the “Best Practices” column of the notebook tracker as open, even if I have not yet added specific labels and guidance to the issue. This is not a requirement to apply, but I encourage you to go over at least one notebook with no specific guidance on the issue and see for yourselves where and how it can be improved, both looking at the wiki page linked above and as a reader. There could be many other things to improve in the notebooks both in terms of code as in terms of content.

At the time of writing, there are only 6 issues in the “Best Practices” column plus some open PRs, which should leave ~80 issues to choose from. Let me know if you need help choosing a notebook to get started with.

cc @Abhipsha_Das @missaishagurung

Note on VI project: The requirements for the “Integrate Variational Inference with the JAX backend” project also imply cloning pymc-examples and working on a dedicated branch on a new f-divergences notebook. You may consider applying to both projects, so we want to minimize “duplicated” requirements. Here is how the work on VI requirements can partially cover the requirements for pymc-examples project.

The f-divergences branch can count as one of the 3 PRs if it was created from main and you send me the link to the branch too or if you open a PR (you can use the “no merge” label for that). Moreover, if you show that you have intertwined commits between the f-divergences branch and one of your other branches from which you have submitted a PR, this can also count as the 2 simultaneous PRs. For example having a branch outreachy-name with commits on April 9th, April 13h and April 22nd and no open PR from it plus a branch notebook-xyz with commits on April 11th, April 15th and April 19th and an open PR from it will count as if you had two PRs open at the same time.

Let me know if something is not clear of if you need any help with pymc, git or anything else related to the application.

1 Like

thanks for the details @OriolAbril , I apologise for not having contacted you yet with my doubts. Will do so within this week after I try to understand things a little more.

1 Like

Hi! Is this Outreachy opportunity open for the May through August timeline or the December through March timeline?

1 Like

Hi @jessicakzhang!

This is currently open for the May-August round. Are you interested in participating? Or would you be interested in working in PyMC in the December-March call?

Hi @OriolAbril, thanks so much for your quick response! I didn’t find out about this opportunity until the initial Outreachy application deadline was past due. Is there any way for me to be engaged with the May-August cohort?

1 Like

It is not possible to join the selection process after the initial application deadline has passed. If you are enrolled in a post-secondary academic program you can still apply to GSoC until April 13th

EDIT: We have also applied to Google Season of Docs, see our proposal here on GitHub: Season of Docs 2021 Proposal · pymc-devs/pymc3 Wiki · GitHub. The probability of PyMC3 not being accepted at season of docs I’d say is quite high, but if you are interested in documentation and technical writing you should keep an eye on that. The decision on accepted organizations to season of docs will be published on April 16th.