{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2026.1.0.dev0"}, "schedule": {"url": "https://cfp.scipy.org/2023/schedule/", "version": "0.42", "base_url": "https://cfp.scipy.org", "conference": {"acronym": "2023", "title": "SciPy 2023", "start": "2023-07-10", "end": "2023-11-10", "daysCount": 124, "timeslot_duration": "00:05", "time_zone_name": "America/Chicago", "colors": {"primary": "#13A2FE"}, "rooms": [{"name": "Classroom 106", "slug": "4536-classroom-106", "guid": "4c797b32-36af-5982-a9c4-18fed0f86568", "description": null, "capacity": 65}, {"name": "Classroom 104", "slug": "4546-classroom-104", "guid": "9a119320-e589-5728-ba57-c80aa608ad57", "description": null, "capacity": 50}, {"name": "Classroom 101", "slug": "4538-classroom-101", "guid": "b97eb3be-1b75-5ca2-a13e-34b3fb214e4c", "description": null, "capacity": 60}, {"name": "Classroom 202", "slug": "4539-classroom-202", "guid": "53c488a7-1e0d-5041-aabf-cfaac5de28b1", "description": null, "capacity": 65}, {"name": "Classroom 203", "slug": "4540-classroom-203", "guid": "6cdfbdd8-9285-5a8b-83a6-3db1aa0b6606", "description": null, "capacity": 50}, {"name": "Enthought - 200 W Cesar Chavez St", "slug": "4541-enthought-200-w-cesar-chavez-st", "guid": "3eea5324-23c3-5338-991d-bd3973d90a5d", "description": null, "capacity": null}, {"name": "Amphitheater 204", "slug": "4542-amphitheater-204", "guid": "a7020de2-2717-51a7-bcd4-7e9831c5ab8f", "description": null, "capacity": null}, {"name": "Grand Salon C", "slug": "4543-grand-salon-c", "guid": "528485f3-5505-5c92-85b8-0f828e66a79d", "description": null, "capacity": null}, {"name": "Zlotnik Ballroom", "slug": "4544-zlotnik-ballroom", "guid": "28373152-6164-559b-b8fd-5a1300de94ce", "description": null, "capacity": null}, {"name": "Classroom 103", "slug": "4545-classroom-103", "guid": "32d9d0e7-9b5f-5eb2-a2ba-0f6853d9777b", "description": null, "capacity": 50}, {"name": "Classroom 105", "slug": "4547-classroom-105", "guid": "5c6f7634-c90c-5400-be39-1771ee7e728f", "description": null, "capacity": 50}], "tracks": [{"name": "Tutorials", "slug": "6017-tutorials", "color": "#000001"}, {"name": "Social Science and the Digital Humanities", "slug": "6013-social-science-and-the-digital-humanities", "color": "#800080"}, {"name": "Materials and Chemistry", "slug": "6014-materials-and-chemistry", "color": "#B22222"}, {"name": "Bioinformatics, Computational Biology & Neuroscience", "slug": "6015-bioinformatics-computational-biology-neuroscience", "color": "#F9B404"}, {"name": "Astronomy and Physics", "slug": "6016-astronomy-and-physics", "color": "#120273"}, {"name": "Machine Learning, Data Science, and Ethics in AI", "slug": "6012-machine-learning-data-science-and-ethics-in-ai", "color": "#F20C1A"}, {"name": "General Track", "slug": "6027-general-track", "color": "#0000FF"}, {"name": "Tending Your Open Source Garden: Maintenance and Community", "slug": "6028-tending-your-open-source-garden-maintenance-and-community", "color": "#CF6E09"}, {"name": "Earth, Ocean, Geo, and Atmospheric", "slug": "6029-earth-ocean-geo-and-atmospheric", "color": "#00C649"}, {"name": "Keynote", "slug": "6030-keynote", "color": "#47B5CF"}, {"name": "Birds of a Feather (BoF)", "slug": "6031-birds-of-a-feather-bof", "color": "#CF1DC2"}, {"name": "Lightning Talks", "slug": "6032-lightning-talks", "color": "#297CEB"}], "days": [{"index": 1, "date": "2023-07-10", "day_start": "2023-07-10T04:00:00-05:00", "day_end": "2023-07-11T03:59:00-05:00", "rooms": {"Classroom 106": [{"guid": "213c6c9f-b496-56fe-ae08-a3c17fdb214a", "code": "DDJTZL", "id": 76072, "logo": "https://cfp.scipy.org/media/2023/submissions/DDJTZL/scipy-full-stack-ML_BYOf5z5_UawVlpU.png", "date": "2023-07-10T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 106", "slug": "2023-76072-full-stack-machine-learning-for-data-scientists", "url": "https://cfp.scipy.org/2023/talk/DDJTZL/", "title": "Full-stack Machine Learning for Data Scientists", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "One of the key questions in modern data science and machine learning, for businesses and practitioners alike, is how do you move machine learning projects from prototype and experiment to production as a repeatable process. In this workshop, we present an introduction to the landscape of production-grade tools, techniques, and workflows that bridge the gap between laptop data science and production ML workflows.", "description": "One of the key questions in modern data science and machine learning, for businesses and practitioners alike, is how do you move machine learning projects from prototype and experiment to production as a repeatable process. In this workshop, we present an introduction to the landscape of production-grade tools, techniques, and workflows that bridge the gap between laptop data science and production ML workflows.\r\n\r\nWe\u2019ll present a high-level overview of the 8 layers of the ML stack: data, compute, versioning, orchestration, software architecture, model operations, feature engineering, and model development. We\u2019ll present a schematic as to which layers data scientists need to be thinking about and working with, and then introduce attendees to the tooling and workflow landscape. In doing so, we\u2019ll present a widely applicable stack that provides the best possible user experience for data scientists, allowing them to focus on parts they like (modeling using their favorite off-the-shelf libraries) while providing robust built-in solutions for the foundational infrastructure.", "recording_license": "", "do_not_record": false, "persons": [{"code": "AHDRU7", "name": "Savin Goyal", "avatar": "https://cfp.scipy.org/media/avatars/AHDRU7_gY8IzCV.webp", "biography": "Savin is the co-founder and CTO of Outerbounds - where his team is building the modern ML stack to accelerate the impact of data science. Previously, he was at Netflix, where he built and open-sourced Metaflow, a full stack framework for data science.", "public_name": "Savin Goyal", "guid": "c0d505cd-5f38-5246-823c-02a28feb8903", "url": "https://cfp.scipy.org/2023/speaker/AHDRU7/"}, {"code": "HMACYR", "name": "Hugo Bowne-Anderson", "avatar": null, "biography": "Hugo Bowne-Anderson is Head of Developer Relations at Outerbounds, a company committed to building infrastructure that provides a solid foundation for machine learning applications of all shapes and sizes. He is also host of the industry podcast Vanishing Gradients. Hugo is a data scientist, educator, evangelist, content marketer, and data strategy consultant, with extensive experience at Coiled, a company that makes it simple for organizations to scale their data science seamlessly, and DataCamp, the online education platform for all things data. He also has experience teaching basic to advanced data science topics at institutions such as Yale University and Cold Spring Harbor Laboratory, conferences such as SciPy, PyCon, and ODSC and with organizations such as Data Carpentry. He has developed over 30 courses on the DataCamp platform, impacting over 2 million learners worldwide through his own courses. He also created the weekly data industry podcast DataFramed, which he hosted and produced for 2 years. He is committed to spreading data skills, access to data science tooling, and open source software, both for individuals and the enterprise.", "public_name": "Hugo Bowne-Anderson", "guid": "d9a7aa1e-322b-527e-bcac-1a8fa6db8105", "url": "https://cfp.scipy.org/2023/speaker/HMACYR/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/DDJTZL/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/DDJTZL/", "attachments": []}, {"guid": "4009de05-356c-5f81-8141-b8997baab5e4", "code": "8BZN3E", "id": 76235, "logo": null, "date": "2023-07-10T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 106", "slug": "2023-76235-modern-deep-learning-with-pytorch", "url": "https://cfp.scipy.org/2023/talk/8BZN3E/", "title": "Modern Deep Learning with PyTorch", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "We will kick off this tutorial with an introduction to deep learning and highlight its primary strengths and use cases compared to traditional machine learning. In recent years, PyTorch has emerged as the most widely used deep learning library for research. However, a lot has changed regarding how we train neural networks these days. After getting a firm grasp of the PyTorch API, you will learn how to train deep neural networks using various multi-GPU training paradigms. We will also fine-tune large language models (transformers) and deploy them to the cloud.", "description": "This tutorial will be aimed at Python programmers new to PyTorch and deep learning. However, even more experienced deep learning practitioners and PyTorch users may be exposed to new concepts and ideas when exploring other open source libraries to extend PyTorch.\r\n\r\nThroughout this 4-hour tutorial session, attendees will learn how to use PyTorch to train neural networks for image and text classification. We will discuss the individual strengths and weaknesses of deep learning and contrast it with traditional machine learning via libraries such as scikit-learn. \r\n\r\nWe will discuss the PyTorch library in detail, exploring it as a tensor library, automatic differentiation library, and library for implementing deep neural networks.\r\n\r\nAfter getting a firm grasp of the PyTorch API, we will introduce additional open source libraries to familiarize attendees with the modern open source stack for deep learning. For instance, we will organize our model training loops using the Lightning Trainer, which will help us reduce boilerplate code and get additional benefits such as model checkpointing, logging, and convenient mixed precision training.\r\n\r\nThen, we will explore multi-GPU training strategies from DeepSpeed library to accelerate model training if multiple GPUs are available. Note that all model code in this tutorial can be run on a laptop computer, but attendees will also be introduced to free GPU options for this tutorial via Google Colab and Lightning to get the full benefits of this multi-GPU training section.\r\n\r\nLarge language transformers have largely replaced recurrent neural networks for text classification and generation. So, in this tutorial, attendees will learn how to adopt and fine-tune large language models from the HuggingFace transformer library. \r\n\r\nLastly, as a bonus, we will also build a deep learning model demo using Gradio and deploy it to the cloud using Lightning.", "recording_license": "", "do_not_record": false, "persons": [{"code": "GVDHSU", "name": "Sebastian Raschka", "avatar": "https://cfp.scipy.org/media/avatars/GVDHSU_gSTrbDo.webp", "biography": "Sebastian Raschka is a machine learning and AI researcher with a strong passion for education. As Lead AI Educator at Lightning AI, he is excited about making AI and deep learning more accessible and teaching people how to utilize these technologies at scale.\r\nSebastian was previously an Assistant Professor of Statistics at the University of Wisconsin-Madison. However, in 2023, he resigned from his position to devote himself fully to the Lightning AI startup company, which he had joined in 2022. While working at UW-Madison, Sebastian focused on researching deep learning and machine learning. To learn more about his research, you can visit his website at https://sebastianraschka.com/publications.\r\n\r\nMoreover, Sebastian loves open-source software and has been a passionate contributor for over a decade. Next to coding, he also loves writing and authored the bestselling Python Machine Learning book and Machine Learning with PyTorch and Scikit-learn.\r\n\r\nIf you like to find out more about Sebastian and what he is currently up to, please visit his personal website at https://sebastianraschka.com. You can also find Sebastian on Twitter (@rasbt), Mastodon (@mastodon.social@SebRaschka), and LinkedIn (https://www.linkedin.com/in/sebastianraschka/)", "public_name": "Sebastian Raschka", "guid": "eabcc832-a338-57f3-9df5-14e9e98ac951", "url": "https://cfp.scipy.org/2023/speaker/GVDHSU/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/8BZN3E/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/8BZN3E/", "attachments": []}], "Classroom 101": [{"guid": "584990c4-13de-5b71-8430-b8876c804cda", "code": "CJUYJM", "id": 76175, "logo": "https://cfp.scipy.org/media/2023/submissions/CJUYJM/tutorial_image_yUX7wUY_cwvHqvN.png", "date": "2023-07-10T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 101", "slug": "2023-76175-mosaic-magic-with-matplotlib", "url": "https://cfp.scipy.org/2023/talk/CJUYJM/", "title": "Mosaic Magic with Matplotlib", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Communicating scientific data often relies on making comparisons between multiple datasets.\r\nJoin the Matplotlib team to learn about creating multi-axis figures to display such data side-by-side.\r\nThis intermediate level tutorial will cover a variety of tools for making multi-axis figures.\r\nOf particular focus will be the [subplot_mosaic](https://matplotlib.org/stable/gallery/subplots_axes_and_figures/mosaic.html) and the layout engines: tight, constrained, and compressed.\r\nThis tutorial will emphasize the use of Matplotlib's Object Oriented (OO) API and why that is generally recommended over the pyplot (plt) API.", "description": "This tutorial is designed for users of Matplotlib who want to learn more about how to lay out complicated figures.\r\nBring a figure you like that you want to replicate the layout of or one that you'd like to improve.\r\n\r\n\r\n- Introduction (10 mins)\r\n- Parts of a figure. What makes up a figure (20 mins)\r\n  - (Build up to: https://matplotlib.org/stable/gallery/showcase/anatomy.html)\r\n- Creating a figure with a single axes (10 mins)\r\n- Object oriented model of interacting with axes (20 mins)\r\n    - e.g. Prefer `ax.plot` over `plt.plot`\r\n- Multi axes figures (~1.5 hr):\r\n    - `subplots` (10 mins)\r\n    - `subplot_mosaic` (30 mins)\r\n    - `grid_spec` (20 mins)\r\n    - `subplot2grid` (5 mins)\r\n    - `add_axes` (5 mins)\r\n    - `add_subplot` (5 mins)\r\n    - Inset and zoomed axes (5 mins)\r\n- Layout engines (30 mins)\r\n    - Introduction (10 mins)\r\n    - Constrained Layout (10 mins)\r\n    - Compressed Layout (5 mins)\r\n    - Tight Layout (5 mins)\r\n- Labeling figures (20 mins)\r\n    - Axis/figure labels (10 mins)\r\n    - Legends (5 mins)\r\n    - Colorbars (5 mins)\r\n- Subfigures (10 mins)\r\n- Conclusions/questions (20 mins)\r\n\r\n\r\nDetailed setup instructions will be provided prior to the event.", "recording_license": "", "do_not_record": false, "persons": [{"code": "VZCYWU", "name": "Kyle Sunden", "avatar": null, "biography": "Kyle is a Research Software Engineer working for Matplotlib with a focus on the data pipeline.\r\nKyle has a PhD in Chemistry from the University of Wisconsin where he made software to control laser spectroscopy instrumentation.", "public_name": "Kyle Sunden", "guid": "6d4528b4-7d9e-5ffe-8326-7d119271b93a", "url": "https://cfp.scipy.org/2023/speaker/VZCYWU/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/CJUYJM/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/CJUYJM/", "attachments": []}, {"guid": "9277b919-21eb-50cc-9914-27a6da89c7ac", "code": "LZPDBD", "id": 76269, "logo": "https://cfp.scipy.org/media/2023/submissions/LZPDBD/pyvista_banner_HZ7nr2j_sj5kTk2.png", "date": "2023-07-10T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 101", "slug": "2023-76269-3d-visualization-with-pyvista", "url": "https://cfp.scipy.org/2023/talk/LZPDBD/", "title": "3D Visualization with PyVista", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "[PyVista](https://github.com/pyvista/pyvista) is a general purpose 3D visualization library used for over 1400+ open source projects for the visualization of everything from [computer aided engineering and geophysics to volcanoes and digital artwork](https://dev.pyvista.org/getting-started/external_examples.html).\r\n\r\nPyVista exposes a Pythonic API to the [Visualization Toolkit (VTK)](http://www.vtk.org) to provide tooling that is immediately usable without any prior knowledge of VTK and is being built as the 3D equivalent of Matplotlib, with plugins to Jupyter to enable visualization of 3D data using both server- and client-side rendering.", "description": "Our tutorial will demonstrate PyVista's latest capabilities and bring a wide range of users to the forefront of 3D visualization in Python.\r\n\r\n- Use PyVista to create 3D visualizations from a variety of datasets in common formats.\r\n- Overview the classes and data structures of PyVista with real-world examples.\r\n- Be familiar of the various filters and features of PyVista.\r\n- Know which Python libraries are used and can be used by PyVista (meshio, trimesh etc).\r\n\r\nWe see this tutorial catering to anyone who wants to visualize data in any domain, and this ranges from basic Python users to advanced power users.", "recording_license": "", "do_not_record": false, "persons": [{"code": "CSUADT", "name": "Alexander Kaszynski", "avatar": "https://cfp.scipy.org/media/avatars/CSUADT_WNv9FoL.webp", "biography": "Alex Kaszynski, co-creator of [PyVista](https://docs.pyvista.org/version/stable/) and creator of the [PyAnsys](https://docs.pyansys.com/version/dev/) project.\r\n\r\nAdvocate for all things open source and has contributed to the creation of Ansys\u2019s open source projects at Ansys and [PyMAPDL](https://github.com/ansys/pymapdl). Enjoys presenting and demoing Python, especially 3D visualization but also its application to CAE and automation.", "public_name": "Alexander Kaszynski", "guid": "74da61e5-883d-562a-afc9-6501d79f1b19", "url": "https://cfp.scipy.org/2023/speaker/CSUADT/"}, {"code": "MDAB3V", "name": "Tetsuo Koyama", "avatar": "https://cfp.scipy.org/media/avatars/MDAB3V_pTYB4D7.webp", "biography": "Hi! My name is Tetsuo Koyama. I'm CAE software engineer in Japan. I'm interested in scientific computing and visualization with computer graphics. I am a commiter of GetFEM and developer team of [PyVista](https://github.com/orgs/pyvista/people).", "public_name": "Tetsuo Koyama", "guid": "7009a3f9-9112-57eb-ac4e-e0809d230a8b", "url": "https://cfp.scipy.org/2023/speaker/MDAB3V/"}, {"code": "NEC33M", "name": "Bane Sullivan", "avatar": "https://cfp.scipy.org/media/avatars/NEC33M_ivUTPML.webp", "biography": "[Bane Sullivan](https://banesullivan.com), co-creator of [PyVista](https://github.com/pyvista/), is a Research Software Engineer working at the intersection of geoscience, visualization, and data science.\r\n\r\nBane is a geophysicist/hydrologist by training and has been working to grow PyVista's adoption within the subsurface geoscience communities.", "public_name": "Bane Sullivan", "guid": "e72a7482-6d2d-5efe-8ab1-9e78c3648f7f", "url": "https://cfp.scipy.org/2023/speaker/NEC33M/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/LZPDBD/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/LZPDBD/", "attachments": []}], "Classroom 202": [{"guid": "6890b473-96cd-5fbf-9bd0-495d81cc1426", "code": "NEUUKG", "id": 75986, "logo": "https://cfp.scipy.org/media/2023/submissions/NEUUKG/napari-cells_3afAN5z_xRHeSA9.png", "date": "2023-07-10T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 202", "slug": "2023-75986-image-analysis-and-visualization-in-python-with-scikit-image-napari-and-friends", "url": "https://cfp.scipy.org/2023/talk/NEUUKG/", "title": "image analysis and visualization in Python with scikit-image, napari, and friends", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Between telescopes and satellite cameras and MRI machines and microscopes, scientists are producing more images than they can realistically look at. They need specialized viewers for multi-dimensional images, and automated tools to help process those images into knowledge. In this tutorial, we will cover the fundamentals of algorithmic image analysis, starting with how to think of images as NumPy arrays, moving on to basic image filtering, and finishing with a complete workflow: segmenting a 3D image into regions and making measurements on those regions. At every step, we will visualize and understand our work using matplotlib and napari.", "description": "Between telescopes and satellite cameras and MRI machines and microscopes, scientists are producing more images than they can realistically look at. They need specialized viewers for multi-dimensional images, and automated tools to help process those images into knowledge.\r\n\r\nThis tutorial is aimed at folks who have some experience in scientific computing with Python, but are new to image analysis. To get the most out of it, they should have done some work with NumPy arrays \u2014 no need to be an expert! \u2014 but they don't need to know [an image from a pipe](https://en.wikipedia.org/wiki/The_Treachery_of_Images). We will cover the fundamentals of working with images in scientific Python. The tutorial will be split into four parts, of about 45 minutes each, plus breaks:\r\n\r\n- **Images are just NumPy arrays.** In this section we will cover the basics: how to think of images not as things we can see but numbers we can analyze.\r\n- **Changing the structure of images with image filtering.** In this section we will define *filtering*, a fundamental operation on signals (1D), images (2D), and higher-dimensional images (3D+). We will use filtering to find various structures in images, such as *blobs* and *edges*. Putting NumPy, SciPy, scikit-image, and scikit-learn together, we'll show how these fundamental filters are related to modern convolutional neural networks.\r\n- **Finding regions in images and measuring their properties.** In this section we will define image segmentation \u2014 splitting up images into regions. We will show how segmentation is commonly represented in the scientific Python ecosystem, some basic and advanced methods to do it, and use it to take measurements of segmented objects in our images. We will use scikit-image for some basics, and to make object measurements, but we'll also demonstrate how to use a modern, neural-network-based library to find our imaged objects quickly and get on with our science: measuring the things we've imaged.\r\n- **Q&A/Quick tour of advanced features.** This section will be more freestyle and will depend on the audience. We may do a guided tour of other advanced image analysis topics, answer lingering questions about the previous sections, or walk around the room and help people apply what they've learned to their own data of interest.\r\n\r\nAttendees will leave understanding how to work with images in Python, knowing some of the main libraries that can help them do that, and knowing where to get more help if they need it.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QUTG3K", "name": "Juan Nunez-Iglesias", "avatar": "https://cfp.scipy.org/media/avatars/QUTG3K_DQ8LZLk.webp", "biography": "I'm a research scientist helping other scientists get insights from their image data using Python. I've been using Python since 2008, and the main scientific Python ecosystem (NumPy, SciPy, & co) since 2010. In 2012, on a whim, I went to my first SciPy (US) conference, and it changed my life! I realised that \"open source\" didn't mean just posting the code online. It meant actively collaborating on code with other scientists, across vast distances and at different times. Before you could say \"import numpy as np\", I had joined the scikit-image team, written a paper about it, written a whole book on SciPy (!), started new collaborative, open source libraries, and just generally been all-in on Scientific Python. I've been coming back to SciPy as often as I can to pay it forward for new folks in our community! \ud83d\ude0a", "public_name": "Juan Nunez-Iglesias", "guid": "19b8edb3-828c-58bc-87a3-6790bdf3cae0", "url": "https://cfp.scipy.org/2023/speaker/QUTG3K/"}, {"code": "GHV9KN", "name": "Lars Gr\u00fcter", "avatar": null, "biography": null, "public_name": "Lars Gr\u00fcter", "guid": "effb34e2-3893-5312-965b-708adaa7cd91", "url": "https://cfp.scipy.org/2023/speaker/GHV9KN/"}, {"code": "RRVUEQ", "name": "Kira Evans", "avatar": null, "biography": null, "public_name": "Kira Evans", "guid": "1e121c35-8fa1-5203-9932-1aab56bd55f3", "url": "https://cfp.scipy.org/2023/speaker/RRVUEQ/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/NEUUKG/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/NEUUKG/", "attachments": []}, {"guid": "db541e88-3f2b-5d57-bec8-c9227eefde75", "code": "UJBWPQ", "id": 76093, "logo": "https://cfp.scipy.org/media/2023/submissions/UJBWPQ/numpy_logo_p3rGRbD_dtOG98P.svg", "date": "2023-07-10T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 202", "slug": "2023-76093-introduction-to-numerical-computing-with-numpy", "url": "https://cfp.scipy.org/2023/talk/UJBWPQ/", "title": "Introduction to Numerical Computing With NumPy", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "NumPy provides Python with a powerful array processing library and an elegant syntax that is well suited to expressing computational algorithms clearly and efficiently. We'll introduce basic array syntax and array indexing, review some of the available mathematical functions in NumPy, and discuss how to write your own routines.", "description": "NumPy provides Python with a powerful array processing library and an elegant syntax that is well suited to expressing computational algorithms clearly and efficiently. We'll introduce basic array syntax and array indexing, review some of the available mathematical functions in NumPy, and discuss how to write your own routines\r\n\r\nThe tutorial is intended for people new to the scientific Python ecosystem. Previous experience in Python or another programming language is useful but not required.", "recording_license": "", "do_not_record": false, "persons": [{"code": "DDKG73", "name": "Sandhya Govindaraju", "avatar": "https://cfp.scipy.org/media/avatars/DDKG73_bsSSoRc.webp", "biography": "Sandhya is a Scientific Software Developer & Python Trainer at Enthought. Earlier, she supported CAD tools for microprocessor design at Sun Microsystems and Oracle. She holds a M.S in Electrical and Computer Engineering from University of Texas at Austin.\r\n\r\nSandhya enjoys learning new things and is passionate about sharing her knowledge and experience with others. Outside of work, she spends time with family and volunteers.", "public_name": "Sandhya Govindaraju", "guid": "ed6c627b-f988-5857-af7f-9b38df0a4cea", "url": "https://cfp.scipy.org/2023/speaker/DDKG73/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/UJBWPQ/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/UJBWPQ/", "attachments": []}], "Classroom 203": [{"guid": "5dc55895-1a54-54ea-b21e-fd44158dc7b1", "code": "B9CHA7", "id": 76295, "logo": null, "date": "2023-07-10T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 203", "slug": "2023-76295-ppml-machine-learning-on-data-you-cannot-see", "url": "https://cfp.scipy.org/2023/talk/B9CHA7/", "title": "PPML: Machine Learning on data you cannot see", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Privacy guarantee is **the** most crucial requirement when it comes to analyse sensitive data. However, data anonymisation techniques alone do not always provide complete privacy protection; moreover Machine Learning models could also be exploited to _leak_ sensitive data when _attacked_, and no counter-measure is applied. *Privacy-preserving machine learning* (PPML) methods hold the promise to overcome all these issues, allowing to train machine learning models with full privacy guarantees. In this tutorial we will explore several methods for privacy-preserving data analysis, and how these techniques can be used to safely train ML models _without_ actually seeing the data.", "description": "Privacy guarantees are **the** most crucial requirement when it comes to analyse sensitive data. These requirements could be sometimes very stringent, so that it becomes a real barrier for the entire pipeline. Reasons for this are manifold, and involve the fact that data could not be _shared_ nor moved from their silos of resident, let alone analysed in their _raw_ form. As a result, _data anonymisation techniques_ are sometimes used to generate a sanitised version of the original data. However, these techniques alone are not enough to guarantee that privacy will be completely preserved. Moreover, the _memoisation_ effect of Deep learning  models could be maliciously exploited to _attack_ the models, and _reconstruct_  sensitive information about samples used in training, even if these information were not originally provided. \r\n\r\n*Privacy-preserving machine learning* (PPML) methods hold the promise to overcome all those issues, allowing to train machine learning models with full privacy guarantees.\r\n\r\nThis workshop will be mainly organised in **three** main parts. In the first part, we will introduce the main concepts of **differential privacy**: what is it, and how this method differs from more classical _anonymisation_ techniques (e.g. `k-anonymity`).  In the second part, we will focus on Machine learning experiments. We will start by demonstrating how DL models could be exploited (i.e. _inference attack_ ) to reconstruct original data solely analysing models predictions; and then we will explore how **differential privacy** can help us protecting the privacy of our model, with _minimum disruption_ to the original pipeline. Finally, we will conclude the tutorial considering more complex ML scenarios to train Deep learning networks on encrypted data, with specialised _distributed federated_ _learning_ strategies.", "recording_license": "", "do_not_record": false, "persons": [{"code": "FRA7AF", "name": "Valerio Maggio", "avatar": "https://cfp.scipy.org/media/avatars/FRA7AF_9iRh5Vz.webp", "biography": "Valerio Maggio is a Researcher, a Data scientist Advocate at Anaconda, and a casual \"Magic: The Gathering\" wizard. He is well versed in open science and research software, supporting the adoption of best software development practice (e.g. [Code Review](https://www.software.ac.uk/blog/2022-03-18-treat-your-research-code-code-review)) in Data Science.  Valerio is also an open-source contributor, and an active member of the Python community. Over the last twelve years he has contributed and volunteered to the organization of many international conferences and community meetups like PyCon Italy, PyData, EuroPython, and EuroSciPy. All his talks, workshop materials and random ramblings are publicly available on his[ Speaker Deck](https://speakerdeck.com/leriomaggio) and[ GitHub](https://github.com/leriomaggio) profiles.", "public_name": "Valerio Maggio", "guid": "d198488c-5e00-5d67-8fb4-eae2adae3002", "url": "https://cfp.scipy.org/2023/speaker/FRA7AF/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/B9CHA7/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/B9CHA7/", "attachments": []}, {"guid": "f8334632-2027-5a79-bdc6-b35b0f632ee6", "code": "CQRYUC", "id": 76248, "logo": null, "date": "2023-07-10T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 203", "slug": "2023-76248-introduction-to-causal-inference", "url": "https://cfp.scipy.org/2023/talk/CQRYUC/", "title": "Introduction to Causal Inference", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "This tutorial session is intended to give attendees a gentle introduction to applying causal thinking and causal inference to data using python. Causal data analysis is very common in many academic domains (e.g. in social psychology, epidemiology, macroeconomics, etc) as well as in industry (all of the largest Silicon Valley tech companies employ teams of scientists who answer business questions purely with causal inference methods). The tutorial will involve a combination of presentations with open Q&A and hands-on exercises contained in Google Colab notebooks.", "description": "The tutorial will involve a combination of presentations with open Q&A and hands-on exercises contained in Google Colab notebooks. This session will cover the difference between correlation and causation, the pitfalls of conducting an analysis using observational data, how causal inference can help get around these pitfalls, and examples of common, modern modeling approaches used to conduct causal inference (propensity score matching, estimating causal curves, g-computation, and double ML). After the tutorial, the attendees should have a good foundational understanding of causality and the ability to confidently explore the topic on their own. Causal inference can be a very theory-heavy topic, making it impenetrable to novices. In this tutorial, we'll aim to take a more practical perspective on causal inference, while still occasionally touching on the theory.\r\n\r\nTutorial participants are not expected to be familiar with causal inference before attending, but we hope they have an earnest curiosity to learn about it! To get the most out of the session, the participants ought to have experience working with the common python data stack: matplotlib, numpy, pandas, and scikit-learn. Attendees should have some experience conducting classic machine learning modeling using the scikit-learn API, although having advanced machine learning expertise is absolutely not a prerequisite. A very basic understanding of statistics would be helpful (e.g. understanding what a mean is, what confidence intervals represent).", "recording_license": "", "do_not_record": false, "persons": [{"code": "PVWVHW", "name": "Roni Kobrosly", "avatar": "https://cfp.scipy.org/media/avatars/PVWVHW_tSJYW1K.webp", "biography": "I am a former epidemiology researcher who has spent approximately a decade employing causal modeling and inference. The bulk of my academic career was spent conducting data analyses to estimate the population-level effects of harmful environment exposures, when traditional randomized experiments were infeasible or unethical. During this time, I taught a couple undergraduate epidemiology courses, once of which involved a sizable introduction to causal thinking. I've also presented many one-off departmental presentations and at a few epidemiology conferences on causal inference in both cases.\r\n\r\nSince leaving the academic world, I've been loving my second life in the tech industry as a data scientist, ML engineer, and more recently as the Head of Data Science at a medium-sized health tech company based in Washington DC. I love mentoring junior data folks and explaining the magic of data analysis and modeling to non-technical audience.\r\n\r\nI also am a member of the open-source community, being the author and maintainer of the `causal-curve` python package. This package provides a set of tools for estimating the causal impact of continuous/non-binary treatments (e.g. estimating the causal impact of a neighborhood's income inequality on local crime, or understanding the causal effect of increasing a product's price on conversion rates).", "public_name": "Roni Kobrosly", "guid": "20d012fa-25ba-51b2-bdab-c92f334e2fd3", "url": "https://cfp.scipy.org/2023/speaker/PVWVHW/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/CQRYUC/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/CQRYUC/", "attachments": []}], "Classroom 103": [{"guid": "c88d80d8-7e33-502a-9dec-00e6653b8e6e", "code": "CDRJYE", "id": 76339, "logo": null, "date": "2023-07-10T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 103", "slug": "2023-76339-introduction-to-python-and-programming", "url": "https://cfp.scipy.org/2023/talk/CDRJYE/", "title": "Introduction to Python and Programming", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Enjoy a gentle introduction to Python for folks who are completely new to it and may not have much experience programming. Learn how to write Python while practicing loops, if\u2019s, functions, and usage of Python\u2019s built-in features in a series of fun, interactive exercises inside Jupyter Notebooks. By the end you\u2019ll be ready to write your own basic Python -- but most importantly, I want you to learn the form and vocabulary of Python so that you can understand Python documentation, interpret code written by others, and get the most out of other SciPy tutorials.", "description": "To make the most of SciPy it helps to have some basic familiarity with the Python language itself. This beginner level tutorial is designed for folks who are brand-new to Python and may not even have much programming experience. I\u2019ll help you get a working Python installation in which you can launch Jupyter Notebooks, a common tool used in scientific research with Python and in SciPy tutorials.\r\n\r\nAttendees will learn to work with Python variables, the object interface, loops, conditional statements, function definitions, and the use of basic Python data structures through hands-on exercises inside of Jupyter. Students will use the ipythonblocks library to manipulate an image-like grid of colors for immediate, interactive feedback that makes it easy to tell whether code had the intended effect.\r\n\r\nMy goal is for you to leave the tutorial with a basic familiarity with Python (and a working Python installation) that helps you focus on the scientific libraries you\u2019ll learn about in the other tutorials and throughout SciPy. Familiarity with the usage and features of Jupyter will also help you dive headfirst into other tutorials.", "recording_license": "", "do_not_record": false, "persons": [{"code": "R7PFJV", "name": "Matt Davis", "avatar": "https://cfp.scipy.org/media/avatars/R7PFJV_0YYgdPt.webp", "biography": "Matt has been using Python to work with data in science and at startups since 2008, after getting degrees in Astronomy and Aerospace Engineering. He maintains some moderately popular open-source Python libraries, including SnakeViz and Palettable. Today Matt is the lead software engineer at Populus, a startup helping city governments manage various aspects of transportation.", "public_name": "Matt Davis", "guid": "3c8ed029-f409-51c2-b4b1-93ced25e241f", "url": "https://cfp.scipy.org/2023/speaker/R7PFJV/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/CDRJYE/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/CDRJYE/", "attachments": []}, {"guid": "c94f9bba-1d8d-5624-902a-bb6b01dd7258", "code": "7BRY3J", "id": 76205, "logo": "https://cfp.scipy.org/media/2023/submissions/7BRY3J/e2e_air_2YbrESe_SsJ9I4L.png", "date": "2023-07-10T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 103", "slug": "2023-76205-scalable-machine-learning-workloads-with-ray-ai-runtime", "url": "https://cfp.scipy.org/2023/talk/7BRY3J/", "title": "Scalable machine learning workloads with Ray AI Runtime", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Machine learning (ML) pipelines involve a variety of computationally intensive stages. As state-of-the-art models and systems demand more compute, there is an urgent need for adaptable tools to scale ML workloads. This idea drove the creation of Ray\u2014an open source, distributed ML compute framework that not only powers systems like ChatGPT but also pushes theoretical computing benchmarks. Ray AIR is especially useful for parallelizing ML workloads such as pre-processing images, model training and finetuning, and batch inference. In this tutorial, participants will learn about AIR\u2019s composable APIs through hands-on coding exercises.", "description": "State-of-the-art machine learning (ML) models require an exponentially increasing amount of compute, making it necessary to utilize the full capacity of your laptop or workstation and beyond to cloud cluster.  However, scaling introduces challenges with orchestration, integration, and maintenance. What's more, ML systems change quickly. If you rely on piecemeal solutions to parallelize individual stages of pre-processing, training, inference, and tuning, then stitching these evolving systems together requires a lot of overhead.\r\n\r\nThis context drove the development of [Ray](https://github.com/ray-project/ray): a solution to enable researchers and developers to scale Python code to the full capacity of your laptop or cluster without worrying about implementing complex distributed computing logic.\r\n\r\nThis hands-on tutorial introduces Ray AI Runtime (AIR), an open source, Python-based set of libraries that equip researchers and developers with a toolkit for parallelizing ML workloads. We will use a popular computer vision (CV) use case, image segmentation, to guide participants through common ML workloads, including data pre-processing, model training and fine-tuning, and parallel batch inference.\r\n\r\n#### Resources\r\n\r\n-   GitHub repository with relevant resources including notebooks, setup instructions, reference implementations to coding exercises, and a README for an overview.\r\n\r\n-   Participants will be able to use a pre-configured compute cluster for the duration of the tutorial.\r\n\r\n#### Audience\r\n\r\n-   Intermediate-level Python and ML researchers and developers.\r\n\r\n-   Those interested in scaling ML workloads up to full laptop capacity to a cluster.\r\n\r\n#### Prerequisites\r\n\r\n-   Familiarity with basic ML concepts and workflows.\r\n\r\n-   No prior experience with Ray or distributed computing.\r\n\r\n-   (Optional) [Overview of Ray](https://github.com/ray-project/ray-educational-materials/blob/main/Introductory_modules/Overview_of_Ray.ipynb) notebook as background material.\r\n\r\n#### Key Takeaways\r\n\r\n-   Understand common challenges and trade-offs when scaling CV pipelines from laptop to cluster.\r\n\r\n-   Hands-on skill in using Ray AIR to scale CV workloads, including model training, fine-tuning, inference.\r\n\r\n#### Outline\r\n\r\nChallenges with scaling ML systems (10 min)\r\n\r\n-   Why are distributed systems so important to ML in general and CV pipelines in particular? How does Ray provide the common ML compute scale from laptop to cluster?\r\n\r\nHands-on lab 1: Composing CV pipelines (60 min)\r\n\r\n-   Examples introducing Ray Data, Train and Tune libraries. Participants will practice composing components to scale an end-to-end ML workload.\r\n\r\n-   Ray Data - Ingest, shard and preprocess the data.\r\n\r\n-   Ray Train - Train a model on the preprocessed training set.\r\n\r\n-   Ray Tune - Run hyperparameter tuning experiment.\r\n\r\n-   BatchPredictor - Perform batch inference on the test set.\r\n\r\n(10 minute break)\r\n\r\nHands-on lab 2: Model training and fine-tuning (60 min)\r\n\r\n-   Learn about approaches to scaling model training.\r\n\r\n-   Code: Implement transformer model fine-tuning with Ray Train and evaluate performance.\r\n\r\n(10 minute break)\r\n\r\nHands-on lab 3: Batch inference (60 min)\r\n\r\n-   Learn about and evaluate several distributed batch inference design patterns.\r\n\r\n-   Implement distributed batch inference through hands-on coding exercises.\r\n\r\n-   Code: Run batch inference using vision transformer and evaluate performance.\r\n\r\nNext steps (10 min)\r\n\r\n-   How to get involved with Ray and access further resources.", "recording_license": "", "do_not_record": false, "persons": [{"code": "U73JSP", "name": "Emmy Li", "avatar": "https://cfp.scipy.org/media/avatars/U73JSP_Xhn5EdN.webp", "biography": "Emmy is a technical trainer at Anyscale Inc. She holds a B.Sc in Physics from Stanford University where she contributed toward computational astrophysics research at the Stanford Linear Accelerator Laboratory and NASA\u2019s Jet Propulsion Laboratory. Emmy is passionate about creating high quality educational materials and sharing them with the broader Ray community.", "public_name": "Emmy Li", "guid": "9641422e-ba3f-535a-b38d-836194a20c72", "url": "https://cfp.scipy.org/2023/speaker/U73JSP/"}, {"code": "VHQUSA", "name": "Adam Breindel", "avatar": "https://cfp.scipy.org/media/avatars/VHQUSA_wlhYMYG.webp", "biography": "Adam Breindel is a member of the Anyscale training team and he consults and teaches on large-scale data engineering and AI/machine learning. He has served as technical reviewer for numerous O'Reilly titles covering Ray, Apache Spark, and other topics. Adam's 20 years of engineering experience include numerous startups and large enterprises with projects ranging from AI/ML systems and cluster management to web, mobile, and IoT apps. He holds a BA (Mathematics) from University of Chicago and a MA (Classics) from Brown University. Adam's interests include hiking, literature, and complex adaptive systems.", "public_name": "Adam Breindel", "guid": "a73a883d-06c4-51af-9a63-950be7ecb629", "url": "https://cfp.scipy.org/2023/speaker/VHQUSA/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/7BRY3J/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/7BRY3J/", "attachments": []}], "Classroom 104": [{"guid": "33d8e010-1319-5ed1-b1bc-90aa3162d7f3", "code": "ZCUDYT", "id": 75993, "logo": "https://cfp.scipy.org/media/2023/submissions/ZCUDYT/rocket_EeNrpQX_RLOpdPm.png", "date": "2023-07-10T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 104", "slug": "2023-75993-controlling-self-landing-rockets-using-cvxpy", "url": "https://cfp.scipy.org/2023/talk/ZCUDYT/", "title": "Controlling Self-Landing Rockets Using CVXPY", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "In this tutorial, attendees will learn hands-on how to optimize the trajectory of a self-landing rocket in a real-time simulated setting using CVXPY, a Python-embedded modeling language for convex optimization. We integrate the optimization with the Kerbal Space Program, to showcase a complete landing mission without human intervention, ideally in one piece. CVXPY allows solving complex problems declaratively, letting convex optimization find an optimal way of meeting target conditions with respect to an objective function. After solving the initial problem, attendees will use a selection of advanced CVXPY features while making the example gradually more realistic.", "description": "After giving an introduction to CVXPY at SciPy 2022, we want to follow up and provide an in-depth, worked example about one of the most inquired applications of convex optimization: controlling a self-landing rocket. Indeed, this is also one of the most complex problems to solve and practical usefulness has only recently been achieved.\r\nNevertheless, CVXPY makes it possible to elegantly solve a simplified yet at its core realistic version of the problem. The application serves as a common thread that attendees can work along while being introduced to convex optimization and CVXPY in particular, as well as some of the more advanced features of the library.\r\n\r\nThe tutorial will start by introducing the problem of controlling a self-landing rocket and why it is important. We will then provide an overview of convex optimization and how it can be used to solve this problem. Next, we will dive into the details of CVXPY, starting from a simple hello-world example and gradually moving towards expressing the full problem. Stating the problem should look familiar to anyone who has worked with NumPy before, and only requires high-school level physics knowledge to understand. \r\n\r\nWe have integrated our problem with the Kerbal Space Program, which fits the theme of our tutorial nicely. It allows us to make our problem gradually more realistic by incorporating conditions such as drag, fuel usage, and wind. We will run the scripts written by the attendees to see if it manages to land a rocket safely.\r\n\r\nAs we solve the problem, we will showcase some of the more advanced features of CVXPY, including DPP and CVXPYgen, which can give a significant speedup in practice. \r\n\r\nBy the end of the tutorial, attendees will have a thorough understanding of how to use CVXPY to solve complex optimization problems, and how to apply it to real-world problems such as controlling a self-landing rocket. No prior knowledge of convex optimization is assumed, making this tutorial accessible to beginners in the field.", "recording_license": "", "do_not_record": false, "persons": [{"code": "WCFJQM", "name": "Philipp Schiele", "avatar": "https://cfp.scipy.org/media/avatars/WCFJQM_2lf4vFG.webp", "biography": "Main instructor Philipp Schiele\r\nPhilipp Schiele's educational background is in finance and economics and he is currently pursuing a PhD in financial econometrics at the Ludwig Maximilian University of Munich, where he taught various courses in statistics. He is a CVXPY maintainer and has presented a tutorial at SciPy 2022. Generally, he is enthusiastic about finance, optimization, and technology, especially open-source projects.", "public_name": "Philipp Schiele", "guid": "edf20561-2951-5e9e-99d6-c7adb416b624", "url": "https://cfp.scipy.org/2023/speaker/WCFJQM/"}, {"code": "GUCNBJ", "name": "Steven Diamond", "avatar": "https://cfp.scipy.org/media/avatars/GUCNBJ_0TSu5jm.webp", "biography": "Steven Diamond works on large scale battery optimization at Gridmatic. Steven received a PhD in Computer Science from Stanford University, where he studied optimization under Prof. Stephen Boyd. He is the original developer and BDFL of CVXPY.", "public_name": "Steven Diamond", "guid": "1bf4e095-6f41-5079-a26f-3632c70aa2d7", "url": "https://cfp.scipy.org/2023/speaker/GUCNBJ/"}, {"code": "Q7W8MW", "name": "Eric Sager Luxenberg", "avatar": null, "biography": "Eric Luxenberg is a PhD candidate in the Electrical Engineering department at Stanford University, advised by Stephen Boyd. His research interests include robust optimization and mathematical finance. He is a contributor to CVXPY, and has developed an open-source package for saddle optimization called DSP. He has also served as the primary instructor of Stanford\u2019s convex optimization course.", "public_name": "Eric Sager Luxenberg", "guid": "c34b0748-a785-57d8-a0ef-7d6b80b29be7", "url": "https://cfp.scipy.org/2023/speaker/Q7W8MW/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/ZCUDYT/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/ZCUDYT/", "attachments": []}, {"guid": "89db3852-08ea-56ad-8b34-7a7dc2fea1d0", "code": "NFWZXD", "id": 76344, "logo": null, "date": "2023-07-10T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 104", "slug": "2023-76344-how-the-little-jupyter-notebook-became-a-web-app-managing-increasing-complexity-with-nbdev", "url": "https://cfp.scipy.org/2023/talk/NFWZXD/", "title": "How the Little Jupyter Notebook Became a Web App: Managing Increasing Complexity with nbdev", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Already familiar with ipywidgets, but ready to take your skills to the next level?  In this tutorial we walk through what it takes to transform an exploratory Jupyter Notebook into a mature web application. Web apps can be a valuable product of collaboration between researchers and software developers, and the packages used in this tutorial were selected to support this relationship, starting with using JupyterLab as an integrated development environment. Attendees will learn how to design and document a scientific web application that accommodates increasing complexity, but is also inheritable by the researchers who maintain them in the long run.", "description": "Our tutorial should appeal to scientists and software developers alike. We hope to convince you that web applications are excellent tools for improving the accessibility of scientific data and software and provide you with the know-how to develop one that accommodates growth and collaboration. The structure of the tutorial is based on a true story about a little Jupyter Notebook\u2026\r\n\r\nOne day, a research scientist created the Notebook to do some exploratory development. After a while, that Notebook grew into a reusable workflow for creating a helpful visualization the scientist often ran for different parameters. The scientist eventually recognized that their workflow might be worth sharing, so they started working with a software developer to help the little Notebook grow into a web application. At first, the developer replaced hardcoded inputs into interactive ipywidgets, and used Voila` to hide the code cells from users. That was the day the little Notebook became a dashboard, but its journey didn\u2019t stop there. Over time, the researcher had new ideas about features they wanted to add, so the developer transformed the dashboard into a tab-based web application that could accommodate more steps with rich instructions.\r\n\r\nBut there was a problem. The Notebook started experiencing growing pains. It contained more code than was comfortable. The developer made the notebook feel better by offloading some of the code into python modules. This worked well for logic, but as the application grew more complex, it was important to develop nested widget components in the visual Notebook environment. At first, the developer coded views in extra notebooks, and then copy-pasted the code into the python module, but this became laborious and confusing. One day, the developer started to write a tool that would export code cells from the notebooks into python modules. That way, the developer could code entirely in notebooks, and they could leave in all the markdown and code cells that documented what they were thinking as they designed the tool. That was the day that the little Notebook became a literate Notebook family. \r\n\r\nNot long after, the developer was listening to the Talk Python to Me podcast, and heard someone mention a tool called nbdev. The tool was just like the one the developer had made, except it had many more useful features, like notebook-friendly git commits and merges. Eureka! Finally, the developer could accommodate increasing complexity with simple tools. When the developer gave the Notebook family back, the researchers were able to maintain it themselves, without having to download scary IDEs, extensions, or environments. And they all lived happily ever after.", "recording_license": "", "do_not_record": false, "persons": [{"code": "H7BGNT", "name": "Nicole Brewer", "avatar": "https://cfp.scipy.org/media/avatars/H7BGNT_vt86cxN.webp", "biography": "Nicole is PhD student in History and Philosphy of Science at Arizona State University, where she studies the intersection of science and software from many disciplinary perspectives. As a current [Better Scientific Software Fellow](https://bssw.io/fellows/nicole-brewer) and a former research software engineer, she is passionate about using computational notebooks and literate programming to make scientific software more accessible and reproducible. Check out [Long Tales of Science](https://www.nicole-brewer.com/long-tales-of-science/) - her interview podcast about women in high-performance computing.", "public_name": "Nicole Brewer", "guid": "48532625-b35a-51ab-9959-4d05dda8fc52", "url": "https://cfp.scipy.org/2023/speaker/H7BGNT/"}, {"code": "YSLRNR", "name": "Ludovico Bianchi", "avatar": null, "biography": null, "public_name": "Ludovico Bianchi", "guid": "972ebb76-49f5-58ad-9f7d-1d5d35666845", "url": "https://cfp.scipy.org/2023/speaker/YSLRNR/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/NFWZXD/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/NFWZXD/", "attachments": []}], "Classroom 105": [{"guid": "a12b13c1-3064-5401-b752-3f2807db0832", "code": "VBZ9PN", "id": 76080, "logo": null, "date": "2023-07-10T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 105", "slug": "2023-76080-building-better-data-structures-apis-and-configuration-systems-for-scientific-software-using-pydantic", "url": "https://cfp.scipy.org/2023/talk/VBZ9PN/", "title": "Building better data structures, APIs and configuration systems for scientific software using Pydantic", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "This tutorial is an introduction to Pydantic, a library for data validation and settings management using Python type annotations. Using a semi-realistic ML and / or scientific software pipeline scenario we demonstrate how Pydantic can be used to support type validations for scientific data structures, APIs and configuration systems. We show how the use of Pydantic in scientific and ML software leads to a more pleasant user experience as well as more robust and easier to maintain code. A minimum knowledge of Python type annotations, class definitions and data structures will be helpful\r\nfor beginners but not required.", "description": "One of the most controversial design choices of Python is the use of dynamic types. Dynamic types of variables can often lead to confusion for beginners, but also for experts it is a common sources of hard-to-find bugs. For this reason the concept of type annotations has been introduced later in the language to allow for static code analysis and more detailed source code documentation. Pydantic is a Python library that makes use of these type annotations to parse and validate types for class based data structures. In the past years Pydantic has gained tremendous popularity among web developers and is now the most widely used data validation library for Python. In this tutorial we show how the use of Pydantic can help to build better data structures, APIs and configuration systems for scientific Python packages as well. In many cases the validated types lead to a more pleasant user experience as well as more robust and easier to maintain code.\r\n\r\nIn the first block we introduce the basics of the library such as the concept of Pydantic models, type annotations and atomic types such as int, float, str etc. We show how types are parsed and how models can be configured to forbid extra attributes. At the end of the block participants will try to implement the first Pydantic model and explore basic configuration settings.\r\n\r\nWe then proceed with the introduction of more complex types, such as typed dicts, Enums and date time objects. We will also cover custom types, which can bet used to build nested models. Then we introduce the basics of type validation for multiple scenarios, such as pre and post init and root validation. At the end of this block we will cover the topic of dynamic model creation. In the following hands-on session participants will implement a more complex Pydantic model representing the response from a weather data API at multiple levels of difficulty. \r\n\r\nThe subsequent block will be dedicated to serialization and deserialization of Pydantic models. We will first motivate the need and then introduce the JSON and YAML data formats. We will show how to support custom types for JSON serialization and give an overview of configuration options related to serialization. We will conclude with performance remarks for serialization a large number of model. In the corresponding hands-on exercise participants will use the weather data structure and build a small configurable data processing pipeline which visually compares the weather forecast data from different models. \r\n\r\nFinally we will give a summary and key takeaways of the tutorial and recommend additional resources for learning Pydantic.", "recording_license": "", "do_not_record": false, "persons": [{"code": "TR8USM", "name": "Nick Langellier", "avatar": null, "biography": "I am a senior machine learning engineer at VideaHealth, Inc. where I am currently developing AI models for automatic detection of dental diseases. My background is in astrophysics and I have 4 years experience as a teaching assistant at the University of Illinois at Urbana-Champaign and Harvard University. The coursework ranged from introductory to mid-level physics in both theoretical and laboratory settings. I have contributed to several conferences, most notably an invited talk at an exoplanet conference in G\u00f6ttingen, Germany. There I presented my Ph. D work on improving exoplanet analysis pipelines through the use of machine learning.", "public_name": "Nick Langellier", "guid": "ec65e173-badf-5c21-bc34-e16c8c258dd8", "url": "https://cfp.scipy.org/2023/speaker/TR8USM/"}, {"code": "DBFWBP", "name": "Axel Donath", "avatar": null, "biography": "I'm a Postdoc researcher at the Center for Astrophysics. My research interests include the Galactic X-Ray and Gamma-Ray source populations as well as statistical methods for analysis of low counts data in general. I'm also interested in methods to combine data from multiple instruments. I'm the lead developer of the open source software package Gammapy, sub-package maintainer of Astropy and a member of the CHASC astro-statistics collaboration. I'm also editor for the Astronomy and Astrophysics track of the Journal of Open Source Software JOSS.", "public_name": "Axel Donath", "guid": "7318f90a-fe7c-5d6c-bdda-3757783f2c33", "url": "https://cfp.scipy.org/2023/speaker/DBFWBP/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/VBZ9PN/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/VBZ9PN/", "attachments": []}, {"guid": "48d3eabf-2c09-592c-bd85-e69ece0495b1", "code": "RKV3PZ", "id": 76310, "logo": "https://cfp.scipy.org/media/2023/submissions/RKV3PZ/Screenshot_2023-03-01_104725_3q_QVfJV1n.png", "date": "2023-07-10T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 105", "slug": "2023-76310-meet-your-coding-best-friend-vs-code-a-hands-on-tutorial-on-how-to-get-the-most-out-of-the-world-s-most-popular-python-editor", "url": "https://cfp.scipy.org/2023/talk/RKV3PZ/", "title": "Meet your coding best friend: VS Code\ud83d\udc96 - A hands-on tutorial on how to get the most out of the world\u2019s most popular Python editor", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Visual Studio Code (VS Code) is a free code editor that runs on Windows, Linux, macOS and in your browser. This tutorial aims at Python programmers of all levels who are already using VS Code or are interested in doing so, and will take them from zero (installing VS Code) to a production setup for Python development. We will cover starter topics, such as customizing the UI and extensions, using code autocomplete, code navigation, debugging, and Jupyter Notebooks. We will also go into advanced use cases, such as remote development, pair programming via Live Share, Dev containers, GitHub Codespaces & more.", "description": "After this tutorial you will walk away with a fully equipped VS Code editor, ready to work on your next project or contribute to your favorite Scientific Python library. We will also cover tips and tricks for data science and visualization and some advanced features you may not have heard of yet.\r\n\r\n\r\nWe will cover the following topics:\r\n\r\n**The basics: VS Code editor and Python extension overview**. We will show you how to set up your editor, where to find the most useful menus and settings, and how to set up your workspace to start developing. We\u2019ll explain how to find and install our favorite extensions for Python, how to use VS Code with Git.\r\n\r\n**Scientific Python development tips and tricks**. In the second hour, we will cover how to navigate and test your Python code like a pro. We will also cover some data science tools that will help you run your favorite data analysis projects directly in VS Code, as well as some GitHub features to test and document your code.\r\n\r\n**Advanced development Part I: Work where you want to**. The third hour of the tutorial explains how to use the remote development extensions pack to hook up VS Code to a remote resource, like a powerful VM in the cloud, a local Linux instance, a Docker instance or GitHub Codespaces.\r\n\r\n**Advanced development Part II: Tools that make you look like you know magic**. It\u2019s time to have some fun and try out cool features for remote collaboration and code generation that will make you feel like the future is here.\r\n\r\n**Wrap-up & Epilogue**. We\u2019ll recap what we\u2019ve learned in this tutorial and share reading and learning materials to help you on your VS Code journey.", "recording_license": "", "do_not_record": false, "persons": [{"code": "K3R79S", "name": "Guen Prawiroatmodjo", "avatar": "https://cfp.scipy.org/media/avatars/K3R79S_5jhopEs.webp", "biography": "Guen Prawiroatmodjo is a physicist and software engineer at Microsoft Quantum. She studied Applied Physics at Delft Technical University and obtained a PhD in condensed matter physics experiment from the Niels Bohr Institute at the University of Copenhagen in Denmark. Her expertise is in quantum device characterization and control at cryogenic temperatures for developing quantum computing elements, and has broad experience with software engineering, data engineering and data science in the context of experimental data acquisition and analysis. A large part of her role is educating her fellow physicists and engineers to level up their Python development skills by adopting software best practices in their work. Guen has given introductory talks and workshops on Quantum Computing at various conferences, hackathons and events. Guen is a co-organizer of the SciPy conference and serves on the Program committee.", "public_name": "Guen Prawiroatmodjo", "guid": "9e4e85f7-f257-597d-91ea-834c9c5888eb", "url": "https://cfp.scipy.org/2023/speaker/K3R79S/"}, {"code": "BEY8TZ", "name": "Sarah Kaiser", "avatar": "https://cfp.scipy.org/media/avatars/BEY8TZ_iKziHd9.webp", "biography": "Sarah has spent most of her career developing technology in the lab, from virtual reality hardware to satellites. She got her PhD in Physics by starting plasma fires with lasers, Python, and Jupyter Notebooks. She has also written tech books for folks of all ages, including ABCs of Engineering and Learn Quantum Computing with Python and Q#.  As a Cloud Developer Advocate for Python at Microsoft and a Python Software Foundation Fellow, she finds all kinds of new ways to build and break OSS tools for data science and machine learning. When not at her split ergo keyboard, she loves boating in the Seattle area, laser cutting everything, and playing with her German Shepard, Chewie.", "public_name": "Sarah Kaiser", "guid": "c8f336b2-6cc0-5fa3-b58e-4f679f58bf7a", "url": "https://cfp.scipy.org/2023/speaker/BEY8TZ/"}, {"code": "CJCTZB", "name": "Leopold Talirz", "avatar": null, "biography": "Leopold studied physics, and then spent a decade working as a computational materials scientist, solving nature\u2019s riddles through atomistic simulations and writing software to make materials science more open, reproducible, and accessible. In 2021 he joined Microsoft Quantum to supercharge atomistic simulations via the cloud and, eventually, quantum computing. Leopold is a core contributor to the Python-based open-source[AiiDA workflow manager](https://github.com/aiidateam/aiida-core) as well as the[ Materials Cloud platform](https://www.materialscloud.org/home) for seamless sharing of resources in computational materials science. He serves on the NumFOCUS committee for evaluating affiliated project applications and is co-chairing the chemistry & materials session at SciPy this year.\r\n\r\nBesides talks at scientific conferences, Leopold organized AiiDA tutorials in Switzerland, the Netherlands, Norway, and China ([sample video](https://www.youtube.com/watch?v=bjTUnHXZ6oY)), including live[ hands-on lectures on how to code AiiDA plugins in Python.](https://www.youtube.com/watch?v=760O2lDB-TM)", "public_name": "Leopold Talirz", "guid": "9ca460e8-b806-567e-8b03-f6196a03fce3", "url": "https://cfp.scipy.org/2023/speaker/CJCTZB/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/RKV3PZ/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/RKV3PZ/", "attachments": []}]}}, {"index": 2, "date": "2023-07-11", "day_start": "2023-07-11T04:00:00-05:00", "day_end": "2023-07-12T03:59:00-05:00", "rooms": {"Classroom 106": [{"guid": "966b8bcb-e6d1-5a21-9294-d57ac184321e", "code": "8TAA7K", "id": 76236, "logo": "https://cfp.scipy.org/media/2023/submissions/8TAA7K/ms-idiomaticpd-course_Ln0MMD9_AVVvThF.png", "date": "2023-07-11T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 106", "slug": "2023-76236-idiomatic-pandas", "url": "https://cfp.scipy.org/2023/talk/8TAA7K/", "title": "Idiomatic Pandas", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Pandas can be tricky, and there is a lot of bad advice floating around. This tutorial will cut through some of the biggest issues I've seen with Pandas code after working with the library for a while and writing three books on it.\r\n\r\nWe will discuss:\r\n\r\n* Proper types\r\n* Chaining\r\n* Aggregation\r\n* Debugging", "description": "Are you confused or frustrated with Pandas? Or maybe your own Pandas code when you come back to it later, you find it confusing or difficult to work with.\r\n\r\nI've taught Pandas to thousands in Corporate settings, Universities, and Virtually. I've also seen the bad code that my students write and have strong opinions on how to correct it.\r\n\r\nThis workshop assumes you know some Pandas and want to apply idiomatic constructs to existing code. There will be some lecture and then breakout time to apply the constructs on your own:\r\n\r\nWe will cover\r\n\r\n* Types\r\n* Chaining\r\n* Mutation\r\n* Aggregation\r\n* Debugging", "recording_license": "", "do_not_record": false, "persons": [{"code": "FVXBU9", "name": "Matt Harrison", "avatar": "https://cfp.scipy.org/media/avatars/FVXBU9_nyJAkaH.webp", "biography": "Matt is a corporate trainer, author, and consultant on Python and Data Science. He has a CS degree from Stanford University. He is a best-selling author on Python and Data subjects. His books: Effective Pandas, Illustrated Guide to Learning Python 3, Intermediate Python, Learning the Pandas Library, and Effective PyCharm have all been best-selling books on Amazon. He just published Machine Learning Pocket Reference and Pandas Cookbook (Second Edition). He has taught courses at large companies (Netflix, NASA, Verizon, Adobe, HP, Exxon, and more), Universities (Stanford, University of Utah, BYU), as well as small companies. He has been using Python since 2000 and has taught thousands through live training both online and in person.", "public_name": "Matt Harrison", "guid": "c2006e4d-178a-5157-ac00-6b5ad9db2072", "url": "https://cfp.scipy.org/2023/speaker/FVXBU9/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/8TAA7K/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/8TAA7K/", "attachments": []}, {"guid": "a85b679e-9832-5316-b247-a3a58281b1df", "code": "MQQJKG", "id": 76231, "logo": null, "date": "2023-07-11T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 106", "slug": "2023-76231-advanced-dask-tutorial", "url": "https://cfp.scipy.org/2023/talk/MQQJKG/", "title": "Advanced Dask Tutorial", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Dask is a Python library for scaling and parallelizing Python code. It provides familiar, high-level interfaces to extend the SciPy ecosystem to larger-than-memory or distributed environments, as well as lower-level interfaces for parallelizing custom algorithms. In this tutorial, we\u2019ll cover advanced features of Dask like applying custom operations to Dask DataFrames and arrays, debugging computations, diagnosing performance issues, and more. Attendees should walk away with a deeper understanding of Dask\u2019s internals, an introduction to more advanced features, and ideas of how they can apply these features effectively to their own workloads.", "description": "Dask is a popular Python library for scaling and parallelizing Python code on a single machine or across a cluster. It provides familiar, high-level interfaces to extend the SciPy ecosystem (e.g. NumPy, pandas, scikit-learn) to larger-than-memory or distributed environments, as well as lower-level interfaces for parallelizing custom algorithms and workflows. In this tutorial, we\u2019ll cover advanced features of Dask like applying custom operations to Dask DataFrames and arrays, inspecting the internal state of clusters, debugging distributed computations, diagnosing performance issues, and more. Attendees should walk away with a deeper understanding of Dask\u2019s internals, an introduction to more advanced features, and ideas of how they can apply these features effectively to their own data-intensive workloads. Basic Dask experience is required, though knowledge of Dask\u2019s internals is not. This hands-on tutorial is intended for existing or aspiring Dask users looking to gain a deeper understanding of more intermediate and advanced topics.", "recording_license": "", "do_not_record": false, "persons": [{"code": "3L9XAM", "name": "Naty Clementi", "avatar": "https://cfp.scipy.org/media/avatars/3L9XAM_UUErAc9.webp", "biography": "Naty is an Open Source Software Engineer at Coiled, Dask contributor, and an experienced educator. She has taught multiple Dask tutorials at conferences like Scipy, PyData,  Women Who Code meetups, as well as periodic live tutorials. Her most recent presentations are Dask Tutorial Scipy 2022 (https://youtu.be/J0NcbvkYPoE) and PyData NYC 2022.  In her free time, she likes playing ultimate frisbee, going fly-fishing, and playing video games.", "public_name": "Naty Clementi", "guid": "c290bfa2-07ca-5992-9b3f-10de4294ca0b", "url": "https://cfp.scipy.org/2023/speaker/3L9XAM/"}, {"code": "JXUCSV", "name": "James Bourbeau", "avatar": null, "biography": "James Bourbeau is a core maintainer of Dask, experienced educator, and has presented on Dask at various conferences and meetups such as SciPy, PyCon, and PyData Global. His most recent presentation was an introductory Dask tutorial at SciPy 2020, a recording of which can be found at https://www.youtube.com/watch?v=EybGGLbLipI&t.", "public_name": "James Bourbeau", "guid": "7763738d-323d-52c1-8dac-c48b116264ef", "url": "https://cfp.scipy.org/2023/speaker/JXUCSV/"}, {"code": "BEVYYV", "name": "Julia Signell", "avatar": null, "biography": null, "public_name": "Julia Signell", "guid": "d6a0d69b-53b7-52db-91d3-8205981e862b", "url": "https://cfp.scipy.org/2023/speaker/BEVYYV/"}, {"code": "AGLPRX", "name": "Charles Blackmon-Luca", "avatar": null, "biography": null, "public_name": "Charles Blackmon-Luca", "guid": "0cc33558-bb48-58e3-b7f1-312155386ce2", "url": "https://cfp.scipy.org/2023/speaker/AGLPRX/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/MQQJKG/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/MQQJKG/", "attachments": []}], "Classroom 101": [{"guid": "075f71f3-7f12-5c89-bf50-0bb3c739d3cd", "code": "XBUC8S", "id": 76117, "logo": null, "date": "2023-07-11T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 101", "slug": "2023-76117-thinking-in-arrays", "url": "https://cfp.scipy.org/2023/talk/XBUC8S/", "title": "Thinking in arrays", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Despite its reputation for being slow, Python is the leading language of scientific computing, which generally needs large-scale (fast) computations. This is because most scientific problems can be split into \"metadata bookkeeping\" and \"number crunching,\" where the latter is performed by array-oriented (vectorized) calls into precompiled routines.\r\n\r\nThis tutorial is an introduction to array-oriented programming. We'll focus on techniques that are equally useful in NumPy, Pandas, xarray, CuPy, Awkward Array, and other libraries, and we'll work in groups on three class projects: Conway's Game of Life, evaluating decision trees, and computations on ragged arrays.", "description": "Array-oriented programming is a paradigm in its own right, challenging us to think about problems in a different way. From APL in 1966 to NumPy today, most users of array-oriented programming are scientists, analyzing or simulating data. This tutorial focuses on the thought process: all of the problems are to be solved in an imperative way (for loops) and an array-oriented way. Matlab will be used for plotting, but all plotting commands will be given (not prerequisites).\r\n\r\nWe'll alternate between short lectures and small group projects (3\u20124 people each), in which tutors will be available for help, followed by a guided tour through solutions, alternatives, and trade-offs.\r\n\r\nHere is a general outline:\r\n\r\n**0:00\u20120:20 (20 min):** Array-oriented programming as a paradigm: APL, SPEAKEASY, IDL, MATLAB, S, R, NumPy. Overview of basic and advanced slicing, broadcasting, and dimensional reduction. Powerful concept: element indexing is function application and advanced slicing is function composition.\r\n\r\n**0:20\u20120:40 (20 min):** Project 1: Conway's Game of Life. Calculating number of neighbors and updating the board \"all at once.\"\r\n\r\n**0:40\u20120:55 (15 min):** Break\r\n\r\n**0:55\u20121:15 (20 min):** Guided discussion of solutions to Project 1.\r\n\r\n**1:15\u20121:35 (20 min):** Array-oriented programming and the \"iteration until converged\" problem. How to update arrays in which some elements have converged and others haven't.\r\n\r\n**1:35\u20121:55 (20 min):** Project 2: evaluating a decision tree, by walking over each node individually (as in a computer science class) and by million-ball Plinko! (how Scikit-Learn actually does it).\r\n\r\n**1:55\u20122:10 (15 min):** Break\r\n\r\n**2:10\u20122:30 (20 min):** Solutions to Project 2.\r\n\r\n**2:30\u20122:45 (15 min):** Demo: Mandelbrot (fractal) picture, computed 11 different ways: Python, NumPy, C++ (pybind11), Cython, Numba imperative, Numba vectorized, CuPy, CuPy with custom CUDA, Numba-CUDA, JAX-CPU, and JAX-GPU. Discussion of performance and trade-offs.\r\n\r\n**2:45\u20123:05 (20 min):** Non-rectilinear (ragged) arrays and arrays of arbitrary data structures: Apache Arrow and Awkward Array.\r\n\r\n**3:05\u20123:25 (20 min):** Project 3: a big, ragged dataset: computing lengths of taxi trips from polylines with varying numbers of edges. Since this is a big dataset, we'll also look at ways to scale it up with Dask.\r\n\r\n**3:25\u20123:40 (15 min):** Break\r\n\r\n**3:40\u20124:00 (20 min):** Solutions to Project 3.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BGX8FE", "name": "Jim Pivarski", "avatar": "https://cfp.scipy.org/media/avatars/BGX8FE_lkJQBU6.webp", "biography": "Jim was trained as a particle physicist with a Ph.D. from Cornell and helped commission the CMS experiment at the Large Hadron Collider (LHC). Then he worked as a data scientist for Open Data Group for 5 years before joining Princeton as a computational physicist in 2016. Now he develops software tools for data analysis in Python, leading the development of Awkward Array, and helps users with a wide range of data analysis problems.", "public_name": "Jim Pivarski", "guid": "63cca2e7-0d94-59fd-b516-d0e29b62ce32", "url": "https://cfp.scipy.org/2023/speaker/BGX8FE/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/XBUC8S/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/XBUC8S/", "attachments": []}, {"guid": "1c6ca144-6706-5d1c-ac99-2d857aa1d615", "code": "LJQPVT", "id": 76196, "logo": null, "date": "2023-07-11T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 101", "slug": "2023-76196-sympy-introductory-tutorial", "url": "https://cfp.scipy.org/2023/talk/LJQPVT/", "title": "SymPy Introductory Tutorial", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "SymPy is a Python library for symbolic mathematics. This tutorial will introduce SymPy to a beginner audience. It will cover an introduction to symbolic computing, basic operations, simplification, calculus, matrices, advanced expression manipulation, code generation, and selected advanced topics. The tutorial does not have any prerequisites beyond knowledge of Python and basic freshman level mathematics. It will be presented with Jupyter notebooks with regular exercises for the attendees. After attending this tutorial, attendees will be able to start using SymPy to solve their own problems.", "description": "SymPy is a pure Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python.\r\n\r\nSymPy can be used in a wide array of applications. This includes basic usage as an interactive calculator, symbolically modeling problems in physics and engineering, generating fast numeric code, and use in a Python library representing custom symbolic objects. Anyone interested in learning how to get started using SymPy for any such applications should attend this tutorial.\r\n\r\nThis tutorial is a beginner level tutorial and only requires knowledge of how to use Python. Knowledge of mathematics up to basic calculus is recommended. More advanced mathematical topics will be explained as part of the tutorial. Knowledge of other Python libraries such as NumPy is NOT required. There will be a short section near the end on how to interface SymPy with other libraries such as NumPy, but the majority of the tutorial does not make use of any additional libraries.\r\n\r\nThis tutorial will cover the basics of how to use SymPy, and will also touch on some advanced topics. We will start by discussing the basics of how to build mathematical expressions with SymPy and manipulate them. We will look at how to avoid some of the more common pitfalls and gotchas when using the SymPy. We will then move onto the most common functions in SymPy such as simplification functions, solvers, functions for doing operations from calculus such as differentiation and integration, and matrices. Finally, as time permits, we will look into more advanced topics, such as code generation, extending SymPy, interfacing with other libraries such as NumPy, and additional SymPy submodules.\r\n\r\nAfter attending this tutorial, attendees will be able to start using SymPy to solve their own problems. They will also be armed with the knowledge of how to discover additional more specific functionality in SymPy that may be required for their particular use-case.\r\n\r\nWe will expect tutorial attendees to have the tutorial materials installed on their computers prior to the tutorial. This way we will not waste time in the beginning getting things installed. The tutorial will also be available online using either Binder or JupyterLite for those that do not wish to install things locally.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NCEED7", "name": "Sangyub Lee", "avatar": null, "biography": "I am a contributor of SymPy, and I have been using SymPy to develop math education solutions in Mathpresso Inc and TigerMilk.Education.", "public_name": "Sangyub Lee", "guid": "aeedc7b4-9077-58af-b8f5-258ad0117985", "url": "https://cfp.scipy.org/2023/speaker/NCEED7/"}, {"code": "C93A7K", "name": "Aaron Meurer", "avatar": null, "biography": "Aaron Meurer is a software engineer at Quansight, where he works on important projects affecting the scientific Python ecosystem including the array API standard, NumPy, and PyTorch. He is also a core maintainer of the SymPy symbolic mathematics library.", "public_name": "Aaron Meurer", "guid": "92dd2624-fd99-5e87-9d9b-4241c05c74ed", "url": "https://cfp.scipy.org/2023/speaker/C93A7K/"}, {"code": "DCR3FZ", "name": "Anutosh Bhat", "avatar": "https://cfp.scipy.org/media/avatars/DCR3FZ_Fu4NPTP.webp", "biography": "I am Anutosh Bhat, a 4rth year undegraduate student at IIT Madras . I'm persuing an interdisciplinary dual degree (B.Tech + M.Tech) in Biological Engineering and Data Science .I am an Open Source and Software Development enthusiast and have contributed to some influential libraries like SymPy, SageMath, Networkx, Kyverno and a couple others in the past . My main interests revolve around\r\ndomains like Symbolic and Numerical computations/algorithms and also some Cloud Native Computing based stuff.", "public_name": "Anutosh Bhat", "guid": "884cf4aa-8e0a-552d-bd3b-ebf8e2cd6518", "url": "https://cfp.scipy.org/2023/speaker/DCR3FZ/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/LJQPVT/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/LJQPVT/", "attachments": []}], "Classroom 202": [{"guid": "2ace4026-9559-55e2-972c-887b59590dda", "code": "7NLG3F", "id": 76159, "logo": null, "date": "2023-07-11T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 202", "slug": "2023-76159-explore-generative-models-in-ai-with-keras", "url": "https://cfp.scipy.org/2023/talk/7NLG3F/", "title": "Explore generative models in AI with Keras", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "This tutorial introduces Keras, a powerful deep learning library and demonstrates how to enable generative models using Keras. The first part delves into the Keras training pipeline and extended modules. The second part explores image generative models using stable diffusion, with live coding examples to generate novel images and teach the model new concepts. Finally, you'll explore language generative models, including GPT and BART, with a live coding example that demonstrates how to enable these models. By the end of this tutorial, you'll have a solid understanding of how to harness Keras to create powerful AI applications.", "description": "In this tutorial, we will explore the powerful Keras library and the world of generative models in AI. We will begin with a brief introduction to Keras, its history, and its value in creating neural networks. We will then dive into the Keras training pipeline, exploring sequential, functional, and custom models, optimizers, loss and metrics, and the training API. We will also cover Keras extended modules for NLP, CV, and GNN, and walk through an end-to-end example to create and optimize a model.\r\n\r\nIn the second part of the tutorial, we will specifically focus on image generative model stable diffusion architecture. We will explain stable diffusion, demonstrate a latent space walkthrough, and generate images using a colab example. Additionally, we will focus on image inpainting and teaching stable diffusion new concepts, this is called textual inversion.\r\n\r\n Finally, we will explore how generative models work in NLP, specifically focusing on GPT structure and GPT 2, BART, and the mobile playbook. We will demonstrate XLA compilation and show how general support for text generation using one API can be achieved. By the end of this tutorial, attendees will have a solid understanding of Keras and generative models and how they can be used to create powerful AI applications.", "recording_license": "", "do_not_record": false, "persons": [{"code": "89DTKG", "name": "Divyashree Shivakumar Sreepathihalli", "avatar": "https://cfp.scipy.org/media/avatars/89DTKG_9flLTDs.webp", "biography": "Divya is a talented machine learning software engineer who is currently a part of the Keras team at Google. In this role, she specializes in developing Keras core modeling APIs and KerasCV to improve the functionality of the software.\r\n\r\nDivya has an impressive track record of delivering successful conference talks, including the Southern Data Science Conference and the Women in ML Symposium. Prior to joining Google, Divya worked as a Deep Learning Scientist for Zazu Sensor, a startup group in Intel's Emerging Growth Incubation (EGI) group. Her work there focused on computer vision and deep learning algorithm development for object detection and tracking, resulting in significant advancements for the startup.\r\n\r\nBefore her time at Zazu Sensor, Divya worked as a Platform Architect at Intel's Client Computing Group, where she was responsible for developing proof of concepts for innovative solutions in anonymized computer vision applications. Her efforts resulted in several successful patents being filed, bringing substantial value to the organization.\r\n\r\nDivya completed her Masters in Computer Engineering from Texas A & M University where she focused on Artificial intelligence in 2017.", "public_name": "Divyashree Shivakumar Sreepathihalli", "guid": "8161d029-024a-5116-b540-f366abadb541", "url": "https://cfp.scipy.org/2023/speaker/89DTKG/"}, {"code": "KCRKNV", "name": "Chen Qian", "avatar": "https://cfp.scipy.org/media/avatars/KCRKNV_VCiqJjE.webp", "biography": "Chen Qian is a software engineer at Google. He is a maintainer of Keras and Tensorflow. In 2021, Chen co-founded the project KerasNLP with other Keras maintainers, and has since been working on building APIs for NLP developers. He is enthusiastic at languages, finding everything about language is charming, e.g., learning new languages, linguistics and NLP.", "public_name": "Chen Qian", "guid": "e174da7a-9ecc-5c8c-820a-0762a6466639", "url": "https://cfp.scipy.org/2023/speaker/KCRKNV/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/7NLG3F/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/7NLG3F/", "attachments": []}, {"guid": "2d8c13cf-f96f-59ed-b7ad-61c17fc578fd", "code": "F3HAUQ", "id": 76054, "logo": "https://cfp.scipy.org/media/2023/submissions/F3HAUQ/exact_vs_approximate_cdjfyvk_tUfM4gV.png", "date": "2023-07-11T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 202", "slug": "2023-76054-resampling-and-monte-carlo-methods-in-scipy-stats", "url": "https://cfp.scipy.org/2023/talk/F3HAUQ/", "title": "Resampling and Monte Carlo Methods in SciPy.stats", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Resampling and Monte Carlo statistical techniques are surprisingly intuitive, and they are often more flexible and accurate than their better-known analytical counterparts. In this tutorial, participants will develop their intuitive understanding of frequentist statistics and apply it using three functions in `scipy.stats` - `monte_carlo_test`, `permutation_test`, and `bootstrap` - to dramatically expand the statistical analyses they can perform with the SciPy Library.", "description": "Scientists and engineers often seek to answer questions of the following forms.\r\n\r\n1. Is my sample drawn from this hypothesized distribution?\r\n2. Are my samples drawn from the *same* distribution?\r\n3. Based on these samples, what can I infer about the populations from which they were drawn?\r\n\r\nCommon statistical procedures used to answer questions of these forms include:\r\n\r\n1. the one-sample t-test (\"Is my sample drawn from a distribution with population mean `m`?\"),\r\n2. the two-sample t-test (\"Are my two samples drawn from distributions with the same population mean?\"), and\r\n3. the confidence interval of the mean (\"Given my sample, what can I say about the true value of the population mean?\").\r\n\r\nSuch procedures are developed under technical assumptions (e.g., the samples were drawn from normally-distributed populations) that make the mathematics tractable, yet in practice, these assumptions can never be met exactly. Fortunately for science, the conclusions drawn from the procedures above are relatively insensitive to deviations from these assumptions\u2026 except when they\u2019re not!\r\n\r\nOne solution is to abandon frequentist statistics in favor of another paradigm (Bayesian), but the approach suggested by this tutorial is to remove the assumptions, reduce reliance on the analytical approximations, and instead use computers to approximate (or even exactly calculate) responses to the original questions. This idea will lead us to three techniques: \r\n\r\n1. Monte Carlo tests (`scipy.stats.monte_carlo_test`)\r\n2. Permutation tests (`scipy.stats.permutation_test`)\r\n3. The Bootstrap (`scipy.stats.bootstrap`)\r\n\r\nFor many of the same reasons that arithmetic (sums and differences) seems simpler than calculus (integrals and derivatives), these techniques are relatively easy to grasp. Likewise, just as computational methods for integration, equation solving, and optimization can solve a wider variety of problems than analytical approaches, these computational statistical techniques are comparatively flexible and easy to apply.\r\n\r\nDuring this tutorial, participants will write their own code to execute fundamental resampling and Monte Carlo algorithms and compare the results of their code against the equivalent functions in SciPy. They will apply their new understanding of SciPy's `monte_carlo_test`, `permutation_test`, and `bootstrap` functions to reproduce and extend the capabilities of SciPy's other statistics functions (e.g. to small samples, to discrete distributions). Through this tutorial, participants will improve their ability to apply existing statistical procedures to a given situation and gain the ability to *create* customized statistical procedures for demanding applications.", "recording_license": "", "do_not_record": false, "persons": [{"code": "EQBG7G", "name": "Matt Haberland", "avatar": "https://cfp.scipy.org/media/avatars/EQBG7G_CNQz8y4.webp", "biography": "Matt Haberland (@mdhaber) is an Assistant Professor in the BioResource and Agricultural Engineering Department at Cal Poly. He earned his Ph.D. in Mechanical Engineering at MIT in 2014 for his thesis \"Extracting Principles from Biology for Application to Running Robots\", and previously created the Contact Sensor / Stabilizer for the rock drill of the Mars rover Curiosity. Matt has been attending the SciPy conference since 2019 as maintainer of the SciPy library.", "public_name": "Matt Haberland", "guid": "c5174af2-af10-55c9-a882-813c8bd382b0", "url": "https://cfp.scipy.org/2023/speaker/EQBG7G/"}, {"code": "FCEPB7", "name": "Albert Steppi", "avatar": "https://cfp.scipy.org/media/avatars/FCEPB7_s74gHEg.webp", "biography": "Albert Steppi (@steppi) is a Senior Software Engineer at Quansight Labs. He earned a PhD in Statistics from Florida State University in 2018. Albert has been a maintainer of the SciPy library since 2021.", "public_name": "Albert Steppi", "guid": "bc0bb224-8ef5-5e1b-af36-de131d7f5c64", "url": "https://cfp.scipy.org/2023/speaker/FCEPB7/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/F3HAUQ/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/F3HAUQ/", "attachments": []}], "Classroom 203": [{"guid": "2c2d7d23-927a-5cb5-bfee-632b0c2a0ac3", "code": "ALSYBR", "id": 76143, "logo": "https://cfp.scipy.org/media/2023/submissions/ALSYBR/tutorial_banner_nvqATRn_Yk33Ch3.png", "date": "2023-07-11T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 203", "slug": "2023-76143-data-of-an-unusual-size-a-practical-guide-to-analysis-and-interactive-visualization-of-massive-datasets", "url": "https://cfp.scipy.org/2023/talk/ALSYBR/", "title": "Data of an Unusual Size: A practical guide to analysis and interactive visualization of massive datasets", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "While most scientists aren't at the scale of black hole imaging research teams that analyze Petabytes of data every day, you can easily fall into a situation where your laptop doesn't have quite enough power to do the analytics you need.\r\n\r\nIn this hands-on tutorial, you will learn the fundamentals of analyzing massive datasets with real-world examples on actual powerful machines on a public cloud provided by the presenters \u2013 starting from how the data is stored and read, to how it is processed and visualized.", "description": "\"Big data\" refers to any data that is too large to handle comfortably with your current tools and infrastructure. As the leading language for data science, Python has many mature options that allow you to work with datasets that are orders of magnitudes larger than what can fit into a typical laptop's memory.\r\n\r\nThis tutorial will help you understand how large-scale analysis differs from local workflows, the unique challenges associated with scale, and some best practices to work productively with your data.\r\n\r\nBy the end, you will be able to answer:\r\n\r\n- What makes some data formats more efficient at scale?\r\n- Why, how, and when (and when not) to leverage parallel and distributed computation (primarily with Dask) for your work?\r\n- How to manage cloud storage, resources, and costs effectively?\r\n- How interactive visualization can make large and complex data more understandable (primarily with hvPlot)?\r\n- How to comfortably collaborate on data science projects with your entire team?\r\n\r\nThe tutorial focuses on the reasoning, intuition, and best practices around big data workflows, while covering the practical details of Python libraries like Dask and hvPlot that are great at handling large data. It includes plenty of exercises to help you build a foundational understanding within three hours.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LLJSBE", "name": "Pavithra Eswaramoorthy", "avatar": "https://cfp.scipy.org/media/avatars/LLJSBE_ztwgTeT.webp", "biography": "Pavithra is a Developer Advocate at Quansight, where she works to support the PyData community. She also contributes to the Bokeh and Dask projects; and has helped administrate Wikimedia\u2019s outreach programs in the past. In her spare time, she enjoys a good book and hot coffee. :)", "public_name": "Pavithra Eswaramoorthy", "guid": "1e289f7b-bd99-5631-92fb-f28eb817cdc1", "url": "https://cfp.scipy.org/2023/speaker/LLJSBE/"}, {"code": "KYXSPX", "name": "Dharhas Pothina", "avatar": "https://cfp.scipy.org/media/avatars/KYXSPX_Rgjw3CR.webp", "biography": null, "public_name": "Dharhas Pothina", "guid": "84b3e4ad-e6c9-5b5b-ae13-488347ee752c", "url": "https://cfp.scipy.org/2023/speaker/KYXSPX/"}, {"code": "7AL7DJ", "name": "Christopher Ostrouchov", "avatar": null, "biography": null, "public_name": "Christopher Ostrouchov", "guid": "cd18c303-f9dc-50d9-8ae7-7d96e7ec456a", "url": "https://cfp.scipy.org/2023/speaker/7AL7DJ/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/ALSYBR/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/ALSYBR/", "attachments": []}, {"guid": "08fb107d-03d8-54ca-95c6-a06fcb2e5c84", "code": "QXAYRM", "id": 76094, "logo": "https://cfp.scipy.org/media/2023/submissions/QXAYRM/dataset-diagram-logo_PHL7b4e_VWFOnLS.png", "date": "2023-07-11T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 203", "slug": "2023-76094-xarray-friendly-interactive-and-scalable-scientific-data-analysis", "url": "https://cfp.scipy.org/2023/talk/QXAYRM/", "title": "Xarray: Friendly, Interactive, and Scalable Scientific Data Analysis", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Xarray provides data structures for multi-dimensional labeled arrays and a toolkit for scalable data analysis on large, complex datasets with many related variables. Xarray combines the convenience of labeled data structures inspired by Pandas with NumPy-like multi-dimensional arrays to provide an intuitive and scalable interface for scientific analysis. This tutorial will introduce data scientists already familiar with Xarray to more intermediate and advanced topics, such as applying functions in SciPy/NumPy with no Xarray equivalent, advanced indexing concepts, and wrapping other array types in the scientific Python ecosystem.", "description": "Xarray is an open-source Python project that makes working with complex, multi-dimensional arrays elegant, intuitive, and efficient. Real-world datasets are often a collection of many related variables on a common grid rather than raw numbers. Such datasets are common in the disciplines of earth science, astronomy, biology, and finance. These datasets are more than just arrays of values: they have labels which describe how array values map to locations in dimensions such as space and time and metadata that describes how the data was collected and processed.\r\n\r\nXarray embraces this complexity and enables users to use dataset metadata such as dimension names and coordinate labels to easily analyze, manipulate, and visualize their datasets. For example, the Pandas-inspired Xarray label-based syntax `temperature.sel(place=\u201dBoston\u201d)` is more intuitive and less error-prone compared to NumPy syntax: `temperature[0]`.\r\n\r\nThis hands-on tutorial will introduce data scientists already familiar with Xarray to more advanced concepts. All material will be presented via Jupyter Notebooks, with participants actively coding and performing exercises to solidify understanding of key concepts. The tutorial intersperses teaching intermediate to advanced Xarray concepts with increasingly complex real-world data analysis tasks.\r\n\r\nThe participant learning goals for the tutorial are to:\r\n\r\n1. Effectively use Xarray\u2019s powerful multidimensional indexing operations\r\n2. Become familiar with important parts of Xarray\u2019s computational API\r\n3. Understand how to extend Xarray\u2019s built-in capabilities with custom computation functions\r\n4. Understand how Xarray fits in with other array types in the scientific Python ecosystem\r\n\r\nThe structure of our tutorial is based on our extensive experience teaching Xarray over the past few years, including numerous similar tutorials at international conferences like SciPy, as well as in formal classes taught at the National Center for Atmospheric Research and the University of Washington. \r\n\r\nThe tutorial will be presented using [Nebari](scipy.quansight.dev), which will facilitate interactive computation and a consistent computational environment without requiring participants to install any software. Tutorial material will be available online ([link]( https://tutorial.xarray.dev/workshops/scipy2023/README.html)) and we will ensure that proper environment files are available for participants that prefer running the tutorial locally. Participants are expected to have some familiarity with Jupyter notebooks, NumPy, Pandas, and Xarray. No specific domain knowledge (e.g. geoscience) is required to effectively participate in this tutorial.  \r\n\r\nIf you are new to Xarray then please go through last year\u2019s tutorial ([link](https://tutorial.xarray.dev/workshops/scipy2022/README.html#scipy-2022)) prior to attending, as our tutorial will assume attendees have a working understanding of these basic concepts.", "recording_license": "", "do_not_record": false, "persons": [{"code": "RKNM7F", "name": "Deepak Cherian", "avatar": null, "biography": null, "public_name": "Deepak Cherian", "guid": "dc5d4b53-82ee-530f-8490-b34be4477995", "url": "https://cfp.scipy.org/2023/speaker/RKNM7F/"}, {"code": "RZYJPC", "name": "Thomas Nicholas", "avatar": "https://cfp.scipy.org/media/avatars/RZYJPC_15XN5Aq.webp", "biography": "Tom is a Research Software Engineer working in Ryan Abernathey's Ocean Transport Group at Lamont Doherty Earth Observatory, Columbia University.\r\n\r\nHe first started using the open-source scientific python stack during his PhD, when he was studying plasma turbulence in nuclear fusion reactors.\r\n\r\nHe is a member of the xarray core development team, and also works on xGCM, pint-xarray, and xarray-datatree.", "public_name": "Thomas Nicholas", "guid": "d1234642-fea4-5155-a2c2-67b4583a05b8", "url": "https://cfp.scipy.org/2023/speaker/RZYJPC/"}, {"code": "RJTTPM", "name": "Anderson Banihirwe", "avatar": null, "biography": null, "public_name": "Anderson Banihirwe", "guid": "e468a99e-4c46-5edb-a1c1-a5a885f3dbab", "url": "https://cfp.scipy.org/2023/speaker/RJTTPM/"}, {"code": "SR9AXZ", "name": "Jessica Scheick", "avatar": null, "biography": null, "public_name": "Jessica Scheick", "guid": "d6008101-d0d7-5de0-b1ed-55fc263128c4", "url": "https://cfp.scipy.org/2023/speaker/SR9AXZ/"}, {"code": "WW7QLE", "name": "Don Setiawan", "avatar": "https://cfp.scipy.org/media/avatars/WW7QLE_rh2Zwym.webp", "biography": "Don Setiawan is a Senior Research Software Engineer at the University of Washington, eScience Institute, Scientific Software Engineering Center (SSEC). He has expertise in Python programming, web development, geospatial data analytics, and cloud-based data engineering. He is interested in building scalable, open software to facilitate scientific discovery across fields and enforce software best practices. He has been a power user of the Xarray ecosystem for several years across various projects with Ocean Observatory Initiative (OOI), U.S. Integrated Ocean Observing System (IOOS), National Oceanic and Atmospheric Administration (NOAA), and National Aeronautics and Space Administration (NASA). He is very excited to share his knowledge and help facilitate the Xarray tutorial as this is his first time at Scipy!", "public_name": "Don Setiawan", "guid": "66cb0bc6-2e2c-50df-a8fc-af29d0057a46", "url": "https://cfp.scipy.org/2023/speaker/WW7QLE/"}, {"code": "W73W8Q", "name": "Scott Henderson", "avatar": "https://cfp.scipy.org/media/avatars/W73W8Q_waE9v1f.webp", "biography": "Scott is research scientist in the University of Washington (UW) Department of Earth and Space Sciences and data science fellow at the eScience Institute. He works on numerous NASA-funded efforts to develop open Cloud computing solutions for data intensive research.", "public_name": "Scott Henderson", "guid": "0a7c4dc6-933e-5b60-892f-e9be6ac51ee0", "url": "https://cfp.scipy.org/2023/speaker/W73W8Q/"}, {"code": "LSA9VQ", "name": "Negin Sobhani", "avatar": "https://cfp.scipy.org/media/avatars/LSA9VQ_KqfXZzg.webp", "biography": "Negin Sobhani is a High Performance Computing consultant and computational atmospheric scientist working at the National Center for Atmospheric Research (NCAR). She has several years of experience developing and supporting open-source tools and infrastructure to improve the performance and accessibility of Earth System models and bridge the gap between data science, atmospheric science, and software engineering. She is interested in applying in adopting cutting-edge data science and computational technologies to improve our understanding of the environment.", "public_name": "Negin Sobhani", "guid": "03a3b40b-b6b1-554d-9d7d-50729de015ef", "url": "https://cfp.scipy.org/2023/speaker/LSA9VQ/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/QXAYRM/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/QXAYRM/", "attachments": []}], "Enthought - 200 W Cesar Chavez St": [{"guid": "db0735a1-62ad-5319-b929-950526a4d8c3", "code": "Y8PPAA", "id": 76044, "logo": null, "date": "2023-07-11T18:30:00-05:00", "start": "18:30", "duration": "02:00", "room": "Enthought - 200 W Cesar Chavez St", "slug": "2023-76044-scipy-welcome-reception", "url": "https://cfp.scipy.org/2023/talk/Y8PPAA/", "title": "SciPy Welcome Reception", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "SciPy Welcome Reception hosted by Enthought. Tuesday, July 11, 6:30-8:30 at Enthought HQ, 200 W Cesar Chavez, Austin. Meet fellow attendees! Food and drinks served! \r\n\r\n[Walk](https://www.google.com/maps/dir/AT%26T+Hotel+and+Conference+Center,+University+Avenue,+Austin,+TX/Enthought,+200+W+Cesar+Chavez+St+Suite+202,+Austin,+TX+78701/@30.272726,-97.7524166,15z/data=!3m2!4b1!5s0x8644b508a6554d83:0x7edf0a3a6fece735!4m18!4m17!1m5!1m1!1s0x8644b59de7f3c8cf:0x7ef52b1ad3321879!2m2!1d-97.7404423!2d30.2816145!1m5!1m1!1s0x8644b509cdd787e9:0x108b9372002d7f55!2m2!1d-97.7463985!2d30.2642596!2m3!6e1!7e2!8j1689100200!3e2?entry=ttu), get a ride, or [take the bus](https://www.google.com/maps/dir/AT%26T+Hotel+and+Conference+Center,+University+Avenue,+Austin,+TX/Enthought,+200+W+Cesar+Chavez+St+Suite+202,+Austin,+TX+78701/@30.2737123,-97.7521933,15z/data=!3m1!5s0x8644b508a6554d83:0x7edf0a3a6fece735!4m19!4m18!1m5!1m1!1s0x8644b59de7f3c8cf:0x7ef52b1ad3321879!2m2!1d-97.7404423!2d30.2816145!1m5!1m1!1s0x8644b509cdd787e9:0x108b9372002d7f55!2m2!1d-97.7463985!2d30.2642596!2m3!6e1!7e2!8j1689100200!3e3!5i3?entry=ttu&utm_medium=s2email&shorturl=1) with [CapMetro](https://www.capmetro.org/app)!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "8H7BLW", "name": "200 W Cesar Chavez", "avatar": null, "biography": null, "public_name": "200 W Cesar Chavez", "guid": "60ef0795-3694-5713-98d1-64dc4d3320d1", "url": "https://cfp.scipy.org/2023/speaker/8H7BLW/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/Y8PPAA/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/Y8PPAA/", "attachments": []}], "Classroom 103": [{"guid": "446d8312-a4c6-551e-a6af-57605c59cf04", "code": "NDYWUR", "id": 76047, "logo": null, "date": "2023-07-11T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 103", "slug": "2023-76047-power-up-your-work-with-compiling-and-profiling", "url": "https://cfp.scipy.org/2023/talk/NDYWUR/", "title": "Power up your work with compiling and profiling", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "In this workshop, we will introduce Numba - a JIT compiler that is designed to speed up numerical calculations. Most people found all of it is like a mystery - It sounds like magic, but how does it work? Under what conditions does it work? And because of it, new users found it hard to start using it and it requires a steep learning curve to get the hang of it. This workshop will provide all the knowledge that you need to make Numba works for you.", "description": "Have you ever heard of Numba? It is (mainly) a JIT (Just-In-Time) compiler to make your math-heavy Python code run faster under certain conditions. Most people found all of it to be like a mystery - It sounds like magic, but how does it work? Under what conditions does it work? And because of it, new users found it hard to start using it and it requires a steep learning curve to get the hang of it.\r\n\r\nThis workshop requires no prior experience. However, it will be most beneficial to those who are working with numerical data, like data scientists and researchers. We also expect participants have no knowledge of how compilers work and not much understanding of how CPython works. Through exercises, we will explore in what situation Numba works, when it does not and the reason why. We will also look at some cases where we can make Numba works by changing a few things in your code. Hopefully, by finishing the workshop, you will have a better understanding of how Numba works before you even start using it. This knowledge can save you some time on try and error, making your experience in using it better. \r\n\r\n**What Attendees will Learn**\r\n\r\nBy the end of the workshop, you will have some understanding of what Numba is and how it speeds up your Python code. You will also have a better idea about the limitation of Numba and when it does not help. You may also know how to change your code to make it benefit from the speeding up of Numba. You will also learn some troubleshooting skills and where to look for help if got stuck in the future.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8EGVC9", "name": "Cheuk Ting Ho", "avatar": "https://cfp.scipy.org/media/avatars/8EGVC9_LbezfQb.webp", "biography": "Before working in Developer Relations, Cheuk has been a Data Scientist in various companies which demands high numerical and programmatical skills, especially in Python. To follow her passion for the tech community, Cheuk is now working with the open-source community. Cheuk also contributes to multiple Open Source libraries like Hypothesis, Django and Pandas.\r\n\r\nBesides her work, Cheuk enjoys talking about Python on personal streaming platforms and podcasts. Cheuk has also been a speaker at Universities and various conferences. Besides speaking at conferences, Cheuk also organises events for developers. Conferences that Cheuk has organized include EuroPython (which she is a board member), PyData Global and Pyjamas Conf. Believing in Tech Diversity and Inclusion, Cheuk constantly organizes workshops and mentored sprints for minority groups. In 2021, Cheuk has become a Python Software Foundation fellow.", "public_name": "Cheuk Ting Ho", "guid": "716d26c2-170b-5a5e-86e5-9d4cecf3bbdd", "url": "https://cfp.scipy.org/2023/speaker/8EGVC9/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/NDYWUR/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/NDYWUR/", "attachments": []}, {"guid": "c52e5a21-032b-5438-a4b9-f7e7b6bb6fff", "code": "PTB7DU", "id": 76060, "logo": "https://cfp.scipy.org/media/2023/submissions/PTB7DU/Screenshot_2023-01-27_at_3.17.4_VGnopoG.png", "date": "2023-07-11T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 103", "slug": "2023-76060-python-for-answering-geospatial-questions-exploring-social-inequity-in-our-communities", "url": "https://cfp.scipy.org/2023/talk/PTB7DU/", "title": "Python for answering geospatial questions: exploring social inequity in our communities", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "We love Python but maybe not enough to commit to an entire coding language. What if we could understand the fundamentals and begin working with real-time data in a single session? Actionable python scripts and understanding the frameworks might be enough to be a springboard for larger exploration projects.", "description": "Recent advances in geospatial analysis and the availability of digital maps have revealed the importance of urban form and built infrastructure as fundamental to understanding the vulnerabilities and vitality of global and local cities.\r\n\r\nLearning to write Python scripts (assuming low or no-level prior experience) we will discover morphometrics and what they reveal about the urban form of cities.", "recording_license": "", "do_not_record": true, "persons": [{"code": "EYAD3D", "name": "bonny p mcclain", "avatar": "https://cfp.scipy.org/media/avatars/EYAD3D_uxVdj7Y.webp", "biography": "Dr Bonny McClain is a geospatial analyst & self described human geographer  and social anthropologist. Dr McClain applies advanced data analytics, including data engineering and geo-enrichment, to poverty, race, and gender discussions. Her research targets judgments about structural determinants, racial equity, and elements of intersectionality to illuminate the confluence of metrics contributing to poverty. Moving beyond ZIP codes to explore apportioned socioeconomic data based on underlying population data leads to discovering novel variables based on location to build more context to complex data questions. \r\n\r\nRecent Talks:\r\nData Day Texas, Geospatial Keynote 2023\r\nOpen Source Solutions for Environmental Racism|Open Source Science Data Repositories Workshop| NASA, Langley Research Center|September 2022  \r\nKeynote Speaker | GIS DAY | Los Angeles County 2023\r\nGIS Keynote Data Day Texas 2023\r\nFormulating geospatial data questions to answer big problems | GeoPython 2022\r\nSciPy 2022-2023 Diversity Committee Chair 2022\r\nNC HIMSS Annual Conference: Closing Keynote: Location Intelligence: How Does Our Infrastructure Influence Change in Our Built Healthcare Environment?\r\nSciPy Diversity Luncheon Keynote \u2013 July 2020--bias in algorithms", "public_name": "bonny p mcclain", "guid": "bd2d1f21-8dc6-5ad4-85f5-0e36856fc462", "url": "https://cfp.scipy.org/2023/speaker/EYAD3D/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/PTB7DU/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/PTB7DU/", "attachments": []}], "Classroom 104": [{"guid": "68c40c0d-0b77-50ad-bbab-233955bb0ffc", "code": "GQ7PG3", "id": 76278, "logo": null, "date": "2023-07-11T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 104", "slug": "2023-76278-an-introduction-to-cloud-based-geospatial-analysis-with-earth-engine-and-geemap", "url": "https://cfp.scipy.org/2023/talk/GQ7PG3/", "title": "An Introduction to Cloud-Based Geospatial Analysis with Earth Engine and Geemap", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "This tutorial is an introduction to cloud-based geospatial analysis with Earth Engine and the geemap Python package. We will cover the basics of Earth Engine data types and how to visualize, analyze, and export Earth Engine data in a Jupyter environment using geemap. We will also demonstrate how to develop and deploy interactive Earth Engine web apps. Throughout the session, practical examples and hands-on exercises will be provided to enhance learning. The attendees should have a basic understanding of Python and Jupyter Notebooks. Familiarity with Earth science and geospatial datasets is not required, but will be useful.", "description": "The Earth is constantly changing, which creates significant challenges for the environment and human society. To tackle these challenges on a global scale, the Earth science community relies heavily on geospatial datasets that are collected through various means, such as satellite, aerial, and mobile sensors. However, the explosive growth of geospatial datasets over the past few decades has overwhelmed the Earth science community's capacity for storage, analysis, and visualization. Fortunately, the advent of cloud-computing platforms (e.g., Google Earth Engine) has made it possible to access, manipulate, and analyze large volumes of geospatial data on-the-fly. In recent years, Earth Engine has become increasingly popular in the geospatial community and has enabled numerous Earth science applications at local, regional, and global scales.\r\n\r\nThe geemap Python package is built upon the Earth Engine Python API and open-source mapping libraries. It allows Earth Engine users to interactively manipulate, analyze, and visualize geospatial big data in a Jupyter environment. Since its creation in April 2020, geemap has received over [2,500 GitHub stars](https://github.com/giswqs/geemap/stargazers) and is being used by over [800 projects](https://github.com/giswqs/geemap/network/dependents) on GitHub. More than [130 Jupyter notebook examples](https://geemap.org/tutorials/)  and an [open-access book](https://book.geemap.org/) are available for learning geemap. \r\n\r\nThis tutorial consists of seven 30-minute sessions and three 10-minute breaks. During each hands-on session, the attendees will walk through Jupyter notebook examples on Google Colab with the instructors. At the end of each session, they will complete a hands-on exercise to apply the knowledge they have learned. The topics that will be covered in this tutorial include: (1) Introduction to Earth Engine and geemap; (2) Using Earth Engine data; (3) Visualizing Earth Engine data; (4) Analyzing Earth Engine data; (5) Exporting Earth Engine data; (6) Creating satellite timelapse animations; and (7) Developing and deploying interactive Earth Engine web apps. \r\n\r\nThis tutorial is intended for scientific programmers, data scientists, geospatial analysts, and concerned citizens of Earth. Attendees should have a basic understanding of Python and the Jupyter ecosystem. Familiarity with Earth science and geospatial datasets is not necessary, but it will be helpful. For more information about Earth Engine and geemap, visit https://earthengine.google.com and https://geemap.org.", "recording_license": "", "do_not_record": false, "persons": [{"code": "UX3DZA", "name": "Steve Greenberg", "avatar": "https://cfp.scipy.org/media/avatars/UX3DZA_Ftu4V6P.webp", "biography": "Steve is passionate about using machine learning and remote sensing technology to tackle the climate and sustainability crises. He leads the Developer Relations team for [Google Earth Engine](https://earthengine.google.com/). Earth Engine is a  geospatial analysis platform advancing planetary sustainability and resilience to climate change. His team helps remote sensing professionals, data scientists and machine learning engineers analyze petabytes of satellite imagery to understand and protect the earth. Earth Engine is provided [free-of-charge for noncommercial and research purposes](https://earthengine.google.com/noncommercial/).\r\n\r\nFrom 2016 through 2021, Steve led Developer Relations for BigQuery, Vertex AI and other Machine Learning and Data Analytics products in Google Cloud Platform, where he focused on improving the experience for users of scikit-learn, XGBoost and TensorFlow.\r\n\r\nSteve also co-leads Google's largest grassroots sustainability group - organizing Googlers to incubate new climate initiatives. Three of the climate areas he's worked on - wind energy prediction, real-time precipitation modeling and sustainable building design - have graduated into full-time projects at Google. Prior to joining Google in 2016, Steve led engineering at a Seattle startup helping governments be more accountable to their citizens with public data. Before 2012, Steve was a Program Manager working on various data efforts in Microsoft's Office team.", "public_name": "Steve Greenberg", "guid": "fd5dfae1-96df-5a9a-9557-7bffece407be", "url": "https://cfp.scipy.org/2023/speaker/UX3DZA/"}, {"code": "ZFYMW8", "name": "Qiusheng Wu", "avatar": "https://cfp.scipy.org/media/avatars/ZFYMW8_6I635HH.webp", "biography": "Qiusheng Wu is an Associate Professor in the Department of Geography & Sustainability at the University of Tennessee, Knoxville. He is also an Amazon Visiting Academic and a Google Developer Expert (GDE) for Earth Engine. His research focuses on Geographic Information Science, remote sensing, and open-source software development. Dr. Wu is an advocate of open science and reproducible research. He has developed several open-source packages that have been widely used by the geospatial community, such as [geemap](https://geemap.org) and [leafmap](https://leafmap.org). For more information about his research, visit https://wetlands.io.", "public_name": "Qiusheng Wu", "guid": "aa94f30f-c354-5aa6-ac2e-4f5b2fea2a2f", "url": "https://cfp.scipy.org/2023/speaker/ZFYMW8/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/GQ7PG3/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/GQ7PG3/", "attachments": []}, {"guid": "38d45603-035d-592c-a03d-263fb0f692fc", "code": "YHEYVY", "id": 76107, "logo": null, "date": "2023-07-11T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 104", "slug": "2023-76107-a-hands-on-introduction-to-production-grade-data-science-orchestration-with-flyte", "url": "https://cfp.scipy.org/2023/talk/YHEYVY/", "title": "A Hands-on Introduction to Production-grade Data Science Orchestration with Flyte", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "One of the biggest challenges for data scientists and machine learning engineers alike is the friction caused by the iteration cycle between prototyping and production. It\u2019s not enough to deploy a working model to a serving app. The iterative process itself needs to be a tight feedback loop between experimentation, data and model refinement, deploying to production, and dealing with data drift. In this tutorial, attendees will learn how to unify the common tools in the Python Data/ML scientific stack into a single orchestration plane using Flyte so that you can reduce the friction between prototyping and production.", "description": "# Background\r\nThis tutorial interleaves lecture-style content and coding exercises to give data scientists, machine learning engineers, and data engineers hands-on experience with Flyte. Flyte is an open source workflow orchestrator that has a Python SDK for writing and scheduling execution graphs in a type-safe, reproducible manner. The topics and concepts covered in this tutorial are transferable to other similar orchestration tools, or would be useful for anyone who wants to build their own orchestrator. We will anchor the tutorial to five challenges of model development and deployment: scalability, data quality, reproducibility, recoverability, and auditability. Using Flyte, we\u2019ll see how to address these challenges and abstract them out to give you a broader understanding of how to overcome them.\r\n\r\n# Main Content\r\nFirst I\u2019ll define and describe what these five challenges mean in the context of model development. Then I\u2019ll dive into the ways in which Flyte provides solutions to them, taking you through the reasoning behind Flyte\u2019s data-centric and ML-aware design. We'll cover:\r\n\r\n- **Flyte tasks and workflows**: the building blocks for expressing execution graphs.\r\n- **Dynamic workflows**: for defining execution graphs at runtime.\r\n- **Map tasks**: Scale embarrassingly parallel workflows.\r\n- **Plugins**: Extend Flyte's core functionality.\r\n- **Type System**: See the benefits of static type safety.\r\n- **DataFrame Types**: Validate dataframe-like objects at runtime.\r\n- **Reproducibility**: Containerize and harden your execution graph.\r\n- **Caching**: Don't waste precious compute resources re-running nodes.\r\n- **Recovering Executions**: Build fault-tolerant pipelines.\r\n- **Checkpointing**: Checkpoint progress within a node.\r\n- **Flyte Decks**: Create rich static reports associated with your tasks.\r\n\r\nAttendees will learn how Flyte distributes and scales computation, enforces static and runtime type safety, leverages Docker to provide strong reproducibility guarantees, implements caching and checkpointing to recover from failed model training runs, and ships with built-in data lineage tracking for full data pipeline auditability.\r\n\r\n# Wrap-up\r\nThe end of the tutorial will provide a summary of all the main learnings, point to resources to learn more, and a discussion for attendees to address their questions.\r\n\r\n# Resources\r\n- [Flyte Repo](https://github.com/flyteorg/flyte)\r\n- [Flyte Docs](https://docs.flyte.org/en/latest/)\r\n- [Scipy 2022 Flyte talk](https://www.youtube.com/watch?v=EykWaiHHDNg)\r\n- [Scipy 2020 Pandera talk](https://www.youtube.com/watch?v=PxTLD-ueNd4)", "recording_license": "", "do_not_record": false, "persons": [{"code": "NGXHHL", "name": "Niels Bantilan", "avatar": "https://cfp.scipy.org/media/avatars/NGXHHL_Os1PhmD.webp", "biography": "Niels is the Chief Machine Learning Engineer at Union.ai, and core maintainer of Flyte, an open source workflow orchestration tool, author of UnionML, an MLOps framework for machine learning microservices, and creator of Pandera, a statistical typing and data testing tool for scientific data containers. His mission is to help data science and machine learning practitioners be more productive.\r\n\r\nHe has a Masters in Public Health with a specialization in sociomedical science and public health informatics, and prior to that a background in developmental biology and immunology. His research interests include reinforcement learning, AutoML, creative machine learning, and fairness, accountability, and transparency in automated systems.", "public_name": "Niels Bantilan", "guid": "b5c42586-105a-59c4-8f39-15a7d5a978a8", "url": "https://cfp.scipy.org/2023/speaker/NGXHHL/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/YHEYVY/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/YHEYVY/", "attachments": []}], "Classroom 105": [{"guid": "568182a3-f27c-5573-86e5-cf71f03b3a62", "code": "VKXXNH", "id": 76210, "logo": null, "date": "2023-07-11T08:00:00-05:00", "start": "08:00", "duration": "04:00", "room": "Classroom 105", "slug": "2023-76210-hvplot-and-panel-visualize-all-your-data-easily-from-notebooks-to-dashboards", "url": "https://cfp.scipy.org/2023/talk/VKXXNH/", "title": "hvPlot and Panel: Visualize all your data easily, from notebooks to dashboards", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "This tutorial will show you how to use the Pandas or Xarray APIs you already know to interactively explore and visualize your data even if it is big, streaming, or multidimensional. Then just replace your expression arguments with widgets to get a web app that you can share as HTML+WASM or backed by a live Python server.  These tools let you focus on your data rather than the API, and let you build linked, interactive drill-down exploratory apps without having to run a web-technology software development project, which you can then share without becoming an operations specialist.", "description": "Python offers many powerful visualization tools, each with their own strengths and advantages, but few people have the time and interest to learn all the different APIs required to use these different tools. Luckily, a de-facto standard API for data plotting has emerged in the Pandas .plot() API, which is now supported by many different plotting packages.\r\n\r\nIn this tutorial, you will learn how to use hvPlot, a high-level interactive plotting library that exposes the power of Bokeh, Matplotlib, Plotly, Datashader, and Cartopy using the same .plot API you may already know from using Pandas or Xarray's plotting interface. We'll also show you how to turn nearly any expression you can write with that API into a web app with plots and tables by simply substituting widgets for any parameters you want users to be able to select. Thanks to the HoloViz tools on which hvPlot is built, the resulting apps can easily handle big data (up to billions of rows on an ordinary laptop), remote data (either in Jupyter or in standalone apps), streaming data (using streaming dataframe libraries), geographical data (building on the geoscience software stack), and multidimensional data (using Xarray).\r\n\r\nhvPlot's high-level interface should be sufficient for nearly all of the common data-exploration and data-analysis tasks you want to do with Pandas or Xarray, but in keeping with the HoloViz philosophy of \"shortcuts rather than dead ends\", we'll also show you how and when to drop down to lower-level APIs when you need to, such as when building more complex apps using Panel, doing complex graphical data calculations using Datashader, or integrating plotting and interactivity into your own libraries using Param and HoloViews. \r\n\r\nWith the techniques you learn in the hands-on exercises in this tutorial, you'll get the tools and know-how to effectively explore, analyze and visualize simple or complex, small or large, and static or dynamic data easily, concisely, and reproducibly. The resulting visualizations and apps can be shared as static images, simple HTML documents with limited interactivity, HTML+WASM documents with full Python-backed interactivity, or as Python apps deployed on a remote server. We expect participants to have previously used some sort of plotting tool and to be comfortable with Python and at least one array-based library (Numpy, Pandas, Xarray, CuPy, cuDF, Dask, etc.).", "recording_license": "", "do_not_record": false, "persons": [{"code": "LAFT9K", "name": "Sophia Yang", "avatar": "https://cfp.scipy.org/media/avatars/LAFT9K_mVJMPW9.webp", "biography": "Sophia Yang is a Senior Data Scientist and a Developer Advocate at Anaconda. She is passionate about the data science community and the Python open-source community. She is the author of multiple Python open-source libraries such as condastats, cranlogs, PyPowerUp, intake-stripe, and intake-salesforce. She serves on the Steering Committee and the Code of Conduct Committee of the Python open-source visualization system HoloViz. She also volunteers at NumFOCUS, PyData, and SciPy conferences. She holds an M.S. in Computer Science, an M.S. in Statistics, and a Ph.D. in Educational Psychology from The University of Texas at Austin.", "public_name": "Sophia Yang", "guid": "7377856c-6eb6-5eca-9811-453e7c47829a", "url": "https://cfp.scipy.org/2023/speaker/LAFT9K/"}, {"code": "RKAYQQ", "name": "James A. Bednar", "avatar": "https://cfp.scipy.org/media/avatars/RKAYQQ_JR48aod.webp", "biography": "Jim Bednar is the Director of Custom Services at Anaconda, Inc. Dr. Bednar holds a Ph.D. in Computer Science from the University of Texas, along with degrees in Electrical Engineering and Philosophy. He has published more than 50 papers and books about the visual system, software development, and reproducible science. Dr. Bednar manages the HoloViz project, a collection of open-source Python tools that includes Panel, hvPlot, Datashader, HoloViews, GeoViews, Param, Lumen, and Colorcet. Dr. Bednar was a Lecturer and Reader in Computational Neuroscience at the University of Edinburgh from 2004-2015, and previously worked in hardware engineering and data acquisition at National Instruments.", "public_name": "James A. Bednar", "guid": "b853e44a-7b56-5cf8-9f56-1a87bfc999ea", "url": "https://cfp.scipy.org/2023/speaker/RKAYQQ/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/VKXXNH/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/VKXXNH/", "attachments": []}, {"guid": "03c3a049-2418-5d0f-a28e-38b470f8e151", "code": "C9QZXU", "id": 76304, "logo": "https://cfp.scipy.org/media/2023/submissions/C9QZXU/bokeh-tutorial-session-image_7z_jvNo4ah.png", "date": "2023-07-11T13:30:00-05:00", "start": "13:30", "duration": "04:00", "room": "Classroom 105", "slug": "2023-76304-interactive-data-visualization-with-bokeh", "url": "https://cfp.scipy.org/2023/talk/C9QZXU/", "title": "Interactive data visualization with Bokeh", "subtitle": "", "track": "Tutorials", "type": "Tutorial", "language": "en", "abstract": "Bokeh is a library for interactive data visualization. You can use it with Jupyter Notebooks or create standalone web applications, all using Python. This tutorial is a complete guide to Bokeh, where we start with a basic line plot and step-by-step make our way to creating a dashboard with several interacting components. This tutorial will be helpful for scientists who are looking to level-up their analysis and presentations, and tool developers interested in adding custom plotting functionally or dashboards.", "description": "Bokeh is a Python library for creating interactive data visualizations. Bokeh allows you to create plots that can be displayed in a web browser, without needing to write HTML and JavaScript. In development for over 10 years, Bokeh has become a core tool for Python data science workflows, used for both exploratory analysis and in presentations. It is actively used in scientific domains including bioscience, geoscience, and astrophysics. Moreover, other useful libraries in the PyData ecosystem, like Dask, ArViz, and the Holoviz tools, build custom applications and workflows with Bokeh.\r\n\r\nIn this tutorial, you\u2019ll learn everything you need to know to create beautiful and powerful interactive plots from scratch. We\u2019ll start by introducing core Bokeh concepts, creating simple static plots like line and bar charts, and customizing them. We\u2019ll then gradually introduce layers of interactivity, create specialized plots like geographic maps, and discuss new features like contour plots. By the end, you will be able to create a complete interactive dashboard using Bokeh.\r\n\r\nThis tutorial is presented by Bokeh core team members and is fully hands-on with several examples and exercises in every section. We hope to enable more people, especially scientists and tool developers, to create pretty yet powerful visualizations.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LLJSBE", "name": "Pavithra Eswaramoorthy", "avatar": "https://cfp.scipy.org/media/avatars/LLJSBE_ztwgTeT.webp", "biography": "Pavithra is a Developer Advocate at Quansight, where she works to support the PyData community. She also contributes to the Bokeh and Dask projects; and has helped administrate Wikimedia\u2019s outreach programs in the past. In her spare time, she enjoys a good book and hot coffee. :)", "public_name": "Pavithra Eswaramoorthy", "guid": "1e289f7b-bd99-5631-92fb-f28eb817cdc1", "url": "https://cfp.scipy.org/2023/speaker/LLJSBE/"}, {"code": "JC9KK8", "name": "Ian Thomas", "avatar": "https://cfp.scipy.org/media/avatars/JC9KK8_0S2a5jv.webp", "biography": "Ian Thomas is a Senior Software Engineer at Anaconda. Originally an ocean modeller, Ian has many years' experience analysing and visualising data. Ian is an Open Source contributor and core maintainer of a number of libraries, most notably Bokeh, Datashader and fsspec. Ian is British and drinks a lot of tea.", "public_name": "Ian Thomas", "guid": "c2ea9ac6-5b6d-52fa-9813-e6eaa34ec29f", "url": "https://cfp.scipy.org/2023/speaker/JC9KK8/"}, {"code": "BBLFMK", "name": "Bryan Van de Ven", "avatar": null, "biography": null, "public_name": "Bryan Van de Ven", "guid": "0db64ccf-ce8e-5bc5-8854-cc86e09a7ba2", "url": "https://cfp.scipy.org/2023/speaker/BBLFMK/"}, {"code": "HMRG3H", "name": "Timo Metzger", "avatar": "https://cfp.scipy.org/media/avatars/HMRG3H_1DfZzyX.webp", "biography": "Timo is a technical writer and project manager at makepath. He started contributing to Bokeh in 2020 and loves to help others succeed in the world of Open Source.", "public_name": "Timo Metzger", "guid": "7ee630a7-24b1-596e-acd4-12314bed215d", "url": "https://cfp.scipy.org/2023/speaker/HMRG3H/"}, {"code": "8RCL3H", "name": "Victoria Adesoba", "avatar": "https://cfp.scipy.org/media/avatars/8RCL3H_aGXLZAy.webp", "biography": "Victoria is the Director of Operations at makepath and has enjoyed contributing to Bokeh over the last year. She enjoys traveling and working on the go as well as mentoring youth in her community.", "public_name": "Victoria Adesoba", "guid": "c53c988e-7427-54b2-ad63-cf411820ecea", "url": "https://cfp.scipy.org/2023/speaker/8RCL3H/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/C9QZXU/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/C9QZXU/", "attachments": []}]}}, {"index": 3, "date": "2023-07-12", "day_start": "2023-07-12T04:00:00-05:00", "day_end": "2023-07-13T03:59:00-05:00", "rooms": {"Amphitheater 204": [{"guid": "352f9d4e-83c9-5d15-8ea2-e0749ef0b5d0", "code": "DF8PVV", "id": 76382, "logo": null, "date": "2023-07-12T10:45:00-05:00", "start": "10:45", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76382-out-performing-numpy-is-hard-when-and-how-to-try-with-your-own-c-extensions", "url": "https://cfp.scipy.org/2023/talk/DF8PVV/", "title": "Out-Performing NumPy is Hard: When and How to Try with Your Own C-Extensions", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "While the NumPy C API lets developers write C that builds or evaluates arrays, just writing C is often not enough to outperform NumPy. NumPy's usage of Single Instruction Multiple Data routines, as well as multi-source compiling, provide optimizations that are impossible to beat with simple C. This presentation offers principles to help determine if an array-processing routine, implemented as a C-extension, might outperform NumPy called from Python. A C-extension implementing a narrow use case of the ``np.nonzero()`` routine will be studied as an example.", "description": "While it is well known that C-extensions can improve the performance of Python programs, writing C-extensions that improve the performance of NumPy array operations is different. Many NumPy functions employ highly optimized C routines, some of which take advantage of low-level processor optimizations. In most cases, just writing Python that calls NumPy is faster than a custom C extension. However, for routines that are sufficiently narrow in scope, there are opportunities for optimization.\r\n\r\nThis presentation offers principles to help determine if a routine, implemented as a C-extension, might outperform related NumPy routines called from Python. Along the way, Python project setup, and the basics of the NumPy C API, will be introduced.\r\n\r\nA narrow use-case of the ``np.nonzero()`` function will be implemented in C as an example: rather than returning all indices of all non-zero values for all dtypes and dimensionalities (as ``np.nonzero()`` does), this new function, ``first_true_1d()``, will return only the index of the first-encountered non-zero value for one-dimensional Boolean arrays. The performance of this far simpler routine, and why it sometimes cannot out-perform ``np.nonzero()``, will be examined.", "recording_license": "", "do_not_record": false, "persons": [{"code": "RGP8QS", "name": "Christopher Ariza", "avatar": "https://cfp.scipy.org/media/avatars/RGP8QS_KREo4xP.webp", "biography": "Christopher Ariza is Partner and Chief Technology Officer at Research Affiliates, a global leader in investment strategies and research. He is the creator and lead developer of StaticFrame, an alternative DataFrame library built on an immutable data model. Having worked in Python for over 20 years, he has developed tools in a variety of domains, including algorithmic music composition and computer-aided musicology, and has spoken at numerous conferences, including PyCon USA, PyData Global, PyData Los Angeles, and numerous other venues.", "public_name": "Christopher Ariza", "guid": "470772f3-d368-59f2-98f8-24fae7c69949", "url": "https://cfp.scipy.org/2023/speaker/RGP8QS/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/DF8PVV/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/DF8PVV/", "attachments": [{"title": "Sample performance comparison panel.", "url": "/media/2023/submissions/DF8PVV/resources/first_true_uoGq4yD_9T_shoAolt.png", "type": "related"}]}, {"guid": "d6a4ddac-ce7b-53f1-8387-a86c35456c53", "code": "VUFGS8", "id": 76376, "logo": null, "date": "2023-07-12T11:25:00-05:00", "start": "11:25", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76376-can-there-be-too-much-parallelism", "url": "https://cfp.scipy.org/2023/talk/VUFGS8/", "title": "Can There Be Too Much Parallelism?", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "Numerical Python libraries can run computations on many CPU cores with various parallel interfaces. When we simultaneously use multiple levels of parallelism, it may result in oversubscription and degraded performance. This talk explores the programming interfaces used to control parallelism exposed by libraries such as NumPy, SciPy, and scikit-learn. We will learn about parallel primitives used in these libraries, such as OpenMP and Python's multiprocessing module. We will see how to control parallelism in these libraries to avoid oversubscription. Finally, we will look at the overall landscape for configuring parallelism and highlight paths for improving the user experience.", "description": "Numerical Python libraries such as NumPy, SciPy, and PyTorch can run computations on multiple CPU cores. These libraries expose a wide range of programming interfaces to control parallelism. These interfaces include environment variables, library-specific APIs, and context managers such as threadpoolctl. While reviewing the interfaces for controlling parallelism, we will learn about the many parallel primitives used in these libraries. We will cover lower-level primitives such as pthreads or OpenMP and higher-level primitives such as Python's multithreading and multiprocessing modules. Libraries that require lower-level parallel primitives need to go through a compilation step with languages and tools such as Numba, Cython, C++, or Rust. When we use multiple forms of parallelism, controlling how many cores your program uses is essential to prevent oversubscription. We will learn how libraries such as Dask, Ray, and scikit-learn handles mix their parallelism with user-provided parallel routines. Finally, we will zoom out to see the overall landscape for controlling parallelism and highlight possible paths to improve the user and developer experience. This is an intermediate talk for software and machine learning engineers that want to understand and configure parallelism in the PyData stack.", "recording_license": "", "do_not_record": false, "persons": [{"code": "VQNJX7", "name": "Thomas J. Fan", "avatar": null, "biography": "Thomas J. Fan is a Staff Software Engineer at Quansight Labs and is a maintainer for scikit-learn, an open-source machine learning library for Python. Previously, Thomas worked at Columbia University to improve interoperability between scikit-learn and AutoML systems. He is a maintainer for skorch, a neural network library that wraps PyTorch. Thomas has a Master's in Mathematics from NYU and a Master's in Physics from Stony Brook University.", "public_name": "Thomas J. Fan", "guid": "1449db64-6da5-570c-9a92-836908fca5e3", "url": "https://cfp.scipy.org/2023/speaker/VQNJX7/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/VUFGS8/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/VUFGS8/", "attachments": []}, {"guid": "45f9ff5a-c091-5b0d-a717-00043687b060", "code": "3NBFHV", "id": 75930, "logo": "https://cfp.scipy.org/media/2023/submissions/3NBFHV/Scientific-Python-min_NTmaUXt_f94D3pw.png", "date": "2023-07-12T13:15:00-05:00", "start": "13:15", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-75930-scientific-python-from-init-to-call", "url": "https://cfp.scipy.org/2023/talk/3NBFHV/", "title": "Scientific Python: from `__init__` to `__call__`", "subtitle": "", "track": "Tending Your Open Source Garden: Maintenance and Community", "type": "Talk", "language": "en", "abstract": "The Scientific Python project aims to better coordinate the ecosystem and grow the community. Come hear about our recent progress and our plans for the coming year!", "description": "The Scientific Python project's vision is to help pave the way toward a vibrant, unified, and collaborative scientific Python community.\r\nIt focuses its efforts along two primary axes: _(i)_ to create a joint community around scientific Python projects\r\nand _(ii)_ to support maintainers by building cross-cutting technical infrastructure and tools.\r\n\r\nLast year we launched the project with new websites, a Hugo web theme, a social media campaign, and a collaborative coordination process similar to PEPs called SPECs.\r\nThis year, we are fortunate to have received [funding from CZI](https://scientific-python.org/grants/community_and_communications_infrastructure/) for the continued development, maintenance, and support of web and documentation themes, as well as other community infrastructure, in collaboration with Quansight.\r\nWith the community and communication infrastructure having support for the next few years, we are able to focus more on technical topics and the SPECs.\r\n\r\nAs a first project, we are [funded to work on improving sparse *array*](https://scientific-python.org/grants/sparse_arrays) (vs matrix) semantics in SciPy with the goal of removing sparse *matrices* and, eventually, also NumPy *matrices* from several ecosystem libraries. In line with our philosophy of continually working with the community and incorporating their feedback, we hosted the first of several [Sparse Summits](https://scientific-python.org/summits/sparse/)\u2014virtual meetings to identify sparse array needs in ecosystem libraries.\r\nThis project spans multiple core projects, including numpy, scipy, scikit-image, networkx, scikit-learn, and many of the packages built on top of these libraries.\r\n\r\nIn addition to the sparse summit, we have hosted a [domain stack summit](https://scientific-python.org/summits/domain-stacks/), to discuss domain-specific umbrella projects that host several others, as well as the first [annual developer summit](https://scientific-python.org/summits/developer/).\r\nThis in-person workshop brought together over 30 community members for a week-long, collaborative sprint, and tackled topics including build & testing systems, continuous integration infrastructure, release management tools, and community management.\r\n\r\nFinally, we will update the community on our progress on the [decadal plan](https://scientific-python.org/grants/planning_next_decade/).\r\n\r\nOur efforts thus far have already culminated in joint efforts to develop tools and shared infrastructure that will positively impact the whole ecosystem.\r\nAnd, while there is still a long road ahead, we are excited to continue preparing the ecosystem for the next decade of scientific computing in Python.", "recording_license": "", "do_not_record": false, "persons": [{"code": "SE7SNC", "name": "Juanita Gomez", "avatar": "https://cfp.scipy.org/media/avatars/SE7SNC_K4Q7qY0.webp", "biography": "Juanita Gomez is passionate programmer, mathematician and open source advocate; former developer of Spyder IDE at Quansight. She has a BS in Pure Mathematics from Pontificia Universidad Javeriana in Colombia and is currently pursuing a Ph.D position in Computer Science at UC Santa Cruz. She is a community manager for the Scientific Python project, a community effort to better coordinate and support scientific Python libraries.", "public_name": "Juanita Gomez", "guid": "0391b08c-6c69-57f1-9615-d858bbefda8d", "url": "https://cfp.scipy.org/2023/speaker/SE7SNC/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/3NBFHV/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/3NBFHV/", "attachments": []}, {"guid": "3bcae804-4357-5e20-9618-4b1925c9608d", "code": "KXWZJY", "id": 76356, "logo": null, "date": "2023-07-12T13:55:00-05:00", "start": "13:55", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76356-beyond-bits-qubits-effective-open-source-community-management-in-quantum-computing", "url": "https://cfp.scipy.org/2023/talk/KXWZJY/", "title": "Beyond Bits & Qubits: Effective Open Source Community Management in Quantum Computing", "subtitle": "", "track": "Tending Your Open Source Garden: Maintenance and Community", "type": "Talk", "language": "en", "abstract": "Qiskit is an open-source SDK for quantum computers, enabling developers to work with these powerful machines using a familiar python interface. First released in 2017, Qiskit has become the most popular package for quantum computing (Unitary Fund, 2022), with a thriving open-source community. As Qiskit has grown and changed, so has our approach to nurturing our community. This talk will share important lessons we\u2019ve learnt over the years, including practical tips you can apply to your own projects. Whether you\u2019re just starting in open-source or already manage an established community, this talk is for you!", "description": "basic outline of proposed talk:\r\n\r\n### 1. Context\r\nThis section will provide a brief introduction to Qiskit (https://qiskit.org) as an open-source package and some of the challenges we\u2019ve faced in maintaining and growing our community.  \r\n\r\n### 2. The Academic Element\r\nOne of the unique aspects of maintaining an open-source project in a scientific field is the closer relationship to academia compared to other open-source software. This can pose unique challenges, as researchers often have different goals, mindsets and working culture when it comes to publishing code, which doesn\u2019t always work well with traditional open-source ways of working. We continually face these conflicts in Qiskit, so in this section we will talk through some of the effective ways we\u2019ve found to address these differences through education and the development of of the Qiskit Ecosystem (https://qiskit.org/ecosystem).  \r\n\r\n### 3. Clearly Defined Spaces\r\nDefining the mechanisms for *how* different members of the community interact is a subtle yet crucial aspect of community management that requires careful planning. Whether it\u2019s clearly defined issue templates, organised discussion forums, or actual events, having clearly defined spaces can help contributors and maintainers work together more effectively. So this section will demonstrate specific strategies we\u2019ve used in Qiskit and the underlying principles that make them effective.\r\n\r\n### 4. Be a Kind Human\r\nThis section will focus on the incredibly important aspect of fostering a welcoming culture within your open-source community. We will touch on the importance of a code of conduct, contributing guidelines, issue tagging, using empathetic and accessible language, and other general tips for making the whole contribution experience inclusive.  \r\n\r\n### 5. Metrics and Automation\r\nThis section will focus on how to use automations to streamline your contributor experience and collect valuable data along the way. From bots to actions to built-in GitHub features there are a ton of options to choose from, so we\u2019ll highlight the ones we\u2019ve found the most useful and the important insights we\u2019ve gained as a result.  \r\n\r\n### 6. Development meets DevRel\r\nEffective community management requires significant time investment, which can take a toll on project maintainers. This section will make the case for working closely with Developer Relations experts (perhaps even hiring one if you haven\u2019t already!) to offload some of that burden. Developer Advocates are highly specialised in communication for a developer audience, and can become valuable assets when brought into an open-source team.  \r\n\r\n### 7. The Community Management Graveyard\r\nTo wrap things up, this section will cover ideas that we have tried and failed during our community management journey in Qiskit. Things that started out with the best intentions that just didn\u2019t work out and what we learned from the process. The tone of this section will demonstrate how experimenting is an important part of the process of finding a community management setup that works for you, and that trying and failing in public is what open source is all about.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YA9JNA", "name": "Abby Mitchell", "avatar": "https://cfp.scipy.org/media/avatars/YA9JNA_BXeoSkm.webp", "biography": "Abby joined IBM in 2019 as a full stack web developer before moving to IBM Quantum as a Developer Advocate in March 2021. She is currently working on Qiskit, an Open Source SDK for Quantum Computers. As a primarily self taught developer and quantum enthusiast she is passionate about encouraging people from any background to pursue their interest in technology.", "public_name": "Abby Mitchell", "guid": "fa83a68b-a57d-5570-8495-ac4f80f80e04", "url": "https://cfp.scipy.org/2023/speaker/YA9JNA/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/KXWZJY/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/KXWZJY/", "attachments": []}, {"guid": "4a3be880-0723-5c08-9115-ae91c4057441", "code": "QUNAY9", "id": 75998, "logo": null, "date": "2023-07-12T14:35:00-05:00", "start": "14:35", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-75998-thar-be-dragons-ethical-legal-and-policy-challenges-when-measuring-open-source", "url": "https://cfp.scipy.org/2023/talk/QUNAY9/", "title": "Thar Be Dragons - Ethical, Legal, and Policy Challenges when Measuring Open Source", "subtitle": "", "track": "Tending Your Open Source Garden: Maintenance and Community", "type": "Talk", "language": "en", "abstract": "Open source researchers are increasingly challenged while navigating the data which open source communities inherently create when working in the open. While mining software repositories for insights into open source practices isn't new, moving beyond code analysis into ecosystems-level research does not have a clear path. This talk will outline the current ethical, legal, and policy challenges community leaders, as well as researchers in academia and industry face and the ambiguous areas decision makers should be aware of.", "description": "Challenges to outline can include:\r\n\r\n__Ethical__\r\n- Academia - quantitative + qualitative open source data is not (usually) subject to IRB\r\n- Does anti-aliasing across datasets potentially create opportunities for harm for members of open source communities?\r\n\r\n__Legal__\r\n- When does information become a dataset?\r\n- Can I use this data? Which license for what?\r\n\r\n__Policy__\r\n- Can umbrella foundations \"opt-in\" communities and projects into ecosystem scale research?\r\n- How can communities and projects create clear boundaries about how and where they want the \"data exhaust\" they release to be used?", "recording_license": "", "do_not_record": false, "persons": [{"code": "FM883L", "name": "amanda casari", "avatar": "https://cfp.scipy.org/media/avatars/FM883L_Ozd97CG.webp", "biography": "amanda casari is a developer relations engineer in the Open Source Programs Office at Google, where she is co-leading research and engineering to better understand risk and resilience in open source ecosystems. She was named an External Faculty member of the Vermont Complex Systems Center in 2021. amanda is persistently fascinated by the difference between the systems we aim to create and the ones that emerge, and pie.", "public_name": "amanda casari", "guid": "da4978ee-43e6-5465-96e7-1c16efb49780", "url": "https://cfp.scipy.org/2023/speaker/FM883L/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/QUNAY9/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/QUNAY9/", "attachments": []}, {"guid": "ccac3b14-a3b0-5550-8fb4-d7e5216918c2", "code": "S8NSHT", "id": 76141, "logo": null, "date": "2023-07-12T15:25:00-05:00", "start": "15:25", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76141-in-process-analytical-data-management-with-duckdb", "url": "https://cfp.scipy.org/2023/talk/S8NSHT/", "title": "In-Process Analytical Data Management with DuckDB", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "DuckDB is a novel analytical data management system. DuckDB supports complex queries, has no external dependencies, and is deeply integrated into the Python ecosystem. Because DuckDB runs in the same process, no serialization or socket communication has to occur, making data transfer virtually instantaneous. For example, DuckDB can directly query Pandas data frames faster than Pandas itself. In our talk, we will describe the user values of DuckDB, and how it can be used to improve their day-to-day lives through automatic parallelization, efficient operators and out-of-core operations.", "description": "Data management systems and data analysts have a troubled relationship: Common systems such as Postgres or Spark are unwieldy, hard to set up and maintain, hard to transfer data in and out, and hard to integrate into complex end-to-end workflows. As a response, analysts have developed their own ecosystem of data wrangling tools such as Pandas or Polars. These tools are much more natural for analysts to use, but are limited in the amount of data they can process or the amount of automatic optimization that is supported. \r\n\r\nDuckDB is a new analytical data management system that is built for an in-process use case. DuckDB speaks SQL, has no external dependencies, and is deeply integrated into the Python ecosystem. DuckDB is Free and Open Source software under the MIT license. DuckDB uses state-of-the art query processing techniques with vectorized execution, lightweight compression, and morsel-driven automatic parallelism. DuckDB is out-of-core capable, meaning that it is capable of not only reading datasets that are bigger than main memory. This allows for analysis of far greater datasets and in many cases removes the need to run separate infrastructure. \r\n\r\nThe \u201cduckdb\u201d Python package is not a client to the DuckDB system, it provides the entire database engine. DuckDB runs without any external server directly inside the Python process. Once there, DuckDB can run complex SQL queries on data frames in Pandas, Polars or PyArrow formats out-of-the box. DuckDB can also directly ingest files in Parquet, CSV or JSON formats. Because DuckDB runs in the same process, data transfer are virtually instantaneous. Conversely, DuckDB\u2019s query results can be transferred back into data frames very cheaply, allowing direct integration with complex downstream libraries such as PyTorch or TensorFlow. \r\n\r\nDuckDB enjoys fast-growing popularity, the Python package alone is currently downloaded around one million times a month. DuckDB has recently become the default backend of the Ibis project that offers a consistent interface in Python over a variety of data backends. \r\n\r\nThis talk is aimed at two main groups, data analysts and data engineers. For the analysts, we will explain the user values of DuckDB, and how it can be used to improve their day-to-day lives. For data engineers, we will describe DuckDB\u2019s capabilities to become part of large automated data pipelines. The presenters for the proposed talk, Hannes M\u00fchleisen and Mark Raasveldt are the original creators of DuckDB, they are still leading the project and are deeply familiar with its Python integration.\r\n\r\n- DuckDB Python API Overview: https://duckdb.org/docs/api/python/overview\r\n- DuckDB PyPI Download Statistics: https://pypistats.org/packages/duckdb\r\n- DuckDB Ibis Backend: https://ibis-project.org/backends/DuckDB/\r\n- Peer-reviewed paper about the concept behind DuckDB by the presenters\r\nhttps://www.cidrdb.org/cidr2020/papers/p23-raasveldt-cidr20.pdf\r\n- Talk about DuckDB at FOSDEM 2020 by Hannes: https://archive.fosdem.org/2020/schedule/event/duckdb/\r\n- Talk about DuckDB at CMU by Mark:\r\nhttps://www.youtube.com/watch?v=PFUZlNQIndo", "recording_license": "", "do_not_record": false, "persons": [{"code": "KAHSRU", "name": "Alex Monahan", "avatar": "https://cfp.scipy.org/media/avatars/KAHSRU_MUdL4OU.webp", "biography": "Hello, I'm Alex! I am a forward deployed software engineer at MotherDuck and I write blogs and docs for the DuckDB Foundation. My background is Industrial and Systems Engineering from Virginia Tech, but I've decided I prefer working in data! I recently joined MotherDuck after 9 years at Intel. I started at Intel as an industrial engineer, later became a technical analyst, and then jumped into a data scientist role. Back in 2020 I discovered DuckDB while building an internal self service analytics platform. It was such a perfect fit that we quickly integrated it and I began using it in multiple projects. I also became one of DuckDB's biggest Twitter fans! I have been diving deeper into duck-themed databases ever since.", "public_name": "Alex Monahan", "guid": "b2a5d68c-d04f-5ab5-9f94-e50c01726f45", "url": "https://cfp.scipy.org/2023/speaker/KAHSRU/"}, {"code": "NYMSNS", "name": "Hannes M\u00fchleisen", "avatar": "https://cfp.scipy.org/media/avatars/NYMSNS_5BvREbx.webp", "biography": "Prof. Dr. Hannes M\u00fchleisen is a creator of the DuckDB database management system and Co-founder and CEO of DuckDB Labs, a consulting company providing services around DuckDB. He is also a senior researcher of the Database Architectures group at the Centrum Wiskunde & Informatica (CWI), the Dutch national research lab for Mathematics and Computer Science in Amsterdam. Hannes is also Professor of Data Engineering at Radboud Universiteit Nijmegen. His' main interest is analytical data management systems.", "public_name": "Hannes M\u00fchleisen", "guid": "d18f9f65-a3a5-570e-abfb-6fd778dabd4c", "url": "https://cfp.scipy.org/2023/speaker/NYMSNS/"}, {"code": "S8W3MD", "name": "Mark Raasveldt", "avatar": null, "biography": null, "public_name": "Mark Raasveldt", "guid": "4c10d683-05fb-5f33-bdb8-a9578d1e9fa0", "url": "https://cfp.scipy.org/2023/speaker/S8W3MD/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/S8NSHT/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/S8NSHT/", "attachments": []}, {"guid": "e1f09b9c-dba5-531f-8393-42a685e1c10b", "code": "YESNZB", "id": 76183, "logo": null, "date": "2023-07-12T16:05:00-05:00", "start": "16:05", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76183-graphblas-for-sparse-data-and-graphs", "url": "https://cfp.scipy.org/2023/talk/YESNZB/", "title": "GraphBLAS for Sparse Data and Graphs", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "GraphBLAS solves graph problems using sparse linear algebra. We are using it to build [`graphblas-algorithms`](https://github.com/python-graphblas/graphblas-algorithms), a fast backend to NetworkX. [`python-graphblas`](https://github.com/python-graphblas/python-graphblas/) is faster and more capable than `scipy.sparse` for both graph algorithms and sparse operations. If you have sparse data or graph workloads that you want to scale and make faster, then this is for you. Come learn what makes GraphBLAS special--and fast!--and how to use it effectively.", "description": "Sparse data and graph problems appear in virtually all science and engineering disciplines.  Nevertheless, adoption of sparse and graph techniques has been slow (so opportunity to exploit sparsity are plentiful)--perhaps because it's not always obvious to know when to apply them, or existing libraries are too slow or difficult to use.  GraphBLAS can help. By expressing graph algorithms in the language of linear algebra, it can handle larger data in parallel and is versatile enough to express custom analyses and integrate into larger workflows.\r\n\r\nIn this talk, we will cover:\r\n\r\n- How to recognize sparse or graph problems and when to use GraphBLAS\r\n- Representing a graph as a sparse matrix\r\n- The equivalence between graph problems and sparse problems\r\n- How GraphBLAS extends linear algebra with masking and arbitrary semirings to be more capable and work-efficient than `scipy.sparse`\r\n- The underlying sparse data structures and how to efficiently convert to and from them\r\n- Examples of graph algorithms written in [`python-graphblas`](https://github.com/python-graphblas/python-graphblas/)\r\n- Using GraphBLAS as a backend to NetworkX via dispatching to [`graphblas-algorithms`](https://github.com/python-graphblas/graphblas-algorithms)\r\n- Benchmarks comparing GraphBLAS, NetworkX, and `scipy.sparse`\r\n\r\nCome learn what makes GraphBLAS special--and fast!--and how to use it effectively.", "recording_license": "", "do_not_record": false, "persons": [{"code": "9VEPFU", "name": "Jim Kitchen", "avatar": "https://cfp.scipy.org/media/avatars/9VEPFU_u0a8wxi.webp", "biography": "I am a Senior Software Engineer at Anaconda, focused on graph analytics and sparse data. I am a member of the GraphBLAS C API committee and an author of the [python-graphblas](https://python-graphblas.readthedocs.io/en/latest/) library.", "public_name": "Jim Kitchen", "guid": "2cecda40-3df3-53e0-aac9-ed6fe634eb6a", "url": "https://cfp.scipy.org/2023/speaker/9VEPFU/"}, {"code": "VTSPJM", "name": "Erik Welch", "avatar": "https://cfp.scipy.org/media/avatars/VTSPJM_t6PMs3z.webp", "biography": null, "public_name": "Erik Welch", "guid": "8187ac6a-3133-59a0-b19a-c9cb920c94f3", "url": "https://cfp.scipy.org/2023/speaker/VTSPJM/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/YESNZB/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/YESNZB/", "attachments": []}], "Grand Salon C": [{"guid": "48098627-9a4c-5724-9d6c-747e26293eaf", "code": "333PY7", "id": 76116, "logo": "https://cfp.scipy.org/media/2023/submissions/333PY7/vak-logo-primary_ewQYbmJ_oJAZ5Xl.png", "date": "2023-07-12T10:45:00-05:00", "start": "10:45", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76116-vak-a-neural-network-framework-for-researchers-studying-animal-acoustic-communication", "url": "https://cfp.scipy.org/2023/talk/333PY7/", "title": "vak: a neural network framework for researchers studying animal acoustic communication", "subtitle": "", "track": "Bioinformatics, Computational Biology & Neuroscience", "type": "Talk", "language": "en", "abstract": "Research on animal acoustic communication is being revolutionized by deep learning. In this talk we present vak, a framework that allows researchers in this area to easily benchmark deep neural network models and apply them to their own data. We'll demonstrate how research groups are using vak through examples with TweetyNet, a model that automates annotation of birdsong by segmenting spectrograms. Then we'll show how adopting Lightning as a backend in version 1.0 has allowed us to incorporate more models and features, building on the foundation we put in place with help from the scientific Python stack.", "description": "Are humans unique among animals? We speak languages, but is speech somehow like other animal behaviors, such as birdsong? Questions like these are answered by studying how animals communicate with sound. This research requires cutting edge computational methods and big team science across a wide range of disciplines, including ecology, ethology, bioacoustics, psychology, neuroscience, linguistics, and genomics. As in many other domains, this research is being revolutionized by deep learning algorithms. Deep neural network models enable answering questions that were previously impossible to address, in part because these models automate analysis of very large datasets. Within the study of animal acoustic communication, multiple models have been proposed for similar tasks, often implemented as research code with different libraries, such as Keras and Pytorch. This situation has created a real need for a framework that allows researchers to easily benchmark models and apply trained models to their own data. To address this need, we developed vak [1], a neural network framework designed for this research community, built with core libraries of the scientific Python stack such as numpy, scipy, pandas and dask. In this talk, we will show how vak makes it easy for researchers to work with neural network models through a simple command-line interface and TOML configuration files. As an example, we will demonstrate how we used vak to benchmark a neural network model, TweetyNet [2], that automates annotation of birdsong by segmenting spectrograms. Using vak allowed us to tune hyperparameters and determine the minimal amount of expensive human-annotated data we needed for accurate model performance. We will show how TweetyNet and vak made it possible to relate the complex syntax of canary song to the hidden states of neural activity in the canary brain, and how these tools are being used by other researchers in neuroscience and bioacoustics. Then we will demonstrate how in version 1.0 of vak we have significantly extended its generality, in large part by adopting the Lightning library as a backend. We will show how we are using version 1.0 of vak to reduce the segment error rate of TweetyNet, minimizing the need to clean up predictions with post-processing. In addition we'll walk through how we're using vak to compare performance of TweetyNet with other neural network architectures proposed for similar tasks. Finally we will show work in progress incorporating other families of neural network models into vak, generative and unsupervised learning algorithms for dimensionality reduction and similarity measurements. Both authors are experienced public speakers [3], and the combination of cutting edge neural network models in Python with studies of birds, their song, and the vocalizations of other charismatic animals are sure to make for an entertaining and informative talk.\r\n\r\n[1] https://github.com/vocalpy/vak\r\n[2] https://elifesciences.org/articles/63853, https://github.com/yardencsGitHub/tweetynet \r\n[3] https://nicholdav.info/talks/, https://yardencsgithub.github.io/talks/", "recording_license": "", "do_not_record": false, "persons": [{"code": "DALEAX", "name": "Yarden Cohen", "avatar": "https://cfp.scipy.org/media/avatars/DALEAX_ZrTCf0f.webp", "biography": "Researcher of living and artificial neural systems, behavior, memory, and computation. Assistant professor at the Weizmann Institute of Science, Israel.\r\nhttps://www.weizmann.ac.il/brain-sciences/labs/cohen/", "public_name": "Yarden Cohen", "guid": "e5517050-cfae-5c52-9b28-3c3980b7e2bc", "url": "https://cfp.scipy.org/2023/speaker/DALEAX/"}, {"code": "BDDEXE", "name": "David Nicholson", "avatar": "https://cfp.scipy.org/media/avatars/BDDEXE_morPNg2.webp", "biography": "Engineer with Embedded Intelligence, a research and development group in the DC area. Developer, maintainer of https://github.com/vocalpy. More at https://nicholdav.info/", "public_name": "David Nicholson", "guid": "3b512bf1-a7fc-545b-9f9a-2f169705393a", "url": "https://cfp.scipy.org/2023/speaker/BDDEXE/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/333PY7/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/333PY7/", "attachments": []}, {"guid": "cc79131d-10d9-5db3-80a1-b9a492d7200a", "code": "AQ3Z3U", "id": 76212, "logo": null, "date": "2023-07-12T11:25:00-05:00", "start": "11:25", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76212-tfmodisco-lite-an-attribution-based-motif-discovery-algorithm", "url": "https://cfp.scipy.org/2023/talk/AQ3Z3U/", "title": "tfmodisco-lite: an attribution-based motif discovery algorithm", "subtitle": "", "track": "Bioinformatics, Computational Biology & Neuroscience", "type": "Talk", "language": "en", "abstract": "An important problem in genomics is identifying the proteins that bind to DNA. Although many methods attempt to learn DNA motifs underlying protein binding as position-weight matrices (PWMs), these PWMs cannot faithfully represent real biology. For instance, a static PWM cannot describe a zinc-finger protein whose fingers can optionally include one-nucleotide spacing. TF-MoDISco is a framework for extracting motifs using attribution scores from a machine-learning model. The learned motifs and syntax overcome many of the limitations presented by PWM. I will describe the TF-MoDISco algorithm and showcase its efficient re-implementation, tfmodisco-lite.", "description": "Understanding the binding of proteins to the genome is crucial for deciphering gene expression programs across cell types. Yet, identifying where and when these proteins bind along the genome is complicated. Most proteins bind to a specific sequence of nucleotides, known as a \"motif.\" But not all proteins are this simple: zinc-finger proteins are comprised of many \"fingers\" that each bind to short 3-4 basepair motifs. While these short motifs are always found in the same order, variable spacing can be found between these short motifs, and not all are always necessary for binding. Other proteins require the presence of a co-factor to bind to their motifs. Faithfully describing the sequence determinants of protein binding, sometimes called the cis-regulatory logic, for all proteins is a challenging task.\r\n\r\nIncreasingly, people have been using machine learning to understand biology by training neural networks to take in nucleotide sequence and predict a readout of interest, e.g. ATAC-seq, ChIP-seq, CAGE, etc. One can then run a feature attribution algorithm, such as ISM or DeepLIFT, to highlight the nucleotides that drive the predicted readouts. However, summarizing these attributions into repeated patterns has thus far been a missing component of the analysis pipeline. \r\n\r\nTF-MoDISco is a framework for using attribution-weighted sequence to discover motifs. The approach differs from classic motif finding algorithms in both the input and the output. Rather than operating solely nucleotide sequence, TF-MoDISco also takes in the attributions from a machine learning model using any attribution algorithm. These attributions highlight the nucleotides involved in accurate predictions and so distinguish between driver motifs and passenger motifs. At the end of the procedure, TF-MoDISco returns clusters of \"seqlets,\" or found motif hits. These patterns, aligned to each other to account for spacing, represent the true heterogeneity of protein binding to the genome. By returning clustering of seqlets, TF-MoDISco overcomes many of the problems of position-weight matrices (PWMs), such as the inability to account for variable spacing and linear assumption across nucleotides.\r\n\r\nThis talk will describe the TF-MoDISco procedure at a high level (first 15 minutes) and give a tutorial on how to use the code for discovery in practice (second 15 minutes). Examples will come from models used to predict chromatin accessibility via ATAC-seq as well as protein binding via ChIP-seq readouts. Specifically, the tutorial will cover tfmodisco-lite, a rewrite of the original algorithm that scales significantly better, runs faster, and requires less code. By the end of the talk, one should feel comfortable applying the method to their own data and interpreting the reports that are generated.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BXXPAY", "name": "Jacob Schreiber", "avatar": "https://cfp.scipy.org/media/avatars/BXXPAY_0edh0ym.webp", "biography": "Jacob Schreiber is a post-doctoral researcher at Stanford University, where he studies human genomics using modern machine-learning tools. In his \"free time,\" he contributes to the Python data science ecosystem in the form of pomegranate, a package for probabilistic modeling, and apricot, a package for submodular optimization for summarizing large data. In the past, he was a core developer for scikit-learn.", "public_name": "Jacob Schreiber", "guid": "b5036541-c718-5efe-b056-c9c536f0b23e", "url": "https://cfp.scipy.org/2023/speaker/BXXPAY/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/AQ3Z3U/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/AQ3Z3U/", "attachments": []}, {"guid": "082b3f58-acc3-5197-a3dd-8957e560d421", "code": "RSE89M", "id": 76167, "logo": null, "date": "2023-07-12T13:15:00-05:00", "start": "13:15", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76167-gammapy-a-python-package-for-gamma-ray-astronomy-version-v1-0", "url": "https://cfp.scipy.org/2023/talk/RSE89M/", "title": "Gammapy: a Python Package for Gamma-Ray Astronomy Version v1.0", "subtitle": "", "track": "Astronomy and Physics", "type": "Talk", "language": "en", "abstract": "In this contribution we will present the first stable version v1.0 of Gammapy, an openly developed Python package for gamma-ray astronomy. Gammapy provides methods for the analysis of astronomical gamma-ray data, such as measurement of spectra, images and light curves. By relying on standardized data formats and a joint likelihood framework, it allows astronomers to combine data from multiple instruments and constrain underlying astrophysical emission processes across large parts of the electromagnetic spectrum. Finally we will share lessons learned during the journey towards version v1.0 for an openly developed scientific Python package.", "description": "By observing the very high energy (VHE) range of the electromagnetic spectrum we can gain valuable insight into to the extreme universe, including remnants of supernova explosions and surroundings of black holes. In the past VHE gamma-ray astronomy was typically conducted by small, closed collaborations as a subfield of particle physics. However, with hundreds of sources now identified,\r\n VHE gamma-ray astronomy has emerged as a new branch of Astronomy. This field provides us with the high energy context for understanding the physical processes occurring throughout the universe, across the entire electromagnetic spectrum.\r\n\r\n The next generation of ground based gamma-ray instruments, particularly the Cherenkov Telescope Array Observatory (CTA)), is set to revolutionize gamma-ray astronomy. With an anticipated sensitivity ten times greater than current telescopes, it has the potential to attract a community of thousands of gamma-ray astronomers. Furthermore, it will operate as an open observatory, making both data and analysis tools readily available to the public.\r\n\r\nIn this contribution we introduce the inaugural stable version (v1.0) of Gammapy, a Python package for gamma-ray astronomy and the primary library for the future CTAO science tools. Leveraging the scientific Python ecosystem, including Numpy, Scipy, and Astropy, Gammapy offers a comprehensive set of standard data analysis tools, making it an indispensable resource for (not only) gamma-ray astronomers. By utilizing common open data formats, Gammapy also enables existing instruments such as VERITAS, H.E.S.S., or HAWC to export and archive their data, preserving it for future analysis using improved methods. Additionally, it facilitates the combination of data from multiple instruments, resulting in more sensitive analyses with greater statistics and a larger energy range.\r\n\r\nGammapy tackles the varied structure of gamma-ray data and science analysis cases by implementing a uniform API for N-dimensional sky maps. This API is independent of the underlying pixelization scheme and supports local WCS, allsky HEALPix, and region-based projections. These data structures prove useful for a broad range of applications as well as astronomers observing in other wavelength.\r\n\r\n Building on these core data structures, Gammapy features a maximum likelihood fitting framework that enables simultaneous modeling of gamma-ray emission in four dimensions: space, energy, and time. By providing a general likelihood interface, Gammapy enables science users to integrate gamma-ray data with astronomical data from other wavelengths, as well as with neutrino data. Thanks to its straightforward Python API, Gammapy can be paired with other Python-based broadband emission modeling packages, allowing for direct measurement of parameters pertaining to common underlying astrophysical processes. This feature is crucial to realizing the full potential of future multi-wavelength and multi-messenger Astronomy.\r\n\r\n Lastly, we will discuss the valuable lessons learned during our journey to achieve v1.0 quality for an openly developed package. This will involve addressing concerns regarding maintainability, selection of dependencies, handling high dimensional data structures and API design. We believe that sharing our experience will be helpful to other scientific Python projects in the future.", "recording_license": "", "do_not_record": false, "persons": [{"code": "DBFWBP", "name": "Axel Donath", "avatar": null, "biography": "I'm a Postdoc researcher at the Center for Astrophysics. My research interests include the Galactic X-Ray and Gamma-Ray source populations as well as statistical methods for analysis of low counts data in general. I'm also interested in methods to combine data from multiple instruments. I'm the lead developer of the open source software package Gammapy, sub-package maintainer of Astropy and a member of the CHASC astro-statistics collaboration. I'm also editor for the Astronomy and Astrophysics track of the Journal of Open Source Software JOSS.", "public_name": "Axel Donath", "guid": "7318f90a-fe7c-5d6c-bdda-3757783f2c33", "url": "https://cfp.scipy.org/2023/speaker/DBFWBP/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/RSE89M/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/RSE89M/", "attachments": []}, {"guid": "5528f450-ff61-5eb2-b332-7b775e17befd", "code": "JTXC9W", "id": 76147, "logo": null, "date": "2023-07-12T13:55:00-05:00", "start": "13:55", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76147-libyt-a-tool-for-parallel-in-situ-analysis-with-yt", "url": "https://cfp.scipy.org/2023/talk/JTXC9W/", "title": "libyt: a Tool for Parallel In Situ Analysis with yt", "subtitle": "", "track": "Astronomy and Physics", "type": "Talk", "language": "en", "abstract": "In the era of exascale computing, storage and analysis of large scale data have become more important and difficult. We present libyt, an open source C++ library, that allows researchers to analyze and visualize data using yt or other Python packages in parallel during simulation runtime. We describe the methods for reading adaptive mesh refinement data structure, handling data transition between Python and simulation with minimal memory overhead, and conducting analysis with no additional time penalty using Python C API and NumPy C API. We demonstrate how it solves the problem in astrophysical simulations and increases disk usage efficiency.", "description": "## Motivation and Aims\r\nIn the era of exascale computing, storage and analysis of large scale data have become more important and difficult.\r\nWe present libyt, an open source C++ library, that allows researchers to analyze and visualize data using yt or any other Python packages in parallel during simulation runtime.\r\n\r\n## Methods\r\n### Connecting Python and Simulation\r\nWe use Python C API and NumPy C API to connect variables and arrays in simulation to Python. This includes creating a NumPy array through wrapping an existing C array without additional memory, allocating new arrays and assigning values, and building Python objects and module that contain simulation information. We also create Python C-extension methods for Python to request data from simulations.\r\n\r\n### Executing Python Codes and Handling Errors\r\nlibyt runs in situ analysis using Python interpreter. This is like running Python prompt inside the ongoing simulation with data loaded.\r\nlibyt checks input Python syntax through compiling it to code object. If error occurs, it parses the error to see if this is caused by input not done yet or a real error. \r\n\r\n### In Situ Analysis Under Parallel Computing\r\nEach MPI process contains one simulation code and one Python. All Python instances will work together to conduct in situ analysis in parallel using mpi4py (Python bindings for MPI).\r\nyt (a Python package for analyzing and visualizing volumetric data) supports MPI parallelism feature. libyt borrows this feature and handles data transition between different MPI processes and between simulation and Python. Since every data is separated in different processes, and we cannot predict how Python decomposes the jobs and asks for data, we use one-sided MPI to deal with data exchanging process between each nodes.\r\n\r\n## Applications\r\n\r\n### Analyzing Fuzzy Dark Matter Vortices Simulation using GAMER + libyt\r\nWe use GAMER, a simulation for astrophysics, to simulate the evolution of vortices form from density voids in a Fuzzy Dark Matter halo.\r\nEach snapshot takes 116 GB, and a total of 321 snapshots are required to capture them (37 TB disk space). We solve this by using yt in libyt to extract our region of interest, which now consumes only 8 GB in each step. The data size is 15 times smaller.\r\n\r\n- Animation: https://youtu.be/tUjJYGbWgUc\r\n\r\n### Analyzing Core-Collapse Supernova Simulation using GAMER + libyt\r\nWe use GAMER to simulate core-collapse supernova explosions. We use libyt to call yt and draw slice plot of the entropy distribution.\r\nSince entropy is not part of the variable in simulation's iterative process, these entropy data will only be generated through simulation when they are needed by yt. libyt tries to minimize memory usage.\r\n\r\n- Animation: https://youtu.be/6iwHzN-FsHw\r\n\r\n## Discussion and Conclusion\r\n- libyt provides a promising solution that binds simulation to Python with minimal memory overhead and no additional time penalty. It makes analyzing large scale simulation feasible.\r\n- libyt focuses on using yt as its core analytic method, even though it can call arbitrary Python modules. We will extend to more data structure in the future.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LDR8D3", "name": "Shin-Rong Tsai", "avatar": "https://cfp.scipy.org/media/avatars/LDR8D3_rxLb1wj.webp", "biography": "Shin-Rong Tsai is a research scientist at the University of Illinois Urbana-Champaign School of Information Sciences. She has worked on developing astrophysics simulations, processing and visualizing extensive data, and improving application performance when scaling up in high-performance computing clusters. Her work now focuses on creating an in situ analysis tool that enables ongoing simulations to use Python to analyze data. She also develops tools for analyzing and visualizing volumetric data.", "public_name": "Shin-Rong Tsai", "guid": "b5f12df5-765b-51b3-9e38-f65f52ca7c9f", "url": "https://cfp.scipy.org/2023/speaker/LDR8D3/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/JTXC9W/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/JTXC9W/", "attachments": []}, {"guid": "39320e73-b93d-58b4-b99b-469196117877", "code": "DZBF7K", "id": 76370, "logo": null, "date": "2023-07-12T14:35:00-05:00", "start": "14:35", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76370-seeing-the-sun-through-the-clouds-accelerating-the-sunpy-data-analysis-ecosystem-with-dask", "url": "https://cfp.scipy.org/2023/talk/DZBF7K/", "title": "Seeing the Sun through the Clouds: Accelerating the SunPy Data Analysis Ecosystem with Dask", "subtitle": "", "track": "Astronomy and Physics", "type": "Talk", "language": "en", "abstract": "Over the last decade, the SunPy ecosystem, a Python solar data analysis environment, has evolved organically to serve the needs of scientists analyzing solar physics data, mostly on desktop and laptop computers. However, modern solar observatories are producing data volumes in the tens of petabytes, necessitating the need for parallelized and out-of-core computation. HelioCloud is a cloud computing environment tailored for heliophysics research and colocated with many terabytes of solar physics data. In this talk, we will show how the SunPy ecosystem, combined with Dask on HelioCloud, can be used to efficiently process high-resolution solar data.", "description": "The SunPy ecosystem is a set of community-developed, free and open-source Python packages for solar data analysis. The ecosystem consists of the core sunpy package, which provides general capabilities such as data download, data structures, and coordinate transformations, as well as a growing set of affiliated packages which provide more application-specific functionality such as image processing techniques. The entire SunPy ecosystem depends heavily on the broader scientific Python ecosystem, including numpy, scipy, and scikit-image and especially the astropy package, a community Python package for astronomy.\r\n\r\nOver the last decade, the SunPy ecosystem has evolved organically to serve the needs of scientists analyzing solar physics data. Analysis of observational solar data has traditionally been carried out on desktop or laptop computers or small compute clusters (see Bobra et al., 2020). This limitation is partly due to the longstanding historical reliance on the proprietary Interactive Data Language (IDL) by the solar physics community which has limited scalability due in part to licensing restrictions. However, modern space- and ground-based solar observatories are producing data volumes in the tens of petabytes, necessitating the need for parallelized and out-of-core computation. The surge in popularity of Python within the broader astronomy community as well as the growing availability of computing resources has led to many solar researchers using Python in cloud environments. All of these factors have propelled the development of HelioCloud. Inspired by similar science platforms for other disciplines like Pangeo, HelioCloud is a NASA-funded, AWS-backed cloud computing environment tailored for heliophysics research. HelioCloud provides both a dashboard for creating custom virtual machines as well as a JupyterLab interface. Using the latter allows for interactive, scalable computation enabled by Dask across many compute nodes. Most importantly, HelioCloud is collocated with nearly 1 petabyte of solar physics data such that researchers can perform their analysis without the added latency of needing to download the data.\r\n\r\nIn this talk, we will demonstrate how the SunPy ecosystem, combined with Dask on HelioCloud, can be used to efficiently process high-resolution solar data. First, we will provide a brief description of the SunPy project with particular emphasis on the ndcube and sunkit-image affiliated packages. Next, we will provide a brief description of the JupyterLab interface of the HelioCloud platform. Finally, we will demonstrate a typical scientific workflow on HelioCloud by efficiently analyzing many hours worth of solar active region evolution using sunpy, ndcube, sunkit-image, and Dask to scale out our computation over many workers. Additionally, we will discuss existing incompatibilities between Dask and the astropy ecosystem and how collaboration with the broader scientific Python community could resolve such frictions.", "recording_license": "", "do_not_record": false, "persons": [{"code": "GDMPDR", "name": "Nabil Freij", "avatar": null, "biography": "Nabil Freij is working as Research Software Engineer for Bay Area Environmental Research Institute supporting several NASA missions at Lockheed Martin Solar and Astrophysics Laboratory.\r\n\r\nBefore this, he was a Software Engineer at the The Institute for Environmental Analytics based at the University of Reading focused on providing customized weather and climate data to growers and farmers.\r\n\r\nBefore his pivot to Software Engineering, he was a research scientist at Universitat de les Illes Balears working on coronal heating and MHD waves.", "public_name": "Nabil Freij", "guid": "60a9d349-19f1-5b8e-9180-e134da67e218", "url": "https://cfp.scipy.org/2023/speaker/GDMPDR/"}, {"code": "VB8TGX", "name": "Will Barnes", "avatar": null, "biography": "Research Term Faculty, American University, Washington, D.C., USA\r\nResearch Scientist, NASA Goddard Spaceflight Center, Greenbelt, MD, USA", "public_name": "Will Barnes", "guid": "52fb8496-f985-5a7d-89a4-207b9022d315", "url": "https://cfp.scipy.org/2023/speaker/VB8TGX/"}, {"code": "MPBZ7T", "name": "Jack Ireland", "avatar": null, "biography": "I have worked in the field of solar physics since 1995. I am a co-founder of the SunPy and Helioviewer Projects. I am currently working as the Project Scientist for NASA's Solar Data Analysis Center, and US Project Scientist for the Solar and Heliospheric Observatory.", "public_name": "Jack Ireland", "guid": "5ee7e65a-46b0-541e-93a5-08218572f299", "url": "https://cfp.scipy.org/2023/speaker/MPBZ7T/"}, {"code": "C8YJSB", "name": "Stuart Mumford", "avatar": null, "biography": "Stuart writes open source software for solar and astro physics. Is the the lead-developer of SunPy, contributes to Astropy, and spends most of his time working with the DKIST data center on data products and Python software for users of DKIST data.", "public_name": "Stuart Mumford", "guid": "5c67fbd3-ef19-52de-88b7-0fbea77462e3", "url": "https://cfp.scipy.org/2023/speaker/C8YJSB/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/DZBF7K/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/DZBF7K/", "attachments": []}, {"guid": "d583aa85-18ed-5d88-b580-7cc3e52880c1", "code": "8MMNUD", "id": 76250, "logo": null, "date": "2023-07-12T15:25:00-05:00", "start": "15:25", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76250-open-force-field-next-generation-force-fields-with-open-data-open-software-and-open-science", "url": "https://cfp.scipy.org/2023/talk/8MMNUD/", "title": "Open Force Field: next-generation force fields with open data, open software, and open science", "subtitle": "", "track": "Materials and Chemistry", "type": "Talk", "language": "en", "abstract": "The Open Force Field (OpenFF) initiative was formed to build a new generation of force fields for molecular dynamics (MD) simulations using modern data-driven techniques. Openness is one of our fundamental founding principles, and everything we produce is released openly and accessibly so that the community can validate, modify, or extend our work. Here we introduce some flagship packages in our ecosystem and the advances they have enabled in force field science and MD workflows. These include fitting custom functional forms, exploring the addition of off-site charges, and using neural networks to assign charges to protein-ligand systems.", "description": "**Background**\r\n\r\nMolecular dynamics (MD) simulations are now critical components in pharmaceutical and biomolecular research. A potential energy function called a \u2018force field\u2019 is used to solve the differential equations that describe the particle motion. A vast number of different force fields have now been released, each fit to experimental or quantum chemistry data to reproduce specific properties in a limited region of chemical space. However, the core of most of these date from work published decades ago, and new force field development has primarily taken the form of incremental improvements guided by human chemical intuition rather than systematic, reproducible methods.\r\n\r\n**Outline**\r\n\r\nThe [Open Force Field (OpenFF) initiative](https://openforcefield.org/) was formed to produce open and extensible infrastructure to build a new generation of MD force fields. We have now developed many software packages for constructing, applying, and benchmarking force fields. We have also generated several high-quality quantum chemistry datasets. Everything is available freely on [GitHub](https://github.com/openforcefield/), [Zenodo](https://zenodo.org/communities/openforcefield/), and the [MolSSI QCArchive server](https://qcarchive.molssi.org/). This work has been successfully used to investigate potential improvements to force fields, as well as simplify many previously difficult aspects of preparing MD systems.\r\n\r\nHere we will introduce the [OpenFF-Toolkit](https://github.com/openforcefield/openff-toolkit) and [OpenFF-Interchange](https://github.com/openforcefield/openff-interchange) packages. We can use them to quickly assign force field parameters to arbitrary systems of small molecules, and then write these systems out in common MD formats for simulation. We also introduce the [OpenFF-Bespokefit](https://github.com/openforcefield/openff-bespokefit) package for fitting custom torsion parameters, as well as the [OpenFF-QCSubmit](https://github.com/openforcefield/openff-qcsubmit) package for interacting with QCArchive. We show how to use the datasets we have released on QCArchive.\r\n\r\nWe will finally show some of the advancements enabled by our work. The [OpenFF-Evaluator](https://github.com/openforcefield/openff-evaluator) package was instrumental in investigating the effect of using a custom potential for van der Waals\u2019 parameters. We used [OpenFF-Recharge](https://github.com/openforcefield/openff-recharge) to explore adding off-site charges with virtual sites. Finally, we describe the development of a neural network for quickly assigning conformer-independent partial charges \u2013 this also employed OpenFF-Recharge, as well as [OpenFF-NAGL](https://github.com/openforcefield/openff-nagl).\r\n\r\nWe hope these examples give a brief overview of how OpenFF can help both common everyday MD tasks as well as larger scientific investigations.\r\n\r\n**Previous talks**\r\n\r\nI've previously given [keynote talks](https://www.youtube.com/watch?v=Jw1iVjHkRPM) at the Open Force Field annual meetings and presented at open science meetings convened by the [NIH](https://datascience.nih.gov/news/nih-odss-to-host-sessions-at-ismb-annual-conference), the NSF, and groups in the [scientific computing](https://www.youtube.com/watch?v=hS87inZupdQ) and molecular simulation communities.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KKF8RZ", "name": "Jeff Wagner", "avatar": "https://cfp.scipy.org/media/avatars/KKF8RZ_OSXOKGU.webp", "biography": "Jeff Wagner is the Technical Lead at Open Force Field, a pre-competitive effort supported by a mix of industry partners and government funding. OpenFF aims to build extensible tools and datasets to advance the state-of-the-art in molecular modeling. He received his PhD in chemistry from UCSD in 2018 and is broadly interested in understanding out how sustainable organizations can exist at the interface of academia, industry, and open source.", "public_name": "Jeff Wagner", "guid": "2d7d3f3d-5e04-524c-bb42-44610dfb4243", "url": "https://cfp.scipy.org/2023/speaker/KKF8RZ/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/8MMNUD/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/8MMNUD/", "attachments": []}, {"guid": "1b60e375-930e-5948-a2d0-51bf94568b4f", "code": "JH9JMV", "id": 76002, "logo": null, "date": "2023-07-12T16:05:00-05:00", "start": "16:05", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76002-designing-user-friendly-apis-for-the-nist-interatomic-potentials-repository", "url": "https://cfp.scipy.org/2023/talk/JH9JMV/", "title": "Designing user-friendly APIs for the NIST Interatomic Potentials Repository", "subtitle": "", "track": "Materials and Chemistry", "type": "Talk", "language": "en", "abstract": "The NIST Interatomic Potentials Repository project has developed Python APIs to support user interactions with the repository data hosted at https://potentials.nist.gov. The associated code is layered, starting with generic methods for JSON/XML-based data and databases, and building up to user-friendly interfaces specific to the repository. This design allows for basic users to easily explore the data and expert users to perform more complicated operations or create custom APIs for other databases. The repository APIs help users find and compare interatomic models, set up simulations, perform high throughput calculations, and access the high throughput results.", "description": "This presentation outlines the Python APIs developed for the public database of the NIST Interatomic Potentials Repository. The entire framework consists of six different Python packages designed for data interaction and generation: DataModelDict, cdcs, yabadaba, potentials, atomman, and iprPy.  These packages have an import hierarchy with each subsequent package incorporating or inheriting the previous.\r\nAll project data is represented with JSON/XML equivalent data models. Having data that can be equivalently represented in JSON and XML takes advantage of the benefits of both formats while placing only minor limits on schema designs.  The \u201cDataModelDict\u201d Python class extends the basic dict to allow for easy transformations between Python, JSON and XML, and includes additional methods for exploring and manipulating individual records.\r\nAll public potentials data are hosted in a CDCS database accessible at https://potentials.nist.gov.  CDCS databases store XML formatted records, they support multiple schemas, and provide both a web-based interface and a REST API for interacting with the data. The \u201ccdcs\u201d package defines Python methods for common database interactions that wrap around the REST API calls.  The also provides options to build custom REST calls to the database for features not yet directly supported.\r\nThe JSON/XML equivalent data models means that all records can also be stored in JSON-based Mongo databases or as local collections of JSON or XML files.  The \u201cyabadaba\u201d Python package provides an intermediate abstraction layer allowing users to interact with data stored in all three database infrastructures using common methods. It also provides a framework for interpreting and building data records associated with different schemas.  These features make it possible for end users to explore and generate data while remaining agnostic to the infrastructure used to store the data.\r\nWhile the \u201ccdcs\u201d and \u201cyabadaba\u201d packages provide APIs for interacting with an arbitrary CDCS database, the \u201cpotentials\u201d package provides APIs specifically focused on interatomic potentials content in potentials.nist.gov.  Utilizing the yabadaba features, any user can create their own copy of all interatomic potentials listings and then search and explore from either location. Searches can be performed both using simple Python methods or using Jupyter widget-based GUIs. The potentials package also forms the basis for adding new listings to the repository and for generating the traditional static repository website at https://www.ctcms.nist.gov/potentials/.\r\nThe \u201datomman\u201d package focuses on setting up and analyzing atomic configurations and LAMMPS simulations.  On the data side, it extends the \u201cpotentials\u201d package functionality to interpreting schemas of atomic configurations. Finally, the \u201ciprPy\u201d package is centered around providing a collection of standard atomistic property calculation methods for characterizing interatomic potentials. The iprPy calculations can be performed individually or in high throughput, and can be executed from the command line, from within Python, or using transparent-box demonstration Jupyter Notebooks.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PZFXRM", "name": "Lucas Hale", "avatar": "https://cfp.scipy.org/media/avatars/PZFXRM_RtErKdV.webp", "biography": "Dr. Lucas Hale is a materials research scientist at NIST where he is the content manager for the Interatomic Potentials Repository project.  In support of the project, he has developed numerous Python packages for interacting with the repository data, designing atomistic simulations for investigating bulk crystal and crystalline defects, and developing and performing high throughput calculations.", "public_name": "Lucas Hale", "guid": "8ad016b8-1eaa-58dc-99a2-e68066c3eb1a", "url": "https://cfp.scipy.org/2023/speaker/PZFXRM/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/JH9JMV/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/JH9JMV/", "attachments": []}], "Zlotnik Ballroom": [{"guid": "7c4fc33e-197c-514d-883a-16993f4847d2", "code": "X7YH7A", "id": 76058, "logo": null, "date": "2023-07-12T09:15:00-05:00", "start": "09:15", "duration": "00:45", "room": "Zlotnik Ballroom", "slug": "2023-76058-keynote-open-source-contributors-in-space-and-time", "url": "https://cfp.scipy.org/2023/talk/X7YH7A/", "title": "Keynote - Open Source Contributors in Space and Time", "subtitle": "", "track": "Keynote", "type": "Talk", "language": "en", "abstract": "Michael Droettboom is a Principal Software Engineering Manager at Microsoft where he leads the CPython Performance Engineering Team. That team contributes directly to the upstream CPython project, and recently helped make Python 3.11 up to 60% faster than 3.10.\r\n\r\nMichael has been contributing to open source for over 25 years: he is the former lead maintainer of matplotlib, a major contributor to astropy, and he is the original author of Pyodide and airspeed velocity. His work has supported such diverse applications as the Hubble and James Webb Space Telescopes, the Firefox web browser, infrared retinal imaging, and optical sheet music recognition.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "H3ZNFW", "name": "Michael Droettboom", "avatar": "https://cfp.scipy.org/media/avatars/H3ZNFW_waopddx.webp", "biography": "Principal Software Engineering Manager at Microsoft", "public_name": "Michael Droettboom", "guid": "7be53d2c-5316-5cc4-8f79-5e050babe8bd", "url": "https://cfp.scipy.org/2023/speaker/H3ZNFW/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/X7YH7A/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/X7YH7A/", "attachments": []}, {"guid": "7e11362c-0265-5120-8011-d39ad0229af3", "code": "G9P3AG", "id": 76204, "logo": "https://cfp.scipy.org/media/2023/submissions/G9P3AG/b2nd-2_hLm7ZVA_neb0K8D.png", "date": "2023-07-12T10:45:00-05:00", "start": "10:45", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76204-fast-exploration-of-the-milky-way-or-any-other-n-dimensional-dataset", "url": "https://cfp.scipy.org/2023/talk/G9P3AG/", "title": "Fast Exploration of the Milky Way (or any other n-dimensional dataset)", "subtitle": "", "track": "Machine Learning, Data Science, and Ethics in AI", "type": "Talk", "language": "en", "abstract": "N-dimensional datasets are common in many scientific fields, and quickly accessing subsets of these datasets is critical for an efficient exploration experience. Blosc2 is a compression and format library that recently added support for multidimensional datasets. Compression is crucial in effectively dealing with sparse datasets as the zeroed parts can be almost entirely suppressed, while the non-zero parts can still be stored in smaller sizes than their uncompressed counterparts. Moreover, the new double data partition in Blosc2 reduces the need for decompressing unnecessary data, which allows for top-class slicing speed.", "description": "Blosc is a high-performance compressor optimized for binary data, such as floating-point numbers, integers, and booleans, although it can also handle string data. It has been designed to transmit data to the processor cache faster than the traditional, non-compressed direct memory fetch approach, which uses a memcpy() OS call. Blosc is widely used in popular storage libraries like HDF5 (via h5py or PyTables) or Zarr, and is probably producing many petabytes of compressed data every day around the world.\r\n\r\nC-Blosc2 (https://github.com/Blosc/c-blosc2) is the latest major version of C-Blosc. It comes with Python-Blosc2 (https://github.com/Blosc/python-blosc2), a lightweight Python wrapper that exposes many of its new features. Some of the most interesting features are:\r\n\r\n- 64-bit containers: There is no practical limit in dataset sizes.\r\n- Frames: Data can be serialized either on-disk or in-memory.\r\n- Meta-layers: Meta-data can be added in different layers inside frames.\r\n- Blosc2 NDim: N-dimensional datasets can be created, read, and sliced efficiently.\r\n- Double partitioning: Data can be split into fine-grained cubes for faster reads of n-dimensional slices.\r\n- Parallel reads: When several blocks of a chunk need to be read, this is done in parallel.\r\n- Support for special values: Large sequences of repeated values can be represented efficiently.\r\n\r\nWith leveraging these features, Blosc2 provides a powerful, yet flexible tool for data handling.  For example, when Blosc2 cooperates with libraries like PyTables/HDF5, it allows to query [100 trillion rows tables in human time frames](https://www.blosc.org/posts/100-trillion-baby/).\r\n\r\nFurthermore, being able to compress multidimensional data is of great help in handling large multidimensional datasets because 1) it reduces the amount of storage resources and 2) reduces the bandwidth necessary to bring data from storage (disk, memory) to the CPU, allowing to process data more effectively in general.  Additionally, compression can represent a wide variety of sparse data without requiring a specific format. Instead, compression works to minimize the number of zeros and keep storage requirements to a minimum.\r\n\r\nWe will address common misconceptions about compressing data, such as: 1) decompressing data takes CPU time, which may slow down computations, and 2) when retrieving a subset of data, all affected partitions must be decompressed, adding overhead. To debunk these myths, we offer the following facts: 1) decompressing data within CPU caches often saves transmission cycles, and 2) Blosc2 features a novel double partitioning schema that minimizes decompression overhead.\r\n\r\nWe will leverage Python-Blosc2 to:\r\n\r\n- Describe the main features of Blosc2\r\n- Provide useful advice on the best codecs and filters for different types of datasets\r\n- Explain how to partition multidimensional datasets for efficient slicing\r\n- Compare efficiency and resource savings with other packages, such as h5py, PyTables, and Zarr\r\n\r\nFinally, we will demonstrate an example of exploring the Milky Way's 3D dataset effectively, using data from the Gaia mission.", "recording_license": "", "do_not_record": false, "persons": [{"code": "9NVTBY", "name": "Francesc Alted", "avatar": "https://cfp.scipy.org/media/avatars/9NVTBY_VJmx64s.webp", "biography": null, "public_name": "Francesc Alted", "guid": "00dedc3e-7285-5779-a36c-aff03278c2c0", "url": "https://cfp.scipy.org/2023/speaker/9NVTBY/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/G9P3AG/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/G9P3AG/", "attachments": []}, {"guid": "3b1bac70-cf96-500f-b610-5eb6741d34aa", "code": "LAKM79", "id": 76260, "logo": null, "date": "2023-07-12T11:25:00-05:00", "start": "11:25", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76260-a-computer-vision-ml-approach-to-classifying-clouds-and-aerosols-from-satellite-observations", "url": "https://cfp.scipy.org/2023/talk/LAKM79/", "title": "A Computer Vision (ML) Approach to Classifying Clouds and Aerosols from Satellite Observations", "subtitle": "", "track": "Machine Learning, Data Science, and Ethics in AI", "type": "Talk", "language": "en", "abstract": "The NASA Atmosphere SIPS, located at the University of Wisconsin, is responsible for producing operational cloud and aerosol scientific products from satellite observations. With decades of satellite observations, new scientific algorithms are employing Machine Learning (ML) methods to improve processing efficiencies and scientific analyses. In preparation for future developments, we are working with NASA Atmospheric Science Teams to understand ML requirements and assist in developing new tools that will benefit both the Science Teams and the broader Open-Source Science community. This talk will step through a ML methodology being used to identify cloud types and severe aerosols.", "description": "The purpose of this talk is to share how to make most efficient use of the existing machine learning (ML) software, such as tensorflow, to implement scientific ML methods. We will first describe the science objectives we are trying to achieve, elaborate on lessons learned, and finally introduce future challenges.\r\n\r\nOur primary science objective is to identify different cloud types and aerosols from satellite imagery, where the cloud types are indicative of different meteorological conditions. The science objective during the talk will be catered towards the broader scientific community while expecting little to no background in atmospheric science or ML. All of this will be accomplished by presenting visualization of satellite imagery throughout to relate the data to the audience.\r\n\r\nSubsequently we will introduce the ML techniques we have been using. We employ a pretrained VGG16, a convolutional neural network (CNN), which we fine-tune to identify cloud types and aerosols from satellite imagery. There will be accompanying animations illustrating this process and how the inference is combined into the softmax layer providing the result.\r\n\r\nThe specific lessons learned in using ML software is to consider which part of the code executes in CPU or GPU space. Initially we noticed GPU usage was not consistently 100% during inference. To demonstrate potential, we dumped the data to a 200GB file and streamed that directly to the GPU. This test proved what was possible and allowed us to rewrite our generator using keras Sequence where the init and getitem called tf.device locking the data I/O and preprocessing to the CPU leaving the GPU solely for inference. This approached yielded a 2x performance increase.\r\n\r\nSince our goal is to add value to existing NASA algorithm methodologies via ML, this goal requires us to have labeled data. We experimented with existing labeling packages but in the end decided to incorporate the labeling tasking into existing software the community uses. Thankfully as part of NASA\u2019s participation in Open-Source Science, one of the primary tools used by the Atmospheric Science community, NASA Worldview, is already open sourced. This allowed us to install their docker images and extend this tool bringing the labeling task directly to the Scientists.\r\n\r\nAdditionally, I will talk about the importance of visualizing the data through the entire process of training a CNN. For example, I have a video file flipping through thousands of images from our training set. And I will use this to emphasize the importance of looking at data throughout the process and the importance of being able to share information. Open-Source Science is great but being able to convey information about how ML works is just as important.", "recording_license": "", "do_not_record": false, "persons": [{"code": "WLSZ3M", "name": "Steve Dutcher", "avatar": "https://cfp.scipy.org/media/avatars/WLSZ3M_MX9VA9D.webp", "biography": "Steve Dutcher is a Software Developer/Engineer at the University of Wisconsin, Space Science & Engineering Center with 20 years of experience applying his computer science degree to Atmospheric Science. He currently works as part of the NASA Atmosphere SIPS responsible for producing operational cloud and aerosol products from polar orbiting satellites. Additional projects include machine learning applications, producing a low latency fire product from direct broadcast, and supporting instrument field campaigns.", "public_name": "Steve Dutcher", "guid": "3fbd140d-3e56-5a61-889b-e04caa267af4", "url": "https://cfp.scipy.org/2023/speaker/WLSZ3M/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/LAKM79/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/LAKM79/", "attachments": []}, {"guid": "deb91577-2fea-5bc0-b7f8-ee9a03b57055", "code": "T3XSHX", "id": 76266, "logo": null, "date": "2023-07-12T13:15:00-05:00", "start": "13:15", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76266-pandera-beyond-pandas-data-validation", "url": "https://cfp.scipy.org/2023/talk/T3XSHX/", "title": "Pandera: Beyond Pandas Data Validation", "subtitle": "", "track": "Machine Learning, Data Science, and Ethics in AI", "type": "Talk", "language": "en", "abstract": "Data quality remains a core concern for practitioners of machine learning, data science, and data engineering, and in recent years specialized packages have emerged to validate and monitor data and models. However, as the open source community iterates on data frameworks \u2013 notably, highly performant entrants such as Polars \u2013 data quality libraries need to catch up to support them. In this talk, you will learn about Pandera and its journey from being a pandas-only validator to a generic tool for testing arbitrary data containers so that it can provide a standardized way of creating data validation tools.", "description": "# Motivation\r\nData quality remains a core concern for practitioners in machine learning, data science, and data engineering, and many specialized packages have emerged to fulfill the need of validating and monitoring data and models. However, as the open source community creates new data manipulation frameworks \u2013 notably, new highly performant entrants such as [Polars](https://www.pola.rs/) \u2013 existing data quality frameworks need to catch up to support them, and in some cases, the community creates new data validation libraries for these new data frameworks.\r\n\r\n# Origins\r\n[Pandera](https://github.com/unionai-oss/pandera) started as a small project in 2018 with the goal of providing a lightweight, flexible, and expressive API to validate Pandas DataFrames. This part of the talk provides a short primer on data validation and property-based testing with Pandera, providing insights into how its design facilitates code-first schema authoring and maintenance, which in turn gives rise to safer and more robust data pipelines.\r\n\r\nThis primer will contain content similar to the \"Introduction to Pandera\" notebook in the pandera documentation: https://pandera.readthedocs.io/en/stable/try_pandera.html\r\n\r\n# Evolution\r\nAfter gaining traction over the years, the author and community of contributors began to expand Pandera\u2019s scope to support pandas-compliant data frameworks such as GeoPandas, Dask, Modin, and Pyspark Pandas (formerly Koalas). As requests for other libraries increased in frequency, it became clear that Pandera in its existing state was not well-suited for extension beyond Pandas objects. This part of the talk focuses on some of the key design failures that made it difficult to extend to other data frameworks.\r\n\r\nRewrites are Fun! (not): Imagine doing a complete internal rewrite of a library while bug reports, feature requests, and pull requests are coming in from contributors: does it sound fun? In the author\u2019s experience, it\u2019s like juggling three balls while playing drums with your feet as someone throws water balloons in your face. This part of the talk outlines the challenges, lessons learned, and things the author would have done differently to anticipate issues related to the separation of concerns, modularity, and extensibility.\r\n\r\n# Conclusion\r\nThis talk is about how Pandera has evolved to provide a standard schema interface for easily extending and supporting validation backends for arbitrary statistical data containers. Attendees will learn not only about data testing principles such as run-time validation and property-based testing, they will also learn about the challenges of maintaining and evolving an open source project that many people rely on as a critical piece of their data infrastructure. The high-level goal for this talk is to highlight lessons learned from Pandera\u2019s particular journey from supporting only Pandas as a backend to supporting a whole suite of data objects.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NGXHHL", "name": "Niels Bantilan", "avatar": "https://cfp.scipy.org/media/avatars/NGXHHL_Os1PhmD.webp", "biography": "Niels is the Chief Machine Learning Engineer at Union.ai, and core maintainer of Flyte, an open source workflow orchestration tool, author of UnionML, an MLOps framework for machine learning microservices, and creator of Pandera, a statistical typing and data testing tool for scientific data containers. His mission is to help data science and machine learning practitioners be more productive.\r\n\r\nHe has a Masters in Public Health with a specialization in sociomedical science and public health informatics, and prior to that a background in developmental biology and immunology. His research interests include reinforcement learning, AutoML, creative machine learning, and fairness, accountability, and transparency in automated systems.", "public_name": "Niels Bantilan", "guid": "b5c42586-105a-59c4-8f39-15a7d5a978a8", "url": "https://cfp.scipy.org/2023/speaker/NGXHHL/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/T3XSHX/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/T3XSHX/", "attachments": []}, {"guid": "361fedf3-ad5f-5590-aa50-836ad8352fd5", "code": "NPG3NS", "id": 76265, "logo": "https://cfp.scipy.org/media/2023/submissions/NPG3NS/dsp_GKs6McB_hikBlOH.png", "date": "2023-07-12T13:55:00-05:00", "start": "13:55", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76265-disciplined-saddle-programming", "url": "https://cfp.scipy.org/2023/talk/NPG3NS/", "title": "Disciplined Saddle Programming", "subtitle": "", "track": "Machine Learning, Data Science, and Ethics in AI", "type": "Talk", "language": "en", "abstract": "Our recent work implements a domain-specific language called Disciplined Saddle Programming (DSP) in Python. It is available at https://github.com/cvxgrp/dsp. DSP allows specifying convex-concave saddle, or minimax problems, a class of convex optimization problems commonly used in game theory, machine learning, and finance. One application for DSP is to naturally describe and solve robust optimization problems. We show numerous examples of these problems, including robust regressions and economic applications. However, this only represents a fraction of problems solvable with DSP, and we want to engage with the SciPy community to hear about further potential applications.", "description": "Convex-concave saddle problems are a class of optimization problems that generalize convex optimization and have a wide range of practical applications, including game theory, finance, and machine learning. A technical trick to convert to a single convex problem is called dualization. However, carrying out this conversion by hand can be tedious and error-prone.\r\n\r\nIn this context, we introduced Disciplined Saddle Programming (DSP) in a recent paper, and the accompanying Python package is implemented as an extension of CVXPY. It is available at https://github.com/cvxgrp/dsp. DSP is a domain-specific language (DSL) for specifying saddle problems for which the dualizing trick can be automated. DSP is based on the conic-representable saddle programs developed by Juditsky and Nem irovski, who showed how to carry out the required dualization automatically using conic duality. The DSP language and methods extend Nesterov and Nemirovski's earlier development of conic representable convex problems and can be seen as extending disciplined convex programming (DCP) to saddle problems.\r\n\r\nThere are numerous benefits of using DSP. The language makes it easier for practitioners to specify and solve saddle problems, and it can handle a wide range of optimization problems, including many robust optimization problems, which have recently gained wider attention. Indeed, some argue that most optimization problems should be solved as robust problems instead, as inputs are rarely obtained with absolute certainty. Further, hearing about even more applications from the SciPy community is an intended side effect to make the package easier to integrate for practitioners.\r\n\r\nJust as DCP, and by extension CVXPY, made it easy for users to formulate and solve complex convex problems, DSP allows users to easily formulate and solve saddle problems. The method is implemented in an open-source Python package, also called DSP. This package provides a way to automate the dualization of saddle problems and provides a simple interface for users to formulate and solve complex problems in a structured and disciplined way.\r\n\r\nIn summary, disciplined saddle programming (DSP) is a new approach that can simplify solving saddle problems in convex optimization. It automates the dualization of saddle problems and provides a simple interface for users to specify and solve complex problems in a structured and disciplined way. DSP is designed to be easy to learn and use, and is compatible with the existing CVXPY framework. DSP has the potential to make saddle problems much easier to solve, which could have a significant impact on a wide range of fields that rely on optimization.", "recording_license": "", "do_not_record": false, "persons": [{"code": "WCFJQM", "name": "Philipp Schiele", "avatar": "https://cfp.scipy.org/media/avatars/WCFJQM_2lf4vFG.webp", "biography": "Main instructor Philipp Schiele\r\nPhilipp Schiele's educational background is in finance and economics and he is currently pursuing a PhD in financial econometrics at the Ludwig Maximilian University of Munich, where he taught various courses in statistics. He is a CVXPY maintainer and has presented a tutorial at SciPy 2022. Generally, he is enthusiastic about finance, optimization, and technology, especially open-source projects.", "public_name": "Philipp Schiele", "guid": "edf20561-2951-5e9e-99d6-c7adb416b624", "url": "https://cfp.scipy.org/2023/speaker/WCFJQM/"}, {"code": "Q7W8MW", "name": "Eric Sager Luxenberg", "avatar": null, "biography": "Eric Luxenberg is a PhD candidate in the Electrical Engineering department at Stanford University, advised by Stephen Boyd. His research interests include robust optimization and mathematical finance. He is a contributor to CVXPY, and has developed an open-source package for saddle optimization called DSP. He has also served as the primary instructor of Stanford\u2019s convex optimization course.", "public_name": "Eric Sager Luxenberg", "guid": "c34b0748-a785-57d8-a0ef-7d6b80b29be7", "url": "https://cfp.scipy.org/2023/speaker/Q7W8MW/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/NPG3NS/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/NPG3NS/", "attachments": []}, {"guid": "34e3fafd-ce03-501a-b24d-6362486a5ce4", "code": "RJPMGC", "id": 76134, "logo": null, "date": "2023-07-12T14:35:00-05:00", "start": "14:35", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76134-emukit-python-toolkit-for-uncertainty-quantification", "url": "https://cfp.scipy.org/2023/talk/RJPMGC/", "title": "Emukit: Python toolkit for uncertainty quantification", "subtitle": "", "track": "Machine Learning, Data Science, and Ethics in AI", "type": "Talk", "language": "en", "abstract": "Emukit is an open-source package for uncertainty quantification in Python. It provides various Bayesian methods, such as optimization, experimental design and quadrature, in a flexible unified way that leverages their commonalities. In the talk we will explain how and why Emukit was built, what are its strengths and weaknesses, how it is used today and in what scenarios one might find it useful.", "description": "## Description\r\nEmukit is a highly adaptable Python toolkit for enriching decision making under uncertainty. This is particularly pertinent to model complex systems where data is scarce or difficult to acquire. In these scenarios, propagating well-calibrated uncertainty estimates within a design loop or computational pipeline ensures that constrained resources are used effectively.\r\n\r\nThe main features currently available in Emukit are:\r\n* Bayesian optimisation: optimise physical experiments and tune parameters of machine learning algorithms;\r\n* Experimental design/Active learning: design the most informative experiments and perform active learning with machine learning models;\r\n* Sensitivity analysis: analyse the influence of inputs on the outputs of a given system;\r\n* Bayesian quadrature: efficiently compute the integrals of functions that are expensive to evaluate;\r\n* Multi-fidelity emulation: build surrogate models when data is obtained from multiple information sources that have different fidelity and/or cost.\r\n\r\nThe package was released in 2019, and since then gained popularity among the research communities of Bayesian optimization, Bayesian quadrature, and multi-fidelity modelling. The aim of this talk is to present Emukit to a wider audience of Python developers. It may be of interest to machine learning practitioners in need of hyper-parameter optimization methods, scientists running complex simulations and looking for emulation and UQ techniques, and everyone interested in approaches for decision making under uncertainty. Hearing about our development experience and lessons learned may also be useful to those who look to develop scientific packages in Python.\r\n\r\nThe first part of the talk will focus on technical details of the package. We will start with a brief introduction into Emukit and the methods it provides. Emukit is a replacement for GPyOpt and the reasons that prompted its development will be discussed. We will go over the key software design principles of Emukit, and see how they lead to a flexible and adaptable toolkit, but also how they may hinder the computational efficiency. Other popular frameworks for Bayesian optimization, Trieste and BoTorch, will be used to highlight strengths and weaknesses of Emukit.\r\n\r\nThe second part will focus on usage and adoption. We will talk about target audience of the toolkit, existing uses for teaching and research, and discuss why anyone who is not an expert in Bayesian active learning methods would want to use Emukit.\r\n\r\n## Additional materials\r\nEmukit is available on Github: https://github.com/EmuKit/emukit. There is also a website about the package: https://emukit.github.io/.\r\n\r\nEmukit was first presented at NeurIPS workshop on ML and the Physical Sciences, 2019. Corresponding paper on arXiv: https://arxiv.org/abs/2110.13293.\r\n\r\nEmukit is used for teaching ML and the Physical World course at the University of Cambridge. The course website can be found at https://mlatcl.github.io/mlphysical/.\r\n\r\nEmukit was also adopted for the Gaussian Process Summer School 2022: https://gpss.cc/gpss22/.\r\n\r\nSome of the previous talks given by the speaker can be found on his website: https://paleyes.info/#talks.", "recording_license": "", "do_not_record": false, "persons": [{"code": "U8RYWG", "name": "Andrei Paleyes", "avatar": "https://cfp.scipy.org/media/avatars/U8RYWG_HqHf9kw.webp", "biography": "Andrei is currently pursuing PhD at the University of Cambridge. His research interests are somewhere between machine learning and software systems, leaning towards the latter. He also has keen interest in Bayesian optimization and is actively participating in several open source projects. Before jumping into the world of academia he has spent more than a decade as a software engineer, developing everything from small webapps to data center network software.", "public_name": "Andrei Paleyes", "guid": "b4b61b35-bd63-53c7-a07b-32e6dcce1b0a", "url": "https://cfp.scipy.org/2023/speaker/U8RYWG/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/RJPMGC/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/RJPMGC/", "attachments": []}, {"guid": "d678be05-ddde-516d-9758-564b89d9b5fb", "code": "TVRHYS", "id": 76139, "logo": null, "date": "2023-07-12T16:05:00-05:00", "start": "16:05", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76139-bayesian-statistics-with-python-no-resampling-necessary", "url": "https://cfp.scipy.org/2023/talk/TVRHYS/", "title": "Bayesian Statistics with Python, No Resampling Necessary", "subtitle": "", "track": "Machine Learning, Data Science, and Ethics in AI", "type": "Talk", "language": "en", "abstract": "TensorFlow Probability is a powerful library for statistical analysis in Python.  Using TensorFlow Probability\u2019s implementation of Bayesian methods, modelers can incorporate prior information and obtain parameter estimates and a quantified degree of belief in the results. Resampling methods like Markov Chain Monte Carlo can also be used to perform Bayesian analysis. As an alternative, we show how to use numerical optimization to estimate model parameters, and then show how numerical differentiation can be used to get a quantified degree of belief. How to perform simulation in Python to corroborate our results is also demonstrated.", "description": "This talk is a concise update of a talk delivered previously for PyStan, the Python Interface for STAN, which is software for Bayesian inference.  Now we will focus on the TensorFlow Probability library.\r\nHere are links for the previous talk:\r\nhttps://github.com/c22hatal/bayes_confidence/tree/main/meetup11aug21/meetup11aug21\r\nhttps://www.youtube.com/watch?v=-7l5QTq5Hz0&list=PLhbPZ4oC18muuVdH3pjpjGmHkJqxCldYR&index=11&t=1073s\r\n\r\nWe first briefly review the Bayesian concepts of prior and posterior and elaborate on how the posterior distribution of the parameters can be approximated by a normal distribution with large sample sizes.  This is the key theoretical point of the talk and is discussed in section 4.1 of Bayesian Data Analysis [1].   Through the talk, we will corroborate the proof by using resampling methods.  We show that the normal approximation and resampling methods are equivalent with large data using TensorFlow Probability.  After the talk, users can confidently use TensorFlow Probability and SciPy/NumPy to perform Bayesian analysis without resampling if their samples are sufficiently large.   \r\n\r\nAfter the theoretical discussion, we get into how the posterior distribution can be modeled using TensorFlow Probability\u2019s distribution classes.  I will show how you can sample from the distributions and calculate the posterior log probability density.  \r\nWe will focus on a linear regression setting where the Normal and \ud835\udf122 distributions will be used as priors for the slope and intercept parameters.  \r\nhttps://www.tensorflow.org/probability/api_docs/python/tfp/distributions/Chi2\r\nhttps://www.tensorflow.org/probability/api_docs/python/tfp/distributions/Normal\r\nhttps://www.tensorflow.org/probability/api_docs/python/tfp/distributions/JointDistributionNamed\r\n\r\nThen I show how the posterior modes can be estimated using TensorFlow or SciPy optimization.  The Broyden\u2013Fletcher\u2013Goldfarb\u2013Shanno algorithm (BFGS) will be used.  This method doesn\u2019t calculate the full Hessian, the second and cross derivatives of the log posterior function.  \r\nhttps://www.tensorflow.org/probability/api_docs/python/tfp/optimizer/lbfgs_minimize\r\nhttps://docs.scipy.org/doc/scipy/reference/optimize.minimize-lbfgsb.html\r\n\r\nThe inverse Hessian gives us the posterior variance under our approximation. So I show how you can take numeric derivatives in NumPy to obtain it.  Derivatives are taken according to the method in Numerical Recipes [2].  Vectorized computations will be used where possible\r\n\r\nThen I finally use resampling, particularly Markov Chain Monte Carlo sampling to show how well the approximation to the posterior distribution works.  This is accomplished using TensorFlow Probability functions.  I provide a framework for simulation in Python that is used to demonstrate these results as well.  \r\nhttps://www.tensorflow.org/probability/api_docs/python/tfp/mcmc\r\n\r\nReferences\r\n\r\n1. Bayesian Data Analysis (3rd. ed.). A. Gelman, J. B. Carlin, H. S. Stern, D. B. Dunson, A. Vehtari and D. B. Rubin, 2013 Boca Raton, Chapman and Hall\u2013CRC\r\n2. Numerical Recipes: The Art of Scientific Computing (3rd. ed.). W. H. Press, S. A. Teukolsky, W T. Vetterling, and Brian P. Flannery. 2007. Cambridge University Press, USA.", "recording_license": "", "do_not_record": false, "persons": [{"code": "HLS9JM", "name": "Charles D Lindsey", "avatar": "https://cfp.scipy.org/media/avatars/HLS9JM_9oAVx9f.webp", "biography": "Charles Lindsey is a Principal Data Scientist at Revionics.  Charles earned a PhD in Statistics from Texas A&M in 2010, where he researched dimension reduction and classification.  Charles then worked at StataCorp LLC. At StataCorp, Charles was the lead developer of the Extended Regression Model (ERM) commands, which allow causal inference on observational data with common complications like unobserved confounding variables and sample selection.  At Revionics, Charles works on price optimization and sales forecasting using Bayesian methods and other machine learning techniques.", "public_name": "Charles D Lindsey", "guid": "b56e121c-ce8d-5fb7-b283-4fc12a1f0880", "url": "https://cfp.scipy.org/2023/speaker/HLS9JM/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/TVRHYS/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/TVRHYS/", "attachments": []}, {"guid": "caddde95-fbeb-5411-9af2-76838aaebffd", "code": "NUT798", "id": 76355, "logo": null, "date": "2023-07-12T17:00:00-05:00", "start": "17:00", "duration": "01:00", "room": "Zlotnik Ballroom", "slug": "2023-76355-lightning-talks", "url": "https://cfp.scipy.org/2023/talk/NUT798/", "title": "Lightning Talks", "subtitle": "", "track": "Lightning Talks", "type": "Talk", "language": "en", "abstract": "Lightning talks are 5-minute talks on any topic of interest for the SciPy community. We encourage spontaneous and prepared talks from everyone, but we can\u2019t guarantee spots. Sign ups are at the NumFOCUS booth during the conference.", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/NUT798/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/NUT798/", "attachments": []}, {"guid": "7c658cec-8c61-5b22-bc57-bb4c563155ff", "code": "VUD8HM", "id": 76219, "logo": null, "date": "2023-07-12T18:00:00-05:00", "start": "18:00", "duration": "01:00", "room": "Zlotnik Ballroom", "slug": "2023-76219-poster-session-and-job-fair", "url": "https://cfp.scipy.org/2023/talk/VUD8HM/", "title": "Poster Session and Job Fair", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The Poster session will be in the Zlotnik Ballroom from 6:00-7:00pm. \r\n\r\nThe Job Fair will be held concurrently in the Zlotnik foyer with participating sponsors. Sponsor companies will be available to discuss current job opportunities.", "description": "POSTERS: Title - Authors (Track)\r\n\r\n1. RECOIL - Ronchi Evaluator and Classifier of Imperfect Lenses (RECOIL) - Allen S. Harvey Jr., Clare Egan (Astronomy and Physics)\r\n2. Planetary Defense Using Python: Measuring Deflection of the Didymos Binary Asteroid System by the NASA DART Mission - Arushi Nath (Astronomy and Physics)\r\n3. pyro: a python hydrodynamics code for teaching and prototyping - Michael Zingale (Astronomy and Physics)\r\n4. Accessing astronomical data with Python - Brigitta Sip\u0151cz (Astronomy and Physics)\r\n5. Spatial and Single-Cell Analysis of MERFISH Data using the Python Library Cormerant - Nicolas Fernandez (Bioinformatics, Computational Biology & Neuroscience)\r\n6. Cross-language Data Grammar for Single-cell Feature Engineering - Dave Bunten (Bioinformatics, Computational Biology & Neuroscience)\r\n7. Biomolecular crystallographic computing with Jupyter - Blaine Mooers (Bioinformatics, Computational Biology & Neuroscience)\r\n8. MDAKits: A Framework for FAIR-Compliant Molecular Simulation Analysis - Ian Kenney (Bioinformatics, Computational Biology & Neuroscience)\r\n9. Obtain quantitative insights through image registration in python - Matt McCormick, Konstantinos Ntatsis (Bioinformatics, Computational Biology & Neuroscience)\r\n10. EEG-to-fMRI: Neuroimaging Cross Modal Synthesis in Python - David Calhas (Bioinformatics, Computational Biology & Neuroscience)\r\n11. Matchmaker: A Toolkit for Collocating and Combining Satellite-Based Earth Observations - Greg Quinn (Earth, Ocean, Geo, and Atmospheric)\r\n12. Building geospatial workflows for Impact using Leafmap, SageMaker Studio Lab, and Open Data on AWS - Qiusheng Wu, Mike Jeffe (Earth, Ocean, Geo, and Atmospheric)\r\n13. Operational Open Science and Software for the Planet's Largest Climate Observatory - Zachary Sherman (Earth, Ocean, Geo, and Atmospheric)\r\n14. Moving the Earth with thermodynamics and python - Cian Wilson (Earth, Ocean, Geo, and Atmospheric)\r\n15. Bringing automated data analysis and machine learning pipelines directly to end users using Unidata tools - Thomas Martin, Hailey Johnson, Drew Camron (Earth, Ocean, Geo, and Atmospheric)\r\n16. Yori: A New, Highly Customizable Tool for Level-3 Data Production - Paolo Veglio (Earth, Ocean, Geo, and Atmospheric)\r\n17. Intuitive Statistics in SciPy - Matt Haberland, Albert Steppi (General Track)\r\n18. Using MyST Markdown in JupyterLab - Rowan Cockett (General Track)\r\n19. PyVista: A Python Library for Interactive 3D Data Visualization and Analysis - Tetsuo Koyama (General Track)\r\n20. SOSA: The Scalable Open-Source Analysis Stack - James A. Bednar, Martin Durant (General Track)\r\n21. Sensitivity Analysis in Python: `scipy.stats.sobol_indices` - Pamphile Roy (General Track)\r\n22. Improving the SciPy-CuPy compatibility for interpolation and signal processing - Edgar Andr\u00e9s Margffoy Tuay (General Track)\r\n23. aPhyloGeo-Covid: A Web Interface for Phylogeographic Analysis of SARS-CoV-2 Variation using Neo4j and Snakemake - Nadia Tahiri, Wanlin Li (Machine Learning, Data Science, and Ethics in AI)\r\n24. Quantifying Uncertainty in Time Series Forecasting with Conformal Prediction - Fede Garza Ramirez (Machine Learning, Data Science, and Ethics in AI)\r\n25. Anti-Patterns: How not to do things in Python - Gajendra Deshpande (Machine Learning, Data Science, and Ethics in AI)\r\n26. pomegranate v1.0.0: now with PyTorch - Jacob Schreiber (Machine Learning, Data Science, and Ethics in AI)\r\n27. Data engineering and analytics for photolithography manufacturing process at DuPont \u201a\u00c4\u00ec a practical approach from lab to fab - Avishek Panigrahi, Sumanth S, Abhishek Shrivastava, stefan caporale (Machine Learning, Data Science, and Ethics in AI)\r\n28. Stochastic Unitary Constraints - Victoria Schneider, Sara Logsdon, Delaney Ott (Machine Learning, Data Science, and Ethics in AI)\r\n29. Hamilton: Scalable, Portable, and Self-Documenting Dataflows in Python - Elijah ben izzy, Stefan Krawczyk (Machine Learning, Data Science, and Ethics in AI)\r\n30. Teaching machine learning in professional education - Nadia Udler (Machine Learning, Data Science, and Ethics in AI)\r\n31. Magic Data Abstractions (for  Magic\u2122 data) - Valerio Maggio (Machine Learning, Data Science, and Ethics in AI)\r\n32. Self-Supervised Cilia Segmentation - Meekail Zain, Shannon Quinn (Machine Learning, Data Science, and Ethics in AI)\r\n33. Data-centric ML pipeline for resolving data drift and optimizing data preprocessing - Hongsup Shin (Machine Learning, Data Science, and Ethics in AI)\r\n34. \"Clockwork\" detection in categorical telemetry data - Benoit Hamelin (Machine Learning, Data Science, and Ethics in AI)\r\n35. Intro to Quantum Computing for Drug Design - Maurice Benson (Machine Learning, Data Science, and Ethics in AI)\r\n36. PyQtGraph - High Performance Visualization for All Platforms - Nathan Jessurun (Machine Learning, Data Science, and Ethics in AI)\r\n37. Accelerating Drug Discovery on the Cloud with Open Source Python - Nathan Knapp (Materials and Chemistry)\r\n38. Modeling Multiphase Multicomponent Precipitate Growth with Phase-Field and Python - Trevor Keller (they/them) (Materials and Chemistry)\r\n39. Materials Project: building an open-source, data-driven platform for materials science - Ruoxi Yang (Materials and Chemistry)\r\n40. Rozha: Supporting and Simplifying Multilingual Natural Language Processing - Ian Goodale (Social Science and the Digital Humanities)\r\n41. Spatial Microsimulation & Activity Allocation in Python: An Update on the Likeness Toolkit - James Gaboardi, Joe Tuccillo (Social Science and the Digital Humanities)\r\n42. Python meta packages - Jorge Martinez, Roberto Pastor (Tending Your Open Source Garden: Maintenance and Community)\r\n43. quartodoc: a tool for quick and easy package documentation - Michael Chow (Tending Your Open Source Garden: Maintenance and Community)\r\n44. TUG-RSE: Pulling Students into Research Software Engineering - Aman Goel (Tending Your Open Source Garden: Maintenance and Community)\r\n45. CI/CD pipelines for scientists - Jorge Martinez (Tending Your Open Source Garden: Maintenance and Community)\r\n46. First steps toward supercharging remote development with Spyder - Carlos Cordoba (Tending Your Open Source Garden: Maintenance and Community)\r\n47. Chalk'it : dataflow and drag-and-drop Python dashboarding - Mongi Ben Gaid (Tending Your Open Source Garden: Maintenance and Community)\r\n48. Accessible documentation for everyone - Jorge Martinez, Revathy Venugopal (Tending Your Open Source Garden: Maintenance and Community)\r\n49. Patterns and Anti-Patterns when Measuring Diversity in Open Source - Amanda Casari (Tending Your Open Source Garden: Maintenance and Community)", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/VUD8HM/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/VUD8HM/", "attachments": []}, {"guid": "745e39bf-e1ab-5053-9dce-aa1333baddca", "code": "3NH3L8", "id": 76052, "logo": null, "date": "2023-07-12T19:00:00-05:00", "start": "19:00", "duration": "02:00", "room": "Zlotnik Ballroom", "slug": "2023-76052-scipy-attendee-social-event-hosted-by-open-source-science-ossci", "url": "https://cfp.scipy.org/2023/talk/3NH3L8/", "title": "SciPy Attendee Social Event hosted by Open Source Science (OSSci)", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "At Scholz Garten, 1607 San Jacinto Blvd. Join your fellow community members from 7:00-9:00. Walking distance from AT&T Center. Venue, food, and drinks sponsored by OSSci.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "JZMZAF", "name": "Scholz Garten, 1607 San Jacinto Blvd", "avatar": null, "biography": "https://www.scholzgarten.com/", "public_name": "Scholz Garten, 1607 San Jacinto Blvd", "guid": "b6594e65-b6eb-550a-b77b-b8e50930bb0a", "url": "https://cfp.scipy.org/2023/speaker/JZMZAF/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/3NH3L8/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/3NH3L8/", "attachments": []}]}}, {"index": 4, "date": "2023-07-13", "day_start": "2023-07-13T04:00:00-05:00", "day_end": "2023-07-14T03:59:00-05:00", "rooms": {"Amphitheater 204": [{"guid": "0ae97057-34a9-56dd-b03f-86dbde7bcf52", "code": "VVVQRU", "id": 76275, "logo": null, "date": "2023-07-13T10:45:00-05:00", "start": "10:45", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76275-using-numba-for-gpu-acceleration-of-neutron-beamline-digital-twins", "url": "https://cfp.scipy.org/2023/talk/VVVQRU/", "title": "Using Numba for GPU acceleration of Neutron Beamline Digital Twins", "subtitle": "", "track": "Materials and Chemistry", "type": "Talk", "language": "en", "abstract": "This talk will discuss how Numba was used to accelerate MCViNE, a software environment for building and running digital twins of neutron experiments via Monte Carlo ray tracing. Numba is an open-source JIT compiler for Python using LLVM to generate efficient machine code for CPUs and GPUs with NVIDIA CUDA. Python and Numba were used to create a GPU accelerated version of MCViNE utilizing an extensible object-oriented design that has achieved a speedup of up to 1000x over the CPU. The performance gain with Numba enables more sophisticated data analysis and impacts neutron scattering science and instrument design.", "description": "Motivation\r\n\r\nMCViNE is a software package for creating digital twins of neutron scattering experiments using a Monte Carlo ray-tracing approach. These simulations are useful in performing advanced neutron data analysis as well as in designing novel neutron instruments and sample environments. Specifically, it has been used in the initial designs for instruments in the Second Target Station at the Spallation Neutron Source at Oak Ridge National Laboratory. Currently, MCViNE only runs on CPUs which is a bottleneck in large simulations with tens of billions of neutrons, and in modelling complex multiple scattering, with some simulations taking months to complete. Due to the massively parallel nature of Monte Carlo methods, bringing GPU acceleration to these simulations would offer superior performance and scalability. MCViNE is originally implemented in C++ and parallelized using MPI, and it has bindings to Python for user interaction; however, extensibility for the user can be very difficult. \r\n\r\nMethods\r\n\r\nTo improve performance and to ease user contributions, Python and Numba were chosen to create a new package providing GPU acceleration of MCViNE. Numba is an open-source JIT (just-in-time) compiler for Python using LLVM to generate efficient machine code and supports GPUs using NVIDIA CUDA. Numba is designed for scientific computing and can support NumPy arrays and functions. Currently, we are only using Numba for its GPU capabilities.\r\n\r\nUsing Python and Numba for this application allowed several advantages such as utilizing an extensible object-oriented approach and polymorphism. Each MCViNE instrument is composed of several components, such as a neutron source, a guide, and a monitor. During the simulation, neutrons can travel through each component in the instrument. Each component has a method (\u201cpropagate\u201d) defined for propagating the neutron through it. Additionally, sample environments are created using constructive solid geometry (CSG) with each primitive shape defined as a CUDA kernel. To each constructed shape, many CUDA kernels are available, each modeling a different type of scattering physics. Due to different component/scattering-kernel types and geometric shapes, using an object-oriented design was beneficial. Furthermore, this structure allowed for custom on-the-fly CUDA kernel generation for complex instrument/sample geometries and physics.\r\n\r\nResults and Conclusions\r\n\r\nPython and Numba was used to create a GPU accelerated version of MCViNE, which has so far achieved speedups of up to 1000x over the original CPU implementation. This performance gain enables more sophisticated data analysis for neutron scattering and impacts neutron scattering science and instrument design. \r\nUsing Python has helped increase the usability, extensibility, and maintainability of the codebase. Additionally, coupling Python with Numba allowed complex combinations of CUDA kernels to be generated at runtime, which would have been significantly harder to implement in other languages. The techniques used in this project could also be applied to other scientific computing applications.\r\n\r\nResources:\r\n\r\nhttps://github.com/mcvine/acc\r\nhttps://mcvine.ornl.gov/ \r\nhttps://github.com/mcvine/mcvine", "recording_license": "", "do_not_record": false, "persons": [{"code": "EGMJRQ", "name": "Coleman Kendrick", "avatar": null, "biography": "Research Software Engineer in the Application Engineering group at Oak Ridge National Laboratory.", "public_name": "Coleman Kendrick", "guid": "d8ee8254-74cb-5444-8a62-7645f9a8e377", "url": "https://cfp.scipy.org/2023/speaker/EGMJRQ/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/VVVQRU/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/VVVQRU/", "attachments": []}, {"guid": "0bd4cf90-3019-5577-9e53-c7452c751c71", "code": "AXSVZ3", "id": 76081, "logo": "https://cfp.scipy.org/media/2023/submissions/AXSVZ3/Teaser-Final_mdukBeW_isKMkGW.png", "date": "2023-07-13T11:25:00-05:00", "start": "11:25", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76081-interactive-exploration-of-large-scale-datasets-with-jupyter-scatter", "url": "https://cfp.scipy.org/2023/talk/AXSVZ3/", "title": "Interactive Exploration of Large-Scale Datasets with Jupyter-Scatter", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "Jupyter-scatter is a scalable, interactive, and interlinked scatter plot widget for exploring datasets with up to several million data points. It focuses on data-driven visual encodings and offers two-way pan+zoom and lasso interactions. Beyond a single instance, jupyter-scatter can compose multiple scatter plots and synchronize their views and selections. Moreover, points can be connected by spline-interpolated lines. Thanks to the underlying WebGL rendering engine, spatial and color changes are smoothly transitioned. Finally, the API integrates seamlessly with Pandas DataFrames and offers functional methods that group properties by type to ease accessibility and readability.", "description": "Visualizing datasets as a 2D scatter plot is one of the most popular data visualization methods for understanding the distributions, identifying trends, and discovering correlations. The method is used in any scientific domain. For instance, in biology, machine learning, or digital humanities, high-dimensional datasets are often summarized with dimensionality-reduction methods like PCA, t-SNE, or UMAP, and the results are typically visualized as 2D scatter plots to discover clusters.\r\n\r\nUnfortunately, many visualization tools are unable to scale or compromise user experience with datasets that grow in size, dimensionality, and quantity. For instance, while datashader can render datasets of almost any size, it offers limited interactions. On the other hand, Plotly provides interactivity but does not extend nearly as well to millions of points. Ideally, we want to be able to render and interactively explore one or more datasets with millions of data points.\r\n\r\nJupyter-scatter (https://github.com/flekschas/jupyter-scatter) is a purpose-built widget for Jupyter Notebook, Lab, and Google Colab that supports interactive, interlinked, and scalable exploration of multiple large-scale datasets as scatter plots. It focuses on data-driven visual encodings, offers pan+zoom interactions, and two-way lasso selection. Beyond a single instance, jupyter-scatter can compose multiple scatter plots and synchronize their views and selections. Moreover, points can be connected by spline-interpolated lines. Thanks to the underlying WebGL rendering engine (https://github.com/flekschas/regl-scatterplot), changes in the spatial or color encoding of the points are smoothly transitioned. Finally, the widget API is inspired by seaborn and integrates seamlessly with Pandas DataFrames. As the number of arguments can get overwhelming when many properties are customized, jupyter-scatter provides a functional API that groups properties by type and exposes them via meaningfully-named methods. This functional API additionally allows users to programmatically modify active widgets from Python. To further ease the usability, jupyter-scatter infers sensible default color encodings from the data and dynamically adjusts the point opacity based on the point density in the current field of view.\r\n\r\nUsing examples from single-cell biology and machine learning we demonstrate how jupyter-scatter works, how it enables more efficient exploration of large-scale datasets, and how it can be integrated with other ipywidgets to build bespoke applications.", "recording_license": "", "do_not_record": false, "persons": [{"code": "EH7JQT", "name": "Fritz Lekschas", "avatar": "https://cfp.scipy.org/media/avatars/EH7JQT_SAaNhvg.webp", "biography": "[Fritz Lekschas](https://lekschas.de) is a computer scientist researching scalable visual exploration of biomedical data. As the Head of Visualization Research at [Ozette Technologies](https://ozette.com), he is leading the development of web-based data visualization and exploration tools for analyzing high-dimensional single-cell data. Fritz earned his PhD in computer science from Harvard University, where he was advised by Hanspeter Pfister and Nils Gehlenborg. He has published more than [twenty peer-reviewed papers](https://scholar.google.com/citations?user=v1_FiEgAAAAJ) and his work has been recognized with several awards.\r\n\r\nIn his free time, Fritz likes to work on [open-source tools for visual data exploration](https://github.com/flekschas).", "public_name": "Fritz Lekschas", "guid": "c39875f8-7799-5a5d-a473-91054e607487", "url": "https://cfp.scipy.org/2023/speaker/EH7JQT/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/AXSVZ3/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/AXSVZ3/", "attachments": []}, {"guid": "091e5369-3448-5212-b6b0-d30790881650", "code": "VGAUQN", "id": 76222, "logo": null, "date": "2023-07-13T14:20:00-05:00", "start": "14:20", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76222-accessibility-best-practices-for-authoring-jupyter-notebooks", "url": "https://cfp.scipy.org/2023/talk/VGAUQN/", "title": "Accessibility best practices for authoring Jupyter notebooks", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "So you\u2019ve written the perfect notebook, but do you know who can read it? As a notebook author you have great stories, code, and visualizations filling your work, but how often do you consider accessibility? Jupyter notebooks seem like they are for everyone, but how a notebook gets written can greatly impact how usable it is for people with disabilities. We\u2019ve curated authoring-focused best practices for notebook content to help your notebooks be more inclusive and reach a wider audience.", "description": "Accessibility practices are for everyone, but this may be especially important to notebook authors in academic and public settings where it is often legally required. Using [staple accessibility frameworks](https://www.w3.org/WAI/WCAG21/Understanding/intro#understanding-the-four-principles-of-accessibility), this talk will dive into what it means to make your notebook\u2019s content accessible and provide actionable guidance on how you as an author can improve your notebooks. These skills can be applied regardless of preferred notebook interface, author skill set, or prior accessibility knowledge.\r\n\r\nThis talk is best for an audience that is familiar with Jupyter notebooks. Prior accessibility knowledge or any other Jupyter knowledge is not necessary. The content is likely to be most engaging for an audience who regularly authors notebooks.\r\n\r\nThe structure of the talk will be as follows:\r\n1. Background and introduction to accessibility (7 minutes)\r\n    1.1 Why this talk? (Hint: community members have requested it)\r\n    1.2 Defining accessibility and scoping: what we will and won\u2019t cover in the talk\r\n    1.3 Common terms (disability, WCAG, assistive technology)\r\n2. Breaking down the notebook with WCAG (13 minutes)\r\n    2.1 Perceivable elements (Labels, colors, alternative forms of content)\r\n    2.2 Operable elements (Labeling for interactive areas, keyboard controls)\r\n    2.3 Understandable writing and structure (Markdown headings, summaries, plain language)\r\n3. Adopting a notebook accessibility checklist (2 minutes)\r\n4. What you can do next (2 minutes)\r\n5. Questions (6 minutes)\r\n\r\nAt the end of this talk, attendees will\r\n* Have an awareness of foundational accessibility principles and how they can appear in Jupyter notebooks.\r\n* Be able to identify common accessibility pitfalls (ie. misused Markdown, incomplete visualizations, etc.) in Jupyter notebooks and what to do instead.\r\n* Have a checklist for easy reference of accessibility best practices when writing their own notebooks or editing existing ones.", "recording_license": "", "do_not_record": false, "persons": [{"code": "9DK7ZD", "name": "Stephannie Jimenez Gacha", "avatar": "https://cfp.scipy.org/media/avatars/9DK7ZD_VgxCp8o.webp", "biography": "I've been working in open source since 2019 as part of multiple projects involving scientific computing and IDE development. The last two years a lot of my work has been focused on providing a better UI/UX of multiple applications. I've given multiple talks about different topics, the two most recent are available in the following links:\r\n\r\n- PyData/Pycon Berlin 2022: https://www.youtube.com/watch?v=__EkpdeVGY4\r\n- Scipy Latam 2021: https://youtu.be/ZNVp1E0QADU?t=11847", "public_name": "Stephannie Jimenez Gacha", "guid": "a1a689fb-16b5-50a4-8d9d-004783d28c91", "url": "https://cfp.scipy.org/2023/speaker/9DK7ZD/"}, {"code": "NNARVV", "name": "Isabela Presedo-Floyd", "avatar": "https://cfp.scipy.org/media/avatars/NNARVV_OWGt1zm.webp", "biography": "Isabela Presedo-Floyd (she/her) is a question-asker and UX/UI and Accessibility Designer at Quansight Labs. She is an enthusiasm enthusiast who works on tools that support open, reproducible science.", "public_name": "Isabela Presedo-Floyd", "guid": "d251fd3a-8f7f-5966-bf32-02d67de3a9d3", "url": "https://cfp.scipy.org/2023/speaker/NNARVV/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/VGAUQN/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/VGAUQN/", "attachments": []}, {"guid": "11aed7f2-c127-5499-9c3b-ba4869d259c8", "code": "7ZGCQM", "id": 76342, "logo": null, "date": "2023-07-13T15:00:00-05:00", "start": "15:00", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76342-scientific-and-technical-publishing-with-python-and-quarto", "url": "https://cfp.scipy.org/2023/talk/7ZGCQM/", "title": "Scientific and technical publishing with Python and Quarto", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "In research and data science, effective communication requires weaving together narrative text and code to produce elegantly formatted output. By embedding executable Python code blocks inside markdown, the open-source publishing platform, Quarto, works with Jupyter and VS Code to enable you to create these fully reproducible documents and reports with the format and styling you need. In this talk I\u2019ll share how to get started and a few of my favorite things in Quarto including creating a manuscript, presentation and website in HTML, PDF and Word from a single source file, and creating lessons, reports, and Confluence documents.", "description": "Research and data science isn\u2019t just experiments and code, it\u2019s also communicating about our results, creating reports, sharing analyses, and teaching. To communicate effectively, we need to weave together narrative text and code to produce elegantly formatted, interactive output. Not only does it need to look great, but it needs to be reproducible, accessible, easily editable, diffable, version controlled and output in a variety of formats, such as PDF, HTML and MS Word. Jupyter has already made so much of this possible! The open-source publishing platform, Quarto, combines with Jupyter, or is a VS Code extension, so that we can easily use the output format and the styling that\u2019s needed for any situation. You can author documents as plain text markdown or Jupyter notebooks with scientific markdown, including equations (LaTeX support!), citations, cross references, figure panels, callouts, advanced layouts, and more.\r\n\r\nQuarto (https://quarto.org/) is a markdown format that adds executable Python code blocks and build on top of Pandoc to produce a variety of output documents. This allows you to create fully reproducible documents and reports\u2014the Python code required to produce your output is part of the document itself, and is automatically re-run whenever the document is rendered. This means you can create documents as plain text markdown or Jupyter notebooks that can be easily rendered into presentations, websites and manuscripts in a variety of journal formats. You can also engage readers by adding interactive data exploration to your documents using Jupyter Widgets, htmlwidgets for R, Observable JS, and Shiny.\r\n\r\nIn this talk, I\u2019ll discuss how to author these dynamic, computational documents with Quarto and Python, showing how to get started and highlighting a few of my favorite things. I\u2019ll walk through how to use a single source document to target multiple formats - transforming a simple document into a presentation, a scientific manuscript, a website, a blog, and a book in a variety of formats including HTML, PDF and MS Word.  I\u2019ll share workflows for creating and automating reports, an approach to creating online lessons, and finally how to publish Jupyter notebooks within existing content management systems like Hugo, Docusaurus, and Confluence, so that you can get started creating whatever content you need.", "recording_license": "", "do_not_record": false, "persons": [{"code": "DMSP98", "name": "Tracy Teal", "avatar": "https://cfp.scipy.org/media/avatars/DMSP98_rHrgxLe.webp", "biography": "Tracy Teal is the Open Source Program Director at Posit. Previously, she was a co-founder of Data Carpentry and the Executive Director of The Carpentries. She developed open source bioinformatics software as an assistant professor at Michigan State University and holds a PhD in computation and neural systems from California Institute of Technology. Tracy is involved in the open source software and reproducible research communities, including serving on advisory committees for NumFOCUS, pyOpenSci, EarthLab and carbonplan, and has been working with open source communities, developing curriculum, and teaching people how to work with data and code as a developer, instructor and project leader throughout her career.", "public_name": "Tracy Teal", "guid": "9dfcdf29-d839-5b1f-a609-9d08f87ef1e6", "url": "https://cfp.scipy.org/2023/speaker/DMSP98/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/7ZGCQM/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/7ZGCQM/", "attachments": []}, {"guid": "674a137c-1d1d-59ac-acd3-57981a93684c", "code": "RVLFPB", "id": 76106, "logo": "https://cfp.scipy.org/media/2023/submissions/RVLFPB/longtail_38_0_I4vvxzb_SO93LqN.png", "date": "2023-07-13T15:50:00-05:00", "start": "15:50", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76106-taming-black-swans-long-tailed-distributions-in-the-natural-and-engineered-world", "url": "https://cfp.scipy.org/2023/talk/RVLFPB/", "title": "Taming Black Swans: Long-tailed distributions in the natural and engineered world", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "Long-tailed distributions are common in natural and engineered systems; as a result, we encounter extreme values more often than we would expect from a short-tailed distribution. If we are not prepared for these \"black swans\", they can be disastrous.\r\n\r\nBut we have statistical tools for identifying long-tailed distributions, estimating their parameters, and making better predictions about rare events.\r\n\r\nIn this talk, I present evidence of long-tailed distributions in a variety of datasets -- including earthquakes, asteroids, and stock market crashes -- discuss statistical methods for dealing with them, and show implementations using scientific Python libraries.", "description": "You would think we'd be better prepared for disaster. But events like\r\nHurricane Katrina in 2005, which caused catastrophic flooding in New\r\nOrleans, and Hurricane Maria in 2017, which caused damage in Puerto Rico\r\nthat has still not been repaired, show that large-scale disaster\r\nresponse is often inadequate. Even wealthy countries -- with large\r\ngovernment agencies that respond to emergencies and well-funded\r\norganizations that provide disaster relief -- have been caught\r\nunprepared time and again.\r\n\r\nThe are many reasons for these failures, but one of them is that rare,\r\nlarge events are fundamentally hard to comprehend. Because they are\r\nrare, it is hard to get the data we need to estimate their likelihood precisely.\r\nAnd because they are large, they challenge our ability to imagine\r\nquantities that are orders of magnitude bigger than what we experience\r\nin ordinary life.\r\n\r\nIn terms introduced by Nassim Taleb, a \"black swan\" is a large, impactful event that was\r\nconsidered extremely unlikely before it happened, based on a model of\r\nprior events. If the distribution of event sizes is actually long-tailed\r\nand the model is Gaussian, black swans will happen with some regularity.\r\nHowever, black swans can be \"tamed'' by using appropriate models, including lognormal, Student t, and Pareto distributions.\r\n\r\nIn this talk, I introduce these distributions and show how they can be used to model measurements from natural and engineered systems -- including earthquakes, craters on the moon, solar flares, file sizes, and stock market crashes. We will use distributions and optimization tools from SciPy to estimate parameters and generate predictions, and Matplotlib to visualize the results.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ECV9N3", "name": "Allen  Downey", "avatar": "https://cfp.scipy.org/media/avatars/ECV9N3_O7lEiTp.webp", "biography": "Allen Downey is a curriculum designer at the online learning company Brilliant and professor emeritus at Olin College. He is the author of several books related to computer science and data science, including Think Python, Think Stats, and Think Bayes. His blog, Probably Overthinking It, features articles about Bayesian statistics. He received his Ph.D. in Computer Science from U.C. Berkeley, and M.S. and B.S. degrees from MIT.", "public_name": "Allen  Downey", "guid": "fd6888b8-1d9f-5317-accc-05fab45b7326", "url": "https://cfp.scipy.org/2023/speaker/ECV9N3/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/RVLFPB/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/RVLFPB/", "attachments": []}, {"guid": "7c3c1623-ce8a-5471-848e-704af1e0ec0f", "code": "X8KZ3E", "id": 76374, "logo": "https://cfp.scipy.org/media/2023/submissions/X8KZ3E/napari-window_5oz2dQ9_qmN8o3K.png", "date": "2023-07-13T16:30:00-05:00", "start": "16:30", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76374-view-annotate-and-analyze-multi-dimensional-images-in-python-with-napari", "url": "https://cfp.scipy.org/2023/talk/X8KZ3E/", "title": "View, annotate, and analyze multi-dimensional images in Python with napari", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "napari is an n-dimensional image viewer for Python. If you\u2019ve ever tried `plt.imshow(arr)` and made Matplotlib unhappy because `arr` has more than two dimensions, then napari might be for you! napari will gladly *display higher-dimensional arrays* by providing sliders to explore additional dimensions. But napari can also: *overlay* derived data, such as points, segmentations, polygons, surfaces, and more; and *annotate* and *edit* these data, using standard data structures like NumPy or Zarr arrays, allowing you to *seamlessly weave* exploration, computation, and annotation in image analysis.", "description": "napari is an n-dimensional image viewer for Python. If you\u2019ve ever tried `plt.imshow(arr)` and made Matplotlib unhappy because `arr` has more than two dimensions, then napari might be for you!\r\n\r\nThe napari canvas can be 2D or 3D. When you give napari an array with more dimensions than the canvas, it will automatically create sliders for those additional dimensions, allowing you to rapidly explore your full data, rather than a few sampled slices.\r\n\r\nImage analysis and visualization involves more than images though: feature detection algorithms result in *points*, segmentation results in *label images*, annotation results in *shapes* such as rectangles or polygons, and more. Napari provides *layers* that can be displayed on top of each other or side by side, allowing users of Scientific Python to gain a rapid understanding of the algorithms they\u2019re using \u2014 where they work well and where they might go wrong.\r\n\r\nSometimes, image analysis algorithms get you *this* far, but not quite far enough. In such cases, it\u2019s useful to manually curate their output, then  continue with downstream steps of an analysis. Napari provides editing tools for its layer types, allowing one for example to add missing points to the output of a peak detection algorithm, remove incorrect ones, paint over incorrect parts of a segmentation, or draw polygons around missed objects of interest. The resulting data points are saved in standard Scientific Python data structures, such as NumPy or Zarr arrays.\r\n\r\nThis design makes it easy to seamlessly weave together image exploration, image computation, processing, and analysis, and data annotation, curation, and editing.\r\n\r\nNapari provides a *plugin interface*, allowing developers to extend napari\u2019s capabilities, providing users with novel ways to interact with their data. Because napari provides both a library accessible within Python, IPython, and Jupyter, *and* a standalone executable script, we have even found that napari plugins can be an effective way to help collaborators run Python image analysis workflows without needing to launch Python.\r\n\r\nIn this talk, I\u2019ll introduce napari\u2019s history, demonstrate all the features described above, and discuss current limitations and where we\u2019re going.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QUTG3K", "name": "Juan Nunez-Iglesias", "avatar": "https://cfp.scipy.org/media/avatars/QUTG3K_DQ8LZLk.webp", "biography": "I'm a research scientist helping other scientists get insights from their image data using Python. I've been using Python since 2008, and the main scientific Python ecosystem (NumPy, SciPy, & co) since 2010. In 2012, on a whim, I went to my first SciPy (US) conference, and it changed my life! I realised that \"open source\" didn't mean just posting the code online. It meant actively collaborating on code with other scientists, across vast distances and at different times. Before you could say \"import numpy as np\", I had joined the scikit-image team, written a paper about it, written a whole book on SciPy (!), started new collaborative, open source libraries, and just generally been all-in on Scientific Python. I've been coming back to SciPy as often as I can to pay it forward for new folks in our community! \ud83d\ude0a", "public_name": "Juan Nunez-Iglesias", "guid": "19b8edb3-828c-58bc-87a3-6790bdf3cae0", "url": "https://cfp.scipy.org/2023/speaker/QUTG3K/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/X8KZ3E/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/X8KZ3E/", "attachments": []}], "Grand Salon C": [{"guid": "f4d3aee3-d117-5c48-98be-c30be7d50b12", "code": "MFQQRJ", "id": 76177, "logo": null, "date": "2023-07-13T10:45:00-05:00", "start": "10:45", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76177-interactive-analysis-of-satellite-imagery-with-earth-engine-and-geemap", "url": "https://cfp.scipy.org/2023/talk/MFQQRJ/", "title": "Interactive Analysis of Satellite Imagery with Earth Engine and Geemap", "subtitle": "", "track": "Earth, Ocean, Geo, and Atmospheric", "type": "Talk", "language": "en", "abstract": "Google Earth Engine is a cloud-computing platform with a multi-petabyte catalog of satellite imagery and geospatial datasets. Built upon the Earth Engine Python API and open-source mapping libraries, geemap enables Earth Engine users to interactively manipulate, analyze, and visualize geospatial big data in a Jupyter environment. This presentation introduces Earth Engine and highlights the key features of geemap for interactive mapping and geospatial analysis with Earth Engine. Attendees can utilize geemap to create satellite timelapse animations for any location on Earth within 60 seconds. Additional resources will be provided to the attendees to learn more about geemap.", "description": "The Earth is constantly changing, which creates significant challenges for the environment and human society. To tackle these challenges on a global scale, the Earth science community relies heavily on geospatial datasets that are collected through various means, such as satellite, aerial, and mobile sensors. However, the explosive growth of geospatial datasets over the past few decades has overwhelmed the Earth science community's capacity for storage, analysis, and visualization. Fortunately, the advent of cloud-computing platforms, such as Google Earth Engine, has made it possible to access, manipulate, and analyze large volumes of geospatial data on-the-fly. In recent years, Earth Engine has become increasingly popular in the geospatial community and has enabled numerous Earth science applications at local, regional, and global scales.\r\n\r\nThe geemap Python package is built upon the Earth Engine Python API and open-source mapping libraries. It allows Earth Engine users to interactively manipulate, analyze, and visualize geospatial big data in a Jupyter environment. Since its creation in April 2020, geemap has received over [2,500 GitHub stars](https://github.com/giswqs/geemap/stargazers) and is being used by over [800 projects](https://github.com/giswqs/geemap/network/dependents) on GitHub. More than [130 Jupyter notebook examples](https://geemap.org/tutorials/)  and an [open-access book](https://book.geemap.org/) are available for learning geemap. \r\n\r\nThis presentation introduces Earth Engine and highlights the key features of geemap for interactive mapping and geospatial analysis with Earth Engine, such as\r\n- Searching and loading datasets from the Earth Engine Data Catalog\r\n- Visualizing raster and vector datasets interactively\r\n- Using Cloud Optimized GeoTIFFs (COG) and SpatioTemporal Asset Catalogs (STAC)\r\n- Visualizing the Dynamic World global land cover datasets\r\n- Creating satellite timelapse animations\r\n\r\nThis presentation is intended for scientific programmers, data scientists, geospatial analysts, and concerned citizens of Earth. Attendees should have a basic understanding of Python and Jupyter Notebook. Familiarity with Earth science and geospatial datasets is not necessary, but it will be helpful. For more information about Earth Engine and geemap, visit https://earthengine.google.com and https://geemap.org.", "recording_license": "", "do_not_record": false, "persons": [{"code": "UX3DZA", "name": "Steve Greenberg", "avatar": "https://cfp.scipy.org/media/avatars/UX3DZA_Ftu4V6P.webp", "biography": "Steve is passionate about using machine learning and remote sensing technology to tackle the climate and sustainability crises. He leads the Developer Relations team for [Google Earth Engine](https://earthengine.google.com/). Earth Engine is a  geospatial analysis platform advancing planetary sustainability and resilience to climate change. His team helps remote sensing professionals, data scientists and machine learning engineers analyze petabytes of satellite imagery to understand and protect the earth. Earth Engine is provided [free-of-charge for noncommercial and research purposes](https://earthengine.google.com/noncommercial/).\r\n\r\nFrom 2016 through 2021, Steve led Developer Relations for BigQuery, Vertex AI and other Machine Learning and Data Analytics products in Google Cloud Platform, where he focused on improving the experience for users of scikit-learn, XGBoost and TensorFlow.\r\n\r\nSteve also co-leads Google's largest grassroots sustainability group - organizing Googlers to incubate new climate initiatives. Three of the climate areas he's worked on - wind energy prediction, real-time precipitation modeling and sustainable building design - have graduated into full-time projects at Google. Prior to joining Google in 2016, Steve led engineering at a Seattle startup helping governments be more accountable to their citizens with public data. Before 2012, Steve was a Program Manager working on various data efforts in Microsoft's Office team.", "public_name": "Steve Greenberg", "guid": "fd5dfae1-96df-5a9a-9557-7bffece407be", "url": "https://cfp.scipy.org/2023/speaker/UX3DZA/"}, {"code": "ZFYMW8", "name": "Qiusheng Wu", "avatar": "https://cfp.scipy.org/media/avatars/ZFYMW8_6I635HH.webp", "biography": "Qiusheng Wu is an Associate Professor in the Department of Geography & Sustainability at the University of Tennessee, Knoxville. He is also an Amazon Visiting Academic and a Google Developer Expert (GDE) for Earth Engine. His research focuses on Geographic Information Science, remote sensing, and open-source software development. Dr. Wu is an advocate of open science and reproducible research. He has developed several open-source packages that have been widely used by the geospatial community, such as [geemap](https://geemap.org) and [leafmap](https://leafmap.org). For more information about his research, visit https://wetlands.io.", "public_name": "Qiusheng Wu", "guid": "aa94f30f-c354-5aa6-ac2e-4f5b2fea2a2f", "url": "https://cfp.scipy.org/2023/speaker/ZFYMW8/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/MFQQRJ/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/MFQQRJ/", "attachments": []}, {"guid": "eb3a5af6-4cba-5bb8-b9c1-ea6b4920d22b", "code": "BAD9ZQ", "id": 76277, "logo": "https://cfp.scipy.org/media/2023/submissions/BAD9ZQ/scipy_2023_thumbnail_nZPIWB6_udsAJvZ.png", "date": "2023-07-13T11:25:00-05:00", "start": "11:25", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76277-accelerating-the-use-of-public-geophysical-data-for-recharging-california-s-groundwater", "url": "https://cfp.scipy.org/2023/talk/BAD9ZQ/", "title": "Accelerating the Use of Public Geophysical Data for Recharging California\u2019s Groundwater", "subtitle": "", "track": "Earth, Ocean, Geo, and Atmospheric", "type": "Talk", "language": "en", "abstract": "Recharging ground aquifers is an urgent task for improving groundwater sustainability in California. Geophysical data can provide a capability to image the subsurface where the major data gap lies. However, neither data nor analytic tools required to derive subsurface information is readily accessible. We present an interactive web application that utilizes a public database, GIS capabilities and directly integrates Jupyter Notebooks and Python packages from researchers to guide recharge site location. Our demonstration showcases how this technology can contribute to improving groundwater recharge in California and how integrating the research knowledge directly into a web application can increase the impact.", "description": "California's Central Valley is one of the world's most productive farmland, but the region faces a serious threat to groundwater sustainability due to population growth and climate change. Recharging ground aquifers is essential to address this challenge, however a major data gap exists in the subsurface. Geophysical data can provide crucial information about the subsurface, but neither the data nor the analytic tools required to derive subsurface information is readily accessible to those working on the recharge problem.\r\nIn this talk, we will present our development of a web-application and companion public database for accelerating groundwater recharge in California, which is a part of the Sustainability Accelerator Project funded by Stanford Doerr School of Sustainability. Our application uses electrical resistivity data obtained from electromagnetic geophysical surveys, as well as ancillary data from driller's logs (containing information about sediment/rock) and water level/quality measurements, to create 2D maps of recharge metrics. These maps guide the location of recharge sites, and the public resistivity and ancillary data are compiled into an online database using Redivis and displayed in a custom web-application. The application provides project partners the ability to utilize research codes without requiring knowledge of Python, and is flexible to allow updates by researchers to support rapid changes and feedback from partners to meet their specific needs for a recharge site location.\r\nThe development of the web-application was a collaborative effort between academic researchers and software engineers at Curvenote. The application enables direct use of research code by front-facing practitioners tackling the recharge problem in California. We utilized open source Python packages, to create Jupyter Notebooks that can execute each stage of the workflow.", "recording_license": "", "do_not_record": false, "persons": [{"code": "7V9CTG", "name": "SEOGI KANG", "avatar": "https://cfp.scipy.org/media/avatars/7V9CTG_GpPF5C6.webp", "biography": "Dr. Kang completed his PhD in Geophysics at University of British Columbia, Canada, in 2018. His thesis work focused on electromagnetic imaging and its application to mining problems. Currently, he is a Postdoctoral Researcher in the Geophysics Department at Stanford. His research focus is on maximizing the value of sensor data for advancing groundwater science and management. He is a co-creator of an open-source geophysical software, SimPEG.", "public_name": "SEOGI KANG", "guid": "95a527cd-27ad-57da-8c15-76a87c193c6d", "url": "https://cfp.scipy.org/2023/speaker/7V9CTG/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/BAD9ZQ/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/BAD9ZQ/", "attachments": []}, {"guid": "92af6874-178e-535f-8413-c2394a9fdf33", "code": "XMBALS", "id": 76290, "logo": null, "date": "2023-07-13T14:20:00-05:00", "start": "14:20", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76290-uxarray-a-python-library-for-unstructured-climate-and-weather-data", "url": "https://cfp.scipy.org/2023/talk/XMBALS/", "title": "UXarray, a python library for unstructured climate and weather data", "subtitle": "", "track": "Earth, Ocean, Geo, and Atmospheric", "type": "Talk", "language": "en", "abstract": "UXarray aims to provide xarray-styled functionality for unstructured grid datasets. UXarray offers support for loading and representing unstructured grids by utilizing existing Xarray functionality paired with new routines that are specifically written for operating on unstructured grids. In this talk, we will present the current capabilities of the library: reading and writing of unstructured grids, reading of datasets along with basic grid operations and the need to speed up computations, integration operations along with details on speedups obtained by using Numba and python indexing. We will also demonstrate the use of this library for visualization of unstructured grids.", "description": "After less than a year of development, UXarray has already become a popular Python repository with an active community engagement, boasting more than 10 forks and 77 stars on GitHub.\r\n\r\nThe UXarray project aims to bridge the gap between traditional operations on structured grids and modern standards for unstructured grids, such as the UGRID specification. Global climate models have traditionally used rectangular latitude-longitude grids for their data layout, but these grids lead to computational challenges at high resolutions due to the convergence of lines of longitude at the poles. Therefore, modeling centers worldwide have adopted unstructured grids that allow for quasi-uniform distribution of data over the sphere. However, analyzing data on these grids is far more difficult than on latitude-longitude grids, often requiring groups to apply lossy regridding to their data so that traditional tools can be applied. To partly address this problem, groups worldwide have moved towards the adoption of standards for unstructured grid data, such as the UGRID specification developed under the Climate-Forecast (CF) conventions.\r\n\r\nMost climate models output data in the NetCDF format, and the CF conventions are an important standard for organizing the metadata of these files and includes details on how to describe a rectangular latitude longitude grid. The UGRID specification describes how a NetCDF file can represent an unstructured grid, but it has potential issues. Currently, the UGRID specification is under consideration to be included in the netCDF CF conventions.\r\n\r\nOur new Python library, UXarray, supports operations directly on unstructured grid data, reducing the need for creating regular-grid copies of unstructured grid output and simplifying the workflow. Unstructured grids can be provided in files following various conventions, such as UGRID, SCRIP, EXODUS, etc. These conventions have different definitions and representations of the attributes and variables used to describe the unstructured grid topology. Moreover, the UGRID convention does not enforce standard variable namings for most of the attributes and variables, except for a few required ones. UXarray unifies all of these conventions at the data loading step by representing grids internally in the UGRID convention, regardless of the original grid file type. Furthermore, it uses a set of standardized names for topology attributes and variables, while still providing the user with the original attribute names and variables from the grid definition file. All of these features lay the foundation for the development of quick and efficient algorithms for climate scientists around the world.\r\n\r\nOur design for UXarray aims to maintain Xarray interoperability, which allows us to utilize various Xarray-compatible packages. UXarray uses Numba for loop optimizations and faster computation. Additionally, we provide examples and performance metrics showcasing interoperable read/write operations, grid and corresponding data reading, efficiency and optimization built into UXarray, and visualization.\r\n\r\nOverall, UXarray aims to simplify the workflow for climate and weather scientists working with unstructured grids and allow them to efficiently analyze and visualize their data.", "recording_license": "", "do_not_record": true, "persons": [{"code": "YD8CDL", "name": "Rajeev Jain", "avatar": null, "biography": "Rajeev Jain is a Principal Research Software Specialist at the Argonne National Laboratory, located in the suburbs of Chicago, with a focus on managing multi-disciplinary simulation, scalability and computation for applications-oriented problems.\r\n\r\nHe is a quick learner who loves to solve complex problems and readily adapts to new challenges. His work encompass a range of scientific domains, from simulating physical phenomena to developing deep-learning-enabled precision medicine for cancer and providing data analysis tools for the geoscience community.\r\n\r\nTo learn more about Rajeev Jain's work and research, you can visit his profile page on the Argonne website: https://www.anl.gov/profile/rajeev-jain\r\n\r\nLinkedIn: https://linkedin.com/in/rajeeja", "public_name": "Rajeev Jain", "guid": "b597ad4a-b952-5ed7-87e4-fab41242c29f", "url": "https://cfp.scipy.org/2023/speaker/YD8CDL/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/XMBALS/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/XMBALS/", "attachments": []}, {"guid": "6b8db17f-053a-5dfb-813c-a23d897899cd", "code": "QYHD3G", "id": 76160, "logo": null, "date": "2023-07-13T15:00:00-05:00", "start": "15:00", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76160-introducing-ytxarray", "url": "https://cfp.scipy.org/2023/talk/QYHD3G/", "title": "Introducing yt_xarray", "subtitle": "", "track": "Earth, Ocean, Geo, and Atmospheric", "type": "Talk", "language": "en", "abstract": "*yt_xarray* is a new package in the scientific python ecosystem for linking *yt* and *xarray*. *yt*, primarily used in computational astrophysics, has gradually broadened support for scientific domains, including geoscience disciplines. Most geoscience data, however, still requires manual steps to load into *yt*. *yt_xarray*, a new *xarray* extension, aims to streamline communication of data from *xarray* to *yt*, providing a potentially useful tool to the many geoscience researchers already using *xarray* while allowing *yt* to leverage the distributed backends already supported by *xarray*. In this presentation, we will provide an overview of the usage and design of *yt_xarray*.", "description": "A number of recent efforts within the [*yt*](https://yt-project.org/) community have broadened the scope of scientific domains supported by *yt*. Some of these efforts included improving generic functionality while others focused on adding functionality required for specific domains outside the astrophysics scientific community. For geoscience data in particular, the addition of a geographic coordinate handler and an interface to [*cartopy*](https://scitools.org.uk/cartopy/docs/latest/) for producing maps within the *yt* plotting framework enabled analysis of geographic datasets. Getting the data into *yt*, however, was not as streamlined as it could be; with the exception of some new custom data ingestors (termed \"frontends\" in yt) for specific geoscience data products, most geoscience data still required manual loading of arrays with generic *yt* loaders. In addition to extra steps for the user, this limitation also required that the data fit entirely within memory. [*yt_xarray*](https://yt-xarray.readthedocs.io/en/latest/) fills this gap in data regularization required for loading geodata in *yt* by leveraging [*xarray*](https://docs.xarray.dev/en/stable/) for reading of data on demand as *yt* needs it. \r\n\r\nRather than a traditional *yt* frontend, *yt_xarray* v0.1 introduced an *xarray* `accessor` object that streamlines the creation of *yt* datasets from subsets of fields, simplifying the process of using *yt* with most regularly gridded datasets that *xarray* can load. While the initial release focuses on simply returning a *yt* dataset object for use with any *yt* function, future releases will further simplify access to *yt* functions from *xarray* by providing *yt* function wrappers from within *yt_xarray*.\r\n\r\nWhile *yt* and *xarray* have some similarity in that they both load and manpipulate coordinate-referenced arrays, *yt* is inherently is designed primarily for volumetric data while *xarray* supports sets of labeled arrays more generally. This difference informed a number of important design choices in *yt_xarray*, in particular with regards to how chunked arrays are handled. For gridded datasets in *yt*, a physical domain can be subdivided into multiple grid objects so that a single *yt* \"chunk\" maps to a subdomain of the whole grid. During processing, subdomains are processed sequentially so that data is loaded as needed. In *xarray*, chunks are defined as contiguous index ranges within arrays, with the actual data potentially residing in on-disk files or existing as delayed computations. *yt_xarray* merges these two chunking systems by building *yt* grids that map spatial subdomains to index ranges of *xarray* fields. This allows a 1:1 mapping of *Dask*-*xarray* chunks to yt grid objects but also allows multiple *Dask*-*xarray* chunks to be contained within a yt grid object. \r\n\r\nIn this presentation, we will provide an overview for using *yt_xarray* for loading and analyzing regularly gridded 2D and 3D *xarray* datasets. In addition to the general usage and development plans, we will describe the design of *yt_xarray* with a focus on leveraging the performance benefits of distributed arrays loaded via *xarray*.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QCYV8M", "name": "Chris Havlin", "avatar": null, "biography": "Chris Havlin is a Research Scientist in the School of Information Sciences at the University of Illinois. His work focuses on open source scientific software development and computational geodynamics.", "public_name": "Chris Havlin", "guid": "2617e483-873d-5e36-88e5-07590c27fd37", "url": "https://cfp.scipy.org/2023/speaker/QCYV8M/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/QYHD3G/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/QYHD3G/", "attachments": []}, {"guid": "7a9743e2-e382-5f3a-8130-f835665657de", "code": "LCWBBP", "id": 76268, "logo": null, "date": "2023-07-13T15:50:00-05:00", "start": "15:50", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76268-tidy-geospatial-cubes", "url": "https://cfp.scipy.org/2023/talk/LCWBBP/", "title": "Tidy Geospatial Cubes", "subtitle": "", "track": "Earth, Ocean, Geo, and Atmospheric", "type": "Talk", "language": "en", "abstract": "The open-source project, Xarray, combines labeled data structures inspired by Pandas with NumPy-like multi-dimensional arrays to provide an intuitive and scalable interface for scientific analysis. Xarray has strong user bases in the physical sciences and geospatial community. However, new users commonly struggle to fit their dataset into the Xarray model and with conceptualizing and constructing an Xarray object that makes subsequent analysis steps easy (\u201cdataset wrangling\u201d). We take inspiration from the \u201ctidy data\u201d concept for dataframes \u2014 \u201cdatasets structured to facilitate analysis\u201d (Wickham, 2014) \u2014 and attempt a definition of tidy data for labeled array objects provided by Xarray.", "description": "The open-source project, Xarray, combines the convenience of labeled data structures inspired by Pandas with NumPy-like multi-dimensional arrays (\"cubes\") to provide an intuitive and scalable interface for scientific analysis. Xarray is now widely used across many areas of scientific research, with a particularly strong user base in the physical sciences. New users commonly struggle to fit their dataset into the Xarray data model and, in particular, struggle with conceptualizing and constructing an Xarray object that makes subsequent analysis steps easy (\u201cdataset wrangling\u201d). We take inspiration from the \u201ctidy data\u201d concept for dataframes \u2014 \u201cdatasets structured to facilitate analysis\u201d (Wickham, 2014) \u2014 and attempt a definition of tidy data for labeled array objects provided by Xarray.\r\n\r\nA \u2018tidy dataset\u2019 framework will help streamline processing workflows across the physical sciences and provide a set of norms and principles to guide the use and construction of large and complex datasets encountered in these fields. The utility of this exercise is twofold: helping dataset producers construct more useful Analysis-Ready datasets; and developing a set of guidelines that can help users wrangle their datasets into a form that enables convenient analysis with Xarray. In addition, a commonly-defined concept for \u2018tidy\u2019 geospatial array data might enable development of \u2018tidy\u2019 tools that consume and produce tidy datasets (Wickham, 2014).\r\n\r\nThis presentation will examine three datasets and the processes of \u2018tidying\u2019 them. We will demonstrate various ways that a dataset may be \u2018untidy\u2019 \u2014 not conducive to analysis \u2014 and present a useful set of rules to define \u2018tidy geospatial cubes.\u2019 The examples we will discuss are: 1) Harmonized Landsat Sentinel-2 (HLS), a dataset of multispectral reflectance measurements, 2) Aquarius, a dataset of remotely sensed sea surface salinity measurements; and 3) ITS_LIVE, a multi-sensor dataset of ice velocity measurements for glaciers and ice sheets based on satellite image pairs. Our presentation will walk through common analytical workflows with these remote sensing datasets and highlight the organizational choices a user must make along the way (related to metadata, variables, coordinates, and dimensions) to efficiently arrive at a computational result with Xarray.\r\n\r\nDefining a common framework for labeled array objects will ease the learning curve for new users and minimize the time spent on data-wrangling steps. At present, the examples are satellite remote sensing datasets, and we recognize that there might be elements of the \u2018tidy Xarray\u2019 definition that are specific to this subdomain. We hope to spark a discussion that will help generalize the presented principles.", "recording_license": "", "do_not_record": false, "persons": [{"code": "RKNM7F", "name": "Deepak Cherian", "avatar": null, "biography": null, "public_name": "Deepak Cherian", "guid": "dc5d4b53-82ee-530f-8490-b34be4477995", "url": "https://cfp.scipy.org/2023/speaker/RKNM7F/"}, {"code": "CFCJHA", "name": "Emma Marshall", "avatar": "https://cfp.scipy.org/media/avatars/CFCJHA_ihcnI7g.webp", "biography": "I am a graduate student at the University of Utah in the Geography Department. My research uses remote sensing data and other tools to study recent variability of alpine glaciers in High Mountain Asia. I am excited to return for my second SciPy after attending for the first time in 2022!", "public_name": "Emma Marshall", "guid": "d97e0b12-3739-54fe-ac3c-01971bf5db22", "url": "https://cfp.scipy.org/2023/speaker/CFCJHA/"}, {"code": "W73W8Q", "name": "Scott Henderson", "avatar": "https://cfp.scipy.org/media/avatars/W73W8Q_waE9v1f.webp", "biography": "Scott is research scientist in the University of Washington (UW) Department of Earth and Space Sciences and data science fellow at the eScience Institute. He works on numerous NASA-funded efforts to develop open Cloud computing solutions for data intensive research.", "public_name": "Scott Henderson", "guid": "0a7c4dc6-933e-5b60-892f-e9be6ac51ee0", "url": "https://cfp.scipy.org/2023/speaker/W73W8Q/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/LCWBBP/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/LCWBBP/", "attachments": []}, {"guid": "6733a7b3-26ba-5b33-b607-ea16a14a5881", "code": "EPPR7R", "id": 76267, "logo": null, "date": "2023-07-13T16:30:00-05:00", "start": "16:30", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76267-climate-model-evaluation-workflow-built-on-jupyter-notebooks", "url": "https://cfp.scipy.org/2023/talk/EPPR7R/", "title": "Climate Model Evaluation Workflow Built on Jupyter Notebooks", "subtitle": "", "track": "Earth, Ocean, Geo, and Atmospheric", "type": "Talk", "language": "en", "abstract": "This project introduces an extensible workflow used to evaluate climate model output using collections of Jupyter notebooks. The workflow supports parametrizing and batch-executing notebooks using Papermill, in conjunction with developing notebooks interactively. Additional features include integration with Dask and caching intermediate data products generated by notebooks. The final product of the workflow can automatically be built into a Jupyter book for easy presentation and shareability. While it was initially developed for climate modeling, the flexible and extensible nature of this framework makes it adaptable to any kind of data analysis work, and the presentation will highlight this capability.", "description": "Motivation\r\n\r\nWithin the field of climate modeling, there is a need to run collections of scripts generating plots of common diagnostic metrics of climate model output, for example as models are run with different configurations during development. These scripts often involve manual configuration, and the output is not necessarily well-organized for interpreting and sharing. Jupyter notebooks help address this problem, creating more readable workflows that can be annotated and edited interactively, then easily presented to others as a Jupyter book. However, Jupyter notebooks are not by default parameterizable or runnable in batches. This project addresses this gap by utilizing Papermill to create a package that can run collections of Jupyter notebooks with configurable parameters, cache generated data products, and publish results as a Jupyter book, while continuing to support the interactive development work that Jupyter notebooks enable. This framework is not limited to use within climate modeling; the infrastructure is useful to any data science project that would benefit from a batch-executable, parameterizable, and shareable Jupyter notebook-based workflow. \r\n\r\nMethods\r\n\r\nThis project uses a number of existing open-source Python tools, building on the Jupyter ecosystem using Papermill as well as Jinja templating, supporting Dask functionality, and publishing a Jupyter book. It brings these tools together to create a powerful workflow that combines their functionality. The project infrastructure will be published as a Python package and on Github, and examples showcasing its functionality will be made available.\r\n\r\nResults\r\n\r\nCurrently (as of 3/1/23), the project is in the development stage, with several working demos. By the time of the conference, a more complete version will be public on Github with documentation and installable as a Python package, along with examples that can be downloaded and built on.\r\n\r\nConclusion\r\n\r\nWe have developed a framework for data analysis using collections of parameterizable Jupyter notebooks, along with infrastructure to support Dask, caching of data products, building a Jupyter book and other features. This is a powerful application of the Jupyter ecosystem and can be applied to a wide range of fields outside of the climate model evaluation use case it was initially developed for.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YGBXTD", "name": "Elena Romashkova", "avatar": "https://cfp.scipy.org/media/avatars/YGBXTD_djjRY49.webp", "biography": "I'm an Associate Scientist 1 in the Oceanography Section of NCAR's Climate and Global Dynamics Lab.", "public_name": "Elena Romashkova", "guid": "7fd65962-56b4-5323-ad4d-3bd9ada56d22", "url": "https://cfp.scipy.org/2023/speaker/YGBXTD/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/EPPR7R/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/EPPR7R/", "attachments": []}], "Zlotnik Ballroom": [{"guid": "caf9e46c-b276-5e27-9b43-3ab6c864ebad", "code": "DQQBWR", "id": 76099, "logo": null, "date": "2023-07-13T09:15:00-05:00", "start": "09:15", "duration": "00:45", "room": "Zlotnik Ballroom", "slug": "2023-76099-keynote-how-open-source-tools-power-the-efforts-of-biological-data-analysis-and-drug-discovery", "url": "https://cfp.scipy.org/2023/talk/DQQBWR/", "title": "Keynote - How Open Source Tools Power the Efforts of Biological Data Analysis and Drug Discovery", "subtitle": "", "track": "Keynote", "type": "Talk", "language": "en", "abstract": "Angela Pisco is the head of computational biology at insitro. She is passionate about extracting meaningful information from biomedical datasets and use that to improve disease understanding and drug development. She has studied Biomedical Engineering as BSc and MSc and have a PhD in Systems Biology. Her PhD work became the foundation of a new direction of thinking on why cancer develops resistance to chemotherapy, which is the major reason for treatment failure. In her postdoctoral work, she investigated the mechanisms of cellular differentiation in the skin. She developed a 3D computational model that recapitulated the observed changes in the mouse skin connective tissue and dermis during development. The combination of the mathematical analysis with experimental data led to a new understanding of how distinct fibroblast subpopulations become activated, proliferate, and deposit matrix proteins during wound healing. Before moving to insitro, she led the Data Science platform at CZ Biohub. There she made significant contributions for the whole organism cell atlas projects including the first whole mouse cell atlas, the first aging cell atlas, and Tabula Sapiens, one of the first Human Cell Atlas drafts (The Tabula Sapiens Consortium, Science 2022). She is also a founder and core member of Open Problems in Single Cell (openproblems.bio), a community effort to improve multimodal data analysis by both generating gold standard datasets and benchmarking metrics and infrastructure.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "9KLYQ3", "name": "Angela Pisco", "avatar": "https://cfp.scipy.org/media/avatars/9KLYQ3_HxSA5fn.webp", "biography": "Head of computational biology at insitro", "public_name": "Angela Pisco", "guid": "e8bcd811-434e-55b2-b20b-8713d1c0e8d7", "url": "https://cfp.scipy.org/2023/speaker/9KLYQ3/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/DQQBWR/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/DQQBWR/", "attachments": []}, {"guid": "986c9db2-011e-59a2-b691-32aa7e02a52a", "code": "TKQFWU", "id": 76170, "logo": null, "date": "2023-07-13T10:45:00-05:00", "start": "10:45", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76170-subpoenas-less-scary", "url": "https://cfp.scipy.org/2023/talk/TKQFWU/", "title": "Subpoenas Less Scary", "subtitle": "", "track": "Machine Learning, Data Science, and Ethics in AI", "type": "Talk", "language": "en", "abstract": "Your users have entrusted their data to you. But what happens when a law enforcement government agency demands you share the data with them? We will demystify the process of receiving and responding to law enforcement\u2019s demands for data. We demonstrate how designing around privacy can limit what needs to be shared. To make subpoenas less scary, we break them down as a technical process, and share the protections we implemented at  Mozilla. If you want to understand the real-world impact of your approaches to privacy, this talk is for you.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "9Y93LA", "name": "Rebecca BurWei", "avatar": null, "biography": "Staff Data Scientist at Mozilla. Prior lives include building a data department from scratch and getting a PhD in non-commutative algebra. Come talk to me about industry vs academia, careers in data science, under-rated places in Chicago, and who should have won the NBA playoffs.", "public_name": "Rebecca BurWei", "guid": "531d630a-b450-50d4-bff4-1f3ea622f1e8", "url": "https://cfp.scipy.org/2023/speaker/9Y93LA/"}, {"code": "KRCYUA", "name": "David Zeber", "avatar": "https://cfp.scipy.org/media/avatars/KRCYUA_XSIGxkF.webp", "biography": "David Zeber is a Staff Data Scientist at Mozilla who enjoys prototyping innovative approaches to improving the user search experience. While at Mozilla, he also led research into online tracking and privacy-preserving technologies for working with user data. He holds a PhD in applied probability from Cornell University.", "public_name": "David Zeber", "guid": "3c64bfff-2b63-5ceb-86f9-8be35a8d051c", "url": "https://cfp.scipy.org/2023/speaker/KRCYUA/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/TKQFWU/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/TKQFWU/", "attachments": []}, {"guid": "dbd0ac81-1048-5e16-baed-01933f7252eb", "code": "H9FDBV", "id": 76209, "logo": null, "date": "2023-07-13T12:15:00-05:00", "start": "12:15", "duration": "00:45", "room": "Zlotnik Ballroom", "slug": "2023-76209-diversity-luncheon-keynote-how-can-we-protect-vulnerable-groups-while-measuring-representation-in-our-communities", "url": "https://cfp.scipy.org/2023/talk/H9FDBV/", "title": "Diversity Luncheon Keynote: How can we protect vulnerable groups while measuring representation in our communities?", "subtitle": "", "track": "Keynote", "type": "Talk", "language": "en", "abstract": "Diversity, equity and inclusion initiatives often start with measurement - what do our communities look like today and how can we track progress against our goals? However, data collected through APIs, web scraping, surveys, interviews, inference etc. have the potential to expose more details about an individual than they were expecting, especially when aggregated across platforms and shared in public forums. This talk will discuss tactics, opportunities and challenges when collecting sensitive data in and around open source communities, while aligning with policies and regulations, respecting the right to anonymity and ensuring the safety of all members of the community.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "AXRSNH", "name": "Sophia Vargas", "avatar": "https://cfp.scipy.org/media/avatars/AXRSNH_vm1apfM.webp", "biography": "Sophia Vargas is a Program Manager in the research and education team within Google\u2019s Open Source Programs Office. In this role she leads efforts that span project health, contributor experience, and open source economics. She is also on the Governing Board and an active contributor to the CHAOSS community. Prior to Google, Sophia was an analyst at Forrester Research, covering data center infrastructure and cloud strategy.", "public_name": "Sophia Vargas", "guid": "1719089c-de92-5896-a4b4-b128c7090baf", "url": "https://cfp.scipy.org/2023/speaker/AXRSNH/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/H9FDBV/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/H9FDBV/", "attachments": []}, {"guid": "a2783e20-df15-5493-91bc-d6cd3ae1cff2", "code": "XSQKSA", "id": 76128, "logo": null, "date": "2023-07-13T14:20:00-05:00", "start": "14:20", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76128-using-python-to-accelerate-sustainable-aviation-fuel-research-and-development", "url": "https://cfp.scipy.org/2023/talk/XSQKSA/", "title": "Using Python to accelerate sustainable aviation fuel research and development", "subtitle": "", "track": "Machine Learning, Data Science, and Ethics in AI", "type": "Talk", "language": "en", "abstract": "Aviation comprises 2-3% of global CO2 emissions. Transitioning to cleaner, more sustainable aviation fuels can reduce its environmental impacts. To help accelerate sustainable aviation fuel development, we trained machine learning models to predict fundamental properties of biofuel blends using Fourier transform infrared (FTIR) spectra. We leveraged TPOT and standard libraries like NumPy, pandas, and scikit-learn to develop the models. This presentation will discuss how we overcame challenges with decomposing FTIR spectra data and using machine learning on small datasets (<100 samples). We will also discuss integration of the models into our open-source webtool to support biofuel research.", "description": "Aviation comprises 2-3% of global carbon dioxide emissions and 9-12% of U.S. transportation greenhouse gas emissions. Sustainable aviation fuels have the potential for reducing emissions and environmental impacts; however, due to high costs and high-volume requirements, experimental property testing of bio-based jet fuels is usually conducted years after initial bench-scale experiments are completed. Neglecting to conduct property testing early in the development cycle can lead to wasted investments spent on production of biofuels that do not meet performance expectations.\r\n\r\nMachine learning has already proven to be a valuable tool for predicting sustainable aviation fuel properties and accelerating research. In 2020, we presented our approach at SciPy (https://www.youtube.com/watch?v=ENOf0IZDla8) to predict high-throughput aviation fuel properties of over 10,000 molecules with molecular descriptors. The correlation analysis and tree-based methods for feature ranking were later published in Fuel (https://doi.org/10.1016/j.fuel.2022.123836). Using the property prediction models, we created the first Python-based, comprehensive, open-source webtool that enables scientists and companies to explore viable bio-based molecules without spending time and money testing in the lab (https://feedstock-to-function.lbl.gov).\r\n\r\nBecause aviation fuels are made of blends of molecules and compounds, our current research focuses on expanding the webtool to predict properties of fuel blends using Fourier transform infrared (FTIR) spectra and experimental property data. Specifically, we use binning and smoothing techniques to reduce experimental noise in more than 6700 FTIR spectra features and use non-negative matrix factorization (NMF) for feature selection to develop models that predict fundamental properties of biofuel blends (e.g., boiling point, flash point, melting point, specific gravity, and kinematic viscosity). The predictive models are also integrated into the webtool to help sustainable aviation fuel research. \r\n\r\nOur workflow includes using libraries such as Numpy, pandas, scikit-learn to reduce FTIR spectra data into interpretable components to predict properties, and the Tree-based Pipeline Optimization Tool (TPOT) to develop property prediction models with reduced FTIR spectra as features. Specifically, we will discuss methods for coalescing experimental spectra data from different sources, and will present methods for reducing the influence of experimental noise on model performance. We will also discuss using NMF as a dimensionality reduction technique that correctly groups FTIR spectra wavelengths together and results in meaningful features. Additionally, we will address common pitfalls such as defining an applicability domain, and recognizing and limiting the possibility of overfitting.\r\n\r\nBy sharing our experience and lessons learned, we aim to help the community overcome similar challenges when developing models for advancing science, while also demonstrating how a Python-based, open-source webtool can facilitate faster, less expensive bioprocess optimization and scale-up of sustainable aviation fuels.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NHUBRL", "name": "Ana Comesana", "avatar": "https://cfp.scipy.org/media/avatars/NHUBRL_2hohcqo.webp", "biography": "Ana Comesana is a Scientific Engineering Associate at Lawrence Berkeley National Laboratory. She is a data scientist who conducts applied machine learning research to support projects in a variety of areas, including water treatment, energy management, and bio-jet fuel research. Ana received her B.S. in Mathematics from UC Berkeley.", "public_name": "Ana Comesana", "guid": "794d1dae-c858-57f0-9ee9-150ebbd6839e", "url": "https://cfp.scipy.org/2023/speaker/NHUBRL/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/XSQKSA/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/XSQKSA/", "attachments": []}, {"guid": "120a193d-d83c-5b3e-846d-7c07a88a5e9c", "code": "MEGK33", "id": 76140, "logo": null, "date": "2023-07-13T15:00:00-05:00", "start": "15:00", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76140-contributor-experience-why-it-matters", "url": "https://cfp.scipy.org/2023/talk/MEGK33/", "title": "Contributor experience - Why it matters", "subtitle": "", "track": "Tending Your Open Source Garden: Maintenance and Community", "type": "Talk", "language": "en", "abstract": "Behind every successful open source project is a strong contributor community. What makes these communities strong? What can you do in your OSS project to nurture a thriving contributor community? In this presentation, we will share insights from the work of the Contributor Experience Lead team (NumPy, SciPy, Matplotlib, and pandas) and discuss why designing and providing positive contributor experience is vital to sustainability of each individual project and the SciPy ecosystem overall.", "description": "Behind every successful open source project is a strong contributor community. Engaging and supporting contributors requires specialized knowledge, experience, and time commitment from project leaders. However, a chronic lack of resources and time often inhibits them to focus on this work. Recognizing these challenges, in late 2021, we created a team of Contributor Experience Leads to support contributors to the four foundational libraries in the Scientific Python ecosystem: NumPy, SciPy, Matplotlib, and pandas.\r\nIn this presentation, we will share insights from the work of our team and discuss why it is vital for project maintenance and sustainability. We will examine what we have identified as primary goals and priorities for a Contributor Experience team in each project, taking into account project size, structure, and governance model. We will also discuss how this work could be applied to other projects in the SciPy ecosystem.\r\nFinally, we will talk about the Contributor Experience Project (https://contributor-experience.org), a community of practice and an open-source community-led project dedicated to developing best practices for onboarding and supporting contributors to open source.", "recording_license": "", "do_not_record": false, "persons": [{"code": "AHQBCP", "name": "Noa Tamir", "avatar": "https://cfp.scipy.org/media/avatars/AHQBCP_tg8LPHM.webp", "biography": "Noa have been involved with the R and PyData communities for some time, with a focus on community building and DEI. They are a  member of the NumFOCUS Board of Directors and DISC committee, PyLadies Organizer, and chaired the PyData Berlin 2022 conference. In addition, they are a Lead Data Science Coach at neue fische, contributing to pandas, and are currently developing the Contributor Experience Community and Handbook with Inessa Pawson and Melissa Mendon\u00e7a.", "public_name": "Noa Tamir", "guid": "d8fc1ca0-ecaf-5b34-8a9f-cc4fd2bf0255", "url": "https://cfp.scipy.org/2023/speaker/AHQBCP/"}, {"code": "GC8MN9", "name": "Melissa Weber Mendon\u00e7a", "avatar": "https://cfp.scipy.org/media/avatars/GC8MN9_mbJKrmW.webp", "biography": "Melissa is an applied mathematician and former university professor who fell in love with open source communities. She has been involved with the Python and PyData communities for some time, with a focus on outreach, education and DEI. She works at Quansight as a Senior Developer Experience Engineer, is a maintainer for NumPy and SciPy, and believes in the power of contributions beyond code.", "public_name": "Melissa Weber Mendon\u00e7a", "guid": "d27a3316-e37c-52d2-88ba-cbcb5210c9c0", "url": "https://cfp.scipy.org/2023/speaker/GC8MN9/"}, {"code": "XNBC37", "name": "Inessa Pawson", "avatar": "https://cfp.scipy.org/media/avatars/XNBC37_laSerAs.webp", "biography": "Inessa is building bridges between people, open science, and open source software, advocating for diversification of contribution pathways to open source and supporting its social infrastructure. Passionate about the transformative power of collaboration out in the open, she has been organizing the Maintainers Summit at PyCon US since 2020 to foster best practices on how to maintain and develop sustainable open source projects and thriving communities. In her current role as NumPy Contributor Experience Lead, Inessa\u2019s primary focus is on onboarding and supporting contributors, addressing gaps in the project governance, and developing programs to diversify pathways of contribution to the project.", "public_name": "Inessa Pawson", "guid": "3cf11cc7-eff6-5e43-b3fc-616c2bfd13ad", "url": "https://cfp.scipy.org/2023/speaker/XNBC37/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/MEGK33/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/MEGK33/", "attachments": []}, {"guid": "4871c29f-8a18-5170-924c-1b9c9b9a028a", "code": "T3NSL8", "id": 76005, "logo": null, "date": "2023-07-13T15:50:00-05:00", "start": "15:50", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76005-zarr-community-specification-of-large-cloud-optimised-n-dimensional-typed-array-storage", "url": "https://cfp.scipy.org/2023/talk/T3NSL8/", "title": "Zarr: Community specification of large, cloud-optimised, N-dimensional, typed array storage", "subtitle": "", "track": "Tending Your Open Source Garden: Maintenance and Community", "type": "Talk", "language": "en", "abstract": "A key feature of the Python data ecosystem is the reliance on simple but efficient primitives that follow well-defined interfaces to make tools work seamlessly together (Cf. http://data-apis.org/). NumPy provides an in-memory representation for tensors. Dask provides parallelisation of tensor access. Xarray provides metadata linking tensor dimensions. Zarr provides a missing feature, namely the scalable, persistent storage for annotated hierarchies of tensors. Defined through a community process, the Zarr specification enables the storage of large out-of-memory datasets locally and in the cloud. Implementations exist in C++, C, Java, Javascript, Julia, and Python, enabling.", "description": "Zarr is a data format for storing chunked, compressed N-dimensional arrays and is sponsored by [NumFOCUS](https://numfocus.org/project/zarr) under their umbrella.\r\n\r\nIn this presentation, we will discuss the evolution of Zarr, first introduced at [SciPy 2019](https://youtu.be/qyJXBlrdzBs); the development of the [Zarr Enhancement Process (ZEP)](https://zarr.dev/zeps/) and its use to define the next major version of the [Zarr Specification (V3)](https://zarr-specs.readthedocs.io/en/latest/v3/core/v3.0.html); as well as uptake of the format across the research landscape.\r\n\r\n### Outline:\r\n\r\nFirst, we\u2019ll be talking about:\r\n\r\n### Introduction and Working of Zarr (10 mins.)\r\n\r\n- What is Zarr, and how it works?\r\n    - The inner workings of Zarr using illustrated graphics\r\n    - When and Why should you use Zarr?\r\n    - Extensive pluggable compressors (via [numcodecs](https://github.com/zarr-developers/numcodecs/)) and file-storage systems\r\n- What is the [Zarr Specification](https://zarr.readthedocs.io/en/stable/spec/v2.html)?\r\n    - A summary of the technical specification of Zarr\r\n    - Adoption of the Zarr specification in various programming languages like Python, C, C++, Java, and Javascript and how all of us form a wonderful community together\r\n- Development of Zarr since it was first presented in SciPy 2019 by Alistair Miles\r\n    - Highlighting some important technical and community milestones since 2019\r\n    - Securing grants from [CZI](https://chanzuckerberg.com/eoss/proposals/zarr-a-common-backbone-for-the-scalable-storage-of-annotated-tensor-data/) and getting sponsored by NumFOCUS\r\n\r\nAfter this:\r\n\r\n### Usage of Zarr across several domains (5 mins.)\r\n\r\n- Interoperability with Dask, Xarray and Numpy\r\n- Adoption of Zarr by various communities like Geospatial, Bio-imaging, Genomics, Data Science/Engineering etc.\r\n- Development of convention processes like [GeoZarr](https://github.com/zarr-developers/geozarr-spec) and [OME-Zarr](https://github.com/ome/ome-zarr-py)\r\n\r\nThen we\u2019ll discuss:\r\n\r\n### [ZEP Process](https://zarr.dev/zeps/) (10 mins.)\r\n\r\n- Need and origin of a community feedback process for the evolution of Zarr specification\r\n- How it works?\r\n- Transformation from steering council governed to community-owned specification\r\n- Learnings when migrating from [Spec V2](https://zarr.readthedocs.io/en/stable/spec/v2.html) \u2192 [Spec V3](https://zarr-specs.readthedocs.io/en/latest/v3/core/v3.0.html)\r\n\r\nAnd finally:\r\n\r\n### Conclusion (5 mins.)\r\n    \r\n- Key takeaways\r\n- How can you get involved?\r\n- QnA\r\n\r\nThis talk aims to address an audience who works with large amounts of data and is looking for a format which is transparent, open-source, reliable, cloud-optimised, and friendly to the environment. Also, we\u2019d like to invite anyone interested in the lessons we learnt by maintaining the project throughout the years.\r\n\r\nThe tone of the talk is set to be informative, story-telling and fun.\r\n\r\n### After this talk, you\u2019d:\r\n\r\n- understand the basics of Zarr and its specification,\r\n- know why you should have a process for your project,\r\n- have essential takeaways regarding when an OSS project transitions from a young to a mature stage\r\n- as well as the pros and cons of a steering council vs a community-owned open-source project", "recording_license": "", "do_not_record": false, "persons": [{"code": "A7ACFE", "name": "Sanket Verma", "avatar": "https://cfp.scipy.org/media/avatars/A7ACFE_ZrHx2UG.webp", "biography": "Sanket is a data scientist based out of New Delhi, India. He likes to build data science tools and products and has worked with startups, government and organisations. He loves building community and bringing everyone together and is Chair of PyData Delhi and PyData Global.  Currently, he's taking care of the community and OSS at Zarr as their Community Manager.\r\nWhen he\u2019s not working, he likes to play the violin and computer games and sometimes thinks of saving the world!", "public_name": "Sanket Verma", "guid": "b66fda83-603e-5800-9d21-04088119b753", "url": "https://cfp.scipy.org/2023/speaker/A7ACFE/"}, {"code": "ZGQFJM", "name": "Josh Moore", "avatar": "https://cfp.scipy.org/media/avatars/ZGQFJM_P52cJ0z.webp", "biography": "Josh is a research software engineer focusing on the standardization and storage of bioimaging data. Typically, that means finding ways of storing large binary with well-defined metadata in order to make them shareable. To that end, he is a maintainer of the Open Microscopy Environment (OME) as well as Zarr projects.\r\n\r\nYou can find out more under https://joshmoore.github.io", "public_name": "Josh Moore", "guid": "aa5b7440-18ce-5cab-be77-f332e9b51584", "url": "https://cfp.scipy.org/2023/speaker/ZGQFJM/"}, {"code": "7VPJ93", "name": "John Kirkham", "avatar": "https://cfp.scipy.org/media/avatars/7VPJ93_o2LVFvl.webp", "biography": "Got my B.S. & M.S. in Physics. After graduating went to work at Howard Hughes Medical Institute for 5 years working on image processing problems particularly in neuroscience. Got more involved in open source during that work with particular interest in packaging, storage, and distributed array processing. Then joined the NVIDIA RAPIDS team where there has been good overlap with these past interests as well as new ones.", "public_name": "John Kirkham", "guid": "d6c4df09-489b-5fea-a598-47a65e8ef927", "url": "https://cfp.scipy.org/2023/speaker/7VPJ93/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/T3NSL8/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/T3NSL8/", "attachments": []}, {"guid": "1c2fbe6b-58da-5c1f-a4fc-b8738e62e75e", "code": "UT3CUZ", "id": 76258, "logo": null, "date": "2023-07-13T16:30:00-05:00", "start": "16:30", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76258-building-metpy-for-the-long-term-working-to-keep-an-open-source-project-sustainable", "url": "https://cfp.scipy.org/2023/talk/UT3CUZ/", "title": "Building MetPy for the Long Term: Working to Keep an Open Source Project Sustainable", "subtitle": "", "track": "Tending Your Open Source Garden: Maintenance and Community", "type": "Talk", "language": "en", "abstract": "MetPy is an open-source Python package for meteorological and atmospheric science applications, leveraging significantly many other pieces of the scientific Python stack (e.g. numpy, matplotlib, scipy, etc.). With a focus on sustainability, Metpy extensively leverages GitHub Action to try to automate as much of the software development process as possible. Sustainability also extends to the growth of the community of developers, and we have been working to try to make that sustainable as well. Here we talk about our experiences, share our successes and lessons learned with trying to build a sustainable project.", "description": "MetPy is an open-source Python package for meteorological and atmospheric science applications, leveraging significantly many other pieces of the scientific Python stack (e.g. numpy, matplotlib, scipy, etc.). Its goal is to provide tested, reusable components suitable to a wide array of tasks, including scripted data visualization and analysis. The guiding principle is to make MetPy easy to use with any dataset that can be read into Python. MetPy\u2019s general functionality breaks down into: reading data, meteorological calculations, interpolation, and meteorology-specific plotting. MetPy also has significant integration with XArray, as well as extended support for interpreting netCDF Climate and Forecasting Convention metadata.\r\n\r\nAs a scientific software project that has actively solicited users across the research and education spaces, MetPy has placed a heavy emphasis on the sustainability of the project. Too often core scientific libraries fall into disarray, with a heavy toll on the reproducibility of scientific results. Even given our strong institutional support, our goal with the MetPy project is to build the project with an eye to these potential problems and keep the project sustainable as much as possible.\r\n\r\nOne axis of sustainability for us lies on the side of technology and project infrastructure, which has been highly automated. This starts with our unit tests and test coverage, run automatically on GitHub, using its Actions service. These tests are run across a variety of OS, python version, and package manager combinations, as well as covering a wide array of sets of dependencies. This gives us great coverage of potential breakages. This also extends to automated documentation builds and publication, link checking, code quality checks, and, most importantly, making releases. This combination of processes, built heavily on the Github Actions service minimizes the need for humans in the loop of standard software development steps, allowing us to maximize the use of development time elsewhere.\r\n\r\nTechnological automation is important for sustainability, but it\u2019s only one part of the equation; in order to have a truly sustainable open source project, you must also be solving the issue of people. MetPy follows open development practices to drive community participation as much as possible. We use Github issues, pull requests, discussions, and projects extensively to allow input from any interested user. We also hold regular, open developer calls to keep the project moving forward; we have also started holding community calls to try to give the community more of a voice and input into the direction of the project; these are also done with a goal to encourage more of the community to become involved directly with MetPy development.\r\n\r\nThis talk will share our lessons learned, both with technology and people, to help other projects who want to try to improve their overall sustainability.", "recording_license": "", "do_not_record": false, "persons": [{"code": "R8XLUD", "name": "Ryan May", "avatar": "https://cfp.scipy.org/media/avatars/R8XLUD_ea1a4tH.webp", "biography": "Ryan May is a software engineer and deputy director for the Unidata program, part of the University Corporation for Atmospheric Research (UCAR) Community Programs, working on Python software and training for the atmospheric science community. Ryan began his meteorology career pursuing a B.S. in Meteorology at the University of Oklahoma in 1999.  In 2014, Ryan started at Unidata, exchanging working on radar meteorology for working on open source tools for meteorology in Python. Currently, he is the Python team lead at Unidata and a core developer of the MetPy and Siphon Python packages, as well as a member of the steering committee for matplotlib and the core team for Conda Forge.", "public_name": "Ryan May", "guid": "9927ba64-fa16-5785-af29-d89dcfd5154a", "url": "https://cfp.scipy.org/2023/speaker/R8XLUD/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/UT3CUZ/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/UT3CUZ/", "attachments": []}, {"guid": "e7665fc9-16b8-537c-9b61-403346d72202", "code": "HWW7S7", "id": 76361, "logo": null, "date": "2023-07-13T17:20:00-05:00", "start": "17:20", "duration": "01:00", "room": "Zlotnik Ballroom", "slug": "2023-76361-lightning-talks", "url": "https://cfp.scipy.org/2023/talk/HWW7S7/", "title": "Lightning Talks", "subtitle": "", "track": "Lightning Talks", "type": "Talk", "language": "en", "abstract": "Lightning talks are 5-minute talks on any topic of interest for the SciPy community. We encourage spontaneous and prepared talks from everyone, but we can\u2019t guarantee spots. Sign ups are at the NumFOCUS booth during the conference.", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/HWW7S7/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/HWW7S7/", "attachments": []}], "Classroom 103": [{"guid": "276ddad3-258c-526b-96e4-3045abf7fc0e", "code": "SZP3LA", "id": 76010, "logo": null, "date": "2023-07-13T13:15:00-05:00", "start": "13:15", "duration": "00:55", "room": "Classroom 103", "slug": "2023-76010-bof-room-103-pyarrow-in-pandas-and-dask", "url": "https://cfp.scipy.org/2023/talk/SZP3LA/", "title": "[BoF Room 103] PyArrow in pandas and Dask", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "DataFrame libraries in general, pandas and Dask specifically, are moving towards a better integration with PyArrow. This has many benefits, like improved performance and a reduced memory footprint. We want to connect with users to discuss how PyArrow can improve DataFrame libraries and what they expect out of PyArrow support. This can include things like improved performance, more consistent behavior or better interoperability with other libraries.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "FVXBU9", "name": "Matt Harrison", "avatar": "https://cfp.scipy.org/media/avatars/FVXBU9_nyJAkaH.webp", "biography": "Matt is a corporate trainer, author, and consultant on Python and Data Science. He has a CS degree from Stanford University. He is a best-selling author on Python and Data subjects. His books: Effective Pandas, Illustrated Guide to Learning Python 3, Intermediate Python, Learning the Pandas Library, and Effective PyCharm have all been best-selling books on Amazon. He just published Machine Learning Pocket Reference and Pandas Cookbook (Second Edition). He has taught courses at large companies (Netflix, NASA, Verizon, Adobe, HP, Exxon, and more), Universities (Stanford, University of Utah, BYU), as well as small companies. He has been using Python since 2000 and has taught thousands through live training both online and in person.", "public_name": "Matt Harrison", "guid": "c2006e4d-178a-5157-ac00-6b5ad9db2072", "url": "https://cfp.scipy.org/2023/speaker/FVXBU9/"}, {"code": "Y89CZX", "name": "James Bourbeau", "avatar": null, "biography": null, "public_name": "James Bourbeau", "guid": "ebdd4a23-50c2-5bee-a4f2-265599c9013f", "url": "https://cfp.scipy.org/2023/speaker/Y89CZX/"}, {"code": "UBSSDL", "name": "Patrick Hoefler", "avatar": "https://cfp.scipy.org/media/avatars/UBSSDL_jY7ux0a.webp", "biography": null, "public_name": "Patrick Hoefler", "guid": "5ddfee0c-a183-59fd-bd39-3fbfffc64182", "url": "https://cfp.scipy.org/2023/speaker/UBSSDL/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/SZP3LA/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/SZP3LA/", "attachments": []}, {"guid": "8aa02c52-8c53-59c3-b9e6-c5956642b956", "code": "GEDFS7", "id": 76270, "logo": null, "date": "2023-07-13T18:30:00-05:00", "start": "18:30", "duration": "00:55", "room": "Classroom 103", "slug": "2023-76270-bof-room-103-python-visualization-and-app-tools", "url": "https://cfp.scipy.org/2023/talk/GEDFS7/", "title": "[BoF Room 103] Python Visualization and App Tools", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "Each new SciPy brings even more tools for data visualization and for building data-rich scientific applications and dashboards. This BoF brings together maintainers of Python tools for data visualization and building apps to help make sense of this complex landscape for users and to highlight new developments, trends, and opportunities. Join us and stay ahead of the curve!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "LAFT9K", "name": "Sophia Yang", "avatar": "https://cfp.scipy.org/media/avatars/LAFT9K_mVJMPW9.webp", "biography": "Sophia Yang is a Senior Data Scientist and a Developer Advocate at Anaconda. She is passionate about the data science community and the Python open-source community. She is the author of multiple Python open-source libraries such as condastats, cranlogs, PyPowerUp, intake-stripe, and intake-salesforce. She serves on the Steering Committee and the Code of Conduct Committee of the Python open-source visualization system HoloViz. She also volunteers at NumFOCUS, PyData, and SciPy conferences. She holds an M.S. in Computer Science, an M.S. in Statistics, and a Ph.D. in Educational Psychology from The University of Texas at Austin.", "public_name": "Sophia Yang", "guid": "7377856c-6eb6-5eca-9811-453e7c47829a", "url": "https://cfp.scipy.org/2023/speaker/LAFT9K/"}, {"code": "RMCH38", "name": "Kushal Kolar", "avatar": "https://cfp.scipy.org/media/avatars/RMCH38_vzXri6Z.webp", "biography": "https://github.com/kushalkolar", "public_name": "Kushal Kolar", "guid": "e2ed84c2-a945-56c6-b6a5-9b3f881e9edd", "url": "https://cfp.scipy.org/2023/speaker/RMCH38/"}, {"code": "NEC33M", "name": "Bane Sullivan", "avatar": "https://cfp.scipy.org/media/avatars/NEC33M_ivUTPML.webp", "biography": "[Bane Sullivan](https://banesullivan.com), co-creator of [PyVista](https://github.com/pyvista/), is a Research Software Engineer working at the intersection of geoscience, visualization, and data science.\r\n\r\nBane is a geophysicist/hydrologist by training and has been working to grow PyVista's adoption within the subsurface geoscience communities.", "public_name": "Bane Sullivan", "guid": "e72a7482-6d2d-5efe-8ab1-9e78c3648f7f", "url": "https://cfp.scipy.org/2023/speaker/NEC33M/"}, {"code": "VJMN7Y", "name": "Juan Nunez-Iglesias", "avatar": null, "biography": null, "public_name": "Juan Nunez-Iglesias", "guid": "38940743-e161-5186-b983-9517ff053149", "url": "https://cfp.scipy.org/2023/speaker/VJMN7Y/"}, {"code": "J9WXRF", "name": "Elliott Sales de Andrade", "avatar": null, "biography": null, "public_name": "Elliott Sales de Andrade", "guid": "628df001-1f8f-54cf-b1f5-f1bac304fbbe", "url": "https://cfp.scipy.org/2023/speaker/J9WXRF/"}, {"code": "3H8V9J", "name": "Jon Mease", "avatar": null, "biography": null, "public_name": "Jon Mease", "guid": "a0bdb6af-5e6a-515d-ade0-78c22c70e927", "url": "https://cfp.scipy.org/2023/speaker/3H8V9J/"}, {"code": "9QUXNU", "name": "Nathan Jessurun", "avatar": null, "biography": null, "public_name": "Nathan Jessurun", "guid": "705dab9b-c952-58ed-a0d4-69f9cf48cb4d", "url": "https://cfp.scipy.org/2023/speaker/9QUXNU/"}, {"code": "SDZEED", "name": "Hadley Wickham", "avatar": null, "biography": null, "public_name": "Hadley Wickham", "guid": "f51724f4-cac3-5fe5-a29d-28923bbda78b", "url": "https://cfp.scipy.org/2023/speaker/SDZEED/"}, {"code": "RKAYQQ", "name": "James A. Bednar", "avatar": "https://cfp.scipy.org/media/avatars/RKAYQQ_JR48aod.webp", "biography": "Jim Bednar is the Director of Custom Services at Anaconda, Inc. Dr. Bednar holds a Ph.D. in Computer Science from the University of Texas, along with degrees in Electrical Engineering and Philosophy. He has published more than 50 papers and books about the visual system, software development, and reproducible science. Dr. Bednar manages the HoloViz project, a collection of open-source Python tools that includes Panel, hvPlot, Datashader, HoloViews, GeoViews, Param, Lumen, and Colorcet. Dr. Bednar was a Lecturer and Reader in Computational Neuroscience at the University of Edinburgh from 2004-2015, and previously worked in hardware engineering and data acquisition at National Instruments.", "public_name": "James A. Bednar", "guid": "b853e44a-7b56-5cf8-9f56-1a87bfc999ea", "url": "https://cfp.scipy.org/2023/speaker/RKAYQQ/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/GEDFS7/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/GEDFS7/", "attachments": []}], "Classroom 104": [{"guid": "e5cbed7d-d2c7-50c0-987b-637f0b25588a", "code": "A9EGX9", "id": 76257, "logo": null, "date": "2023-07-13T13:15:00-05:00", "start": "13:15", "duration": "00:55", "room": "Classroom 104", "slug": "2023-76257-bof-room-104-where-on-earth-is-my-pixel", "url": "https://cfp.scipy.org/2023/talk/A9EGX9/", "title": "[BoF Room 104] Where on Earth is my Pixel?", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "Imaging communities across different fields (microscopy, remote sensing, medical imaging, materials science) are currently all moving to develop cloud- and chunking friendly imaging formats based around Zarr. This includes OME-NGFF and GeoZarr. Although pretty much everyone has agreed on Zarr as the container for the image data, there is ongoing discussion about how best to store metadata about the images. In this BoF we'll discuss ways to encode *where* each pixel in the image is located in space (and time!) (and frequency!), and whether it's possible to harmonize this encoding across the different formats and standards. A relevant issue is https://github.com/ome/ngff/issues/174.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "VJMN7Y", "name": "Juan Nunez-Iglesias", "avatar": null, "biography": null, "public_name": "Juan Nunez-Iglesias", "guid": "38940743-e161-5186-b983-9517ff053149", "url": "https://cfp.scipy.org/2023/speaker/VJMN7Y/"}, {"code": "EYSAPF", "name": "Josh Moore", "avatar": null, "biography": null, "public_name": "Josh Moore", "guid": "2e93afb0-5ecd-50cb-aa66-a5f498700ea9", "url": "https://cfp.scipy.org/2023/speaker/EYSAPF/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/A9EGX9/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/A9EGX9/", "attachments": []}, {"guid": "9e596d18-2e6b-5fc4-b1bd-3983184b6121", "code": "7DDDWU", "id": 76273, "logo": null, "date": "2023-07-13T18:30:00-05:00", "start": "18:30", "duration": "00:55", "room": "Classroom 104", "slug": "2023-76273-bof-room-104-funding-open-source-software", "url": "https://cfp.scipy.org/2023/talk/7DDDWU/", "title": "[BoF Room 104] Funding Open Source Software", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "Scientific open source software has often advanced by volunteer efforts with little financial support. In recent years, there has been an increase in different groups funding open source software. How has this changed the open source community? Where would future funding have the largest impact in the open source landscape? What new thing would you build that would make the lives of developers, researchers, and users easier? How much support is needed and what are the best ways to provide that support? What large scale project doesn\u2019t exist that *needs* to exist? How do you balance funded and volunteer efforts? Join this lively discussion to help identify key focus areas for open source funding and resources.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "RRD7PS", "name": "Demitri Muna", "avatar": "https://cfp.scipy.org/media/avatars/RRD7PS_UAqZrbq.webp", "biography": null, "public_name": "Demitri Muna", "guid": "f73a848a-96b0-589b-aa43-207f66b56580", "url": "https://cfp.scipy.org/2023/speaker/RRD7PS/"}, {"code": "EUKXBP", "name": "Paige Martin", "avatar": null, "biography": null, "public_name": "Paige Martin", "guid": "1f05a38a-6511-5f62-b1e5-283473a27e43", "url": "https://cfp.scipy.org/2023/speaker/EUKXBP/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/7DDDWU/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/7DDDWU/", "attachments": []}], "Classroom 105": [{"guid": "2acd839d-de43-58af-af5c-e060409c880f", "code": "3HXLZV", "id": 76262, "logo": null, "date": "2023-07-13T13:15:00-05:00", "start": "13:15", "duration": "00:55", "room": "Classroom 105", "slug": "2023-76262-bof-room-105-scientific-python-ecosystem-coordination", "url": "https://cfp.scipy.org/2023/talk/3HXLZV/", "title": "[BoF Room 105] Scientific Python Ecosystem Coordination", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "Scientific Python Ecosystem Coordination (SPEC) documents (https://scientific-python.org/specs/) provide operational guidelines for projects in the scientific Python ecosystem. SPECs are similar to project-specific guidelines (like PEPs, NEPs, SLEPs, and SKIPs), but are opt-in, have a broader scope, and target all (or most) projects in the scientific Python ecosystem. Come hear more about what we are working on and planning. Better yet, come share your ideas for improving the ecosystem!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "XF3MEH", "name": "Jarrod Millman", "avatar": "https://cfp.scipy.org/media/avatars/XF3MEH_s4QOuhV.webp", "biography": null, "public_name": "Jarrod Millman", "guid": "02a3e791-c1ef-5a5c-b8fc-2a6b1e56d09f", "url": "https://cfp.scipy.org/2023/speaker/XF3MEH/"}, {"code": "TBHK9G", "name": "St\u00e9fan van der Walt", "avatar": "https://cfp.scipy.org/media/avatars/TBHK9G_e6mNsVm.webp", "biography": null, "public_name": "St\u00e9fan van der Walt", "guid": "dd41f241-2003-5d94-b4e4-bd9556fd1dd0", "url": "https://cfp.scipy.org/2023/speaker/TBHK9G/"}, {"code": "SE7SNC", "name": "Juanita Gomez", "avatar": "https://cfp.scipy.org/media/avatars/SE7SNC_K4Q7qY0.webp", "biography": "Juanita Gomez is passionate programmer, mathematician and open source advocate; former developer of Spyder IDE at Quansight. She has a BS in Pure Mathematics from Pontificia Universidad Javeriana in Colombia and is currently pursuing a Ph.D position in Computer Science at UC Santa Cruz. She is a community manager for the Scientific Python project, a community effort to better coordinate and support scientific Python libraries.", "public_name": "Juanita Gomez", "guid": "0391b08c-6c69-57f1-9615-d858bbefda8d", "url": "https://cfp.scipy.org/2023/speaker/SE7SNC/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/3HXLZV/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/3HXLZV/", "attachments": []}, {"guid": "bb5425b7-71a1-55a3-ba7d-38a243427ea2", "code": "H3GNAT", "id": 76297, "logo": null, "date": "2023-07-13T18:30:00-05:00", "start": "18:30", "duration": "00:55", "room": "Classroom 105", "slug": "2023-76297-bof-room-105-scientific-python-packaging-summit", "url": "https://cfp.scipy.org/2023/talk/H3GNAT/", "title": "[BoF Room 105] Scientific Python Packaging Summit", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "\"Python packaging is a rapidly changing landscape, plagued by many hurdles and challenges for users. The scientific Python community faces some of the greatest difficulties of anyone here, given the high reliance on external binaries and compiled code, the diversity of packaging ecosystems (PyPI, Conda, others), and the fact that many if not most users are not professional software engineers, like in other ecosystems. This is made all the more critical by the importance of reproducible research, and its sensitivity to even small dependency changes.\r\n\r\nWe'd like to build on the recent momentum behind evolving the packaging landscape to better serve these needs and building bridges between key players in the core Python and scientific spaces, with an intense, engaging and open discussion. This will bring together the key community stakeholders and everyday package authors to sync up on best practices, strengthen collaboration, and help come to consensus that would take months or even years if not for in-person discussion, as well as provide a jumping-off point for followup conversations and future action items.\"", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "YEEB8R", "name": "C.A.M. Gerlach", "avatar": "https://cfp.scipy.org/media/avatars/YEEB8R_Xy708AT.webp", "biography": null, "public_name": "C.A.M. Gerlach", "guid": "223a4e06-8d02-5dd2-bc49-cf3463c93288", "url": "https://cfp.scipy.org/2023/speaker/YEEB8R/"}, {"code": "LEUJSP", "name": "Henry Schreiner III", "avatar": null, "biography": null, "public_name": "Henry Schreiner III", "guid": "bd2ca959-7d15-5e26-adb2-fb399df8a423", "url": "https://cfp.scipy.org/2023/speaker/LEUJSP/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/H3GNAT/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/H3GNAT/", "attachments": []}]}}, {"index": 5, "date": "2023-07-14", "day_start": "2023-07-14T04:00:00-05:00", "day_end": "2023-07-15T03:59:00-05:00", "rooms": {"Amphitheater 204": [{"guid": "896106a6-ae14-5d2e-b88f-4f26cccd7be8", "code": "DQR9NU", "id": 76385, "logo": null, "date": "2023-07-14T10:45:00-05:00", "start": "10:45", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76385-new-cuda-toolkit-packages-for-conda", "url": "https://cfp.scipy.org/2023/talk/DQR9NU/", "title": "New CUDA Toolkit packages for Conda", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "In this talk, we will examine the new CUDA package layout for Conda (as included in conda-forge). Show how CUDA components have been broken out. Share how this affects development and package building. Walk through changes in the conda-forge infrastructure made to incorporate these new packages. Examine recipes using the new packages and what was needed to update them. Additionally will provide guidance on how to use these new packages in recipes or in library development.", "description": "Based on feedback from package maintainers and end users, we\u2019ve extended and restructured the CUDA Toolkit packages in conda-forge. We\u2019ve added new packages for CUDA components that were requested. Also we\u2019ve more finely split out CUDA toolkit packages by CUDA component to provide package maintainers and end users a light-weight, precise method for including and stating CUDA dependencies.\r\n\r\nIn addition to the CUDA redistributable libraries already available, we have included compilers, debuggers, profilers, etc. Thus providing users of the conda-forge channel a full development suite that they can use in their own projects. Also these greatly simplify the build infrastructure in conda-forge. Finally more libraries are included, which will allow package maintainers to enable additional features in recipe builds.\r\n\r\nSimilarly packages have become more granular. Each component of the CUDA toolkit is separated out. Further components are split into packages used at build time and run time. Maintainers of packages can now select which components they depend on for a build and only depend on the needed shared library at runtime. In terms of the package ecosystem, this makes CUDA component usage legible in downstream recipes and packages, which can make updates more targeted and easier to manage. For end users all of this means quicker downloads, more compact installs, and a smoother upgrade path.\r\n\r\nTo aid package maintainers and users in leveraging this new functionality, we will share the overall package structure and how this is integrated into conda-forge. Also we will share examples from recipes on how these CUDA packages can be used. Similarly we will show how these packages can be integrated into development workflows.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YQRY7H", "name": "Rick Ratzel", "avatar": null, "biography": "Rick Ratzel is a technical lead for RAPIDS cuGraph - a library of GPU-accelerated graph algorithms. Rick joined NVIDIA in January 2019, bringing several years of experience as a technical lead for teams in industries that include test and measurement, electronic design automation, and scientific computing. Rick\u2019s focus for cuGraph, and throughout his career, has been on software architecture and API usability.", "public_name": "Rick Ratzel", "guid": "8f8501c8-d414-55d8-b3ea-42641eb98273", "url": "https://cfp.scipy.org/2023/speaker/YQRY7H/"}, {"code": "7VPJ93", "name": "John Kirkham", "avatar": "https://cfp.scipy.org/media/avatars/7VPJ93_o2LVFvl.webp", "biography": "Got my B.S. & M.S. in Physics. After graduating went to work at Howard Hughes Medical Institute for 5 years working on image processing problems particularly in neuroscience. Got more involved in open source during that work with particular interest in packaging, storage, and distributed array processing. Then joined the NVIDIA RAPIDS team where there has been good overlap with these past interests as well as new ones.", "public_name": "John Kirkham", "guid": "d6c4df09-489b-5fea-a598-47a65e8ef927", "url": "https://cfp.scipy.org/2023/speaker/7VPJ93/"}, {"code": "FXTKPC", "name": "Thomson Comer", "avatar": "https://cfp.scipy.org/media/avatars/FXTKPC_SgmKhyy.webp", "biography": "Thomson Comer has been writing GPU-accelerated libraries at NVIDIA since 2018. He contributes to RAPIDS cuDF, cuSpatial, and node-rapids, and collaborates with customers and curious developers about best practices for GPU acceleration. He earned an M.S. in computer science in 2009 with a concentration in machine learning, computer vision, and graphics. Before NVIDIA, Thomson worked for a decade at the startup accelerator and consulting firm Cardinal Peak.", "public_name": "Thomson Comer", "guid": "281e8952-4264-5973-9877-1ea9468f0994", "url": "https://cfp.scipy.org/2023/speaker/FXTKPC/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/DQR9NU/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/DQR9NU/", "attachments": []}, {"guid": "58f97ea8-22da-58fd-85b2-db0eb627b43e", "code": "T7DTX8", "id": 76386, "logo": "https://cfp.scipy.org/media/2023/submissions/T7DTX8/Slides.001_BaSD3Sp_wJKTDmg.png", "date": "2023-07-14T11:25:00-05:00", "start": "11:25", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76386-python-array-api-standard-toward-array-interoperability-in-the-scientific-python-ecosystem", "url": "https://cfp.scipy.org/2023/talk/T7DTX8/", "title": "Python Array API Standard: Toward Array Interoperability in the Scientific Python Ecosystem", "subtitle": "", "track": "General Track", "type": "Talk", "language": "en", "abstract": "The array API standard (https://data-apis.org/array-api/) is a common specification for Python array libraries, such as NumPy, PyTorch, CuPy, Dask, and JAX. \r\n\r\nThis standard will make it straightforward for array-consuming libraries, like scikit-learn and SciPy, to write code that uniformly supports all of these libraries. This will allow, for instance, running the same code on the CPU and GPU.\r\n\r\nThis talk will cover the scope of the array API standard, supporting tooling which includes a library-independent test suite and compatibility layer, what work has been completed so far, and the plans going forward.", "description": "This talk will have the following outline:\r\n\r\n* A motivating example, adding array API standard usage to a real-world scientific data analysis script so it runs with CuPy and PyTorch in addition to NumPy.\r\n* History of the Data APIs Consortium and array API specification.\r\n* The scope and general design principles of the specification.\r\n* Current status of implementations:\r\n    * Two versions of the standard have been released, 2021.12 and 2022.12.\r\n    * The standard includes all important core array functionality and extensions for linear algebra and Fast Fourier Transforms.\r\n    * NumPy and CuPy have complete reference implementations in submodules (numpy.array_api). \r\n    * NumPy, CuPy, and PyTorch have near full compliance and have plans to approach full compliance\r\n    * array-api-compat is a wrapper library designed to be vendored by consuming libraries like scikit-learn that makes NumPy, CuPy, and PyTorch use a uniform API.\r\n    * The array-api-tests package is a rigorous and complete test suite for testing against the array API and can be used to determine where an array API library follows the specification and where it doesn\u2019t.\r\n* Future work\r\n    * Add full compliance to NumPy, as part of NumPy 2.0.\r\n    * Focus on improving adoption by consuming libraries, such as SciPy and scikit-learn.\r\n    * Reporting website that lists array API compliance by library. \r\n    * Work is being done to create a similar standard for dataframe libraries. This work has already produced a common dataframe interchange API.", "recording_license": "", "do_not_record": false, "persons": [{"code": "MVFNQK", "name": "Ralf Gommers", "avatar": "https://cfp.scipy.org/media/avatars/MVFNQK_oCwBIeW.webp", "biography": "Ralf has been deeply involved in the SciPy and PyData communities for over a decade. He is a maintainer of NumPy, SciPy and data-apis.org, and has contributed widely throughout the SciPy ecosystem. Ralf is currently the SciPy Steering Council Chair, and he served on the NumFOCUS Board of Directors from 2012-2018.\r\n\r\nRalf co-directs Quansight Labs, which consists of developers, community managers, designers, and documentation writers who build open-source technology and grow open-source communities around data science and scientific computing projects. Previously Ralf has worked in industrial R&D, on topics as diverse as MRI, lithography and forestry.", "public_name": "Ralf Gommers", "guid": "d56e7dbc-cb00-51a2-a997-5666e06152ae", "url": "https://cfp.scipy.org/2023/speaker/MVFNQK/"}, {"code": "9DK7ZD", "name": "Stephannie Jimenez Gacha", "avatar": "https://cfp.scipy.org/media/avatars/9DK7ZD_VgxCp8o.webp", "biography": "I've been working in open source since 2019 as part of multiple projects involving scientific computing and IDE development. The last two years a lot of my work has been focused on providing a better UI/UX of multiple applications. I've given multiple talks about different topics, the two most recent are available in the following links:\r\n\r\n- PyData/Pycon Berlin 2022: https://www.youtube.com/watch?v=__EkpdeVGY4\r\n- Scipy Latam 2021: https://youtu.be/ZNVp1E0QADU?t=11847", "public_name": "Stephannie Jimenez Gacha", "guid": "a1a689fb-16b5-50a4-8d9d-004783d28c91", "url": "https://cfp.scipy.org/2023/speaker/9DK7ZD/"}, {"code": "GSLHU9", "name": "Leo Fang", "avatar": "https://cfp.scipy.org/media/avatars/GSLHU9_xyD2aeb.webp", "biography": null, "public_name": "Leo Fang", "guid": "09f00525-9a1b-545e-9f34-68e6e6b24ef5", "url": "https://cfp.scipy.org/2023/speaker/GSLHU9/"}, {"code": "GK8HUA", "name": "Saul Shanabrook", "avatar": "https://cfp.scipy.org/media/avatars/GK8HUA_77VeXu2.webp", "biography": "Working on e-graphs in Python currently. Interested in cross library collaboration in the Python data science ecosystem.", "public_name": "Saul Shanabrook", "guid": "37c9f054-3292-5a57-ade3-9941faa5272a", "url": "https://cfp.scipy.org/2023/speaker/GK8HUA/"}, {"code": "CJK8GQ", "name": "Travis Oliphant", "avatar": "https://cfp.scipy.org/media/avatars/CJK8GQ_g5aZCUQ.webp", "biography": "Travis is a long-time participant in the SciPy ecosystem.", "public_name": "Travis Oliphant", "guid": "a542c272-61df-509a-bfd6-81690720a455", "url": "https://cfp.scipy.org/2023/speaker/CJK8GQ/"}, {"code": "HFZMLW", "name": "Matthew Barber", "avatar": "https://cfp.scipy.org/media/avatars/HFZMLW_1MN908J.webp", "biography": "Software engineer @ Quansight working on Data APIs. Hypothesis maintainer.", "public_name": "Matthew Barber", "guid": "cd74ea92-2ed8-52c5-a22b-a0727b76ea4d", "url": "https://cfp.scipy.org/2023/speaker/HFZMLW/"}, {"code": "C93A7K", "name": "Aaron Meurer", "avatar": null, "biography": "Aaron Meurer is a software engineer at Quansight, where he works on important projects affecting the scientific Python ecosystem including the array API standard, NumPy, and PyTorch. He is also a core maintainer of the SymPy symbolic mathematics library.", "public_name": "Aaron Meurer", "guid": "92dd2624-fd99-5e87-9d9b-4241c05c74ed", "url": "https://cfp.scipy.org/2023/speaker/C93A7K/"}, {"code": "VQNJX7", "name": "Thomas J. Fan", "avatar": null, "biography": "Thomas J. Fan is a Staff Software Engineer at Quansight Labs and is a maintainer for scikit-learn, an open-source machine learning library for Python. Previously, Thomas worked at Columbia University to improve interoperability between scikit-learn and AutoML systems. He is a maintainer for skorch, a neural network library that wraps PyTorch. Thomas has a Master's in Mathematics from NYU and a Master's in Physics from Stony Brook University.", "public_name": "Thomas J. Fan", "guid": "1449db64-6da5-570c-9a92-836908fca5e3", "url": "https://cfp.scipy.org/2023/speaker/VQNJX7/"}, {"code": "7VPJ93", "name": "John Kirkham", "avatar": "https://cfp.scipy.org/media/avatars/7VPJ93_o2LVFvl.webp", "biography": "Got my B.S. & M.S. in Physics. After graduating went to work at Howard Hughes Medical Institute for 5 years working on image processing problems particularly in neuroscience. Got more involved in open source during that work with particular interest in packaging, storage, and distributed array processing. Then joined the NVIDIA RAPIDS team where there has been good overlap with these past interests as well as new ones.", "public_name": "John Kirkham", "guid": "d6c4df09-489b-5fea-a598-47a65e8ef927", "url": "https://cfp.scipy.org/2023/speaker/7VPJ93/"}, {"code": "HATB9G", "name": "Stephan Hoyer", "avatar": "https://cfp.scipy.org/media/avatars/HATB9G_odBfdCi.webp", "biography": "stephanhoyer.com", "public_name": "Stephan Hoyer", "guid": "b3f76c7d-34de-537a-862f-5c09004e8cac", "url": "https://cfp.scipy.org/2023/speaker/HATB9G/"}, {"code": "3UJMLP", "name": "Tyler Reddy", "avatar": null, "biography": "Staff Scientist at LANL", "public_name": "Tyler Reddy", "guid": "5baf14ac-478d-5d20-a540-c205cb2de813", "url": "https://cfp.scipy.org/2023/speaker/3UJMLP/"}, {"code": "TW8UF3", "name": "Andreas Mueller", "avatar": null, "biography": "Andreas M\u00fcller is a Principal Research SDE at Microsoft, where he works on the interface of the Data Science ecosystem and cloud infrastructure.\r\nHe previously held positions as Associate Research Scientist at the Columbia Data Science Institute and as a Research Engineer at the NYU Center for Data Science.\r\nHe is one of the core developers of the scikit-learn machine learning library, a member of the scikit-learn technical committee, and the author of the book \"Introduction to machine learning with Python\". \r\nHis work focuses on practical aspects of machine learning and the development of user-centric machine learning software.", "public_name": "Andreas Mueller", "guid": "b1cf457b-23d1-59cb-9cf3-dff5de8be020", "url": "https://cfp.scipy.org/2023/speaker/TW8UF3/"}, {"code": "MUBWXG", "name": "Athan Reines", "avatar": null, "biography": null, "public_name": "Athan Reines", "guid": "2fd466d7-d9a8-51a0-af5b-94889b961ce4", "url": "https://cfp.scipy.org/2023/speaker/MUBWXG/"}, {"code": "TJRFQP", "name": "Mario", "avatar": null, "biography": null, "public_name": "Mario", "guid": "69dd934d-82ed-5bec-a659-ac71c2ecc0dd", "url": "https://cfp.scipy.org/2023/speaker/TJRFQP/"}, {"code": "EYSVJF", "name": "Alexandre Passos", "avatar": null, "biography": "Currently working at openai, previously at google.", "public_name": "Alexandre Passos", "guid": "6471471f-3493-57b3-93cc-ff9a5308a139", "url": "https://cfp.scipy.org/2023/speaker/EYSVJF/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/T7DTX8/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/T7DTX8/", "attachments": []}, {"guid": "dc70ab00-70d1-5a00-8adf-911251f78b3a", "code": "A7EZZV", "id": 76331, "logo": null, "date": "2023-07-14T13:15:00-05:00", "start": "13:15", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76331-what-happens-when-the-main-maintainer-of-a-project-takes-a-step-down", "url": "https://cfp.scipy.org/2023/talk/A7EZZV/", "title": "What happens when the main maintainer of a project takes a step down?", "subtitle": "", "track": "Tending Your Open Source Garden: Maintenance and Community", "type": "Talk", "language": "en", "abstract": "Once a maintainer of a project decides to step down of a project, the community needs to quickly adapt to this decision. This situation can be devastating for small projects and lead to their extinction. This talk demonstrates, based on the case of poliastro, that the community is a key factor for a software to survive no matter who is leading it.", "description": "Free and open source software is made by the community, for the community, off the community. The community is made out of amazing people who are human beings. The Python community would not be what it is without people.\r\n\r\nSome people of these people are maintainers of projects. They devote a significant amount of their time to guarantee the health of a project, review new contributions, solving questions... The community recognizes their effort and usually evolves around them.\r\n\r\nHowever, what happens when a maintainer steps down of a project? How does the community react to this situation? What about for tiny projects?\r\n\r\nThis talk presents some key concepts for building a healthy community around a project to guarantee its survival over time. These key concepts include not only good coding practices like documentation but also the creation of community meetings for everyone, promotion of software, financial support, and tons of passion among others.\r\n\r\nAs an example, the case of \"poliastro\" is used.", "recording_license": "", "do_not_record": false, "persons": [{"code": "77XV7D", "name": "Jorge Mart\u00ednez", "avatar": "https://cfp.scipy.org/media/avatars/77XV7D_5Py1h9A.webp", "biography": "`Aerospace engineer` and `software developer` interested in `computational astrodynamics`. In his free time, Jorge maintains various `open source scientific projects` including `poliastro` and the whole `PyAnsys` ecosystem.\r\n\r\n**Github account:** [jorgepiloto](https://github.com/jorgepiloto)", "public_name": "Jorge Mart\u00ednez", "guid": "70d7975c-7cb7-5c84-94b4-a92e67daa707", "url": "https://cfp.scipy.org/2023/speaker/77XV7D/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/A7EZZV/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/A7EZZV/", "attachments": []}, {"guid": "96051632-4cdf-5fbf-82db-3a07319f3238", "code": "EDZ9YB", "id": 75976, "logo": null, "date": "2023-07-14T13:55:00-05:00", "start": "13:55", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-75976-better-open-source-homes-and-gardens-with-project-pythia", "url": "https://cfp.scipy.org/2023/talk/EDZ9YB/", "title": "Better (Open Source) Homes and Gardens with Project Pythia", "subtitle": "", "track": "Tending Your Open Source Garden: Maintenance and Community", "type": "Talk", "language": "en", "abstract": "As scientists continue to embrace the Jupyter ecosystem for constructing computational narratives of their science through code, data, and rich text, they may encounter technical and community barriers to maintaining and sharing their science with new and existing audiences. We demonstrate the value of open-source science community building and getting there through reliance on the open-source Jupyter ecosystem, pre-packaged GitHub and BinderHub-based infrastructure, and documentation for creating, sharing, testing, and maintaining Pythia Cookbooks for their computational narratives.", "description": "A \u201ccommunity garden\u201d metaphor is particularly apt for a free- and  open-source software project and community. Enthusiasm, creativity, and openness work both for the SciPy conference and Albany NY\u2019s Tulip Festival. But a \u201cgarden\u201d, be it botanical or cyber, requires nurturing. With regard to free- and open-source software, there are bounteous examples. Pull requests (PRs) are sown and merged; Issues are resolved, and bugs are removed. Yet we also see signs of formerly fruitful repositories that have been left to languish. Issues proliferate like weeds; bugs roam freely, and eventually the repos\u2019 stars fade away. It is incumbent on the SciPy community to ensure that the projects we are invested in take the more fruitful path. \r\nOne such open source \u201cgreenspace\u201d is Project Pythia (hereafter Pythia). Now in its 3rd year, Pythia extends Pangeo by providing an educational and training hub for the geoscientific Python community. It has three key components:\r\n1. Foundations: The core geoscientific Python stack (JupyterBook)\r\n2. Cookbooks: Advanced and domain-specific workflows (JupyterBooks)\r\n3. Resource Gallery of externally-hosted geoscientific Python resources\r\n\r\nHere we discuss Pythia\u2019s infrastructure, which sustains the above components in a year-round \u201ccommunity garden\u201d.\r\n\r\nPythia\u2019s content is built upon an open stack of infrastructure for reproducibility and collaboration that provides for the care and nurturing of the community it serves. We have built a cloud-based publishing system upon Jupyter Book that automates notebook execution in a reproducible, curated environment. Users can interact with notebooks via Binder links, launching directly into an identical environment. The platform provides automated code- and link-checking, ensuring a rapid healing cycle. Collaboration is achieved through PRs that trigger the same execution infrastructure and a rich preview.\r\n\r\nOur infrastructure relies on GitHub, which encourages open development via PRs. Pythia uses this process extensively for building and maintaining its \u201cgarden\u201d, for the core team and community contributions. GitHub\u2019s focus on collaboration provides users a sense of ownership of whatever \u201cgarden\u201d they choose to visit, and provides a path for others to visit and contribute.\r\n\r\nGitHub\u2019s Actions power Pythia\u2019s automation of key steps in the notebook execution/publishing process. We periodically re-run the publication workflow as health checks for on-going maintenance of the materials, as well as for new \u201cplantings\u201d via PRs. Pythia\u2019s web portal displays the updated content, which users can download to try out and build on in their own \u201cbackyard gardens\u201d\u2013computing environments.\r\n\r\nA garden may need more powerful tools. While GitHub Actions may often suffice, real-world scientific workflows have compute and data requirements that exceed GitHub\u2019s free resources. Pythia\u2019s notebooks can also be executed on our dedicated cloud using BinderHub, which provides a way to execute notebooks within custom environments. Pythia\u2019s workflows are able to validate and deploy results directly from execution on its BinderHub. The same BinderHub instance powers interactive user sessions, guaranteeing that users execute code in the same environment in which the rendered web pages were built.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QQB7RF", "name": "Kevin Tyle", "avatar": "https://cfp.scipy.org/media/avatars/QQB7RF_FPpQ7aH.webp", "biography": "Mr. Tyle is the Manager of Departmental Computing for the Department of Atmospheric and Environmental Sciences at the University at Albany, at which he received his M.S. in Atmospheric Science in 1995. He also has a B.A. in Psychology, with emphases on Neuroscience and Cognitive Science, from the University of Rochester. His main interest is promoting the use of free- and open-source software packages, mostly using Python, for the analysis, visualization and sharing of geoscientific datasets.", "public_name": "Kevin Tyle", "guid": "8b43de38-4d49-5cf2-b3a1-4d91b5a12115", "url": "https://cfp.scipy.org/2023/speaker/QQB7RF/"}, {"code": "KH9CEJ", "name": "Drew Camron", "avatar": "https://cfp.scipy.org/media/avatars/KH9CEJ_WDoLPuR.webp", "biography": "Scientific Python dev and educator @ UCAR/Unidata. MetPy, Siphon, Project Pythia.", "public_name": "Drew Camron", "guid": "6f6f0a91-af27-532a-9fa3-05b1aec6c164", "url": "https://cfp.scipy.org/2023/speaker/KH9CEJ/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/EDZ9YB/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/EDZ9YB/", "attachments": []}, {"guid": "a1e58ff3-6529-54b2-8f34-154876805014", "code": "9JTLCF", "id": 76261, "logo": "https://cfp.scipy.org/media/2023/submissions/9JTLCF/community-talk-banner_Wf0ag8L_Oxk2RrR.png", "date": "2023-07-14T14:35:00-05:00", "start": "14:35", "duration": "00:30", "room": "Amphitheater 204", "slug": "2023-76261-community-first-open-source-an-action-plan", "url": "https://cfp.scipy.org/2023/talk/9JTLCF/", "title": "Community-first open source: An action plan!", "subtitle": "", "track": "Tending Your Open Source Garden: Maintenance and Community", "type": "Talk", "language": "en", "abstract": "Communities are at the heart of open source software and are fundamental to our projects\u2019 long-term success. The Python ecosystem has several mature projects, that have spent years working on community initiatives. Newer projects can learn from their experiences and build stronger foundations to foster healthy communities.\r\n\r\nIn this talk, we share a set of practices for community-first projects, including repository management, contributor pathways, and governance principles. We\u2019ll also share real examples from our own journey transitioning a company-backed OSS project, Nebari (https://nebari.dev/), to be more community-oriented.", "description": "Open source communities come in a lot of different flavors and have many different ways of operating. However, there is a common thread of promoting kindness in communication, improving the contributor and user experience, and working to make the project more inclusive, accessible, and sustainable.\r\n\r\nWe, the presenters, recently worked to transition a company-backed open source project, Nebari (https://nebari.dev/), to be more community-oriented in its development, maintenance, and governance. We focused on creating a community-first foundation that builds on years of learnings from other leading communities, including Jupyter, NumPy, Gatsby JS, and more. In this talk, we want to share our journey and the things we learned along the way.\r\n\r\nWe aim to provide a step-by-step guide for open source projects looking to adopt more community-driven practices. We will discuss everything from repository management, and contributor and maintainer pathways, to documentation and governance principles. This talk will be most helpful for projects in their formative stages and projects transitioning from company-backed models, however we feel everyone can learn something new to implement in their communities.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LLJSBE", "name": "Pavithra Eswaramoorthy", "avatar": "https://cfp.scipy.org/media/avatars/LLJSBE_ztwgTeT.webp", "biography": "Pavithra is a Developer Advocate at Quansight, where she works to support the PyData community. She also contributes to the Bokeh and Dask projects; and has helped administrate Wikimedia\u2019s outreach programs in the past. In her spare time, she enjoys a good book and hot coffee. :)", "public_name": "Pavithra Eswaramoorthy", "guid": "1e289f7b-bd99-5631-92fb-f28eb817cdc1", "url": "https://cfp.scipy.org/2023/speaker/LLJSBE/"}, {"code": "KYXSPX", "name": "Dharhas Pothina", "avatar": "https://cfp.scipy.org/media/avatars/KYXSPX_Rgjw3CR.webp", "biography": null, "public_name": "Dharhas Pothina", "guid": "84b3e4ad-e6c9-5b5b-ae13-488347ee752c", "url": "https://cfp.scipy.org/2023/speaker/KYXSPX/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/9JTLCF/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/9JTLCF/", "attachments": []}], "Grand Salon C": [{"guid": "0b08b22d-b7f9-5b77-8393-9ef1be3c1324", "code": "AXPZZG", "id": 76251, "logo": null, "date": "2023-07-14T10:45:00-05:00", "start": "10:45", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76251-small-town-police-accountability-a-data-science-toolkit", "url": "https://cfp.scipy.org/2023/talk/AXPZZG/", "title": "Small Town Police Accountability: A Data Science Toolkit", "subtitle": "", "track": "Social Science and the Digital Humanities", "type": "Talk", "language": "en", "abstract": "In this talk we will share a Python library to obtain and analyze policing data, that was developed in conjunction with community activists, data scientists, social scientists and the Small Town Police Accountability (SToPA) Research Lab.  We will showcase components of the SToPA library which use Python tools such as web drivers, optical character recognition, geospatial mapping, machine learning and statistical sampling to better understand the policing landscape.  The goal of this work is to present an easily replicable framework for analyzing police and community interactions with accessible on-ramps for activists, developers and researchers.", "description": "Recent years have highlighted the urgent need for transparency and accountability within police departments across the United States. Typically, large cities have access to policing data and the resources to analyze and interrogate such data to hold authority accountable. Small towns face the same injustices at the hands of police, but these issues receive comparatively little attention, in part due to a lack of resources and tools to investigate the data. Additional challenges arise in the clarity and consistency of the data that may be available. Consequently, the public are generally unable to take data-informed action toward social justice in these regions. The overarching goal of the The Small Town Police Accountability (SToPA) Research Lab is to create an adaptable tool that enables small-town residents to analyze police actions to increase transparency and accountability. \r\n\r\nThis talk will introduce the interdisciplinary work of the research group to (1) obtain data through digital portals and records requests, (2) create a flexible, scaffolded software toolkit for organizing and analyzing police data for users with various levels of technical expertise and (3) use data-driven modeling tools to uncover potential patterns and anomalies in select small town data, serving as a template for investigations elsewhere. The SToPA toolkit consists of a range of components including instructions for data gathering; adaptable tools for reading, cleaning, and organizing data; and machine learning applications to analyze and understand patterns in policing. \r\n\r\nUsing case studies of a handful of small towns, the SToPA toolkit provides a broadly applicable methodology for reading and parsing police data.  Where data is available online in a somewhat structured format, the SToPA library offers tools for web crawling and scraping. In other cases, data is only available as a printed physical copy, necessitating digitization, text identification using tools such as PyTesseract, word-level data cleaning, and testing for accuracy.  This pipeline includes the use of user-defined, non-standard language dictionaries (such as a list of town-specific locations), geometric methods for word location detection, regular expressions, and fuzzy string matching.     \r\n\r\nAfter data is collected, cleaned, and structured, a second thrust of the SToPA lab is to analyze police interactions with machine learning and statistical tools. A diverse set of policing data, including dates, locations, names, and free text narratives, yields rich opportunity for exploratory analysis and modeling. Explorable maps were created with various mapping and plotting libraries, revealing location-based patterns. Town-specific data from the US Census allows for demographic comparisons between how citizens are distributed vs. how they are policed.  This analysis is further refined using statistical sampling and inference tools such as scikit-learn and PyEI. Narrative text data, unstructured language across thousands of reports, was also analyzed with natural language processing techniques such as topic modeling.\r\n\r\n This talk aims to be accessible to a diverse audience and to empower and inspire others to contribute to the growing SToPA repository:  https://qsideinstitute.github.io/SToPA/", "recording_license": "", "do_not_record": false, "persons": [{"code": "GLD3MM", "name": "Anna Haensch", "avatar": null, "biography": null, "public_name": "Anna Haensch", "guid": "d075468e-e705-5dd1-8a7e-83e1ea5f8b48", "url": "https://cfp.scipy.org/2023/speaker/GLD3MM/"}, {"code": "U7LFSW", "name": "Ariana Mendible", "avatar": "https://cfp.scipy.org/media/avatars/U7LFSW_Ve1rKLb.webp", "biography": "Ariana Mendible is an assistant professor at Seattle University, where she teaches and uses data science to approach social justice research problems.", "public_name": "Ariana Mendible", "guid": "4bb3f92e-ad6f-5d95-800e-f190c847533b", "url": "https://cfp.scipy.org/2023/speaker/U7LFSW/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/AXPZZG/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/AXPZZG/", "attachments": []}, {"guid": "814db0e8-b00b-5350-84d4-19c5cefb1b4b", "code": "LMMPRP", "id": 76045, "logo": null, "date": "2023-07-14T11:25:00-05:00", "start": "11:25", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76045-using-linear-tracking-data-to-estimate-backcountry-recreation-popularity", "url": "https://cfp.scipy.org/2023/talk/LMMPRP/", "title": "Using Linear Tracking Data to Estimate Backcountry Recreation Popularity", "subtitle": "", "track": "Social Science and the Digital Humanities", "type": "Talk", "language": "en", "abstract": "Geolocated data from smartphone apps are well-established resources for research. While most of that data come as points (e.g., geotagged photos), there are a growing number of apps that collect linear data from users activities (e.g., running, hiking, off-road driving). Using established ecological methods, shallow-machine learning packages, and multiprocessing we demonstrate a novel approach using mobile app data to estimate back-country recreation popularity at multiple scales. The topics covered include normalizing and thinning coordinate data, merging linear data from multiple sources, and accounting for spatial bias while preserving the integrity of the original data.", "description": "Official sources (typically governments) provide the cleanest and most trustworthy data. Decades of established standards and years of archived records provide a framework for reliable data collection making it a strong foundations for research. The drawback to official centralized sources is that they often focus on the macro level, and because of this, the data tends to be lower resolution, leaving broad areas of obscurity at a micro level.\r\n\r\nWith a need to geospatially estimate and represent backcountry recreation habits on a statewide level down to square mile grid, our team needed high-resolution datasets.\r\n\r\nSocial media data is high-resolution, dense and valuable, which often leads companies to limit access to their data. App downloads and active user counts fluctuate with the market and long-term utility of an app's data is not guaranteed to last. Despite these limitations, social media offers significantly higher resolution data than official sources. We will discuss the methods we developed to overcome the unique challenges of processing and standardizing social media data so it complements and informs official datasets.\r\n\r\nWe will cover acquiring data from multiple apps using modular methods that can be applied to new apps as older ones become obsolete. It is rare for apps to offer identical metrics, so we developed a flexible approach that can translate different metrics into a standardized form. It is also important that a model addresses the inherent unknowns that lie beyond the app's userbase.\r\n\r\nOur specific use case uses linear geolocation data gathered from mobile tracking apps. Data comes in the form of GeoJSON coordinates, Google Earth polylines, and shapefiles. We will discuss the specific packages used to read each and store them in a common format. \r\n\r\nLinear data brings with it unique challenges relative to point and polygon data. We will describe how we used Python to redistribute points along line segments while maintaining a minimum distance between segment vertices as a first step towards standardizing the linear data. We then needed to \"thin\" the data to minimize spatial bias caused by overlapping line segments and circuitous routes; this will include our reasoning for not averaging or interpolating new data points between each dataset, and how instead we used a method that preserved the integrity of original geolocation data.\r\n\r\nWe will explain the ways multiprocessing and nonlinear data structures were used to process large numbers of vertices when we aggregated all datasets together and ran the thinning algorithm on the combined points; the goal of which was to create an overall presence dataset that represents recreation across the state with minimal spatial bias.\r\n\r\nWe will also review the resulting data structure: coordinate pairs, aggregated metrics and IDs that point back to rows from the original datasets gathered from each app.\r\n\r\nThe presentation will finish with a summary and conclusion on how the resulting presence data was processed using the MaxEnt ecological model to inform and supplement official data sources and provide the state of Arizona with a clearer picture of recreation.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YCYD3P", "name": "Vincent Sutherland", "avatar": null, "biography": "Vince is a Data science grad student with a background in biology. He lives in a small mountain town where he works on a research team involved in estimating and quantifying the risks abandoned hard-rock mines pose to the population of Arizona.", "public_name": "Vincent Sutherland", "guid": "5c054d8a-2a88-5bc0-b96a-2c7bc60f1dd0", "url": "https://cfp.scipy.org/2023/speaker/YCYD3P/"}, {"code": "RAJ8JE", "name": "David C. Folch", "avatar": null, "biography": null, "public_name": "David C. Folch", "guid": "8138e814-9481-5f6a-85d6-689a2c459da9", "url": "https://cfp.scipy.org/2023/speaker/RAJ8JE/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/LMMPRP/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/LMMPRP/", "attachments": []}, {"guid": "2c168858-1f47-5887-8ca2-910dfa0b4420", "code": "BDV3EE", "id": 76137, "logo": "https://cfp.scipy.org/media/2023/submissions/BDV3EE/pthviz_p1gFqaY_IugSStq.png", "date": "2023-07-14T13:15:00-05:00", "start": "13:15", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76137-allegro-and-flare-fast-and-accurate-machine-learning-potentials-for-extreme-scale-simulations", "url": "https://cfp.scipy.org/2023/talk/BDV3EE/", "title": "Allegro and FLARE: Fast and accurate machine learning potentials for extreme-scale simulations", "subtitle": "", "track": "Materials and Chemistry", "type": "Talk", "language": "en", "abstract": "Allegro and FLARE are two very different packages for constructing machine learning potentials that are fast, accurate, and suitable for extreme-scale molecular dynamics simulations. Allegro uses PyTorch for efficient equivariant potentials with state-of-the-art accuracy, while FLARE is a sparse Gaussian process potential with an optimized C++ training backend leveraging Kokkos, OpenMP, and MPI for state-of-the-art performance, and a user-friendly Python frontend. We will compare and contrast the two methods, discuss lessons learned, and show spectacular scientific applications.", "description": "Molecular dynamics is a common method for studying molecules and materials at the atomistic level, in which the dynamics of atoms are simulated directly using Newton\u2019s equations of motion. This requires a model for the forces between the atoms, often referred to as a potential. Traditionally, there have been two approaches to computing the interatomic forces. First, there are empirical potentials, which are based on simple, physically motivated functional forms with a few parameters that are fit to match experimental measurements of material properties. These models are fast, but they have limited accuracy and are hard to transfer between applications. The alternative is quantum mechanical methods, which are highly accurate. In return, they are computationally expensive and have limited scalability.\r\n\r\nIn recent years, machine learning potentials (MLPs) have emerged as a compromise in terms of accuracy and computational efficiency. The idea is to generate a small amount of training data with a quantum mechanical method. The MLP learns to reproduce its forces and energies and can be used for large and long-timescale molecular dynamics simulations with an accuracy approaching that of the quantum mechanical method.\r\n\r\nAllegro and FLARE are two drastically different MLPs. FLARE approximates the energy of an atom as a sparse Gaussian process (SGP) as a function of the atom\u2019s local environment. The environment is encoded in a rotationally invariant vector with high descriptive power. By using an invariant descriptor, FLARE correctly respects the symmetry of the problem. Allegro, on the other hand, exploits the symmetry of the problem by using an equivariant neural network, i.e., a neural network where tensor product layers force the features to systematically transform with the input. While more computationally demanding, the added symmetry information allows Allegro and other equivariant models to be significantly more accurate and data-efficient than traditional models.\r\n\r\nFor extreme-scale simulations, scalability and performance are of utmost importance. Through its model design of avoiding message passing, Allegro is the only scalable equivariant neural network potential, with excellent performance demonstrated up to 100 million atoms. FLARE, being a simpler model, takes this to the extreme and has achieved record scalability and performance, simulating 0.5 trillion atoms on 27,336 NVIDIA V100 GPUs.\r\n\r\nOn the implementation side, Allegro and FLARE are also very different. Allegro is implemented in Python with PyTorch, which allows for a high-level implementation with excellent GPU performance through the JIT compiler. FLARE has a low-level training backend written in C++ with OpenMP, MPI, and Kokkos. The C++ code is conveniently wrapped for Python use with pybind11.\r\n\r\nIn this talk, we will compare and contrast these two methods, discuss lessons learned, and show spectacular scientific applications.\r\n\r\nLinks:\r\nAllegro repository: https://github.com/mir-group/allegro\r\nAllegro paper: https://www.nature.com/articles/s41467-023-36329-y\r\nFLARE repository: https://github.com/mir-group/flare\r\nFLARE LAMMPS active learning tutorial: https://bit.ly/flarelmpotf\r\nPreprint on FLARE scalability: https://arxiv.org/abs/2204.12573", "recording_license": "", "do_not_record": false, "persons": [{"code": "TEKNGX", "name": "Anders  Johansson", "avatar": "https://cfp.scipy.org/media/avatars/TEKNGX_L6en6C8.webp", "biography": "I am a PhD student in Applied Physics in the group of Boris Kozinsky at Harvard SEAS. My focus is on machine learning interatomic potentials for molecular dynamics simulations, in particular on how to make them fast on modern hardware architecture and large supercompters.\r\n\r\nGitHub: @anjohan", "public_name": "Anders  Johansson", "guid": "12abc296-5e83-57c5-a4cc-0a37458dbef3", "url": "https://cfp.scipy.org/2023/speaker/TEKNGX/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/BDV3EE/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/BDV3EE/", "attachments": []}, {"guid": "3855fd8c-898e-53db-8c81-f12b39c7f854", "code": "EYHNUV", "id": 75971, "logo": null, "date": "2023-07-14T13:55:00-05:00", "start": "13:55", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-75971-a-graph-neural-network-based-model-for-rapid-prediction-of-thermal-transport-in-metal-organic-frameworks", "url": "https://cfp.scipy.org/2023/talk/EYHNUV/", "title": "A Graph-Neural Network-Based model for rapid prediction of Thermal Transport in Metal-Organic Frameworks", "subtitle": "", "track": "Materials and Chemistry", "type": "Talk", "language": "en", "abstract": "Metal-Organic Frameworks (MOFs) have vast potential for gas adsorption, but their practical use hinges on their ability to dissipate thermal energy generated during adsorption. Here, we performed the first high-throughput screening of thermal conductivity in over 10,000 MOFs using molecular dynamics simulations. Next, we developed a graph neural network (GNN) based model to swiftly predict the diagonal components of the thermal conductivity tensor for accelerated materials discovery. Attendees will gain insights into how GNNs can be trained to predict material tensor properties, benefiting both the materials science and machine learning communities.", "description": "Metal-organic frameworks (MOFs) are a promising class of porous materials that have potential applications in various areas, including gas storage and separations. However, effective thermal energy management in MOFs is critical to enhancing their performance in these applications. Unfortunately, there is still a lack of understanding regarding the structure-property relationships that govern thermal transport in MOFs.\r\n\r\nIn order to provide a data-driven perspective on these relationships, a large-scale computational screening study was conducted to investigate the thermal conductivity of MOFs. This study utilized classical molecular dynamics simulations to calculate the thermal conductivities of 10,194 hypothetical MOFs generated using the Topology-Based Crystal Constructor (ToBaCCo) code developed in Python. These MOFs comprised 1,015 different topologies, along with 40 types of organic edge building blocks and 38 inorganic and organic nodular building blocks.\r\n\r\nThe study discovered that high thermal conductivity in MOFs is favored by high densities, small pores (<10 \u00c5), and four-connected metal nodes. Moreover, it identified 36 MOFs with ultra-low thermal conductivity (<0.02 W/mK) primarily due to their extremely large pores (~65 \u00c5). Additionally, the study uncovered six hypothetical MOFs with exceptionally high thermal conductivity (>10 W/mK).\r\n\r\nTo handle a large number of MOFs screened, an algorithm was developed to adaptively determine the appropriate plateaued interval of the thermal conductivity vs. correlation time curve based on a set of criteria. The search strategy utilized for finding the optimal plateaued interval involved iteratively performing linear fitting to data segments of 2 ps in length at 1 ps increments if the data was between 0 and 10 ps, and segments of 10 ps length at 5 ps increments if the data was beyond 10 ps. The normalized slopes and normalized average oscillation amplitudes were then calculated with respect to the average thermal conductivity for each of those data segments.\r\n\r\nUsing the 10,194 MOF-thermal conductivity data, a range of state-of-the-art graph neural network-based models, including CGCNN, iCGCNN, MEGNet, DimeNet++, ALIGNN, and others, were trained for the rapid prediction of thermal conductivity in MOFs. Finally, the model that demonstrated the best performance on the test data was applied to screen the Computation-Ready, Experimental (CoRE) MOF database, resulting in the identification of experimentally viable MOF structures with potentially exceptional thermal transport properties.\r\n\r\nThis talk will discuss the ToBaCCo hypothetical MOF crystal generation algorithm, various state-of-the-art GNN architectures, and their implementation in PyTorch. This presentation will be of interest to the wider material science community, particularly those with a passion for deep learning models. The findings of this study have the potential to enhance our understanding of thermal transport in MOFs, paving the way for the development of more efficient MOFs for gas storage and separation applications.", "recording_license": "", "do_not_record": false, "persons": [{"code": "DPKLBS", "name": "Meiirbek Islamov", "avatar": "https://cfp.scipy.org/media/avatars/DPKLBS_HBBgJKM.webp", "biography": "Currently, I am pursuing a Ph.D. degree in Chemical Engineering at the University of Pittsburgh with an expected completion date of January 2024. My current research at Pitt focuses on understanding nanoscale thermal transport physics in Metal-Organic Frameworks (MOFs), a class of porous materials, which have been heralded as revolutionary materials for gas adsorption applications. In my research, I use high-performance computing, deep learning, and computational materials science/chemistry techniques.", "public_name": "Meiirbek Islamov", "guid": "0024ccbf-8548-5cee-95d0-f593a404304b", "url": "https://cfp.scipy.org/2023/speaker/DPKLBS/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/EYHNUV/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/EYHNUV/", "attachments": []}, {"guid": "a34b1dfa-9025-5c91-80a3-262a43411424", "code": "F9P3F3", "id": 76046, "logo": null, "date": "2023-07-14T14:35:00-05:00", "start": "14:35", "duration": "00:30", "room": "Grand Salon C", "slug": "2023-76046-from-espaloma-to-sake-to-brew-distill-and-mix-force-fields-with-balanced-briskness-smoothness-and-intricacy", "url": "https://cfp.scipy.org/2023/talk/F9P3F3/", "title": "From Espaloma to SAKE: To brew, distill, and mix force fields with balanced briskness, smoothness, and intricacy.", "subtitle": "", "track": "Materials and Chemistry", "type": "Talk", "language": "en", "abstract": "Force fields (FF)\u2014the (parametrized) mapping from geometry to energy, are a crucial component of molecular dynamics (MD) simulations, whose associated Boltzmann-like target probability densities are sampled to estimate ensemble observables, to harvest quantitative insights of the system. State-of-the-art force fields are either fast (molecular mechanics, MM-based) or accurate (quantum mechanics, QM-based), but seldom both. Here, leveraging graph-based machine learning and incorporating inductive biases crucial to chemical modeling, we approach the balance between accuracy and speed from two angles---to make MM more accurate and to make machine learning force fields faster.", "description": "A force field as accurate as quantum mechanics (QM) and as fast as molecular mechanics (MM), with which one can simulate a biomolecular system efficiently enough and meaningfully enough to get quantitative insights, is among the most ardent dreams of biophysicists. Machine learning force forces have been designed to bring us one step closer to this dream, by fitting simpler functional forms to QM data and extrapolating to chemically and geometrically diverse regions. Nonetheless, current state-of-the-art architectures, though approaching or surpassing the quantum chemical accuracy, are by magnitudes slower than MM and manifest various pathologies when it comes to interpretability, generalizability, and stability.\r\n\r\nIn this talk, we introduce our efforts to approach the lotusland from two angles: by making MM force fields more accurate (using a GNN to replace the atom typing schemes, Espaloma) and making state-of-the-art machine learning force fields faster (maintaining local universal approximative power without employing spherical harmonics, SAKE). Along the way, we show a plethora of useful gadgets, including the first unified force field for joint protein--ligand parametrization, an AM1-BCC surrogate charge model thousands-fold faster with error smaller than discrepancies among backends, and a way to forecast the fate of dynamic systems before the simulation even starts.\r\n\r\nWith these, we identify the opportunities and challenges of machine learning force fields design: What interpretable, stable, simple yet expressive function forms to use? How do we bake domain knowledge in, e.g., forces vanish when particles are far and explode when close? Can we detach sophisticated neural networks during inference? Can force fields be uncertainty-aware? And finally how do we stir these ingredients well to achieve the delicious balance between stability and speed and accuracy?", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZKVNB8", "name": "Yuanqing Wang", "avatar": null, "biography": "Simons Center Fellow, NYU", "public_name": "Yuanqing Wang", "guid": "1a3acedd-cdcd-5ac0-9086-973ea17e8a27", "url": "https://cfp.scipy.org/2023/speaker/ZKVNB8/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/F9P3F3/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/F9P3F3/", "attachments": []}], "Zlotnik Ballroom": [{"guid": "72a43cf9-619f-563c-ae68-4c159f7be744", "code": "HPFVLT", "id": 76067, "logo": null, "date": "2023-07-14T09:15:00-05:00", "start": "09:15", "duration": "00:45", "room": "Zlotnik Ballroom", "slug": "2023-76067-keynote-responsible-ai-in-practice-how-far-we-ve-come-and-where-we-re-going", "url": "https://cfp.scipy.org/2023/talk/HPFVLT/", "title": "Keynote - Responsible AI in Practice: How far we've come and where we're going", "subtitle": "", "track": "Keynote", "type": "Talk", "language": "en", "abstract": "Dr. Rumman Chowdhury is a trailblazer in the field of applied algorithmic ethics, creating cutting-edge socio-technical solutions for ethical, explainable and transparent AI. She currently runs Parity Consulting, Parity Responsible Innovation Fund, and is a Responsible AI Fellow at the Berkman Klein Center for Internet & Society at Harvard University. She is also a Research Affiliate at the Minderoo Center for Democracy and Technology at Cambridge University and a visiting researcher at the NYU Tandon School of Engineering. Previously, she was the director of the ML Ethics, Transparency, and Accountability team at Twitter identifying and mitigating algorithmic harms on the platform. Before that she was CEO and founder of Parity, an enterprise algorithmic audit platform company. She formerly served as Global Lead for Responsible AI at Accenture Applied Intelligence. In her work as Accenture\u2019s Responsible AI lead, she led the design of the Fairness Tool, a first-in-industry algorithmic tool to identify and mitigate bias in AI systems. Dr. Chowdhury has been featured in international media, including the Wall Street Journal, Financial Times, Harvard Business Review, NPR, MIT Sloan Magazine among others. She was named one of BBC\u2019s 100 Women, recognized as one of the Bay Area\u2019s top 40 under 40, and honored to be inducted to the British Royal Society of the Arts (RSA).", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "AATXR9", "name": "Dr. Rumman Chowdhury", "avatar": "https://cfp.scipy.org/media/avatars/AATXR9_ABGGJVR.webp", "biography": "Dr. Rumman Chowdhury currently runs Parity Consulting, Parity Responsible Innovation Fund, and is a Responsible AI Fellow at the Berkman Klein Center for Internet & Society at Harvard University. She is also a Research Affiliate at the Minderoo Center for Democracy and Technology at Cambridge University and a visiting researcher at the NYU Tandon School of Engineering.", "public_name": "Dr. Rumman Chowdhury", "guid": "8fc2a618-7b0a-564a-a791-37323e97dba6", "url": "https://cfp.scipy.org/2023/speaker/AATXR9/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/HPFVLT/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/HPFVLT/", "attachments": []}, {"guid": "e21306e2-892e-5b17-8a48-f5c1cbcfa3b2", "code": "ALEQSL", "id": 76097, "logo": null, "date": "2023-07-14T11:25:00-05:00", "start": "11:25", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76097-modern-compute-stack-for-scaling-large-ai-ml-workloads", "url": "https://cfp.scipy.org/2023/talk/ALEQSL/", "title": "Modern compute stack for scaling large AI/ML workloads", "subtitle": "", "track": "Machine Learning, Data Science, and Ethics in AI", "type": "Talk", "language": "en", "abstract": "Existing production machine learning systems often suffer from various problems that make them hard to use. For example, data scientists and ML practitioners often spend most of their time stitching and managing bespoke distributed systems to build end-to-end ML applications and push models to production.\r\n\r\nTo address this, the Ray community has built Ray AI Runtime (Ray AIR), an open-source toolkit for building large-scale end-to-end ML applications.", "description": "Existing production machine learning systems often suffer from various problems that make them hard to use. For example, data scientists and ML practitioners often spend most of their time stitching and managing bespoke distributed systems to build end-to-end ML applications and push models to production.\r\n\r\nTo address this, the Ray community has built Ray AI Runtime (Ray AIR), an open-source toolkit for building large-scale end-to-end ML applications.\r\n\r\nRay is a distributed compute framework, powering large scale machine learning models such as OpenAI's ChatGPT. By leveraging Ray\u2019s distributed compute strata and library ecosystem, the Ray AI Runtime brings scalability and programmability to ML platforms. \r\n\r\nThe main focus of the Ray AI Runtime is to provide the compute layer for Python-based AI/ML workloads and is designed to interoperate with popular ML frameworks and other systems for storage and metadata needs.\r\n\r\nIn this session, we\u2019ll explore and discuss the following:\r\nWhy and what is Ray \r\nHow AIR, built atop Ray, allows you to program and scale your machine learning workloads easily \r\nAIR\u2019s interoperability and easy integration points with other systems for storage and metadata needs\r\nAIR\u2019s cutting-edge features for accelerating the machine learning lifecycle such as data preprocessing, last-mile data ingestion, tuning and training, and serving at scale\r\n\r\nKey takeaways for attendees are:\r\n\r\n* Ray as a general purpose framework for distributed computing \r\n* Understand how Ray AI Runtime can be used to implement scalable, programmable machine learning workflows.\r\n* Learn how to pass and share data across distributed trainers and Ray native libraries: Tune, Serve, Train, RLlib, etc.\r\n* How to scale python-based workloads across supported public clouds", "recording_license": "", "do_not_record": false, "persons": [{"code": "3YVB8Z", "name": "Jules S. Damji", "avatar": "https://cfp.scipy.org/media/avatars/3YVB8Z_eLoNNvY.webp", "biography": "Jules S. Damji is a lead developer advocate at Anyscale Inc, an MLflow contributor, and co-author of Learning Spark, 2nd Edition. He is a hands-on developer with over 25 years of experience and has worked at leading companies, such as Sun Microsystems, Netscape, @Home, Opsware/LoudCloud, VeriSign, ProQuest, Hortonworks, and Databricks, building large-scale distributed systems. He holds a B.Sc and M.Sc in computer science (from Oregon State University and Cal State, Chico respectively), and an MA in political advocacy and communication (from Johns Hopkins University).", "public_name": "Jules S. Damji", "guid": "57cefb2e-642e-5217-80a4-213f450f25d8", "url": "https://cfp.scipy.org/2023/speaker/3YVB8Z/"}, {"code": "FSNSLD", "name": "Amog Kamsetty", "avatar": "https://cfp.scipy.org/media/avatars/FSNSLD_0BLINB0.webp", "biography": "Amog is a Senior Software Engineer at Anyscale where works on the Ray open source project building solutions for distributed machine learning workloads including distributed model training and offline inference.", "public_name": "Amog Kamsetty", "guid": "bfbdb20f-3ce5-5a88-af56-87dd9ad53d9a", "url": "https://cfp.scipy.org/2023/speaker/FSNSLD/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/ALEQSL/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/ALEQSL/", "attachments": []}, {"guid": "24b321cb-033d-5369-b347-4d5be2f81552", "code": "Q9KTXS", "id": 76138, "logo": "https://cfp.scipy.org/media/2023/submissions/Q9KTXS/Screen_Shot_2023-03-01_at_5.56._freV5HT.png", "date": "2023-07-14T13:15:00-05:00", "start": "13:15", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76138-ultra-fast-visualization-of-large-datasets-using-modern-graphics-apis-in-jupyter-notebooks", "url": "https://cfp.scipy.org/2023/talk/Q9KTXS/", "title": "Ultra fast visualization of large datasets using modern graphics APIs in jupyter notebooks", "subtitle": "", "track": "Bioinformatics, Computational Biology & Neuroscience", "type": "Talk", "language": "en", "abstract": "Fast interactive visualization remains a considerable barrier in analyses pipelines for large neuronal datasets. Here, we present *fastplotlib*, a scientific plotting library featuring an expressive API for very fast visualization of scientific data. *Fastplotlib* is built upon *pygfx* which utilizes the GPU via WGPU, allowing it to interface with modern graphics APIs such as *Vulkan* for fast rendering of objects. *Fastplotlib* is non-blocking, allowing for interactivity with data after plot generation. Ultimately, *fastplotlib* is a general purpose scientific plotting library that is useful for the fast and live visualization and analysis of complex datasets.", "description": "Over the past decade, advanced analyses pipelines have been developed for large neuronal datasets [1][2]. However, fast visualization and live interactivity during data collection is largely unsupported. While current tools within the Python plotting ecosystem (ex. *pyqtgraph, VisPy, napari*) allow for interactive data visualization, they either fail to leverage modern GPUs efficiently, lack intuitive APIs for rapid prototyping, or require users to write their own shaders. Additionally, other popular plotting libraries, such as *bokeh* and *matplotlib*, are not geared towards fast interactive visualization with millions of objects. Given these challenges with current visualization tools, the need for a modern GPU-driven interactive plotting library exists. In this presentation, we will go through the technical details, as well as a brief demo on how *fastplotlib* makes fast interactive visualization of complex neuronal datasets possible. We will also demonstrate the broader applicability of *fastplotlib* as a fast, general-purpose plotting library. \r\n\r\n*Fastplotlib* is built on top of *pygfx* which is a cutting edge Python rendering engine that utilizes *Vulkan*, which can efficiently leverage modern GPU and CPU hardware. *Vulkan*, released in 2016, is the successor to *OpenGL* and features a low overhead with respect to the amount of code per-draw-per-object allowing for speed even when rendering millions of objects. *Pygfx* is also non-blocking, which allows for interactivity and modification of already drawn objects. *Fastplotlib* utilizes the *pygfx* rendering library for fast visualization with an expressive API for scientific visualization. The benefits of *fastplotlib* are that it reduces boilerplate code which allows users to focus on their data without having to manage the underlying rendering process. Additionally, *fastplotlib* allows for animations as well as high-level interactivity among plots, which can be combined with lazy loading of very large neuronal imaging movies that are hundreds of gigabytes or terabytes in size. Furthermore, *fastplotlib* can be used in jupyter notebooks, allowing it to be used on cloud computing and other remote infrastructures. In total, these unique features and the underlying architecture create a plotting library that is fast, easy to use, and multifaceted.\r\n\r\nInitially, *fastplotlib* was developed for use in the neuroscience community to aid in the analysis of large neuronal datasets. However, the long term goal of this project is to provide an open source software that serves as a general-purpose scientific plotting library. As we are currently in the early stages of development, we are looking for community involvement and to connect with other developers to further progress our software package.\r\n\r\nhttps://github.com/kushalkolar/fastplotlib", "recording_license": "", "do_not_record": false, "persons": [{"code": "RMCH38", "name": "Kushal Kolar", "avatar": "https://cfp.scipy.org/media/avatars/RMCH38_vzXri6Z.webp", "biography": "https://github.com/kushalkolar", "public_name": "Kushal Kolar", "guid": "e2ed84c2-a945-56c6-b6a5-9b3f881e9edd", "url": "https://cfp.scipy.org/2023/speaker/RMCH38/"}, {"code": "VPQY8Y", "name": "Caitlin Lewis", "avatar": "https://cfp.scipy.org/media/avatars/VPQY8Y_MvRxbNE.webp", "biography": "I am a current undergraduate student at the University of North Carolina at Chapel Hill studying Computer Science and Statistics. I currently work for the Hantman Lab in the UNC Neuroscience Center helping to develop tools to aid in the analysis and visualization of large calcium imaging datasets.", "public_name": "Caitlin Lewis", "guid": "fb832289-e503-5171-a359-4a25b4e5b672", "url": "https://cfp.scipy.org/2023/speaker/VPQY8Y/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/Q9KTXS/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/Q9KTXS/", "attachments": []}, {"guid": "fbfa8be3-133b-5290-9012-e21a04561b16", "code": "SXJFBQ", "id": 76133, "logo": "https://cfp.scipy.org/media/2023/submissions/SXJFBQ/datajoint_talk_gq7K6nn_ir2IyER.png", "date": "2023-07-14T13:55:00-05:00", "start": "13:55", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76133-datajoint-bringing-databases-back-into-data-science", "url": "https://cfp.scipy.org/2023/talk/SXJFBQ/", "title": "DataJoint: Bringing databases back into data science", "subtitle": "", "track": "Bioinformatics, Computational Biology & Neuroscience", "type": "Talk", "language": "en", "abstract": "Relational databases manage structured data and facilitate queries in collaborative repositories, but using SQL from a scientific programming language is awkward. DataJoint is an open-source framework for managing scientific data supporting data definition, diagramming, and queries. DataJoint makes computation a native part of its data model, bridging the gap between databases and numerical analysis in automated workflows. We will showcase the elegance of the relational data model and its versatility through neuroscience research examples. We will also introduce the DataJoint SciViz library, enabling scientists to build web apps for data visualization and unlocking further potential for data-driven discovery.", "description": "Research teams work on complex scientific data with many contributors. They execute quickly evolving and complex computational pipelines around such data. This requires a systematic approach to structuring data with clarity and transparency, linking it with distributed computation. Relational databases solve many of these problems; they support data integrity and facilitate queries in large, collaborative repositories. However, working with relational databases through SQL from Python can be awkward. As a result, many data scientists have dismissed relational databases and missed out on their great capabilities. Enter DataJoint, an open-source framework designed explicitly for managing scientific data.\r\n\r\nDataJoint uses a relational database system as its backend but utilizes Python programming constructs to define and query the database, similar to object-relational mappers commonly used in web development. It is specifically designed from the ground up for supporting complex data and distributed computations, making it an ideal tool for data scientists.\r\n\r\nOne of the most significant advantages of DataJoint is that it allows you to design complex databases directly from a Jupyter notebook. It provides its own sublanguage for defining database schemas to capture relationships between data elements, including beautiful diagrams for convenient navigation. DataJoint also provides a convenient query language that reduces the complexity of SQL select statements into an algebra of five operators. Data operations are well integrated with other data science tools such as numpy and pandas.\r\n\r\nMost importantly, DataJoint makes computations a first-class citizen in its data model. Computational dependencies are encoded as part of the database design, so the database schema serves to specify the computational data pipeline and workflow.\r\n\r\nDataJoint has been in continuous development and use for about 14 years and is currently used in approximately a hundred research labs. A rich collection of standardized workflows, DataJoint Elements, has been in development by the research community.\r\n\r\nIn this talk, we will introduce the basic principles of scientific databases, including how to create a database, how to visualize its structure, how to enter and delete data, and how to define and execute computational dependencies. We will also showcase examples from past and current neuroscience projects. For large-scale computations, DataJoint can be combined with job orchestration tools for scalable computing.\r\n\r\nFurthermore, we will introduce the new DataJoint SciViz library that provides a low-code approach for creating websites for data visualization to show off your work. DataJoint has become a part of the data science tool stack for working with scientific databases, providing the full rigor of relational databases for maintaining data integrity and consistency, especially in dynamic collaborative projects.\r\n\r\nFinally, we will share some glimpses of our future developments and invite diverse teams to contribute and collaborate, making DataJoint an even more powerful tool for managing scientific data. With DataJoint, scientists can bring relational databases into the modern era of data science and streamline their data management and computational workflows.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8N8WYR", "name": "Dimitri Yatsenko", "avatar": "https://cfp.scipy.org/media/avatars/8N8WYR_iBR1COb.webp", "biography": "Dimitri Yatsenko has a PhD in Neuroscience (Baylor College of Medicine) and Masters in Computational Engineering and Science (University of Utah). As CEO at DataJoint, he leads a team of scientists and engineers to develop tools for analyzing and managing neuroscience data for advanced collaborative projects. He serves as Principal Investigator on NIH grants to develop open-source software and a cloud platform supporting standardized data pipelines for common types of neuroscience experiments.", "public_name": "Dimitri Yatsenko", "guid": "4be24f0e-a4fb-5aed-979a-d354ee106d5b", "url": "https://cfp.scipy.org/2023/speaker/8N8WYR/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/SXJFBQ/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/SXJFBQ/", "attachments": []}, {"guid": "f99fdc05-0599-513b-b54f-1ebd8ac17b47", "code": "CQNJ9Z", "id": 76168, "logo": null, "date": "2023-07-14T14:35:00-05:00", "start": "14:35", "duration": "00:30", "room": "Zlotnik Ballroom", "slug": "2023-76168-an-api-for-efficient-and-low-latency-access-to-the-largest-standardized-single-cell-data-repository-by-cz-cellxgene-discover", "url": "https://cfp.scipy.org/2023/talk/CQNJ9Z/", "title": "An API for efficient and low-latency access to the largest standardized single-cell data repository by CZ CELLxGENE Discover.", "subtitle": "", "track": "Bioinformatics, Computational Biology & Neuroscience", "type": "Talk", "language": "en", "abstract": "CZ CELxGENE Discover has released all of its human and mouse single-cell data through a new API that allows for efficient and low-latency querying. The data is fully standardized, hosted publicly and it is composed by a count matrix of 50 mi cells (observations) by >60 k genes (features) accompanied by cell and gene metadata. While these data are built from more than 700 datasets, the API enables convenient cell- and gene-based filtering to obtain any slice of interest in a matter of seconds. All data can be quickly transformed to numpy, pandas, anndata or Seurat objects.", "description": "As a part of the CZ CELxGENE Discover suite (cellxgene.cziscience.com) we have deployed Python and R APIs to query the largest aggregation of single-cell data from 50 million cells along >60 thousand genes from the major human and mouse tissues. \r\n\r\nThe data is comprised of more than 700 individual datasets represented as a single gene expression count matrix along with metadata data frames, where all cells have harmonized annotations across 11 variables (e.g. cell type, tissue, sequencing technology, donor id, etc) and all gene IDs and labels have been standardized on GENCODE references (https://github.com/chanzuckerberg/single-cell-curation/blob/main/schema/3.0.0/schema.md) . The APIs are able to perform efficient cell-based queries across all cells regardless of the dataset of origin. \r\n\r\nThe concatenated data presents a unique opportunity to apply machine learning on single-cell gene expression at an unprecedented scale for biological discoveries. More importantly, the data and APIs are built around a recently developed technology, TileDB-SOMA, which allows for cloud-optimized storage and access, low-latency access for larger-than-memory slices of data, querying and filtering under lazy evaluation, and transformers to pandas, pyarrow, anndata and Seurat. \r\n\r\nThe APIs are free to use (https://pypi.org/project/cell-census/) and the data is hosted publicly online, which allows users to fetch slices of data with less than 10 lines of code and under 2 minutes. Our main objective is to accelerate biological discoveries by providing ready-to-use standardized gene expression data from 50 million human and mouse cells in an interoperable manner. We are eager to provide the support necessary to enable researchers to effectively use the data and APIs.", "recording_license": "", "do_not_record": false, "persons": [{"code": "3NVEEG", "name": "Pablo Garcia-Nieto", "avatar": null, "biography": "Computational biologist at CZI focusing on providing access to all single-cell data hosted on CZ CELLxGENE (https://cellxgene.cziscience.com/). Ph.D. on cellular and molecular biology from Stanford University, and BSc in genomics from the Autonomous National University of Mexico", "public_name": "Pablo Garcia-Nieto", "guid": "6b91c5d7-0cda-514e-8f74-658dc2f86f07", "url": "https://cfp.scipy.org/2023/speaker/3NVEEG/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/CQNJ9Z/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/CQNJ9Z/", "attachments": []}, {"guid": "2a9a7ad7-644c-5f7e-a42d-ebde10c9dc8c", "code": "RTA7JG", "id": 76368, "logo": null, "date": "2023-07-14T15:30:00-05:00", "start": "15:30", "duration": "01:00", "room": "Zlotnik Ballroom", "slug": "2023-76368-lightning-talks", "url": "https://cfp.scipy.org/2023/talk/RTA7JG/", "title": "Lightning Talks", "subtitle": "", "track": "Lightning Talks", "type": "Talk", "language": "en", "abstract": "Lightning talks are 5-minute talks on any topic of interest for the SciPy community. We encourage spontaneous and prepared talks from everyone, but we can\u2019t guarantee spots. Sign ups are at the NumFOCUS booth during the conference.", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/RTA7JG/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/RTA7JG/", "attachments": []}], "Classroom 103": [{"guid": "8202b880-b762-5801-8b04-00dfbc5e5bd4", "code": "JXWQPG", "id": 75935, "logo": null, "date": "2023-07-14T16:40:00-05:00", "start": "16:40", "duration": "00:55", "room": "Classroom 103", "slug": "2023-75935-bof-room-103-scipy-2023-sprint-prep-bof", "url": "https://cfp.scipy.org/2023/talk/JXWQPG/", "title": "[BoF Room 103] SciPy 2023 Sprint Prep BoF", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "Come join the BoF to do a practice run on contributing to a GitHub project. We will walk through how to open a Pull Request for a bugfix, using the workflow most libraries participating at the weekend sprints use (hosted by the sprint chairs)", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "QUKSS3", "name": "Gil Forsyth", "avatar": "https://cfp.scipy.org/media/avatars/QUKSS3_wCWYCU5.webp", "biography": "Gil Forsyth is a software engineer at Voltron Data. He followed the common career path of Japanese language specialist -> administrative assistant -> mechanical engineer -> computational fluid dynamicist -> data scientist -> software engineer -> machine learning engineer -> software engineer. Gil contributes to several projects in the PyData ecosystem and is a core maintainer of xonsh and Ibis. He served as the program chair for the Scientific Computing with Python (SciPy) conference from 2017 to 2020.", "public_name": "Gil Forsyth", "guid": "f1926d8f-33de-50ff-a482-374ab67b7087", "url": "https://cfp.scipy.org/2023/speaker/QUKSS3/"}, {"code": "CQEZY8", "name": "Brigitta Sip\u0151cz", "avatar": "https://cfp.scipy.org/media/avatars/CQEZY8_MTAOhIY.webp", "biography": "I am an astronomer turned Research Software Engineer. I work at Caltech/IPAC to build and improve tools, e.g. Python libraries and Science Platforms to provide ways to access data in the NASA/IPAC Infrared Science Archive. Prior to joining IPAC, I was DiRAC Fellow in the data engineering team at the Institute for Data Intensive Research in Astrophysics and Cosmology in Seattle. I am a developer and maintainer of several open-source astronomy libraries and their infrastructure (e.g. astroML, astroquery, astropy) and I very much enjoy contributing to upstream projects as well in the wider Scientific Python ecosystem. I have a keen interest in finding ways to make tools more sustainable. I am a fellow of the Software Sustainability Institute.", "public_name": "Brigitta Sip\u0151cz", "guid": "573235c9-590f-58f3-8091-8be0ec90e968", "url": "https://cfp.scipy.org/2023/speaker/CQEZY8/"}, {"code": "W9B3CQ", "name": "Madicken", "avatar": null, "biography": null, "public_name": "Madicken", "guid": "bbc87003-c900-5457-bb28-86ab3dc64151", "url": "https://cfp.scipy.org/2023/speaker/W9B3CQ/"}, {"code": "R7PFJV", "name": "Matt Davis", "avatar": "https://cfp.scipy.org/media/avatars/R7PFJV_0YYgdPt.webp", "biography": "Matt has been using Python to work with data in science and at startups since 2008, after getting degrees in Astronomy and Aerospace Engineering. He maintains some moderately popular open-source Python libraries, including SnakeViz and Palettable. Today Matt is the lead software engineer at Populus, a startup helping city governments manage various aspects of transportation.", "public_name": "Matt Davis", "guid": "3c8ed029-f409-51c2-b4b1-93ced25e241f", "url": "https://cfp.scipy.org/2023/speaker/R7PFJV/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/JXWQPG/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/JXWQPG/", "attachments": []}, {"guid": "2ed4d939-1832-5c3e-9b28-94741ba6015b", "code": "XNVLQA", "id": 75992, "logo": null, "date": "2023-07-14T17:45:00-05:00", "start": "17:45", "duration": "00:55", "room": "Classroom 103", "slug": "2023-75992-bof-room-103-cpython-performance", "url": "https://cfp.scipy.org/2023/talk/XNVLQA/", "title": "[BoF Room 103] CPython performance", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "Discuss the effects of recent and potential performance improvements on the scientific Python packages. The goal is to discuss the cost/benefit tradeoffs of adapting existing libraries to take advantage of potential improvements, especially per-interpreter GIL and nogil, but also type specializations in the interpreter.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "PYATZM", "name": "Michael Droettboom", "avatar": "https://cfp.scipy.org/media/avatars/PYATZM_U4nKD9V.webp", "biography": null, "public_name": "Michael Droettboom", "guid": "61dd823e-a667-5aa8-b7a5-fe0f554f46f8", "url": "https://cfp.scipy.org/2023/speaker/PYATZM/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/XNVLQA/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/XNVLQA/", "attachments": []}], "Classroom 104": [{"guid": "de1a8eac-38ea-5f31-9b16-2a63c329418c", "code": "VA7ENC", "id": 76311, "logo": null, "date": "2023-07-14T16:40:00-05:00", "start": "16:40", "duration": "00:55", "room": "Classroom 104", "slug": "2023-76311-bof-room-104-future-of-python-programming-language-in-the-artificial-intelligence-era", "url": "https://cfp.scipy.org/2023/talk/VA7ENC/", "title": "[BoF Room 104] Future of Python Programming Language in the Artificial Intelligence Era", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "Here the aim of the panel would be to throw light on role code assistants like Co-Pilot and tools like ChatGPT and how they revolutionize coding careers. Also, provide insights that help young and budding programmers to prepare themselves for futuristic careers. Also, try to find answers to some hypothetical questions like can AI replace human programmers? Can it add or suggest new features to the language itself? and problems people may face while developing enterprise-grade applications with AI.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "CPJQQS", "name": "Gajendra Deshpande", "avatar": "https://cfp.scipy.org/media/avatars/CPJQQS_Dy3rZGa.webp", "biography": "I am Gajendra Deshpande and I am using Python since 2013 for academic research and development activities. I develop prototypes and applications in Natural Language Processing, Machine Learning, Cyber Security, and Web applications using Python and its ecosystem. I am working as a faculty of Computer Science and run a start-up in cyber security. I am an active member of the PyCon India community and served as program committee lead for PyCon India 2021. I have presented approximately 80 talks, 20 Workshops, and 15 posters across the globe at prestigious conferences like PyData Global, PyCon APAC, PyCon AU, EuroPython, DjangoCon US and Europe, SciPy India, SciPy USA, PyCon USA, JuliaCon, FOSDEM, and several other Python and FOSS conferences. I have helped Python and FOSS Conferences by reviewing the talk and tutorial proposals, mentoring first-time speakers, participating in the discussions, and organizing the events.", "public_name": "Gajendra Deshpande", "guid": "0d358e73-8238-518c-80eb-7a0abc4a6790", "url": "https://cfp.scipy.org/2023/speaker/CPJQQS/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/VA7ENC/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/VA7ENC/", "attachments": []}, {"guid": "26d38831-fc71-583b-b571-ad91eb99e2d0", "code": "LGZUNG", "id": 76343, "logo": null, "date": "2023-07-14T17:45:00-05:00", "start": "17:45", "duration": "00:55", "room": "Classroom 104", "slug": "2023-76343-bof-room-104-beyond-notebooks-from-reproducible-to-reusable-research", "url": "https://cfp.scipy.org/2023/talk/LGZUNG/", "title": "[BoF Room 104] Beyond Notebooks: From reproducible to reusable research", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "\"Notebooks can be a powerful tool for the purposes for which they were designed\u2014learning, experimenting, and sharing results. However, users face many challenges when trying to achieve true reproducbility with notebooks alone, including lack of dependency management, pitfalls of non-linear interactive execution, and requiring bespoke tooling to open and execute. Furthermore, there is a growing need to go beyond reprodubility of individual results\u2014siloed into an opaque format possessing limited interoperability with the rest of the Python ecosystem\u2014toward reusuability of research methods, that can be shared, built upon, and deployed by users across the world. \r\n\r\nTherefore, we invite the community to share their tools and workflows to go beyond reproducibility and towards true reusable science, built on the shoulders of giants. Furthermore, we hope to explore how we can encourage users and the community to move beyond the notebooks monoculture and toward a holistic, open, modular and interoperable approaches to conducting research and developing scientific code.\"", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "YEEB8R", "name": "C.A.M. Gerlach", "avatar": "https://cfp.scipy.org/media/avatars/YEEB8R_Xy708AT.webp", "biography": null, "public_name": "C.A.M. Gerlach", "guid": "223a4e06-8d02-5dd2-bc49-cf3463c93288", "url": "https://cfp.scipy.org/2023/speaker/YEEB8R/"}, {"code": "SE7SNC", "name": "Juanita Gomez", "avatar": "https://cfp.scipy.org/media/avatars/SE7SNC_K4Q7qY0.webp", "biography": "Juanita Gomez is passionate programmer, mathematician and open source advocate; former developer of Spyder IDE at Quansight. She has a BS in Pure Mathematics from Pontificia Universidad Javeriana in Colombia and is currently pursuing a Ph.D position in Computer Science at UC Santa Cruz. She is a community manager for the Scientific Python project, a community effort to better coordinate and support scientific Python libraries.", "public_name": "Juanita Gomez", "guid": "0391b08c-6c69-57f1-9615-d858bbefda8d", "url": "https://cfp.scipy.org/2023/speaker/SE7SNC/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/LGZUNG/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/LGZUNG/", "attachments": []}], "Classroom 105": [{"guid": "c78e682a-afdc-5c98-9c21-9fc4e8cde459", "code": "LTDRGY", "id": 75937, "logo": null, "date": "2023-07-14T16:40:00-05:00", "start": "16:40", "duration": "00:55", "room": "Classroom 105", "slug": "2023-75937-bof-room-105-open-source-project-code-of-conduct-management-and-dei-support", "url": "https://cfp.scipy.org/2023/talk/LTDRGY/", "title": "[BoF Room 105] Open Source Project Code of Conduct Management and DEI Support", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "NumFOCUS will facilitate a discussion around open source projects managing a robust Code of Conduct as well as ongoing DEI support", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "AHQBCP", "name": "Noa Tamir", "avatar": "https://cfp.scipy.org/media/avatars/AHQBCP_tg8LPHM.webp", "biography": "Noa have been involved with the R and PyData communities for some time, with a focus on community building and DEI. They are a  member of the NumFOCUS Board of Directors and DISC committee, PyLadies Organizer, and chaired the PyData Berlin 2022 conference. In addition, they are a Lead Data Science Coach at neue fische, contributing to pandas, and are currently developing the Contributor Experience Community and Handbook with Inessa Pawson and Melissa Mendon\u00e7a.", "public_name": "Noa Tamir", "guid": "d8fc1ca0-ecaf-5b34-8a9f-cc4fd2bf0255", "url": "https://cfp.scipy.org/2023/speaker/AHQBCP/"}, {"code": "MXXZST", "name": "Leah Silen", "avatar": null, "biography": "Leah is the Executive Director of NumFOCUS", "public_name": "Leah Silen", "guid": "dabb3d62-7324-518a-92de-f4c97bf53e98", "url": "https://cfp.scipy.org/2023/speaker/MXXZST/"}, {"code": "XNBC37", "name": "Inessa Pawson", "avatar": "https://cfp.scipy.org/media/avatars/XNBC37_laSerAs.webp", "biography": "Inessa is building bridges between people, open science, and open source software, advocating for diversification of contribution pathways to open source and supporting its social infrastructure. Passionate about the transformative power of collaboration out in the open, she has been organizing the Maintainers Summit at PyCon US since 2020 to foster best practices on how to maintain and develop sustainable open source projects and thriving communities. In her current role as NumPy Contributor Experience Lead, Inessa\u2019s primary focus is on onboarding and supporting contributors, addressing gaps in the project governance, and developing programs to diversify pathways of contribution to the project.", "public_name": "Inessa Pawson", "guid": "3cf11cc7-eff6-5e43-b3fc-616c2bfd13ad", "url": "https://cfp.scipy.org/2023/speaker/XNBC37/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/LTDRGY/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/LTDRGY/", "attachments": []}, {"guid": "b2f3de17-5205-5bcc-b1f4-5ef639a48fb1", "code": "9H9KFM", "id": 76337, "logo": null, "date": "2023-07-14T17:45:00-05:00", "start": "17:45", "duration": "00:55", "room": "Classroom 105", "slug": "2023-76337-bof-room-105-scipy-2024", "url": "https://cfp.scipy.org/2023/talk/9H9KFM/", "title": "[BoF Room 105] SciPy 2024", "subtitle": "", "track": "Birds of a Feather (BoF)", "type": "Talk", "language": "en", "abstract": "Feedback on SciPy 2023 and ideas for SciPy 2024", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "CVELZ7", "name": "SciPy 2023 Committee", "avatar": null, "biography": null, "public_name": "SciPy 2023 Committee", "guid": "acb4d01a-3c09-5dc2-b21a-479de2c251f8", "url": "https://cfp.scipy.org/2023/speaker/CVELZ7/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/9H9KFM/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/9H9KFM/", "attachments": []}]}}, {"index": 6, "date": "2023-07-15", "day_start": "2023-07-15T04:00:00-05:00", "day_end": "2023-07-16T03:59:00-05:00", "rooms": {"Amphitheater 204": [{"guid": "9afb9fc5-cad7-5956-a2f5-8c7bffa7c33e", "code": "NMNJYF", "id": 76169, "logo": null, "date": "2023-07-15T09:00:00-05:00", "start": "09:00", "duration": "01:00", "room": "Amphitheater 204", "slug": "2023-76169-open-source-sprints-kickoff-in-room-204", "url": "https://cfp.scipy.org/2023/talk/NMNJYF/", "title": "Open Source Sprints [Kickoff in Room 204]", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Everyone will meet in Room 204 and organize before breaking out for the remainder of the day. \r\n\r\nEvery year, our community dedicates the last 2 days of the SciPy conference to Sprints, where we work together on open-source projects to push our ecosystem forward.\r\n\r\nSprints are an informal part of the conference, where all are welcome to exchange ideas, hack on exciting projects, and create lasting connections.  All programming levels are welcome at the sprints.\r\n\r\nJoin us for the preparatory Sprint BoF as well on Friday at 4:40 in Room 103 - https://cfp.scipy.org/2023/talk/JXWQPG/\r\n\r\nInterested in leading a sprint at SciPy 2022? Sign up at https://www.scipy2023.scipy.org/sprints", "description": "Sprints FAQs\r\nWhat will you do as an attendee?\r\n\r\nThere are a variety of ways to contribute during the sprints session including testing code, fixing bugs, adding new features, and improving documentation. You could also contribute to an entirely brand new project that our ecosystem is missing. One of the best parts about the sprints is that you might also have the opportunity to work with authors and core contributors of your favorite open source packages, as well as, the opportunity to work alongside other developers who are just as excited as you are to make the SciPy community even better. \r\n\r\nWhat are the benefits of attending a sprint?\r\n\r\nMake open source Python better! Code alongside package authors/contributors, while learning from them. Become a power user of a core package by gaining a deeper understanding of its inner workings. Improve your github profile. Get to know other SciPy community members at the Sprints dinner.\r\n\r\nCan I participate?\r\n\r\nYes! Sprints are free and open to everyone no matter what your programming level of experience.  Sprints are a great way to add your contribution to your favorite Python libraries and packages. Thanks to the generosity of our sponsors, sprints are free of charge for all participants, including the Sprints dinner on Saturday evening.\r\n\r\nIf you aren't sure about how you can contribute to a project, it's not a problem. We'll get you up to speed at the How to Contribute to Open Source BoF on Friday and we have helpers at the beginner friendly sprints.", "recording_license": "", "do_not_record": false, "persons": [{"code": "M9T83C", "name": "Dr. Tania Allard", "avatar": "https://cfp.scipy.org/media/avatars/M9T83C_p3EazfN.webp", "biography": null, "public_name": "Dr. Tania Allard", "guid": "f9849d9c-b12c-5e6d-b79d-fbc257982a5c", "url": "https://cfp.scipy.org/2023/speaker/M9T83C/"}, {"code": "CQEZY8", "name": "Brigitta Sip\u0151cz", "avatar": "https://cfp.scipy.org/media/avatars/CQEZY8_MTAOhIY.webp", "biography": "I am an astronomer turned Research Software Engineer. I work at Caltech/IPAC to build and improve tools, e.g. Python libraries and Science Platforms to provide ways to access data in the NASA/IPAC Infrared Science Archive. Prior to joining IPAC, I was DiRAC Fellow in the data engineering team at the Institute for Data Intensive Research in Astrophysics and Cosmology in Seattle. I am a developer and maintainer of several open-source astronomy libraries and their infrastructure (e.g. astroML, astroquery, astropy) and I very much enjoy contributing to upstream projects as well in the wider Scientific Python ecosystem. I have a keen interest in finding ways to make tools more sustainable. I am a fellow of the Software Sustainability Institute.", "public_name": "Brigitta Sip\u0151cz", "guid": "573235c9-590f-58f3-8091-8be0ec90e968", "url": "https://cfp.scipy.org/2023/speaker/CQEZY8/"}, {"code": "F8FS8L", "name": "Alan Braz", "avatar": "https://cfp.scipy.org/media/avatars/F8FS8L_Z4Lm9ku.webp", "biography": null, "public_name": "Alan Braz", "guid": "e65dcae5-280f-56f2-8d6d-7ee8dd795bbd", "url": "https://cfp.scipy.org/2023/speaker/F8FS8L/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/NMNJYF/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/NMNJYF/", "attachments": []}]}}, {"index": 7, "date": "2023-07-16", "day_start": "2023-07-16T04:00:00-05:00", "day_end": "2023-07-17T03:59:00-05:00", "rooms": {"Amphitheater 204": [{"guid": "f39068a8-cbaa-52e2-9a0a-01d837e8fa00", "code": "WTNHTR", "id": 76206, "logo": null, "date": "2023-07-16T09:00:00-05:00", "start": "09:00", "duration": "01:00", "room": "Amphitheater 204", "slug": "2023-76206-open-source-sprints-kickoff-in-room-204", "url": "https://cfp.scipy.org/2023/talk/WTNHTR/", "title": "Open Source Sprints [Kickoff in Room 204]", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Everyone will meet in Room 204 and organize before breaking out for the remainder of the day. \r\n\r\nEvery year, our community dedicates the last 2 days of the SciPy conference to Sprints, where we work together on open-source projects to push our ecosystem forward.\r\n\r\nSprints are an informal part of the conference, where all are welcome to exchange ideas, hack on exciting projects, and create lasting connections.  All programming levels are welcome at the sprints.\r\n\r\nJoin us for the preparatory Sprint BoF as well on Friday at 4:40 in Room 103 - https://cfp.scipy.org/2023/talk/JXWQPG/\r\n\r\nInterested in leading a sprint at SciPy 2022? Sign up at https://www.scipy2023.scipy.org/sprints", "description": "Sprints FAQs\r\nWhat will you do as an attendee?\r\n\r\nThere are a variety of ways to contribute during the sprints session including testing code, fixing bugs, adding new features, and improving documentation. You could also contribute to an entirely brand new project that our ecosystem is missing. One of the best parts about the sprints is that you might also have the opportunity to work with authors and core contributors of your favorite open source packages, as well as, the opportunity to work alongside other developers who are just as excited as you are to make the SciPy community even better. \r\n\r\nWhat are the benefits of attending a sprint?\r\n\r\nMake open source Python better! Code alongside package authors/contributors, while learning from them. Become a power user of a core package by gaining a deeper understanding of its inner workings. Improve your github profile. Get to know other SciPy community members at the Sprints dinner.\r\n\r\nCan I participate?\r\n\r\nYes! Sprints are free and open to everyone no matter what your programming level of experience.  Sprints are a great way to add your contribution to your favorite Python libraries and packages. Thanks to the generosity of our sponsors, sprints are free of charge for all participants, including the Sprints dinner on Saturday evening.\r\n\r\nIf you aren't sure about how you can contribute to a project, it's not a problem. We'll get you up to speed at the How to Contribute to Open Source BoF on Friday and we have helpers at the beginner friendly sprints.", "recording_license": "", "do_not_record": false, "persons": [{"code": "M9T83C", "name": "Dr. Tania Allard", "avatar": "https://cfp.scipy.org/media/avatars/M9T83C_p3EazfN.webp", "biography": null, "public_name": "Dr. Tania Allard", "guid": "f9849d9c-b12c-5e6d-b79d-fbc257982a5c", "url": "https://cfp.scipy.org/2023/speaker/M9T83C/"}, {"code": "CQEZY8", "name": "Brigitta Sip\u0151cz", "avatar": "https://cfp.scipy.org/media/avatars/CQEZY8_MTAOhIY.webp", "biography": "I am an astronomer turned Research Software Engineer. I work at Caltech/IPAC to build and improve tools, e.g. Python libraries and Science Platforms to provide ways to access data in the NASA/IPAC Infrared Science Archive. Prior to joining IPAC, I was DiRAC Fellow in the data engineering team at the Institute for Data Intensive Research in Astrophysics and Cosmology in Seattle. I am a developer and maintainer of several open-source astronomy libraries and their infrastructure (e.g. astroML, astroquery, astropy) and I very much enjoy contributing to upstream projects as well in the wider Scientific Python ecosystem. I have a keen interest in finding ways to make tools more sustainable. I am a fellow of the Software Sustainability Institute.", "public_name": "Brigitta Sip\u0151cz", "guid": "573235c9-590f-58f3-8091-8be0ec90e968", "url": "https://cfp.scipy.org/2023/speaker/CQEZY8/"}, {"code": "F8FS8L", "name": "Alan Braz", "avatar": "https://cfp.scipy.org/media/avatars/F8FS8L_Z4Lm9ku.webp", "biography": null, "public_name": "Alan Braz", "guid": "e65dcae5-280f-56f2-8d6d-7ee8dd795bbd", "url": "https://cfp.scipy.org/2023/speaker/F8FS8L/"}], "links": [], "feedback_url": "https://cfp.scipy.org/2023/talk/WTNHTR/feedback/", "origin_url": "https://cfp.scipy.org/2023/talk/WTNHTR/", "attachments": []}]}}, {"index": 8, "date": "2023-07-17", "day_start": "2023-07-17T04:00:00-05:00", "day_end": "2023-07-18T03:59:00-05:00", "rooms": {}}, {"index": 9, "date": "2023-07-18", "day_start": "2023-07-18T04:00:00-05:00", "day_end": "2023-07-19T03:59:00-05:00", "rooms": {}}, {"index": 10, "date": "2023-07-19", "day_start": "2023-07-19T04:00:00-05:00", "day_end": "2023-07-20T03:59:00-05:00", "rooms": {}}, {"index": 11, "date": "2023-07-20", "day_start": "2023-07-20T04:00:00-05:00", "day_end": "2023-07-21T03:59:00-05:00", "rooms": {}}, {"index": 12, "date": "2023-07-21", "day_start": "2023-07-21T04:00:00-05:00", "day_end": "2023-07-22T03:59:00-05:00", "rooms": {}}, {"index": 13, "date": "2023-07-22", "day_start": "2023-07-22T04:00:00-05:00", "day_end": "2023-07-23T03:59:00-05:00", "rooms": {}}, {"index": 14, "date": "2023-07-23", "day_start": "2023-07-23T04:00:00-05:00", "day_end": "2023-07-24T03:59:00-05:00", "rooms": {}}, {"index": 15, "date": "2023-07-24", "day_start": "2023-07-24T04:00:00-05:00", "day_end": "2023-07-25T03:59:00-05:00", "rooms": {}}, {"index": 16, "date": "2023-07-25", "day_start": "2023-07-25T04:00:00-05:00", "day_end": "2023-07-26T03:59:00-05:00", "rooms": {}}, {"index": 17, "date": "2023-07-26", "day_start": "2023-07-26T04:00:00-05:00", "day_end": "2023-07-27T03:59:00-05:00", "rooms": {}}, {"index": 18, "date": "2023-07-27", "day_start": "2023-07-27T04:00:00-05:00", "day_end": "2023-07-28T03:59:00-05:00", "rooms": {}}, {"index": 19, "date": "2023-07-28", "day_start": "2023-07-28T04:00:00-05:00", "day_end": "2023-07-29T03:59:00-05:00", "rooms": {}}, {"index": 20, "date": "2023-07-29", "day_start": "2023-07-29T04:00:00-05:00", "day_end": "2023-07-30T03:59:00-05:00", "rooms": {}}, {"index": 21, "date": "2023-07-30", "day_start": "2023-07-30T04:00:00-05:00", "day_end": "2023-07-31T03:59:00-05:00", "rooms": {}}, {"index": 22, "date": "2023-07-31", "day_start": "2023-07-31T04:00:00-05:00", "day_end": "2023-08-01T03:59:00-05:00", "rooms": {}}, {"index": 23, "date": "2023-08-01", "day_start": "2023-08-01T04:00:00-05:00", "day_end": "2023-08-02T03:59:00-05:00", "rooms": {}}, {"index": 24, "date": "2023-08-02", "day_start": "2023-08-02T04:00:00-05:00", "day_end": "2023-08-03T03:59:00-05:00", "rooms": {}}, {"index": 25, "date": "2023-08-03", "day_start": "2023-08-03T04:00:00-05:00", "day_end": "2023-08-04T03:59:00-05:00", "rooms": {}}, {"index": 26, "date": "2023-08-04", "day_start": "2023-08-04T04:00:00-05:00", "day_end": "2023-08-05T03:59:00-05:00", "rooms": {}}, {"index": 27, "date": "2023-08-05", "day_start": "2023-08-05T04:00:00-05:00", "day_end": "2023-08-06T03:59:00-05:00", "rooms": {}}, {"index": 28, "date": "2023-08-06", "day_start": "2023-08-06T04:00:00-05:00", "day_end": "2023-08-07T03:59:00-05:00", "rooms": {}}, {"index": 29, "date": "2023-08-07", "day_start": "2023-08-07T04:00:00-05:00", "day_end": "2023-08-08T03:59:00-05:00", "rooms": {}}, {"index": 30, "date": "2023-08-08", "day_start": "2023-08-08T04:00:00-05:00", "day_end": "2023-08-09T03:59:00-05:00", "rooms": {}}, {"index": 31, "date": "2023-08-09", "day_start": "2023-08-09T04:00:00-05:00", "day_end": "2023-08-10T03:59:00-05:00", "rooms": {}}, {"index": 32, "date": "2023-08-10", "day_start": "2023-08-10T04:00:00-05:00", "day_end": "2023-08-11T03:59:00-05:00", "rooms": {}}, {"index": 33, "date": "2023-08-11", "day_start": "2023-08-11T04:00:00-05:00", "day_end": "2023-08-12T03:59:00-05:00", "rooms": {}}, {"index": 34, "date": "2023-08-12", "day_start": "2023-08-12T04:00:00-05:00", "day_end": "2023-08-13T03:59:00-05:00", "rooms": {}}, {"index": 35, "date": "2023-08-13", "day_start": "2023-08-13T04:00:00-05:00", "day_end": "2023-08-14T03:59:00-05:00", "rooms": {}}, {"index": 36, "date": "2023-08-14", "day_start": "2023-08-14T04:00:00-05:00", "day_end": "2023-08-15T03:59:00-05:00", "rooms": {}}, {"index": 37, "date": "2023-08-15", "day_start": "2023-08-15T04:00:00-05:00", "day_end": "2023-08-16T03:59:00-05:00", "rooms": {}}, {"index": 38, "date": "2023-08-16", "day_start": "2023-08-16T04:00:00-05:00", "day_end": "2023-08-17T03:59:00-05:00", "rooms": {}}, {"index": 39, "date": "2023-08-17", "day_start": "2023-08-17T04:00:00-05:00", "day_end": "2023-08-18T03:59:00-05:00", "rooms": {}}, {"index": 40, "date": "2023-08-18", "day_start": "2023-08-18T04:00:00-05:00", "day_end": "2023-08-19T03:59:00-05:00", "rooms": {}}, {"index": 41, "date": "2023-08-19", "day_start": "2023-08-19T04:00:00-05:00", "day_end": "2023-08-20T03:59:00-05:00", "rooms": {}}, {"index": 42, "date": "2023-08-20", "day_start": "2023-08-20T04:00:00-05:00", "day_end": "2023-08-21T03:59:00-05:00", "rooms": {}}, {"index": 43, "date": "2023-08-21", "day_start": "2023-08-21T04:00:00-05:00", "day_end": "2023-08-22T03:59:00-05:00", "rooms": {}}, {"index": 44, "date": "2023-08-22", "day_start": "2023-08-22T04:00:00-05:00", "day_end": "2023-08-23T03:59:00-05:00", "rooms": {}}, {"index": 45, "date": "2023-08-23", "day_start": "2023-08-23T04:00:00-05:00", "day_end": "2023-08-24T03:59:00-05:00", "rooms": {}}, {"index": 46, "date": "2023-08-24", "day_start": "2023-08-24T04:00:00-05:00", "day_end": "2023-08-25T03:59:00-05:00", "rooms": {}}, {"index": 47, "date": "2023-08-25", "day_start": "2023-08-25T04:00:00-05:00", "day_end": "2023-08-26T03:59:00-05:00", "rooms": {}}, {"index": 48, "date": "2023-08-26", "day_start": "2023-08-26T04:00:00-05:00", "day_end": "2023-08-27T03:59:00-05:00", "rooms": {}}, {"index": 49, "date": "2023-08-27", "day_start": "2023-08-27T04:00:00-05:00", "day_end": "2023-08-28T03:59:00-05:00", "rooms": {}}, {"index": 50, "date": "2023-08-28", "day_start": "2023-08-28T04:00:00-05:00", "day_end": "2023-08-29T03:59:00-05:00", "rooms": {}}, {"index": 51, "date": "2023-08-29", "day_start": "2023-08-29T04:00:00-05:00", "day_end": "2023-08-30T03:59:00-05:00", "rooms": {}}, {"index": 52, "date": "2023-08-30", "day_start": "2023-08-30T04:00:00-05:00", "day_end": "2023-08-31T03:59:00-05:00", "rooms": {}}, {"index": 53, "date": "2023-08-31", "day_start": "2023-08-31T04:00:00-05:00", "day_end": "2023-09-01T03:59:00-05:00", "rooms": {}}, {"index": 54, "date": "2023-09-01", "day_start": "2023-09-01T04:00:00-05:00", "day_end": "2023-09-02T03:59:00-05:00", "rooms": {}}, {"index": 55, "date": "2023-09-02", "day_start": "2023-09-02T04:00:00-05:00", "day_end": "2023-09-03T03:59:00-05:00", "rooms": {}}, {"index": 56, "date": "2023-09-03", "day_start": "2023-09-03T04:00:00-05:00", "day_end": "2023-09-04T03:59:00-05:00", "rooms": {}}, {"index": 57, "date": "2023-09-04", "day_start": "2023-09-04T04:00:00-05:00", "day_end": "2023-09-05T03:59:00-05:00", "rooms": {}}, {"index": 58, "date": "2023-09-05", "day_start": "2023-09-05T04:00:00-05:00", "day_end": "2023-09-06T03:59:00-05:00", "rooms": {}}, {"index": 59, "date": "2023-09-06", "day_start": "2023-09-06T04:00:00-05:00", "day_end": "2023-09-07T03:59:00-05:00", "rooms": {}}, {"index": 60, "date": "2023-09-07", "day_start": "2023-09-07T04:00:00-05:00", "day_end": "2023-09-08T03:59:00-05:00", "rooms": {}}, {"index": 61, "date": "2023-09-08", "day_start": "2023-09-08T04:00:00-05:00", "day_end": "2023-09-09T03:59:00-05:00", "rooms": {}}, {"index": 62, "date": "2023-09-09", "day_start": "2023-09-09T04:00:00-05:00", "day_end": "2023-09-10T03:59:00-05:00", "rooms": {}}, {"index": 63, "date": "2023-09-10", "day_start": "2023-09-10T04:00:00-05:00", "day_end": "2023-09-11T03:59:00-05:00", "rooms": {}}, {"index": 64, "date": "2023-09-11", "day_start": "2023-09-11T04:00:00-05:00", "day_end": "2023-09-12T03:59:00-05:00", "rooms": {}}, {"index": 65, "date": "2023-09-12", "day_start": "2023-09-12T04:00:00-05:00", "day_end": "2023-09-13T03:59:00-05:00", "rooms": {}}, {"index": 66, "date": "2023-09-13", "day_start": "2023-09-13T04:00:00-05:00", "day_end": "2023-09-14T03:59:00-05:00", "rooms": {}}, {"index": 67, "date": "2023-09-14", "day_start": "2023-09-14T04:00:00-05:00", "day_end": "2023-09-15T03:59:00-05:00", "rooms": {}}, {"index": 68, "date": "2023-09-15", "day_start": "2023-09-15T04:00:00-05:00", "day_end": "2023-09-16T03:59:00-05:00", "rooms": {}}, {"index": 69, "date": "2023-09-16", "day_start": "2023-09-16T04:00:00-05:00", "day_end": "2023-09-17T03:59:00-05:00", "rooms": {}}, {"index": 70, "date": "2023-09-17", "day_start": "2023-09-17T04:00:00-05:00", "day_end": "2023-09-18T03:59:00-05:00", "rooms": {}}, {"index": 71, "date": "2023-09-18", "day_start": "2023-09-18T04:00:00-05:00", "day_end": "2023-09-19T03:59:00-05:00", "rooms": {}}, {"index": 72, "date": "2023-09-19", "day_start": "2023-09-19T04:00:00-05:00", "day_end": "2023-09-20T03:59:00-05:00", "rooms": {}}, {"index": 73, "date": "2023-09-20", "day_start": "2023-09-20T04:00:00-05:00", "day_end": "2023-09-21T03:59:00-05:00", "rooms": {}}, {"index": 74, "date": "2023-09-21", "day_start": "2023-09-21T04:00:00-05:00", "day_end": "2023-09-22T03:59:00-05:00", "rooms": {}}, {"index": 75, "date": "2023-09-22", "day_start": "2023-09-22T04:00:00-05:00", "day_end": "2023-09-23T03:59:00-05:00", "rooms": {}}, {"index": 76, "date": "2023-09-23", "day_start": "2023-09-23T04:00:00-05:00", "day_end": "2023-09-24T03:59:00-05:00", "rooms": {}}, {"index": 77, "date": "2023-09-24", "day_start": "2023-09-24T04:00:00-05:00", "day_end": "2023-09-25T03:59:00-05:00", "rooms": {}}, {"index": 78, "date": "2023-09-25", "day_start": "2023-09-25T04:00:00-05:00", "day_end": "2023-09-26T03:59:00-05:00", "rooms": {}}, {"index": 79, "date": "2023-09-26", "day_start": "2023-09-26T04:00:00-05:00", "day_end": "2023-09-27T03:59:00-05:00", "rooms": {}}, {"index": 80, "date": "2023-09-27", "day_start": "2023-09-27T04:00:00-05:00", "day_end": "2023-09-28T03:59:00-05:00", "rooms": {}}, {"index": 81, "date": "2023-09-28", "day_start": "2023-09-28T04:00:00-05:00", "day_end": "2023-09-29T03:59:00-05:00", "rooms": {}}, {"index": 82, "date": "2023-09-29", "day_start": "2023-09-29T04:00:00-05:00", "day_end": "2023-09-30T03:59:00-05:00", "rooms": {}}, {"index": 83, "date": "2023-09-30", "day_start": "2023-09-30T04:00:00-05:00", "day_end": "2023-10-01T03:59:00-05:00", "rooms": {}}, {"index": 84, "date": "2023-10-01", "day_start": "2023-10-01T04:00:00-05:00", "day_end": "2023-10-02T03:59:00-05:00", "rooms": {}}, {"index": 85, "date": "2023-10-02", "day_start": "2023-10-02T04:00:00-05:00", "day_end": "2023-10-03T03:59:00-05:00", "rooms": {}}, {"index": 86, "date": "2023-10-03", "day_start": "2023-10-03T04:00:00-05:00", "day_end": "2023-10-04T03:59:00-05:00", "rooms": {}}, {"index": 87, "date": "2023-10-04", "day_start": "2023-10-04T04:00:00-05:00", "day_end": "2023-10-05T03:59:00-05:00", "rooms": {}}, {"index": 88, "date": "2023-10-05", "day_start": "2023-10-05T04:00:00-05:00", "day_end": "2023-10-06T03:59:00-05:00", "rooms": {}}, {"index": 89, "date": "2023-10-06", "day_start": "2023-10-06T04:00:00-05:00", "day_end": "2023-10-07T03:59:00-05:00", "rooms": {}}, {"index": 90, "date": "2023-10-07", "day_start": "2023-10-07T04:00:00-05:00", "day_end": "2023-10-08T03:59:00-05:00", "rooms": {}}, {"index": 91, "date": "2023-10-08", "day_start": "2023-10-08T04:00:00-05:00", "day_end": "2023-10-09T03:59:00-05:00", "rooms": {}}, {"index": 92, "date": "2023-10-09", "day_start": "2023-10-09T04:00:00-05:00", "day_end": "2023-10-10T03:59:00-05:00", "rooms": {}}, {"index": 93, "date": "2023-10-10", "day_start": "2023-10-10T04:00:00-05:00", "day_end": "2023-10-11T03:59:00-05:00", "rooms": {}}, {"index": 94, "date": "2023-10-11", "day_start": "2023-10-11T04:00:00-05:00", "day_end": "2023-10-12T03:59:00-05:00", "rooms": {}}, {"index": 95, "date": "2023-10-12", "day_start": "2023-10-12T04:00:00-05:00", "day_end": "2023-10-13T03:59:00-05:00", "rooms": {}}, {"index": 96, "date": "2023-10-13", "day_start": "2023-10-13T04:00:00-05:00", "day_end": "2023-10-14T03:59:00-05:00", "rooms": {}}, {"index": 97, "date": "2023-10-14", "day_start": "2023-10-14T04:00:00-05:00", "day_end": "2023-10-15T03:59:00-05:00", "rooms": {}}, {"index": 98, "date": "2023-10-15", "day_start": "2023-10-15T04:00:00-05:00", "day_end": "2023-10-16T03:59:00-05:00", "rooms": {}}, {"index": 99, "date": "2023-10-16", "day_start": "2023-10-16T04:00:00-05:00", "day_end": "2023-10-17T03:59:00-05:00", "rooms": {}}, {"index": 100, "date": "2023-10-17", "day_start": "2023-10-17T04:00:00-05:00", "day_end": "2023-10-18T03:59:00-05:00", "rooms": {}}, {"index": 101, "date": "2023-10-18", "day_start": "2023-10-18T04:00:00-05:00", "day_end": "2023-10-19T03:59:00-05:00", "rooms": {}}, {"index": 102, "date": "2023-10-19", "day_start": "2023-10-19T04:00:00-05:00", "day_end": "2023-10-20T03:59:00-05:00", "rooms": {}}, {"index": 103, "date": "2023-10-20", "day_start": "2023-10-20T04:00:00-05:00", "day_end": "2023-10-21T03:59:00-05:00", "rooms": {}}, {"index": 104, "date": "2023-10-21", "day_start": "2023-10-21T04:00:00-05:00", "day_end": "2023-10-22T03:59:00-05:00", "rooms": {}}, {"index": 105, "date": "2023-10-22", "day_start": "2023-10-22T04:00:00-05:00", "day_end": "2023-10-23T03:59:00-05:00", "rooms": {}}, {"index": 106, "date": "2023-10-23", "day_start": "2023-10-23T04:00:00-05:00", "day_end": "2023-10-24T03:59:00-05:00", "rooms": {}}, {"index": 107, "date": "2023-10-24", "day_start": "2023-10-24T04:00:00-05:00", "day_end": "2023-10-25T03:59:00-05:00", "rooms": {}}, {"index": 108, "date": "2023-10-25", "day_start": "2023-10-25T04:00:00-05:00", "day_end": "2023-10-26T03:59:00-05:00", "rooms": {}}, {"index": 109, "date": "2023-10-26", "day_start": "2023-10-26T04:00:00-05:00", "day_end": "2023-10-27T03:59:00-05:00", "rooms": {}}, {"index": 110, "date": "2023-10-27", "day_start": "2023-10-27T04:00:00-05:00", "day_end": "2023-10-28T03:59:00-05:00", "rooms": {}}, {"index": 111, "date": "2023-10-28", "day_start": "2023-10-28T04:00:00-05:00", "day_end": "2023-10-29T03:59:00-05:00", "rooms": {}}, {"index": 112, "date": "2023-10-29", "day_start": "2023-10-29T04:00:00-05:00", "day_end": "2023-10-30T03:59:00-05:00", "rooms": {}}, {"index": 113, "date": "2023-10-30", "day_start": "2023-10-30T04:00:00-05:00", "day_end": "2023-10-31T03:59:00-05:00", "rooms": {}}, {"index": 114, "date": "2023-10-31", "day_start": "2023-10-31T04:00:00-05:00", "day_end": "2023-11-01T03:59:00-05:00", "rooms": {}}, {"index": 115, "date": "2023-11-01", "day_start": "2023-11-01T04:00:00-05:00", "day_end": "2023-11-02T03:59:00-05:00", "rooms": {}}, {"index": 116, "date": "2023-11-02", "day_start": "2023-11-02T04:00:00-05:00", "day_end": "2023-11-03T03:59:00-05:00", "rooms": {}}, {"index": 117, "date": "2023-11-03", "day_start": "2023-11-03T04:00:00-05:00", "day_end": "2023-11-04T03:59:00-05:00", "rooms": {}}, {"index": 118, "date": "2023-11-04", "day_start": "2023-11-04T04:00:00-05:00", "day_end": "2023-11-05T03:59:00-06:00", "rooms": {}}, {"index": 119, "date": "2023-11-05", "day_start": "2023-11-05T04:00:00-06:00", "day_end": "2023-11-06T03:59:00-06:00", "rooms": {}}, {"index": 120, "date": "2023-11-06", "day_start": "2023-11-06T04:00:00-06:00", "day_end": "2023-11-07T03:59:00-06:00", "rooms": {}}, {"index": 121, "date": "2023-11-07", "day_start": "2023-11-07T04:00:00-06:00", "day_end": "2023-11-08T03:59:00-06:00", "rooms": {}}, {"index": 122, "date": "2023-11-08", "day_start": "2023-11-08T04:00:00-06:00", "day_end": "2023-11-09T03:59:00-06:00", "rooms": {}}, {"index": 123, "date": "2023-11-09", "day_start": "2023-11-09T04:00:00-06:00", "day_end": "2023-11-10T03:59:00-06:00", "rooms": {}}, {"index": 124, "date": "2023-11-10", "day_start": "2023-11-10T04:00:00-06:00", "day_end": "2023-11-11T03:59:00-06:00", "rooms": {}}]}}}