diff --git a/pybeach-2025/category.json b/pybeach-2025/category.json new file mode 100644 index 000000000..6bf78d602 --- /dev/null +++ b/pybeach-2025/category.json @@ -0,0 +1,3 @@ +{ + "title": "PyBeach 2025" +} \ No newline at end of file diff --git a/pybeach-2025/videos/back-off-and-give-up-the-art-of-graceful-system-degradation.json b/pybeach-2025/videos/back-off-and-give-up-the-art-of-graceful-system-degradation.json new file mode 100644 index 000000000..5a9796d64 --- /dev/null +++ b/pybeach-2025/videos/back-off-and-give-up-the-art-of-graceful-system-degradation.json @@ -0,0 +1,22 @@ +{ + "description": "In distributed systems, how we handle failure is often more important than how we handle success. This talk challenges the \"never give up\" mentality by demonstrating why intelligent retreat strategies consistently outperform blind persistence when systems are under stress.\r\n\r\nWe'll explore the powerful combination of exponential back-off with jitter for managing retries, and explain why quickly \"giving up\" through strategic load shedding often leads to better overall system health than dogged persistence. We'll show how these complementary approaches can prevent cascading failures, improve user experience during degraded conditions, and help systems recover faster.", + "language": "eng", + "recorded": "2025-09-27", + "related_urls": [ + { + "label": "Conference Website", + "url": "https://2025.pybeach.org/" + } + ], + "speakers": [ + "Moshe Zadka" + ], + "thumbnail_url": "https://i.ytimg.com/vi/xc0AHfZjy_Y/maxresdefault.jpg", + "title": "Back off and Give up: The Art of Graceful System Degradation", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=xc0AHfZjy_Y" + } + ] +} diff --git a/pybeach-2025/videos/in-memorium-goodwill.json b/pybeach-2025/videos/in-memorium-goodwill.json new file mode 100644 index 000000000..73e5f1849 --- /dev/null +++ b/pybeach-2025/videos/in-memorium-goodwill.json @@ -0,0 +1,22 @@ +{ + "description": "", + "language": "eng", + "recorded": "2025-09-27", + "related_urls": [ + { + "label": "Conference Website", + "url": "https://2025.pybeach.org/" + } + ], + "speakers": [ + "Esther Nam" + ], + "thumbnail_url": "https://i.ytimg.com/vi/-PaXP6-zKtI/hqdefault.jpg", + "title": "In Memorium: Goodwill", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=-PaXP6-zKtI" + } + ] +} diff --git a/pybeach-2025/videos/keynote.json b/pybeach-2025/videos/keynote.json new file mode 100644 index 000000000..3f833fbf2 --- /dev/null +++ b/pybeach-2025/videos/keynote.json @@ -0,0 +1,22 @@ +{ + "description": "", + "language": "eng", + "recorded": "2025-09-27", + "related_urls": [ + { + "label": "Conference Website", + "url": "https://2025.pybeach.org/" + } + ], + "speakers": [ + "Carol Willing" + ], + "thumbnail_url": "https://i.ytimg.com/vi/Vz_-NQG8Jcg/maxresdefault.jpg", + "title": "Keynote", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=Vz_-NQG8Jcg" + } + ] +} diff --git a/pybeach-2025/videos/pathlib-why-and-how-to-use-it.json b/pybeach-2025/videos/pathlib-why-and-how-to-use-it.json new file mode 100644 index 000000000..7961a3817 --- /dev/null +++ b/pybeach-2025/videos/pathlib-why-and-how-to-use-it.json @@ -0,0 +1,22 @@ +{ + "description": "If your Python code works with file paths, you should be using `pathlib`. This standard library module may seem a bit cumbersome at first, but `pathlib`-using code is often more readable the alternative.\r\n\r\nPython's many path-oriented utilities used to expect a string representation for all file paths. That's not the case anymore. Now, every important path-consuming library will accept `pathlib.Path` objects.\r\n\r\nDuring this talk, we'll see why `pathlib.Path` objects make for more maintainable code. We'll visit a number of useful `pathlib` examples and recipes along the way.\r\n\r\nBy the end of this talk, you'll be tempted to convert all your path-handling code to use `pathlib`.", + "language": "eng", + "recorded": "2025-09-27", + "related_urls": [ + { + "label": "Conference Website", + "url": "https://2025.pybeach.org/" + } + ], + "speakers": [ + "Trey Hunner" + ], + "thumbnail_url": "https://i.ytimg.com/vi/7XuyYDde-0A/maxresdefault.jpg", + "title": "pathlib: why and how to use it", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=7XuyYDde-0A" + } + ] +} diff --git a/pybeach-2025/videos/patterns-and-anti-patterns-in-python-s-structural-pattern-matching.json b/pybeach-2025/videos/patterns-and-anti-patterns-in-python-s-structural-pattern-matching.json new file mode 100644 index 000000000..d10fa85b7 --- /dev/null +++ b/pybeach-2025/videos/patterns-and-anti-patterns-in-python-s-structural-pattern-matching.json @@ -0,0 +1,22 @@ +{ + "description": "Have you used Python's `match` statement? How do you decide when to use `match` instead of a typical `if`/`elif`/`else` statement? Although structural pattern matching functionality has been available in Python for years, many Python developers still aren't sure about the best way to employ `match` in their own programs.\r\n\r\nThis talk will explore effective patterns that work well with the new `match` statement, and common pitfalls to avoid. It will highlight when `if`/`elif`/`else` constructs are a better fit, and how to judge when it's time to consider moving from one style to another. The talk will also cover other approaches to matching patterns, including look-up tables for performance and unpacking for sequences.\r\n\r\nAfter attending this talk, you'll be able to confidently use the `match` statement to enhance your programs and discern when `match` will harm the readability of your code.", + "language": "eng", + "recorded": "2025-09-27", + "related_urls": [ + { + "label": "Conference Website", + "url": "https://2025.pybeach.org/" + } + ], + "speakers": [ + "Brett Slatkin" + ], + "thumbnail_url": "https://i.ytimg.com/vi/MWAfiyJ9NOw/maxresdefault.jpg", + "title": "Patterns and Anti-patterns in Python's Structural Pattern Matching", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=MWAfiyJ9NOw" + } + ] +} diff --git a/pybeach-2025/videos/python-packaging-expressway-a-path-worth-taking.json b/pybeach-2025/videos/python-packaging-expressway-a-path-worth-taking.json new file mode 100644 index 000000000..621355170 --- /dev/null +++ b/pybeach-2025/videos/python-packaging-expressway-a-path-worth-taking.json @@ -0,0 +1,22 @@ +{ + "description": "Python's popularity comes from its vast ecosystem of open-source packages, especially for the development for AI modeling and support. However, many Python programmers struggle to share their scripts and packages with others due to a lack of understanding about Python packaging.\r\nJoin me on a journey to demystify modern Python packaging and learn the end-to-end mechanism of creating, publishing, and managing Python packages. Whether you are new to Python packaging or want to sharpen your skills around modern Python packaging techniques or are a curious Pythonista, I hope for everyone to learn something new here or just have fun with packaging!", + "language": "eng", + "recorded": "2025-09-27", + "related_urls": [ + { + "label": "Conference Website", + "url": "https://2025.pybeach.org/" + } + ], + "speakers": [ + "Parul Gupta" + ], + "thumbnail_url": "https://i.ytimg.com/vi/BdTv07T7hmg/maxresdefault.jpg", + "title": "Python Packaging Expressway: A Path Worth Taking", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=BdTv07T7hmg" + } + ] +} diff --git a/pybeach-2025/videos/real-time-collaborative-sessions-for-new-contributors-and-maintainers.json b/pybeach-2025/videos/real-time-collaborative-sessions-for-new-contributors-and-maintainers.json new file mode 100644 index 000000000..06616f38e --- /dev/null +++ b/pybeach-2025/videos/real-time-collaborative-sessions-for-new-contributors-and-maintainers.json @@ -0,0 +1,22 @@ +{ + "description": "New contributors and maintainers new to accepting contributions face surprisingly similar challenges: anxiety about \"getting it right\", unclear expectations, and unwritten cultural norms. This talk presents a practical model for real-time collaborative sessions that address both groups' needs simultaneously, creating stronger, more welcoming open source communities from day one.", + "language": "eng", + "recorded": "2025-09-27", + "related_urls": [ + { + "label": "Conference Website", + "url": "https://2025.pybeach.org/" + } + ], + "speakers": [ + "Laura Langdon" + ], + "thumbnail_url": "https://i.ytimg.com/vi/7N1vzfpsSuE/maxresdefault.jpg", + "title": "Real-Time Collaborative Sessions for New Contributors *and* Maintainers", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=7N1vzfpsSuE" + } + ] +} diff --git a/pybeach-2025/videos/shipping-means-keeping-the-boat-afloat-why-engineering-quality-matters.json b/pybeach-2025/videos/shipping-means-keeping-the-boat-afloat-why-engineering-quality-matters.json new file mode 100644 index 000000000..7ca30f3cf --- /dev/null +++ b/pybeach-2025/videos/shipping-means-keeping-the-boat-afloat-why-engineering-quality-matters.json @@ -0,0 +1,22 @@ +{ + "description": "More software is being produced today than ever before. Good software developers want to maintain high standards for quality, but may find it challenging to do so in the face of day-to-day pressures, deadlines, and distractions. Non-developers may feel it's acceptable to stop short of full engineering practice. In this talk we'll explore what engineering rigor looks like and discuss ways to uphold standards, even in the face of resistance. Attendees should come away with an understanding that engineering quality is more than just an ideal worth striving for, but a pragmatic way to keep our users happy, and to stay productive without burning out.", + "language": "eng", + "recorded": "2025-09-27", + "related_urls": [ + { + "label": "Conference Website", + "url": "https://2025.pybeach.org/" + } + ], + "speakers": [ + "Esther Nam" + ], + "thumbnail_url": "https://i.ytimg.com/vi/aspa4ybmyHc/maxresdefault.jpg", + "title": "Shipping means keeping the boat afloat: why engineering quality matters", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=aspa4ybmyHc" + } + ] +} diff --git a/pybeach-2025/videos/the-paradox-of-statically-typed-python-polymorphic-c.json b/pybeach-2025/videos/the-paradox-of-statically-typed-python-polymorphic-c.json new file mode 100644 index 000000000..1eaa7e45e --- /dev/null +++ b/pybeach-2025/videos/the-paradox-of-statically-typed-python-polymorphic-c.json @@ -0,0 +1,22 @@ +{ + "description": "Python implements dynamic type behavior using a statically typed language (C), only to then offer static type annotations on top of a dynamically typed language (Python). This paradox is the focus of this talk. We will look at the basics of type annotations, how polymorphism is implemented in C with `PyObject` and `PyObject_HEAD`, and how CPython API functions like `PyObject_TypeCheck()` work. Despite the chasm between type annotations and runtime reality, their benefits will be demonstrated.", + "language": "eng", + "recorded": "2025-09-27", + "related_urls": [ + { + "label": "Conference Website", + "url": "https://2025.pybeach.org/" + } + ], + "speakers": [ + "Christopher Ariza" + ], + "thumbnail_url": "https://i.ytimg.com/vi/ycY5WyEWMbE/maxresdefault.jpg", + "title": "The Paradox of Statically Typed Python & Polymorphic C", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=ycY5WyEWMbE" + } + ] +}