Skip to content

Commit 63c39a5

Browse files
authored
WEB: Add benchmarks grant write up as a blog post (#46483)
* add new post to pandas blog * update blog * update blog * remove whitespace * fix title error * update post content * remove whitespace * upadate with Dorothys comments * remove .DS_Store files on local and fix typo * include Marc suggestions * update post * change date and update url
1 parent 22ca136 commit 63c39a5

File tree

1 file changed

+141
-0
lines changed

1 file changed

+141
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
Title: Write up of the NumFOCUS grant to improve pandas benchmarks and diversity
2+
Date: 2022-04-01
3+
4+
# Write up of the NumFOCUS grant to improve pandas benchmarks and diversity
5+
6+
*By Lucy Jiménez and Dorothy Kabarozi B.*
7+
8+
We want to share our experience working on **Improvements to the**
9+
**ASV benchmarking framework and diversity efforts** sponsored by
10+
[NumFOCUS](https://numfocus.org/) to the [pandas](https://pandas.pydata.org/)
11+
project.
12+
13+
This grant focused on two aspects: the first one is to improve the
14+
[asv library](https://asv.readthedocs.io/en/stable/), a tool used by
15+
benchmarking Python packages and used by pandas; this project was
16+
unmaintained, and the codebase was quite old; additionally, it didn't
17+
adhere to modern standards, had Python 2 compatibility code that could
18+
be removed, and also the CI could be improved. The second aspect is
19+
encouraging more underrepresented groups to contribute to open source
20+
projects. This grant was held over 10 weeks, working around 20 hours a
21+
week. It was developed by Dorothy Kabarozi B. from Uganda and Lucy
22+
Jiménez from Colombia, under the mentoring of Marc Garcia.
23+
24+
## Why were we part of the grant?
25+
26+
Even when we come from different backgrounds, Dorothy from systems
27+
engineering and Lucy from computational chemistry, we have always been
28+
interested in participating and contributing to open source software
29+
projects. For that reason, we have been running the PyLadies meetups in
30+
our communities ([PyLadies Kampala](https://twitter.com/pyladieskla),
31+
[PyLadies Colombia](https://twitter.com/pyladies_co)) and have always
32+
been on the lookout for any opportunities that lead us to contribute.
33+
34+
It all happened through Marc Garcia; he had put out a call ​through a post
35+
on social media to mentor ladies from diverse backgrounds. Dorothy got to
36+
be part of the pandas mentorship group. At the same time, Lucy was
37+
co-organizer of the SciPy Latam conference, and it is from here she met
38+
Marc, who was the speaker at that conference, and through this mutual
39+
connection, we were able to learn about this benchmarks grant.
40+
41+
In brief, by attending conferences, meetups, and social media, you can
42+
make connections and links that will lead you to these opportunities.
43+
44+
## Learning from the source code
45+
46+
At the beginning of the grant, we started from the basics. We noticed that
47+
we could improve our skills in managing Git and GitHub. For example, we had
48+
some troubles with the git workflow, so we had to read and practice more
49+
about it. One of the valuable resources was the explanation from Marc about
50+
[how to make an open source contribution](https://tubedu.org/w/kjnHEg72j76StmSFmjzbnE),
51+
which we invite you to take a look at it.
52+
53+
We learned a lot from the source code and gained immense knowledge about
54+
best practices and code quality through this grant. We have been working
55+
on: updating the code to improve the style to follow the PEP-8 guidelines,
56+
removing Python 2 compatibility code and six dependencies, and finding
57+
unused code and removing it. We also learned about GitHub actions, and we
58+
started building the CI on GitHub actions for the asv package; for that we
59+
have been working on add linting with Flake8, testing with pytest, building
60+
docs, and running CI on different python versions.
61+
62+
Additionally, we were able to identify bugs in the source code, review
63+
pull request from other contributors, and create new issues, something we
64+
thought only maintainers could do but not contributors. Finally, not only
65+
is reviewing the code itself a learning experience, but also the structure
66+
and folder hierarchy in the project started to be more transparent.
67+
68+
## Our experience
69+
70+
For this grant, we had a fantastic Mentor, Marc Garcia. He was always
71+
willing to share his knowledge, explain unclear concepts and share helpful
72+
feedback. Whenever we would implement that feedback, it felt easier to work
73+
on more issues faster. We felt the growth from the time we started on this
74+
project, and we will carry it along as we contribute to more open source
75+
projects; this all goes back to Marc for his fantastic mentorship. It is
76+
also important to note that we received feedback from other contributors,
77+
stakeholders, and core devs during this process, which gave us a broader
78+
look at the work in open source projects.
79+
80+
We also built a strong teamwork partnership. We helped each other a lot as
81+
we had numerous one-on-one calls to understand the tasks better. We always
82+
looked for ways to support each other from the technical side and encouraged
83+
each other when needed. For us, it was professional and human growth.
84+
85+
## Running an open source software sprint
86+
87+
The knowledge and experience acquired in this process allowed us to
88+
organize two virtual sprints. The events were carried out in the company
89+
of local PyLadies communities; the first one was on February 26th with
90+
[PyLadies Kampala](https://twitter.com/pyladieskla) and on March 21
91+
with [PyLadies Colombia](https://bit.ly/sprint-asv).
92+
93+
While organizing these events, we learned how to organize and conduct a
94+
virtual sprint. Some participants in the sprint ultimately had no idea
95+
about open source, and it was great explaining open source concepts and
96+
taking them through the Git workflow. Finally, they were able to make their
97+
first contribution. We learned how to follow up on contributors, helping
98+
them along the way until their PRs were merged and by reviewing their
99+
contributions on GitHub.
100+
101+
The most outstanding achievement was mentoring new contributors and
102+
sharing the knowledge acquired from this grant with others participants
103+
in our respective communities. Most new contributors after the experience
104+
have gone ahead to apply for outreach and the upcoming
105+
[Google Summer of Code](https://summerofcode.withgoogle.com/)
106+
to apply the skills they learned from these sprints.
107+
108+
## Conclusion
109+
110+
In conclusion, we learned a lot from this experience from the code part,
111+
the workflow on the open source projects, how to be resilient in difficult
112+
moments, and encouraging more women and people from our local communities
113+
to contribute to open source projects.
114+
115+
Finally, if you want to be part of an open source project, we invite you
116+
to check out GitHub repos for different projects you are interested in and
117+
search for the easy issues to work on and get started. Also, you can contact
118+
the maintainers of the projects with specific questions, search for the
119+
open source communities in your country or contact us for more help.
120+
121+
## Acknowledgments
122+
123+
Many thanks to [NumFOCUS](https://numfocus.org/) for giving us this support
124+
through [Small Development Grants](https://numfocus.org/programs/small-development-grants)
125+
and Marc for the excellent mentoring he generously gave us throughout these
126+
weeks.
127+
128+
We are looking forward to contributing more and impacting our communities
129+
and the open source community!
130+
131+
___
132+
If you want to know more, please don't hesitate to connect with us through
133+
these channels:
134+
135+
*Lucy Jiménez*
136+
* [Twitter](https://twitter.com/JimenezLucyJ)
137+
* [LinkedIn](https://www.linkedin.com/in/lucy-j/)
138+
139+
*Dorothy Kabarozi*
140+
* [Twitter](https://twitter.com/kizdorothy)
141+
* [LinkedIn](https://www.linkedin.com/in/dorothy-kabarozi/)

0 commit comments

Comments
 (0)