diff --git a/_data/navigation.yml b/_data/navigation.yml index ef759632..0d0f5715 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -39,15 +39,10 @@ main: url: "/blog/index.html" - title: Events url: "/events.html" - - title: Ask a question - url: "https://pyopensci.discourse.group/" - icon: "fa-brands fa-discourse" - title: "Community" sub-nav: - title: "Our Community" url: "/our-community/index.html" - - title: "Connect with us" - url: "https://pyopensci.discourse.group/" icon: "fa-brands fa-discourse" - title: "Handbook" icon: "fas fa-external-link-alt" @@ -57,5 +52,5 @@ main: - title: "Volunteer" url: "/volunteer.html" - title: "Donate" - url: "https://fnd.us/pyopensci_2024" + url: "https://give.communityin.org/pyopensci_2024" is_button: true diff --git a/_includes/event_instructors.html b/_includes/event_instructors.html new file mode 100644 index 00000000..84a522aa --- /dev/null +++ b/_includes/event_instructors.html @@ -0,0 +1,36 @@ +{% if page.instructors %} +
+
+ {% for person in page.instructors %} +
+
+
+ GitHub profile photo of {{ person.name }} +
+
+

+ + {{ person.name }} + + + +

+

{{ person.bio | strip_newlines | strip }}

+
+
+
+ {% endfor %} +
+
+{% endif %} diff --git a/_pages/get-in-touch.md b/_pages/get-in-touch.md index 1863840c..5787b134 100644 --- a/_pages/get-in-touch.md +++ b/_pages/get-in-touch.md @@ -11,16 +11,9 @@ redirect_from: - /get-involved-contact/ get-involved: - image_path: - title: "Got a Packaging Question?" + title: "Submit a Python Package for Peer Review" alt: - excerpt: "If you are a scientist and have a question about packaging, our discourse forum is the place for you. We have volunteers from the pip and conda / conda-forge packaging ecosystem that can help you find the answers that you need. You can also ask questions about peer review there." - url: https://pyopensci.discourse.group/ - btn_label: "> Ask a packaging question now" - btn_class: btn--inverse - - image_path: - title: "Submit a Scientific Python Package for Review" - alt: - excerpt: "Are you developing or maintaining a scientific Python package that is in scope for our peer review process? If so, consider submitting it for peer review. We partner with JOSS so you can submit to us and JOSS will accept our review as theirs. They then just review your paper. It's a win/win! Check out our [author guide](https://www.pyopensci.org/software-peer-review/how-to/author-guide.html) to learn more about the process. Pro-tip: If you still aren't sure if your package is in scope for us, you can submit a pre-submission inquiry." + excerpt: "Are you developing or maintaining research software or a scientific Python package that is in scope for our peer review process? If so, consider submitting it for peer review. We partner with JOSS so you can submit to us and JOSS will accept our review as theirs. They then just review your paper. It's a win/win! Check out our [author guide](https://www.pyopensci.org/software-peer-review/how-to/author-guide.html) to learn more about the process. Pro-tip: If you still aren't sure if your package is in scope for us, you can submit a pre-submission inquiry." url: https://github.com/pyOpenSci/software-submission btn_label: "> Submit a package now." btn_class: btn--inverse diff --git a/_pages/learn.md b/_pages/learn.md index f0e29b56..bb8012dd 100644 --- a/_pages/learn.md +++ b/_pages/learn.md @@ -32,8 +32,7 @@ whats_next: alt: "A graphic with a light yellow background that says essential collaboration skills for scientists - using GitHub. On the right there is a man and a woman sitting at a tall table with laptops working." excerpt: "Through the [Better Software for Science Fellowship](https://bssw.io/pages/bssw-fellowship-program) we will be developing lessons focused on teaching core GitHub collaboration skills needed for both contributing to open source software and for working in an open science team environment. - - **Stay up to date with course development and announcements in [our Discourse community](https://pyopensci.discourse.group/), as well as on [Fosstodon](https://fosstodon.org/@pyOpenSci) and [LinkedIn](https://www.linkedin.com/company/pyopensci/)**" + **Stay up to date with course development and announcements on [Fosstodon](https://fosstodon.org/@pyOpenSci) and [LinkedIn](https://www.linkedin.com/company/pyopensci/)**" title: "What's next: Collaborative GitHub for Scientists" toc: false --- diff --git a/_pages/volunteer.md b/_pages/volunteer.md index 3ddbb091..3d778422 100644 --- a/_pages/volunteer.md +++ b/_pages/volunteer.md @@ -17,8 +17,6 @@ build-skills: - **Learn new skills:** you don’t have to be a Python expert to get involved with pyOpenSci. We can help you level up your packaging game and learn how to constructively review both code and copy through contributions to our online learning resources. -- **Meet and connect with new peers.** Our [public Discourse forum](https://pyopensci.discourse.group/) is a great place to ask and answer questions, as well as discuss packaging and open science with other Pythonistas. - - **Get recognized** on the [pyOpenSci website](https://www.pyopensci.org/our-community/index.html) and in our [GitHub repositories](https://github.com/pyOpenSci): your contribution matters, and we want to ensure your work is recognized and celebrated in a public forum. If you serve as an editor you can also connect with pyOpenSci professionally as a volunteer for our organization on LinkedIn" image_path: /images/people-building-blocks.jpg diverse-backgrounds: diff --git a/_posts/2022-09-10-executive-director-pyopensci-leah-wasser-updates.md b/_posts/2022-09-10-executive-director-pyopensci-leah-wasser-updates.md index 70b92fe4..83689b48 100644 --- a/_posts/2022-09-10-executive-director-pyopensci-leah-wasser-updates.md +++ b/_posts/2022-09-10-executive-director-pyopensci-leah-wasser-updates.md @@ -90,9 +90,7 @@ value support from some of you along the way! ## Stay in touch! Once I have a road map for activities developed, I will communicate this here on our -[website](https://www.pyopensci.org/), [on Twitter](https://www.twitter.com/pyopensci) -and [on discourse](https://pyopensci.discourse.group/). So be sure to -follow us on Twitter and sign up for Discourse! +[website](https://www.pyopensci.org/). ## What can you do now? There are a few ways to get involved with us now. diff --git a/_posts/2023-03-22-demystifying-python-packaging.md b/_posts/2023-03-22-demystifying-python-packaging.md index 324f8c54..2aaf20e2 100644 --- a/_posts/2023-03-22-demystifying-python-packaging.md +++ b/_posts/2023-03-22-demystifying-python-packaging.md @@ -186,11 +186,3 @@ In the next few blog posts i'm going to present each Python build workflow tool - Poetry. I'll break down the pros and cons of using each tool. I will also provide examples of what using the tool looks like. In the meantime, [check out our shiny new packaging chapter here to see the overview of packaging tools and approaches for scientists creating pure Python packages](https://www.pyopensci.org/python-package-guide/package-structure-code/intro.html). - -## Tutorials are also on the way - -In the very near future i'll also create some packaging tutorials that will help you get started with creating a new package. Stay tuned for more on that as well! - -## Got questions on Python packaging? - -If you are just getting started with Python packaging OR if you have questions about it, please use our [discourse forum](https://pyopensci.discourse.group/) to ask questions. We are happy to help! diff --git a/_posts/2023-09-11-community-manager-job-available.md b/_posts/2023-09-11-community-manager-job-available.md index a4bc80fa..791d513b 100644 --- a/_posts/2023-09-11-community-manager-job-available.md +++ b/_posts/2023-09-11-community-manager-job-available.md @@ -153,7 +153,7 @@ All work that you do should exemplify our community [Code of Conduct](https://ww - Growing our social media following and support community meetings and events - Working with the community to develop new blog posts on packages in our ecosystem - Developing and contributing to a mentorship program to support new contributors to open source -- Curating and contributing content to our online community on [social media](https://fosstodon.org/@pyOpenSci), Slack, [Discourse](https://pyopensci.discourse.group/) and other platforms as needed. +- Curating and contributing content to our online community on [social media](https://fosstodon.org/@pyOpenSci), Slack and other platforms as needed. ### Within 6 months, you will be… diff --git a/_posts/2023-10-18-rse-2023-pyopensci-bof.md b/_posts/2023-10-18-rse-2023-pyopensci-bof.md index 729343c0..9c2ed1ad 100644 --- a/_posts/2023-10-18-rse-2023-pyopensci-bof.md +++ b/_posts/2023-10-18-rse-2023-pyopensci-bof.md @@ -217,7 +217,6 @@ My key takeaways from the US-RSE meeting is: - you can [review a pull request](https://github.com/pyOpenSci/python-package-guide/pulls) on our packaging guide. Or open and issue if you have a problem with the guide. - You can [sign up to be a reviewer for pyOpenSci here](https://docs.google.com/forms/d/e/1FAIpQLSeVf-L_1-jYeO84OvEE8UemEoCmIiD5ddP_aO8S90vb7srADQ/viewform) -- You can post a packaging question in our [pyOpenSci Discourse forum here.](https://pyopensci.discourse.group/) As for me, I hope to attend the 2024 RSE meeting and to continue this important conversation around Python packaging and peer review of software. diff --git a/_posts/2024-04-16-pyos-open-education-resources-announcement.md b/_posts/2024-04-16-pyos-open-education-resources-announcement.md index b64f59f1..2888d865 100644 --- a/_posts/2024-04-16-pyos-open-education-resources-announcement.md +++ b/_posts/2024-04-16-pyos-open-education-resources-announcement.md @@ -73,7 +73,7 @@ All of our written content is available on the [Learn section of our website](ht Our vision for our free, online trainings is for the curriculum to be added to our library of open education resources, making them free, accessible, and published for anyone to use. And we intend to experiment with delivering this curriculum in an asynchronous, cohort-based manner that allows learners from all over the world to come together for a period of time to work through the curriculum together. If you were part of one of the original cohorts of the R for Data Science Online Learning Community created by our Community Manager, [Jesse Mostipak](https://github.com/kierisi), then you know that these asynchronous trainings will be thoughtfully crafted, a fantastic learning experience, and a ton of fun! -pyOpenSci is the recipient of the [Better Software for Science Fellowship](https://bssw.io/fellows/leah-wasser), which will help fund the creation of these open educational resources. You can stay up to date with more information on these types of lessons through [our Discourse forum](https://pyopensci.discourse.group/) as well as [our mailing list](https://eepurl.com/iM7SOM). +pyOpenSci is the recipient of the [Better Software for Science Fellowship](https://bssw.io/fellows/leah-wasser), which will help fund the creation of these open educational resources. These asynchronous trainings will be free, online, and center around community building and collaborative learning with larger cohort sizes. Part of the intention of these trainings is to foster a vibrant learning community where participants are empowered to learn from one another. @@ -101,4 +101,4 @@ She will also briefly discuss how LLM’s can be used to support tasks such as d The course will take place on Thursday, April 25th, from 10AM–1PM Mountain time, and use the Spatial Chat platform. Tickets are $10, and can be purchased on [the workshop’s Eventbrite page](https://www.eventbrite.com/e/from-python-code-to-module-tickets-879586546037?aff=oddtdtcreator). The class size is capped at 35, and tickets are selling fast–we hope to see you there! ## Connect with us! -You can stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci), and you can connect with the broader pyOpenSci community on [our Discourse forum](https://pyopensci.discourse.group/). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/newsletters/pyopensci-newsletter-7179551305344933888!) +You can stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci). diff --git a/_posts/2024-04-29-pyos-newsletter-may-2024.md b/_posts/2024-04-29-pyos-newsletter-may-2024.md index 69e510dc..d6c0ffe7 100644 --- a/_posts/2024-04-29-pyos-newsletter-may-2024.md +++ b/_posts/2024-04-29-pyos-newsletter-may-2024.md @@ -102,4 +102,4 @@ Happening July 8th–14th in Tacoma, WA, [SciPy](https://www.scipy2024.scipy.org Have an upcoming scientific Python event that’s open to the public? Email us at [media@pyopensci.org](mailto:media@pyopensci.org) with the details to have your event listed. ## Connect with us -Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci), and you can connect with the broader pyOpenSci community on our [Discourse forum](https://pyopensci.discourse.group/). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888). We also send out a monthly recap newsletter to [our mailing list](https://eepurl.com/iM7SOM)! +Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888). We also send out a monthly recap newsletter to [our mailing list](https://eepurl.com/iM7SOM)! diff --git a/_posts/2024-05-14-pyos-guide-to-pyconus-2024.md b/_posts/2024-05-14-pyos-guide-to-pyconus-2024.md index 1edc9403..f9cd9925 100644 --- a/_posts/2024-05-14-pyos-guide-to-pyconus-2024.md +++ b/_posts/2024-05-14-pyos-guide-to-pyconus-2024.md @@ -101,4 +101,4 @@ While there will be a whole host of pyOpenSci community members at PyCon US this And we'd love to hear about your PyCon experience! Be sure to tag us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and/or [Fosstodon](https://fosstodon.org/@pyOpenSci)! ### pyOpenSci around the web -Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci), and you can connect with the broader pyOpenSci community on our [Discourse forum](https://pyopensci.discourse.group/). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888). We also send out a monthly recap newsletter to [our mailing list](https://eepurl.com/iM7SOM)! +Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888). We also send out a monthly recap newsletter to [our mailing list](https://eepurl.com/iM7SOM)! diff --git a/_posts/2024-05-23-pyos-call-for-editors.md b/_posts/2024-05-23-pyos-call-for-editors.md index 7a2c5cc1..71f2a05a 100644 --- a/_posts/2024-05-23-pyos-call-for-editors.md +++ b/_posts/2024-05-23-pyos-call-for-editors.md @@ -48,4 +48,4 @@ If you're interested in joining our Editorial Board, but have questions or would You can explore [our current directory of pyOpenSci editors](https://www.pyopensci.org/about-peer-review/index.html#meet-our-editorial-board) on our website, and also read [a series of short interviews](https://www.linkedin.com/pulse/meet-pyopensci-editorial-team-pyopensci-robpc/?trackingId=gE1IVxw%2BRX6P6NGP%2B%2BbM4Q%3D%3D) with many of our editors in a recent issue of [our weekly newsletter](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888). ## Connect with pyOpenSci -Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci), and you can connect with the broader pyOpenSci community on our [Discourse forum](https://pyopensci.discourse.group/). Interested in our newsletters? We share news, blog posts, and monthly updates [in our LinkedIn newsletter](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888), and a monthly recap newsletter to [our mailing list](https://eepurl.com/iM7SOM)! +Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci). Interested in our newsletters? We share news, blog posts, and monthly updates [in our LinkedIn newsletter](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888), and a monthly recap newsletter to [our mailing list](https://eepurl.com/iM7SOM)! diff --git a/_posts/2024-05-24-oss-fall-festival-save-the-date-2024.md b/_posts/2024-05-24-oss-fall-festival-save-the-date-2024.md index fd87009a..685d4bdf 100644 --- a/_posts/2024-05-24-oss-fall-festival-save-the-date-2024.md +++ b/_posts/2024-05-24-oss-fall-festival-save-the-date-2024.md @@ -22,4 +22,4 @@ While we're still ironing out some of the details, we know it'll be a combinatio > UPDATE: Our [pyOpenSci Fall Festival event page](https://www.pyopensci.org/events/pyopensci-2024-fall-festival.html) is LIVE! We'll continuously be updating this page with event news and details. ## Connect with pyOpenSci -Stay up-to-date with all things pyOpenSci and our Open Source Fall Festival by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci), and you can connect with the broader pyOpenSci community on our [Discourse forum](https://pyopensci.discourse.group/). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888). +Stay up-to-date with all things pyOpenSci and our Open Source Fall Festival by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888). diff --git a/_posts/2024-05-28-pyos-newsletter-june-2024.md b/_posts/2024-05-28-pyos-newsletter-june-2024.md index 60b80078..8d934454 100644 --- a/_posts/2024-05-28-pyos-newsletter-june-2024.md +++ b/_posts/2024-05-28-pyos-newsletter-june-2024.md @@ -150,4 +150,4 @@ Taking place Wednesday July 24 - Friday July 26 at the Van Andel Institute in Gr Have an upcoming scientific Python event that’s open to the public? Email us at [media@pyopensci.org](mailto:media@pyopensci.org) with the details to have your event listed. ## Connect with us -Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci), and you can connect with the broader pyOpenSci community on our [Discourse forum](https://pyopensci.discourse.group/). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888). We also send out a monthly recap newsletter to [our mailing list](https://eepurl.com/iM7SOM)! +Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7179551305344933888). We also send out a monthly recap newsletter to [our mailing list](https://eepurl.com/iM7SOM)! diff --git a/_posts/2024-06-06-get-involved-with-pyos.md b/_posts/2024-06-06-get-involved-with-pyos.md index 4ec60d00..e7b082af 100644 --- a/_posts/2024-06-06-get-involved-with-pyos.md +++ b/_posts/2024-06-06-get-involved-with-pyos.md @@ -88,4 +88,4 @@ We'll be sharing more information in a separate post with more details on how to ## Connect with pyOpenSci ​​We are thrilled, honored, and humbled that you’re interested in getting involved with pyOpenSci, and created this guide with the intention of providing a resource on all the ways available to get involved with us. You can stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://linkedin.com/company/pyopensci -) and [Fosstodon](https://fosstodon.org/@pyOpenSci), and you can connect with the broader pyOpenSci community on our [Discourse forum](https://pyopensci.discourse.group/). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.bit.ly/pyOSNewsletter). +) and [Fosstodon](https://fosstodon.org/@pyOpenSci). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.bit.ly/pyOSNewsletter). diff --git a/_posts/2024-06-20-pyos-guide-to-scipy.md b/_posts/2024-06-20-pyos-guide-to-scipy.md index ebef895f..26175ad4 100644 --- a/_posts/2024-06-20-pyos-guide-to-scipy.md +++ b/_posts/2024-06-20-pyos-guide-to-scipy.md @@ -81,4 +81,4 @@ We’ll also be holding a pyOpenSci sprint at SciPy 2024! Be sure to follow us o ## Connect with pyOpenSci Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://linkedin.com/company/pyopensci -) and [Fosstodon](https://fosstodon.org/@pyOpenSci), and connect with the broader pyOpenSci community on our [Discourse forum](https://pyopensci.discourse.group/). If you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.bit.ly/pyOSNewsletter). +) and [Fosstodon](https://fosstodon.org/@pyOpenSci). If you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.bit.ly/pyOSNewsletter). diff --git a/_posts/2024-08-30-pyopensci-monumental-growth-2024.md b/_posts/2024-08-30-pyopensci-monumental-growth-2024.md index 34078d64..f3419f92 100644 --- a/_posts/2024-08-30-pyopensci-monumental-growth-2024.md +++ b/_posts/2024-08-30-pyopensci-monumental-growth-2024.md @@ -89,13 +89,13 @@ at the SciPy meetings. ### Why pyOpenSci tackled Python packaging -pyOpenSci's design is also based on our experiences developing software peer review guidelines for Python packages. We [interact daily with scientific software maintainers](https://pyopensci.discourse.group/t/api-reference-building-locally-but-not-on-rth-missing-path/368/7). According to our surveys, 80% of our maintainers and reviewers identify strongly as scientists. +pyOpenSci's design is also based on our experiences developing software peer review guidelines for Python packages. According to our surveys, 80% of our maintainers and reviewers identify strongly as scientists. As we developed our [peer review guide]((https://www.pyopensci.org/software-peer-review/)), it became clear that a beginner-friendly packaging guide was essential to support scientists in sharing their code because: 1. [Our pre-review software checks](https://www.pyopensci.org/software-peer-review/how-to/editor-in-chief-guide.html#editor-checklist-template) require basic package infrastructure. Scientists must be clear about the core elements of a Python package. -1. We want to help scientists make their packages more maintainable over time by adding tests and [continuous integration (CI)](https://www.pyopensci.org/python-package-guide/tests/tests-ci.html#run-tests-with-continuous-integration) checks that run when someone submits a suggested change (or a pull request). We want to set scientists up for success. -1. We realize that Python packaging is a thorny ecosystem to navigate. I knew that pyOpenSci could help file down those thorns. +2. We want to help scientists make their packages more maintainable over time by adding tests and [continuous integration (CI)](https://www.pyopensci.org/python-package-guide/tests/tests-ci.html#run-tests-with-continuous-integration) checks that run when someone submits a suggested change (or a pull request). We want to set scientists up for success. +3. We realize that Python packaging is a thorny ecosystem to navigate. I knew that pyOpenSci could help file down those thorns.
### *"How could pyOpenSci help you with your science, code, and software?"* diff --git a/_posts/2025-03-13-python-packaging-security-pypi.md b/_posts/2025-03-13-python-packaging-security-pypi.md index a5b01a24..60e6f69e 100644 --- a/_posts/2025-03-13-python-packaging-security-pypi.md +++ b/_posts/2025-03-13-python-packaging-security-pypi.md @@ -315,7 +315,6 @@ pyOpenSci follows best practices for PyPI publishing using our custom GitHub Act Follow us on social platforms: -* [ Discourse](https://pyopensci.discourse.group/) * [ Mastodon](https://fosstodon.org/@pyopensci) * [ Bluesky](https://bsky.app/profile/pyopensci.org) * [ LinkedIn](https://www.linkedin.com/company/pyopensci) diff --git a/_posts/events/2024-04-29-create-your-first-python-package-pyopensci-online-workshop.md b/_posts/events/2024-04-29-create-your-first-python-package-pyopensci-online-workshop.md index edc2b49a..72767013 100644 --- a/_posts/events/2024-04-29-create-your-first-python-package-pyopensci-online-workshop.md +++ b/_posts/events/2024-04-29-create-your-first-python-package-pyopensci-online-workshop.md @@ -51,4 +51,4 @@ She will also briefly discuss how LLM’s can be used to support tasks such as d The course will take place on Thursday, April 25th, from 10AM–1PM Mountain time, and use the Spatial Chat platform. Tickets are $10, and can be purchased on [the workshop’s Eventbrite page](https://www.eventbrite.com/e/from-python-code-to-module-tickets-879586546037?aff=oddtdtcreator). The class size is capped at 35, and tickets are selling fast–we hope to see you there! ## Connect with us! -You can stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci), and you can connect with the broader pyOpenSci community on [our Discourse forum](https://pyopensci.discourse.group/). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/newsletters/pyopensci-newsletter-7179551305344933888!) +You can stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://www.linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci). And if you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.linkedin.com/newsletters/pyopensci-newsletter-7179551305344933888!) diff --git a/_posts/events/2024-06-25-create-your-first-python-package-scipy-2024.md b/_posts/events/2024-06-25-create-your-first-python-package-scipy-2024.md index 8793945c..c5ff2987 100644 --- a/_posts/events/2024-06-25-create-your-first-python-package-scipy-2024.md +++ b/_posts/events/2024-06-25-create-your-first-python-package-scipy-2024.md @@ -281,4 +281,4 @@ Create environment ## Connect with pyOpenSci -Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci), and connect with the broader pyOpenSci community on our [Discourse forum](https://pyopensci.discourse.group/). If you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.bit.ly/pyOSNewsletter). +Stay up-to-date with all things pyOpenSci by following us on [LinkedIn](https://linkedin.com/company/pyopensci) and [Fosstodon](https://fosstodon.org/@pyOpenSci). If you’re interested in our weekly newsletter where we share news, blog posts, and monthly updates, [subscribe on LinkedIn](https://www.bit.ly/pyOSNewsletter). diff --git a/_posts/events/2026-03-03-course-python-packaging-gen-ai.md b/_posts/events/2026-03-03-course-python-packaging-gen-ai.md new file mode 100644 index 00000000..9a9da8ae --- /dev/null +++ b/_posts/events/2026-03-03-course-python-packaging-gen-ai.md @@ -0,0 +1,186 @@ +--- +layout: splash +classes: flowing +title: "Ship It: Python Packaging in the GenAI Era" +excerpt: > + A trusted 10-day hands-on asynchronous cohort-based course developed by + pyOpenSci for Stanford University and the CURIOSS network. +event: + start_date: "2026-04-10" + end_date: "2026-04-23" + location: Online +permalink: /events/shipit-python-package-gen-ai-april-2026.html +header: + overlay_image: images/headers/pyopensci-sustainability.png +categories: + - events +type: "event" +last_modified: 2026-03-03 +comments: true +author_profile: false +intro: + - excerpt: "Transform your code into something others can easily install, + use, and trust." +instructors: + - name: Leah Wasser + github: lwasser + bio: > + The Executive Director and Founder of pyOpenSci, Leah brings over 20 + years of experience teaching technical data science topics in the + scientific space. pyOpenSci has worked with hundreds of scientific + Python package maintainers and has helped over 50 packages improve + their structure and distribution through our peer review process. + - name: Jeremiah Paige + github: ucodery + bio: > + An open source author, contributor, and speaker, specifically working + with Python for over 12 years. He is also a software engineer in the + secure supply chain industry during work hours. + - name: Inessa Pawson + github: inessaPawson + bio: Bio coming soon. +--- + +{% include feature_row id="intro" type="center" %} + +
+ +
+## Everything you need to know + +* **When:** Friday, 10 April 2026 – Thursday, 23 April 2026 +* **Where:** Online asynchronous course with live office hours + +### Cost + +This course was paid for by the Stanford University Open Source +Program Office (OSPO) and is available to both Stanford OSPO +researchers and other OSPOs in the CURIOSS network. + +Learn more about our partnership with Stanford in this short video: +[Ship It with Stanford OSPO](https://www.youtube.com/watch?v=9HDAZJS_Wck) + +
+ +## About the course +Learn directly from leaders in the open source space. Featuring hands-on +activities, expert interviews with Python core developers and scientific Python +maintainers, and live office hours where you can get help and ask questions, +this 10-day asynchronous course empowers university researchers and +practitioners to reliably build and share critical tools. + +Developed by pyOpenSci in partnership with the Stanford Open Source Program +Office (OSPO), this program delivers a trusted, expert-led curriculum that +guides you through the lifecycle of a modern Python package. You will evolve a +working script into a tested, documented, and automated package published on +PyPI. + +By participating in this course, you're also joining a vibrant open source +ecosystem. Expect to work with today’s industry-standard +tools—including uv, +Hatch, pytest, and Sphinx—while exploring open-source workflows and learning +how to use Generative AI critically, thoughtfully, and responsibly. + +## What you’ll learn + +* Structure a Python package from scratch. +* Configure your package using pyproject.toml. +* Build and publish your package to (test) PyPI. +* Write and run different types of tests using pytest. +* Automate your development workflows with task runners. +* Create the core documentation files every package needs. +* Use AI tools responsibly in your development workflow. + +This course is part of pyOpenSci’s **Ship It** curriculum — designed for +researchers, scientists, and developers who want to build sustainable, +production-ready open source software. + +## Who this course is for + +This course is designed for: + +* **Researchers, scientists, and postdocs** who write Python code and want to + share it +* **University faculty, staff, and students** looking to teach or adopt modern + Python packaging practices +* **Developers** who are new to open source packaging and want a structured, + guided path + +*No prior packaging experience is required.* If you are comfortable with Python +programming and can write a Python function, then you're ready for this course. + +## What makes this course different + +pyOpenSci's unique advantage is its community. You're not just watching videos; +you're learning alongside — and from — the people who maintain Python's +packaging ecosystem. + +The course is delivered in a flexible, async format designed for busy +researchers: each day you’ll discover 10–15 minutes of video content, and +then you’ll complete a short bite-sized activity. Use the weekend to catch up +if you fall behind. + +
+ +
+
+ +## Course Schedule at a Glance + +### Week 0: Setup + +The week before the course begins is focused on setup. You can complete the +course either using GitHub Codespaces or locally on your computer. + +### Week 1: Foundation & Structure + +* Day 1 — Create and + run your package +* Day 2 — Metadata and + dependencies: the pyproject.toml file +* Day 3 — Build and publish + your package +* Day 4 — Introduction to + testing +* Day 5 — Live office + hours: show up, ask questions, get help. + +### Week 2: Task runners, GenAI & Documentation + +* Day 6 — Automate your + workflows: task runners and environments +* Day 7 — GenAI to support + your workflows +* Day 8 — Documentation that + matters most to build your community and maintainer team +* Day 9 — Office + hours & wrap up + +
+
+ +
+ +### What you'll walk away with + +- **Complete Package Template:** Ready-to-use project structure +- **Automation Workflows:** GitHub Actions for testing and publishing +- **Quality Checklists:** Never miss important packaging steps +- **Publishing Guide:** Step-by-step instructions for secure PyPI deployment + using GitHub Actions + +### Pre-requisites + +To successfully follow along in this workshop, you should: + +* Know how to write Python code +* Understand how to write and use Python functions +* Have a free GitHub account. You can work using GitHub Codespaces during this + workshop, and setting up this account is free if you don't already have one. +* Have internet access to access the course materials and tools. + +### Your instructors & helpers + +{% include event_instructors.html %} + +
diff --git a/_sass/minimal-mistakes/_pyos-cards.scss b/_sass/minimal-mistakes/_pyos-cards.scss index 35e7f67e..0a78a59f 100644 --- a/_sass/minimal-mistakes/_pyos-cards.scss +++ b/_sass/minimal-mistakes/_pyos-cards.scss @@ -397,7 +397,7 @@ // Text elements: semantic selectors with padding h4.person_name { - padding: 0 1em; + padding: 0; margin-top: 0.6em; margin-bottom: 0; font-size: 1.4rem; @@ -449,3 +449,110 @@ } } } + +/* ========================================================================== + EVENT INSTRUCTORS (front matter + include) + ========================================================================== */ + +.event-instructors { + margin-top: 1em; + margin-bottom: 1em; +} + +.event-instructors__grid { + grid-template-columns: 1fr !important; +} + +.event-instructor { + .people-card__content { + display: flex; + flex-direction: row; + align-items: center; + gap: 1.25rem; + text-align: left; + + .event-instructor__avatar { + flex-shrink: 0; + width: 160px; + min-width: 160px; + padding: 0 20px; + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: center; + + img { + width: 120px; + height: 120px; + border-radius: 50%; + object-fit: cover; + } + } + + .event-instructor__text { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + align-items: flex-start; + } + + .person_name { + width: 100%; + display: flex; + align-items: center; + justify-content: flex-start; + flex-wrap: wrap; + gap: 0.35em; + text-align: left; + margin-left: 0; + margin-right: 0; + + .event-instructor__github-link { + opacity: 0.7; + font-size: 0.9em; + + &:hover { + opacity: 1; + } + } + } + + .event-instructor__bio { + padding: 0; + margin-top: 0.5em; + margin-bottom: 0; + font-size: 0.9rem; + line-height: 1.5; + text-align: left; + } + } +} + +@media screen and (max-width: $small) { + .event-instructor .people-card__content { + flex-direction: column; + align-items: center; + text-align: center; + + .event-instructor__avatar { + width: auto; + min-width: 0; + padding: 0; + } + + .event-instructor__text { + align-items: center; + text-align: center; + } + + .person_name { + justify-content: center; + text-align: center; + } + + .event-instructor__bio { + text-align: center; + } + } +}