Skip to content

Commit 6f9465c

Browse files
committed
fix: final edits and new header
1 parent cdb470c commit 6f9465c

File tree

2 files changed

+47
-54
lines changed

2 files changed

+47
-54
lines changed

_posts/2024-08-21-pyopensci-monumental-growth-2024.md

Lines changed: 47 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ excerpt: "Learn about what pyOpenSci has accomplished in the last two years, inc
55
author: "Leah Wasser"
66
permalink: /blog/what-pyopensci-accomplished-with-two-years-of-funding.html
77
header:
8-
overlay_image: images/headers/scipy-2024-workshop.png
9-
overlay_filter: rgba(20, 13, 36, 0.8)
8+
overlay_image: images/headers/pyos-two-years.png
9+
overlay_filter: rgba(20, 13, 36, 0.3)
1010
categories:
1111
- blog-post
1212
- community
@@ -21,9 +21,9 @@ I have been working full-time building pyOpenSci for two years now, thanks to fu
2121

2222
It's time to take a breath and celebrate everything the pyOpenSci community has accomplished. Before we move on to the next big thing—[our pyOpenSci Fall Festival](https://www.pyopensci.org/events/pyopensci-2024-fall-festival.html) (more on that below)—I want to take a moment to reflect on:
2323

24-
* Where we've been
25-
* What we've accomplished
26-
* The incredible community of practice that we've built
24+
* where we've been,
25+
* what we've accomplished, and
26+
* the incredible community of practice that we've built.
2727

2828
I'll wrap up by discussing what's next for pyOpenSci.
2929

@@ -36,9 +36,9 @@ fueled by making open science best practices more accessible to scientists.
3636

3737
pyOpenSci makes open science more accessible by [developing educational resources](/learn.html), [running training events](/events/index.html), running an [open software peer review process](/about-peer-review/index.html) and [partnering with other communities](/partners.html). From humble beginnings characterized by small community meetings, pyOpenSci has blossomed into a thriving community marked by:
3838

39-
* a robust editorial team
40-
* hundreds of contributors
41-
* numerous valuable community partners and friends
39+
* a robust editorial team,
40+
* hundreds of contributors, and
41+
* numerous valuable community partners and friends.
4242

4343
Our software peer review program has seen **over 50 packages**; we've [accepted 35 scientific Python packages into our growing library of trusted scientific Python packages](https://www.pyopensci.org/python-packages.html) and have **17 packages** in [active stages of review](https://github.com/orgs/pyOpenSci/projects/7) as I write this post.
4444

@@ -138,34 +138,33 @@ In just under a year, pyOpenSci created a [comprehensive packaging guide](https:
138138

139139
[Check out the GitHub pull requests for packaging guide pages](https://github.com/pyOpenSci/python-package-guide/pulls?q=is%3Apr+sort%3Acomments-desc+is%3Aclosed) if you're curious about the feedback and discussions that we had when writing the packaging guide. Notice the number of comments on the most popular PRs. The sheer volume of comments on some of the early PRs associated with packaging build tools speaks to the various issues, complexity, and decisions we needed to make.
140140

141-
## **Building Python packaging consensus and developing the pyOpenSci Python packaging guide**
141+
## **Building Python packaging consensus and developing the pyOpenSci Python Packaging Guide**
142142

143-
The success of our Python packaging guide is due to extensive community input.
143+
The success of our Python Packaging Guide is due to extensive community input.
144144
We directed Python Packaging Guide contributors towards the objective of simplifying Python packaging for beginners. Focusing on a specific audience allowed contributors to make decisions about the content in the Guidebook more easily. It also ensured that the outcome text is easy to understand for beginners and for scientists who prefer to avoid delving into packaging nuances. In each review, we made sure to include a diverse group of reviewers, including:
145145

146-
* **Packaging tool maintainers:** We asked each maintainer from Flit, PDM, Hatch, and Poetry to provide feedback on our overviews of their tools
147-
* **[PyPA](https://www.pypa.io/en/latest/) members** who have already developed packaging resources that serve the broader Python community
148-
* **Core scientific Python community members** who are maintaining tools like Matplotlib, Numpy, and Pandas that require more technical complex builds
149-
* **Scientists with varying levels of packaging expertise:** This group is most important as packaging beginners provide the lens of what is confusing and ensure that the technical content is more beginner-friendly.
150-
The truly collaborative effort of creating the Python packaging guide resulted in a beginner-friendly and accurate guide that the pyOpenSci community now maintains and continuously updates.
146+
* **packaging tool maintainers:** We asked each maintainer from Flit, PDM, Hatch, and Poetry to provide feedback on our overviews of their tools,
147+
* **[PyPA](https://www.pypa.io/en/latest/) members** who have already developed packaging resources that serve the broader Python community,
148+
* **core scientific Python community members** who are maintaining tools like Matplotlib, Numpy, and Pandas that require more technical complex builds, and
149+
* **scientists with varying levels of packaging expertise:** This group is most important as packaging beginners provide the lens of what is confusing and ensure that the technical content is more beginner-friendly.
150+
The truly collaborative effort of creating the Python Packaging Guide resulted in a beginner-friendly and accurate guide that the pyOpenSci community now maintains and continuously updates.
151151

152152
It was essential to have a mix of content reviewers with a range of packaging expertise to make the guide accurate and accessible. Some were packaging experts building packaging tools, and others were beginners, the audience for whom we wrote the guide.
153153

154-
### What's in the pyOpenSci Python packaging guide?
154+
### What's in the pyOpenSci Python Packaging Guide?
155155

156156
The pyOpenSci packaging guide provides an overview of the Python packaging ecosystem to support users who want to understand the packaging landscape. These users may want to decide on their own which tools best serve their needs. The guide also defines core packaging terms that can make the ecosystem seem more complex than it is, such as:
157157

158-
* [build backend](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-build-tools.html#build-back-ends)
159-
* [build frontend](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-build-tools.html#python-package-build-front-ends)
160-
* [wheel](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-distribution-files-sdist-wheel.html#wheel-whl-files)
161-
* [sdist](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-distribution-files-sdist-wheel.html#source-distribution-sdist)
158+
* [build backend](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-build-tools.html#build-back-ends),
159+
* [build frontend](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-build-tools.html#python-package-build-front-ends),
160+
* [wheel](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-distribution-files-sdist-wheel.html#wheel-whl-files), and
161+
* [sdist](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-distribution-files-sdist-wheel.html#source-distribution-sdist).
162162

163163
Our Python Packaging Guide aims to translate the technical jargon that gets in the way of new users having a successful packaging experience. Over time, we
164164
hope that this will make packaging less confusing and more accessible to more people.
165165

166-
167166
<figure>
168-
<a href="{{ site.baseurl }}/images/python-packaging/"><img src="{{ site.baseurl }}/images/python-packaging/publish-python-package-pypi-conda.png" alt="Diagram that has the pyOpenSci logo in the upper left-hand corner with the pyOS flower. The diagram has four steps for making a package: create package structure, add code, add metadata to pyproject.toml, and finally, pip install package. The four steps are within arrows that point to two building shapes representing the PyPI and conda-forge warehouses. Below each of those steps, represented as storage houses, the code instructions for installing using a package from that warehouse is written out. "></a>
167+
<a href="{{ site.baseurl }}/images/python-packaging/"><img src="{{ site.baseurl }}/images/python-packaging/publish-python-package-pypi-conda.png" alt="Diagram that has the pyOpenSci logo in the upper left-hand corner with the pyOS flower. The diagram has four steps for making a package: create package structure, add code, add metadata to pyproject.toml, and finally, pip install package. The four steps are within arrows that point to two building shapes representing the PyPI and conda-forge warehouses. Below each of those steps, represented as storage houses, the code instructions for installing using a package from that warehouse is written out--python -m pip install yourpackage and conda install -c conda-forge yourpackage. "></a>
169168
<figcaption>Our opinionated Python packaging tutorials demonstrate one way to create a Python package using modern packaging best practices. Through these tutorials, pyOpenSci has reduced the cognitive load for scientists who want to share their code. This graphic represents the steps a user needs to understand to make their code installable and create a basic Python package.</figcaption>
170169
</figure>
171170

@@ -177,18 +176,19 @@ hope that this will make packaging less confusing and more accessible to more pe
177176
<figcaption> This response ratio of most people either struggling to create a package or never having created a Python package before is common when I ask this questions at events. More often than not, people want help learning packaging.</figcaption>
178177
</figure>
179178

180-
In addition to the ecosystem overview provided in the guide, I knew that we needed to have opinionated, complete Python packaging tutorials that guided users through the entire packaging process from
181-
* [creating a package](https://www.pyopensci.org/python-package-guide/tutorials/installable-code.html) to
182-
* publishing it on [PyPI](https://www.pyopensci.org/python-package-guide/tutorials/publish-pypi.html) and
183-
* [conda-forge](https://www.pyopensci.org/python-package-guide/tutorials/publish-conda-forge.html)
179+
In addition to the ecosystem overview provided in the guide, I knew that we needed to have opinionated, complete Python packaging tutorials that guided users through the entire packaging process including:
180+
181+
* [creating a package](https://www.pyopensci.org/python-package-guide/tutorials/installable-code.html),
182+
* publishing it on [PyPI](https://www.pyopensci.org/python-package-guide/tutorials/publish-pypi.html), and
183+
* [conda-forge](https://www.pyopensci.org/python-package-guide/tutorials/publish-conda-forge.html).
184184

185185
Most scientists (and packaging beginners) want to get the job done; they don't want to become packaging experts. A community presenter made this statement directly at the PyCon US 2023 Python packaging summit:
186186

187187
> I just want to create a Python package. Where is the tutorial or
188188
> documentation that teaches me how to do that?
189189
{: .highlight-quote }
190190

191-
Our Python packaging tutorials went through the same community development and review process as the rest of our Python packaging guide. We have also begun teaching the lessons; most workshop attendees have successfully created their first Python packages!
191+
Our Python packaging tutorials went through the same community development and review process as the rest of our Python Packaging Guide. We have also begun teaching the lessons; most workshop attendees have successfully created their first Python packages!
192192

193193
<figure>
194194
<a href="{{ site.baseurl }}/images/python-packaging/successfully-created-python-package-scipy-24.png"><img src="{{ site.baseurl }}/images/python-packaging/successfully-created-python-package-scipy-24.png" style="max-width:80%" alt="Another survey result image. The question is: were you able to create a package? 91% responded yes (10 people), 9% (1 person) said no; no one responded 'I'm not sure'"></a>
@@ -209,9 +209,6 @@ I also want to let you know that I got a ton of value out of your materials on t
209209

210210
<i class="fa-solid fa-heart-pulse" style="color: #B197FC;"></i><i class="fa-solid fa-heart-pulse" style="color: #B197FC;"></i><i class="fa-solid fa-heart-pulse" style="color: #B197FC;"></i><i class="fa-solid fa-heart-pulse" style="color: #B197FC;"></i><i class="fa-solid fa-heart-pulse" style="color: #B197FC;"></i><i class="fa-solid fa-heart-pulse" style="color: #B197FC;"></i>
211211

212-
213-
<!-- # TODO: (dm him to see if he's ok with my quoting him) messaged him 26 Aug. -->
214-
215212
In addition to the valuable feedback we receive from our community, the data we collect through [Matomo web analytics](https://matomo.org/) shows our guide's usage and growth.
216213
I will leave web and social media growth, which have also shown extraordinary growth for future posts!
217214

@@ -242,7 +239,7 @@ msgstr ""
242239
"documentación!"
243240
```
244241

245-
Felipe's translation infrastructure contribution has sparked significant community momentum. As I write this, pyOpenSci contributors are actively translating our Python packaging guide into Spanish and Japanese; we have had dozens of pull requests. One contributor may even teach the pyOpenSci Python packaging lessons at [PyCon Japan](https://2024.pycon.jp/en) next year! This entire effort underscores the power of community when guided in the right direction.
242+
Felipe's translation infrastructure contribution has sparked significant community momentum. As I write this, pyOpenSci contributors are actively translating our Python Packaging Guide into Spanish and Japanese; we have had dozens of pull requests. One contributor may even teach the pyOpenSci Python packaging lessons at [PyCon Japan](https://2024.pycon.jp/en) next year! This entire effort underscores the power of community when guided in the right direction.
246243

247244
Our guide is becoming a global resource!
248245

@@ -268,15 +265,12 @@ Beginner-friendly sprints represent a true win-win for both contributors and pyO
268265
Community sprints are collaborative coding and documentation update sessions where new and experienced contributors work together on open-source projects. These sprints provide a supportive environment with guidance from project maintainers or experienced developers, helping participants contribute effectively. They are an excellent opportunity for learning, networking, and making meaningful contributions to the open-source community. [You can read more about that here.](https://www.pyopensci.org/blog/pyopensci-pyconus-2024-sprints.html)
269266
</div>
270267

271-
<!-- TODO: UPDATE NUMBERS HERE from https://github.com/orgs/pyOpenSci/projects/12 -->
272268

273-
| Meeting | total prs & issues submitted | total contributors |
269+
| Year | PRs & Issues | Contributors |
274270
|----------|----------|----------|
275-
| PyCon 2023 | Item 2 | Item 3 |
276-
| PyCon 2024 | Item 2 | Item 3 |
277-
| Scipy 2023 | Item 5 | Item 6 |
278-
| Scipy 2024 | Item 8 | Item 9 |
279-
| pyCascades 2024 (community lead) | 19 | Item 9 |
271+
| 2023 | 41 | 12 |
272+
| 2024 | 86 | 39 |
273+
280274

281275
### My talks at SciPy and PyCon US 2024
282276

@@ -318,18 +312,16 @@ Data can help us here, too. Here are a few insights from 93 people who have part
318312

319313
Almost half of the participants identify as having some computer science application in their work; 80% self-identify as scientists (as mentioned above).
320314

321-
About 50% of our peer review team self-identifies as white. The other help are from a mix of different backgrounds and ethnicities—about 60% of our audience self-identify as male.
315+
About 40% of our peer review participants identify as female, non binary, or non conforming.
322316

323317
#### Open Source metrics
324318

325319
Some of the open-source responses surprised me:
326320

327-
* 60% of people maintainers have funding to do their work! (*This number surprised me.*)
328-
* 70% of maintainers report that outside contributors contribute to their projects through issues and pull requests.
329-
330-
I'll dedicate another blog post to examining this data more thoroughly. Still, you can get the gist from the above summary: We have a strong representation of people from different backgrounds and career stages. However, we still need to do more to support increased gender diversity.
321+
* **60% of people maintainers have funding** to do their work! (*This number surprised me given the challenges I have seen in funding open source work.*), and
322+
* **70% of maintainers** report that outside contributors contribute to their projects through issues and pull requests.
331323

332-
I'm confident that we'll get there.
324+
I'll dedicate another blog post to examining this data more thoroughly. Still, you can get the gist from the above summary: We have a strong representation of people from different career stages. However, we still need to do more to support increased gender and identity diversity.
333325

334326
## A thoughtful, kind, and supportive community is what makes pyOpenSci special
335327

@@ -379,10 +371,10 @@ These paid events will support the low-cost training, event scholarships, free o
379371
## What's next for pyOpenSci - The Road Ahead
380372
Our next training event is the inaugural pyOpenSci Fall Festival--a week-long event that teaches skills needed to:
381373

382-
* Write cleaner, more modular code,
383-
* Package and share code,
384-
* Publish and cite code,
385-
* Create reproducible reports that connect code, data, and outputs into a dynamically produced interactive publication
374+
* write cleaner, more modular code,
375+
* package and share code,
376+
* publish and cite code, and
377+
* create reproducible reports that connect code, data, and outputs into a dynamically produced interactive publication.
386378

387379
We also will develop collaborative GitHub lessons following the BSSw fellowship I received this year.
388380

@@ -398,19 +390,20 @@ You can also:
398390

399391
Follow us on social platforms:
400392

401-
[<i class="fa-brands fa-discourse"></i> Discourse](https://pyopensci.discourse.group/) ** [<i class="fa-brands fa-mastodon"></i> Mastodon](https://fosstodon.org/@pyopensci)
402-
** [<i class="fa-solid fa-cloud"></i> Bluesky](https://bsky.app/profile/pyopensci.bsky.social)
403-
** [<i class="fa-brands fa-linkedin"></i> LinkedIn](https://www.linkedin.com/company/pyopensci)
404-
** [<i class="fa-brands fa-github"></i> GitHub](https://github.com/pyOpenSci)
393+
* [<i class="fa-brands fa-discourse"></i> Discourse](https://pyopensci.discourse.group/)
394+
* [<i class="fa-brands fa-mastodon"></i> Mastodon](https://fosstodon.org/@pyopensci)
395+
* [<i class="fa-solid fa-cloud"></i> Bluesky](https://bsky.app/profile/pyopensci.bsky.social)
396+
* [<i class="fa-brands fa-linkedin"></i> LinkedIn](https://www.linkedin.com/company/pyopensci)
397+
* [<i class="fa-brands fa-github"></i> GitHub](https://github.com/pyOpenSci)
405398

406399
If you are on LinkedIn, you should [subscribe to our newsletter, too](https://www.linkedin.com/newsletters/7179551305344933888/?displayConfirmation=true).
407400

408401
<div class = "notice" markdown="1">
409402
## About Me
410403
My name is Leah, and I'm the executive director and founder of pyOpenSci. I have over 20 years of experience in both academic and nonprofit spaces and have dedicated my career to helping scientists overcome the challenges of open science. I've built and led two successful data science programs:
411404

412-
1. **NEON Data Skills Program** at NEON
413-
2. **Earth Analytics Program** at CU Boulder
405+
1. **NEON Data Skills Program** at NEON, and
406+
2. **Earth Analytics Program** at CU Boulder.
414407

415408
I'm now building **pyOpenSci**--a vibrant, active, and diverse community of practice that supports open science and the open-source software that drives that science.
416409

images/headers/pyos-two-years.png

38.4 KB
Loading

0 commit comments

Comments
 (0)