You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2024-06-05-friends-dont-let-friends-package-alone-pyconus-24.md
+7-12Lines changed: 7 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,10 @@ This year I gave my first talk in the [PyCon US](https://us.pycon.org/2024/) mai
25
25
26
26
The irony of these three different perspectives is that the challenges that users face in each category are similar! Below I explore my experiences pulling together the talk.
27
27
28
+
You can also watch the talk here:
29
+
30
+
{% include video id="mJPoj9Ex9fk" provider="youtube" %}
31
+
28
32
### My early experiences with Python packaging
29
33
30
34
I started thinking about Python packaging in 2018 during our [early pyOpenSci
@@ -41,14 +45,11 @@ infrastructure that other package maintainers I trusted used—mainly GeoPandas.
41
45
42
46
*I am a spatial data nerd at heart.*
43
47
44
-
45
48
<figure>
46
49
<imgsrc="{{ site.baseurl }}/images/blog/2024/june/pycon-python-packaging-confusion.png"alt="Image that says have you ever felt confused about python packaging. Below is the pyopensci flower logo. And the graphic shows a bunch of different cartoon like hands being raised."style="width: 90%;" />
47
50
<figcaption> Every time I ask this question, a majority of people in the room raise their hand.</figcaption>
48
51
</figure>
49
52
50
-
51
-
52
53
But as I thought about creating pyOpenSci's open peer review process, I knew
53
54
scientists would need a process that:
54
55
@@ -92,6 +93,7 @@ So if you think about that "opportunity to make a wrong decision", imagine what
92
93
</figure>
93
94
94
95
### The evolution of the pyOpenSci Python packaging guide
96
+
95
97
Years later, what started out as a generic Python development guide, was
96
98
transformed into what’s now the [pyOpenSci Python package guide](https://www.pyopensci.org/python-package-guide/).
97
99
@@ -123,7 +125,6 @@ still leading users down a streamlined path.
123
125
<figcaption><iclass="fa-solid fa-heart-pulse"></i> The generalized scientific Python package development process. <iclass="fa-solid fa-heart-pulse"></i>.</figcaption>
124
126
</figure>
125
127
126
-
127
128
## Getting accepted to talk about packaging... <iclass="fa-solid fa-ghost"></i>
128
129
129
130
I was thrilled and terrified to be accepted to give a talk at [PyCon US](https://us.pycon.org/2024/), in Pittsburgh, Pennsylvania, on the process of creating the pyOpenSci Python packaging guidebook . My talk was called:
@@ -192,7 +193,7 @@ Sometimes, that someone is me — before I can teach the topic to others!
192
193
193
194
## So what about packaging with friends?
194
195
195
-
The essence of my Python packaging talk was the work that I have lead alongside the pyOpenSci community to demystify and help _people_ navigate the complex Python packaging ecosystem.
196
+
The essence of my Python packaging talk was the work that I have lead alongside the pyOpenSci community to demystify and help *people* navigate the complex Python packaging ecosystem.
196
197
197
198
This work was really about people helping people tackle challenging things.
198
199
@@ -211,8 +212,7 @@ Python is known for its incredible community, so it only made sense to leverage
211
212
212
213
The talk can be broken down into 4 takeaways:
213
214
214
-
215
-
### People can help (_surprise_!)
215
+
### People can help (*surprise*!)
216
216
217
217
When tackling some of the most thorny technical Python problems, people can help. This might mean:
218
218
@@ -259,26 +259,21 @@ When teaching beginners, break things down to their fundamental concepts. In the
259
259
<figcaption><iclass="fa-solid fa-heart-pulse"></i> By breaking down packaging in to it's most basic steps you are making the concepts immediately more digestable to users. Once they understand the basics you can slowly layer in additional complexity. <iclass="fa-solid fa-heart-pulse"></i>.</figcaption>
260
260
</figure>
261
261
262
-
263
262
While some may think that this approach is over simplified, it’s not. The idea here is that you begin with digestible information that empowers a learner. You help them understand that they can do this! And then, and only then, you add more complexity when they are ready to absorb it.
264
263
265
264
This also opens the door wide to early wins.
266
265
267
-
268
266
### Just say no to TMO
269
267
270
268
Avoid TMO—Too Many Options or Too Many Opinions at all costs when teaching beginners. Options are great, but when someone is new to a topic, it’s best to give them a straightforward path to success.
271
269
272
270
Early on in creating our packaging guide, we found contributors, often quite expert in the packaging ecosystem, arguing about the best tools and best practices. Since we invited many people with different levels of experience to review our content, these arguments pushed some people away and created an unhealthy environment. Moderating these conversations to focus on the users and their needs, rather than debating tools, was critical. This approach helped create a truly beginner-friendly guide and fostered a review environment that was safe and inclusive, where both beginners and experts could contribute.
273
271
274
-
275
272
<figure>
276
273
<imgsrc="{{ site.baseurl }}/images/blog/2024/june/pyopensci-python-packaging-tmo.png"alt="Dark purple background image that says no TMO. Below is a yellow lab retriever with a purple ice bag on it's head looking sad and directly at you."style="width: 100%;" />
277
274
<figcaption><iclass="fa-solid fa-heart-pulse"></i> When it comes to packaging, too many options and too many opinions get in the way of a positive user experience. We need to work towards breaking things down and providing opinionated paths for those who want and need them. <iclass="fa-solid fa-heart-pulse"></i>.</figcaption>
278
275
</figure>
279
276
280
-
281
-
282
277
### Friends don’t let friends package alone
283
278
284
279
When I finished my talk, I felt this sense of relief but also I felt love, support and deep passion for this topic and the community. It’s more than just packaging. It is about empowering people with skills that will help them tackle the biggest scientific challenges that we face as humans. Science is about data. And to process data we need tools - open tools that are accessible for scientists to learn and use. It’s about carving out space for scientists to build and use these tools. And also to make space for people who may feel like outsiders, because of who they are, to participate.
0 commit comments