<?xml version='1.0' encoding='utf-8' ?>
<iCalendar xmlns:pentabarf='http://pentabarf.org' xmlns:xCal='urn:ietf:params:xml:ns:xcal'>
    <vcalendar>
        <version>2.0</version>
        <prodid>-//Pentabarf//Schedule//EN</prodid>
        <x-wr-caldesc></x-wr-caldesc>
        <x-wr-calname></x-wr-calname>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QZPFCF@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QZPFCF</pentabarf:event-slug>
            <pentabarf:title>Three Musketeers: Sherlock Holmes, Mathematics and Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231026T110000</dtstart>
            <dtend>20231026T140000</dtend>
            <duration>030000</duration>
            <summary>Three Musketeers: Sherlock Holmes, Mathematics and Python</summary>
            <description>Mathematics is a science and one of the most important discoveries of the human race on earth. Math is everywhere and around us. It is in nature, music, sports, economics, engineering, and so on. In our daily life, we use mathematics knowingly and unknowingly. Many of us are unaware that forensic experts use mathematics to solve crime mysteries. In this workshop, we will explore how Sherlock Holmes, the famous fictional detective character created by Sir Arthur Conan Doyle uses Mathematics and Python programming language to solve crime mysteries. In short, the workshop begins with an introduction to forensic mathematics and covers basic principles thereby setting the stage. Then, we will solve simple crime puzzles using mathematics and simple python scripts. Finally, we will solve a few complex hypothetical crime mysteries using advanced python concepts. The participants will learn how to use the concepts of mathematics such as statistics, probability, trigonometry, and graph theory, and python and its packages such as SciPy, NumPy, and Matplotlib to solve the crime puzzles.

Outline
1. Introduction to Forensic Mathematics and overview of basic concepts (15 Minutes)
- Numbers and their representation
- Units of Measurements
- Basic chemical calculations 
- Functions, Formulae and equations 
- Pythagoras Theorem 
- Trigonometric methods 
- Graphs 
- Statistics and probability

2. Problems
- Estimate the pressure of a shoe print on a soft ground (05 Minutes) 
- Calculate the uncertainty given the measurement of bullet diameter (05 Minutes) 
- Calculate the mean molar mass (10 Minutes)
- Calculate the percentage of concentrations (10 Minutes)

------BREAK -------- (05 Minutes)
- Compute bloodstain thickness (05 Minutes)
- Calculate terminal velocity for a fine blood droplet (05 Minutes)
- Calculate the persistence of gunshot residue particles in air (05 Minutes)
- Calculate the impact speed and estimate the drop height of blood droplet (05 Minutes)
- Post-mortem body cooling (05 minutes)
- Ricochet analysis and aspects of ballistics (10 Minutes)
- Suicide, Accident or murder? (05 Minutes)
- Blood stain pattern analysis (10 minutes)
- Persistence of hair, fibres, and flints on clothing (05 minutes)
----------BREAK----------- (05 Minutes)
- Determine the time since death (05 Minutes)
- Determine the age from bone or tooth material (05 Minutes)
- Matching of hair evidence (05 Minutes)
- Matching bite marks (05 Minutes)

3. Digital Forensics with Python (30 minutes) 

4. Advanced Problems
- Bicycle Problem (10 Minutes) 
- Detect the location of a serial killer (10 Minutes)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial Session</category>
            <url>https://pretalx.com/pyconapac2023/talk/QZPFCF/</url>
            <location>Tutorial 1</location>
            
            <attendee>Gajendra Deshpande</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YWEW9U@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YWEW9U</pentabarf:event-slug>
            <pentabarf:title>Network Analysis Made Simple (and fast!)</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231026T143000</dtstart>
            <dtend>20231026T173000</dtend>
            <duration>030000</duration>
            <summary>Network Analysis Made Simple (and fast!)</summary>
            <description>Have you ever wondered about how those data scientists at Facebook and LinkedIn make friend recommendations? Or how epidemiologists track down patient zero in an outbreak? If so, then this tutorial is for you. In this tutorial will cover the basic of network analysis, we will use a variety of datasets to help you understand the fundamentals of network thinking, with a particular focus on constructing, summarizing, and visualizing complex networks. We will also cover recent changes in NetworkX which enables users to dispatch their code to more efficient backends like GraphBLAS to speed up their code.

By the end of the tutorial, participants will have learned how to use network thinking to better understand relationship problems while analyzing data. They will also be comfortable using the NetworkX API to model their data.

Part 1: Introduction

- Networks of all kinds: biological, transportation, web.
- Representation of networks, NetworkX data structures
- Introduction to NetworkX API for modelling and graph operations.

Part 2: Hubs and Paths

- Finding important nodes; applications
- Pathfinding algorithms and their applications
- Hands-on: implementing path-finding algorithms
- Visualize degree and betweenness centrality distributions.

Part 3: Cliques, Triangles &amp; Structures

- Definition of cliques
- Triangles as the simplest complex clique, applications
- Using path-finding algorithms to find structures in a graph.
- Open triangles as recommender systems.

Part 4: Speed up your code with NetworkX dispatching

- Quick introduction to GraphBLAS
- Moving between GraphBLAS and NetworkX.
- Speed up your NetworkX code by changing one line of code!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial Session</category>
            <url>https://pretalx.com/pyconapac2023/talk/YWEW9U/</url>
            <location>Tutorial 1</location>
            
            <attendee>Mridul Seth</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>9RN8HD@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-9RN8HD</pentabarf:event-slug>
            <pentabarf:title>PyVistaによる3Dビジュアライゼーション</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231026T110000</dtstart>
            <dtend>20231026T140000</dtend>
            <duration>030000</duration>
            <summary>PyVistaによる3Dビジュアライゼーション</summary>
            <description>このチュートリアルでは、PyVistaの最新機能を紹介し、幅広いユーザーにPythonによる3Dビジュアライゼーションの最前線をお届けします。

- PyVistaを使って、一般的なフォーマットの様々なデータセットから3Dビジュアライゼーションを作成する。
- PyVistaのクラスとデータ構造を実例を交えて概説します。
- PyVistaのさまざまなフィルタと機能を理解する。
- PyVistaで使用され、使用できるPythonライブラリ（meshio、trimeshなど）を知っておく。

このチュートリアルは、Pythonの基本的なユーザーから上級のパワーユーザーまで、あらゆる分野のデータを可視化したいと考えるすべての人を対象にしています。</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial Session</category>
            <url>https://pretalx.com/pyconapac2023/talk/9RN8HD/</url>
            <location>Tutorial 2</location>
            
            <attendee>Tetsuo Koyama</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BUQRTT@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BUQRTT</pentabarf:event-slug>
            <pentabarf:title>Keynote - Why University Teachers Wrote a Python Textbook?</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T103000</dtstart>
            <dtend>20231027T113000</dtend>
            <duration>010000</duration>
            <summary>Keynote - Why University Teachers Wrote a Python Textbook?</summary>
            <description>As an elective course in the liberal arts and sciences program,
Kyoto University has held a Python programming course since 2018.
For this course, we developed a textbook in 2019, and continuously revised
it. We also made the 2019 and the 2021 editions open to the public
with the Creative Commons license CC-BY-NC-ND. We obtained various opinions
that they are good learning material, and
up to September 2023, we observed more than 1 million downloads.
In this talk, the speaker explains why we developed a textbook by
ourselves instead of using already published ones,
and points in the design of it considering self-learning by university
students
as a novice in programming, and to meet a course goal that the learner
can design, code, and test small Python programs by themselves.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/BUQRTT/</url>
            <location>track 1</location>
            
            <attendee>Hajime Kita</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YAW3KH@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YAW3KH</pentabarf:event-slug>
            <pentabarf:title>Reproduce Evangelion Timer on browsers using PyScript</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T114000</dtstart>
            <dtend>20231027T121000</dtend>
            <duration>003000</duration>
            <summary>Reproduce Evangelion Timer on browsers using PyScript</summary>
            <description>We will cover:
- the appreciation of the Evangelion countdown timer design (the fonts, the colours and the design has changed over the course of time)
- how to reproduce the graphical elements using SVG 
- how to use PyScript to interact with DOM and SVG
- how to use CSS to format and animate the GUI components
- lessons learnt related to PyScript
- to good and the bad in using PyScript as oppose to Javascript
- You can(not) do this in Python!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/YAW3KH/</url>
            <location>track 1</location>
            
            <attendee>Scotty Kwok</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YTGKPT@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YTGKPT</pentabarf:event-slug>
            <pentabarf:title>Streamlit meets WebAssembly - stlite</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T134000</dtstart>
            <dtend>20231027T141000</dtend>
            <duration>003000</duration>
            <summary>Streamlit meets WebAssembly - stlite</summary>
            <description>[Streamlit](https://streamlit.io/) is a popular framework for interactive web-based data apps in Python. However, there are some cases where users want to run their apps offline or without sending sensitive data to remote servers. To address these concerns, we introduce &#x27;[stlite](https://github.com/whitphx/stlite)&#x27;: a WebAssembly port of Streamlit. It provides offline capability, data privacy, scalability, and multi-platform portability including desktop app packaging, while preserving Streamlit&#x27;s original features, such as Python productivity and its rich ecosystem.

In this talk, we will discuss the benefits of stlite and demonstrate how to build and deploy stlite applications in a variety of ways, using ML/CV examples.
We will also look at its internals from a technical point of view, which may inspire you with ideas on how to make use of Pyodide and how to transform Python frameworks for the Pyodide/Wasm runtime.

You can try out stlite online: https://edit.share.stlite.net/</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/YTGKPT/</url>
            <location>track 1</location>
            
            <attendee>Yuichiro Tachibana</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>TKRGTP@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-TKRGTP</pentabarf:event-slug>
            <pentabarf:title>AI for Efficient Routing of Customer Inquiries at Mercari</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T142000</dtstart>
            <dtend>20231027T145000</dtend>
            <duration>003000</duration>
            <summary>AI for Efficient Routing of Customer Inquiries at Mercari</summary>
            <description>### Description:

Customer support operations can be a significant cost center for businesses. The volume of customer inquiries also grows as a business grows, but the customer support team can&#x27;t scale linearly with the business. Efficient and effective handling of customer inquiries is the key to keeping the customer support operation costs in check without compromising customer satisfaction. One of the most significant challenges in efficiently handling customer inquiries is routing inquiries to the appropriate customer support agent with the right skills and knowledge to provide prompt and accurate responses. If we fail to route the inquiries to suitable agents, it can lead to long wait times and unsatisfactory resolutions for customers.

In this tech talk, we will explore how AI can be used to predict the skill required to handle customer inquiries. We will discuss the challenges involved in developing an AI-based routing system, including data collection, model training, and deployment. We will also examine the benefits of AI-based routing, such as a lesser number of transfers, a reduction in customer support operation costs, and a reduced workload for support agents.

### Outline:

1. Intro (5 min)
    1. Who am I? (1 min)
    2. Why do we need a routing algorithm for customer inquiries? (1 min)
    3. Why do we need a better algorithm than random allocation? (3 min)
2. Designing a simple skill-based routing algorithm (5 min)
    1. Assigning skills based on the inquiry category selected by the customer (2 min)
    2. Assigning skills using a keyword-matching algorithm (3 min)
3. Using AI for skill-based routing (15 min)
    1. Why do we need AI for assigning skills to inquiries (2 min)
    2. How to get labeled data for training an ML model (1 min)
    3. Fine-tuning a pre-trained transformer (4 min)
    4. Adapting trained model for production use (4 min)
    5. Business impact of AI-based routing (1 min)
    6. Challenges in using AI with customer inquiries (3 min)
4. Conclusion (2 min)
5. Q&amp;A (3 min)

### Audience:

Developers, data scientists, ML engineers, and business leaders interested in using AI to enhance customer support operations.

### Outcome:

Attendees will gain a deep understanding of skill-based routing works. They&#x27;ll learn how AI can be used to predict the skill required for customer inquiries and the business impact of implementing such a system. They will also gain insight into the technical aspects of developing and deploying an AI-based routing system.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/TKRGTP/</url>
            <location>track 1</location>
            
            <attendee>Prashant Anand</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>JDUYHM@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-JDUYHM</pentabarf:event-slug>
            <pentabarf:title>Using Python for Disease Variant Analysis</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T153000</dtstart>
            <dtend>20231027T160000</dtend>
            <duration>003000</duration>
            <summary>Using Python for Disease Variant Analysis</summary>
            <description>Variant, a term once only known to the researchers of biological sciences, is now quite familiar to the general people. Rising of the new variants of SARS-Cov2 virus with novel mutations have become a topic of concern during this COVID-19 pandemic. How do the researchers identify these variants from the analysis of genomics data? How could Python be used in this analysis? This talk will address these questions. 

Mutations in any organism are usually identified after performing a Next Generation Sequence analysis experiment named variant calling. Variant calling generates the output in a specialized file format called Variant Call Format (VCF) file. VCF file carries the meta data and the information of thousands of mutations and is generally large in size. Thus, it is challenging to extract information and identify mutations from this file, especially when there are hundreds of samples. The Python package scikit-allel provides utilities for exploring this large-scale genetic variation data in VCF file and helps to identify important mutations from the downstream analysis. This package depends on scipy, matplotlib, seaborn, pandas, scikit-learn, h5py and zarr. After identifying the mutations, the next step is the visualization of the mutations in a meaningful way. This task might be simpler for a small size virus like SARS-Cov2, but complicated for eukaryotic organisms with multiple chromosomes like mouse or human. Another python package QMplot is handy and useful for the visualization of thousands of mutations in each chromosome, making the interpretation of the extracted mutations easier for the biologists. This package uses numpy, scipy, pandas and matplotlib. 

During this talk I will show the usability of these Python packages for analyzing high throughput genetic variation data and discuss the avenues of the development of new Python packages to make this analysis more efficient. Besides informing the Python community about the application of Python in genomics research, this talk will be informative to the developers who want to work in the intersection of computer science and genomics. 
 
Outline  Intro (5 min)  
Who are we?  
Introducing the concept of mutation and variants  
Explaining the genetic variation data (VCF file)  
Why Python for Variant analysis? (10 min)  
High dimensional data  
Introducing scikit-allel  
Filtering and identification of Mutation using scikit-allel  
Visualization of mutations (10 min)  
Explaining the importance of visualization of mutation to get meaningful insight  
Introducing QMplot for mutation visualization  
Explaining example plots created on publicly available data  
Q&amp;A (5 mins)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/JDUYHM/</url>
            <location>track 1</location>
            
            <attendee>Haque Ishfaq</attendee>
            
            <attendee>Atia Binte Amin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZYJNLN@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZYJNLN</pentabarf:event-slug>
            <pentabarf:title>Enhancing  Observability in FastAPI or Python Application with OpenTelemetry</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T161000</dtstart>
            <dtend>20231027T164000</dtend>
            <duration>003000</duration>
            <summary>Enhancing  Observability in FastAPI or Python Application with OpenTelemetry</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/ZYJNLN/</url>
            <location>track 1</location>
            
            <attendee>YU MING HSU</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VLH3UF@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VLH3UF</pentabarf:event-slug>
            <pentabarf:title>Sponsor LT (Google Cloud Japan) Make your own coding companion with Codey</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T165000</dtstart>
            <dtend>20231027T165500</dtend>
            <duration>000500</duration>
            <summary>Sponsor LT (Google Cloud Japan) Make your own coding companion with Codey</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/VLH3UF/</url>
            <location>track 1</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KLDH3D@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KLDH3D</pentabarf:event-slug>
            <pentabarf:title>Test with Confidence: A Deep Dive into Eliminating Flaky Tests in Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T165500</dtstart>
            <dtend>20231027T170000</dtend>
            <duration>000500</duration>
            <summary>Test with Confidence: A Deep Dive into Eliminating Flaky Tests in Python</summary>
            <description>### Overview  
- What is a flaky test? Learn how the following can cause flaky tests:
    - Asynchronous code,
    - Race conditions, and
    - Environmental factors
- Are deterministic tests worth investing time into?

### Identifying Flaky Tests  
- The ideal goal is to be able to identify flaky tests using an automated solution. 
- If you have a test suite with some flaky tests that randomly fail, you will likely try to develop a solution that automatically retries the tests that fail. In our solution, we wanted to also track the failures that were likely flaky tests and not identifying actual errors.
- While flaky tests don’t identify an actual “error” in the code, they are an error themselves to the codebase. Without reliable tests, we cannot confidently continue to grow. Sentry is  a good choice for keeping tabs on all kinds of errors, so we can store these flaky test &quot;errors&quot; here.
- Now every test failure that is “fixed” by retrying the test is reported to Sentry as a flaky test “error”, but still does not break CI since it isn’t an error in the actual application. Tests that consistently fail will not be reported to Sentry as a flaky test “error”, but instead will actually break CI because there is an actual error in the application.
- With the right tests being tracked in Sentry as flaky test “errors”, we can query in Sentry and easily identify all of the flaky tests.
- I will show an example of how to do this with Pytest  

### Best Practices
Through doing this while building Sentry, we have identified three best practices to eliminate flaky tests:
- If the flaky test is a low-value test, consider skipping or deleting the test. 
- It is best to keep tests isolated. You can do this by using the `beforeEach` lifecycle hook to reset and prevent side effects.
    - use the `beforeEach` lifecycle hook to reset and prevent side effects
- Keep tests small. Larger tests are more likely to be flaky due to their increased complexity and coverage area. Consider increasing the number of test while reducing the coverage size of each test. 

### How can you be sure flaky tests are gone?
The other benefit to using Sentry to monitor flaky tests in addition to your errors and performance issues is that your Sentry dashboard will continue to monitor any tests that remain or become flaky. As you implement improvements to your tests, you will be notified via Sentry if any flaky tests remain after each deployment. 

By keeping all codebase monitoring, including tests, to one application, you can reduce the amount of developer time wasted tracking down various ways to improve the health of your applications. But an alternative to this could be write your own pytest plugin that uploads the testrun information to an internal service that can store and query the data. 

But this is not recommended when you can just use existing software off the shelf to solve your problems. Especially when Sentry is free and easy to self-host.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/KLDH3D/</url>
            <location>track 1</location>
            
            <attendee>Nisanthan Nanthakumar</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7A87WA@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7A87WA</pentabarf:event-slug>
            <pentabarf:title>Agrobot - Python based detection device for Agriculture</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T170000</dtstart>
            <dtend>20231027T170500</dtend>
            <duration>000500</duration>
            <summary>Agrobot - Python based detection device for Agriculture</summary>
            <description>What is it

Agrobot is a small bot that can navigate through the field and fetch data like soil structure, atmospheric conditions and crop data which are important parameters in estimating the health and life of the crop. This data is analyzed intelligent decisions are made to increase the productiveness of farming. It has a software-hardware interface which allows continuous modifications and upgrades in strategies. It collects data from APIs to get weather forecasts and physical parameters like rainfall, humidity, etc. This combined with a model that identifies the most suitable crops to grow based on the conditions. It makes the farming process more efficient, smart and automated.

How Its Built

We use simple hardware like Raspberry Pi and Arduinos along with sensors and a Pi Camera. We fetch data from Here API to forecast the weather and make decisions. Computer Vision is used to analyse the soil structure and texture which allows us to decide the best crop for the field. The bot is remotely operated using ROS with an easy to use interface. In addition to this, Clarifiai was also used to train a custom model that can identify the crops in the field and get the requirements for the proper growth of the crop.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/7A87WA/</url>
            <location>track 1</location>
            
            <attendee>Niharika Vadluri</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>B3FHCU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-B3FHCU</pentabarf:event-slug>
            <pentabarf:title>彩色をリードするイラスト制作実践フロー with Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T170500</dtstart>
            <dtend>20231027T171000</dtend>
            <duration>000500</duration>
            <summary>彩色をリードするイラスト制作実践フロー with Python</summary>
            <description>絵師たちのイラスト制作フローは、概ね共通しています。
しかし、制作中に考えていることは様々です。たとえ同じ絵師が同じ制作工程にあっても、制作するイラストが違えば表現に必要な知識もアプローチも変わります。
結果として制作フローはオーダーメイドになることが多く、特に初心者はイラストを完成させるまでに多くの挫折を経験します。プロでも日々苦悩しています。
そんな絵師共通の苦しみをケアすることが、私がPyConでプレゼンをする根源的な目的です。
今回の私の発表では、イラスト制作の実例に触れながら、『色』をテーマにしたPythonスクリプトで絵師をアシストする事例を紹介します。
ちょっとした知識さえあれば、Pythonで絵師の悩みを解消できることを周知できればと思っています。

プロポーザル段階で想定している構成とタイムラインは、次の通りです。

- 導入（1min）
	- 自己紹介（30sec）
	- プレゼンの目的（30sec）
- 本題：彩色をPythonでアシストする実例（4min）
	- 実例紹介（30sec）
	- イラスト制作フロー全体像（30sec）
	- Pythonで配色の方針を探る（1min）
	- Pythonで基本の色を決める（1min）
	- Pythonで塗った色を分析する（1min）

実例として挙げるPythonスクリプトは「キャラデザに合わせた配色推薦」「色彩調和に則った影と光の合成」「色成分ダッシュボード」の３つを予定しています。
カンファレンス当日までにより優れたスクリプトと実例が用意できたら、スクリプトを追加または差し替える可能性がありますので、ご承知おきください。</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/B3FHCU/</url>
            <location>track 1</location>
            
            <attendee>ひろさじ / Hirosaji</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8KKDSN@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8KKDSN</pentabarf:event-slug>
            <pentabarf:title>How many iPhones does it take to ship a new Python version?</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T171000</dtstart>
            <dtend>20231027T171500</dtend>
            <duration>000500</duration>
            <summary>How many iPhones does it take to ship a new Python version?</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/8KKDSN/</url>
            <location>track 1</location>
            
            <attendee>Chan Sau Yee</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SPECBM@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SPECBM</pentabarf:event-slug>
            <pentabarf:title>How to study by making flash cards with Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T171500</dtstart>
            <dtend>20231027T172000</dtend>
            <duration>000500</duration>
            <summary>How to study by making flash cards with Python</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/SPECBM/</url>
            <location>track 1</location>
            
            <attendee>MrValdez</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QUNWWH@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QUNWWH</pentabarf:event-slug>
            <pentabarf:title>London to Tokyo in Two Hours: A Visual Demonstration of How Python Helps Scientific Discovery in Enabling Future Passenger Rockets</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T172000</dtstart>
            <dtend>20231027T172500</dtend>
            <duration>000500</duration>
            <summary>London to Tokyo in Two Hours: A Visual Demonstration of How Python Helps Scientific Discovery in Enabling Future Passenger Rockets</summary>
            <description>Traditionally, large datasets from wind tunnel experiments have been processed and visualised using MATLAB. However, there is a need of an open-source alternative to make such tools accessible to a wider community, particularly to young scientists and engineers. In this lightning talk, large experimental datasets obtained in a wind tunnel at a flow speed of Mach 7, i.e. seven times the speed of sound, are analysed and visualised using Python. The central topic of this talk will be transpiration cooling — a method where the rocket ‘sweats&#x27; an gas to keep itself cool. The steps of data processing, analysis, and visualisation are discussed. The wind tunnel experiments involve the use of Pressure-sensitive paint (PSP) in conjunction with a high-speed camera, a technique that allows for the determination of oxygen partial pressure on a surface in the flow. An area of interrogation of 140 mm x 37 mm is coated with PSP and tested with upstream injection of air, nitrogen, and helium. A relative concentration, ranging from 0% to 100%, is constructed in a pixel-by-pixel fashion from the high-speed videos. The video data are treated with a stabilisation algorithm to remove the jitter that stems from the tunnel’s movement during the experiments. The data are then sent through several signal processing loops to reduce the noise. The frames are time-averaged over approximately 30 ms and the final quantity of relative concentration of the gas, e.g nitrogen or helium, is obtained and visualised in static plots and videos. The aim of this lightning talk is to demonstrate that Python and its libraries are capable of producing scientific quality visualisation of aerodynamics or wind tunnel data and persuade researchers, teachers, and students in this field to utilise this open-source resource. In 5 minutes, I will showcase how Python is being used to discover the science needed to build reusable rockets.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/QUNWWH/</url>
            <location>track 1</location>
            
            <attendee>Hassan Saad Ifti</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>V9PHXN@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-V9PHXN</pentabarf:event-slug>
            <pentabarf:title>パッケージ管理ツールryeへの旅路</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T172500</dtstart>
            <dtend>20231027T173000</dtend>
            <duration>000500</duration>
            <summary>パッケージ管理ツールryeへの旅路</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/V9PHXN/</url>
            <location>track 1</location>
            
            <attendee>glassmonkey (Shunsuke Nagano)</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MFJUGJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MFJUGJ</pentabarf:event-slug>
            <pentabarf:title>Auto-evaluation of ranking model by LLM</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T173000</dtstart>
            <dtend>20231027T173500</dtend>
            <duration>000500</duration>
            <summary>Auto-evaluation of ranking model by LLM</summary>
            <description>Explore our groundbreaking framework that utilizes Large Language Models to automate the offline evaluation of search engine ranking results efficiently. By significantly reducing reliance on costly human labelers and minimizing the risk of human-induced bias, this technology allows search engineers and data scientists to swiftly conduct offline evaluations, resulting in a more seamless and efficient process. Our innovative solution empowers you to optimize search engine algorithms and deliver accurate, contextually relevant results to users, ultimately enhancing the overall search experience. Harness the power of large language models to transform your search engine’s performance, streamline the evaluation process, and reshape the way users interact with search technology.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/MFJUGJ/</url>
            <location>track 1</location>
            
            <attendee>Petrie Wong</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MM7MYE@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MM7MYE</pentabarf:event-slug>
            <pentabarf:title>time to save CI time</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T173500</dtstart>
            <dtend>20231027T174000</dtend>
            <duration>000500</duration>
            <summary>time to save CI time</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/MM7MYE/</url>
            <location>track 1</location>
            
            <attendee>Soojin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WNN9WG@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WNN9WG</pentabarf:event-slug>
            <pentabarf:title>Write Python for Speed</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T114000</dtstart>
            <dtend>20231027T121000</dtend>
            <duration>003000</duration>
            <summary>Write Python for Speed</summary>
            <description>Speed is the king. 10x productive developers change business. So does 10x faster code. Python is 100x slower than C++ but it only matters when you really use Python to implement number-crunching algorithms. We should not do that, and instead go directly with C++ for speed. It calls for strict disciplines of software engineering and code quality, but it should be noted that here the quality is defined by the runtime and the time to market.

The talk will focus on the Python side of the development workflow. It is made possible by confining C++ in architecture defined by the Python code, which realizes most of the software engineering. The room for writing fast C++ code is provided by pybind11 and careful design of typed data objects. The data objects hold memory buffers exposed to Python as numpy ndarrays for direct access for speed.

In a nutshell, the workflow is:

1. Understand your problem.
2. Prototype with quick and dirty Python code.
3. Define data objects. The data objects will be the API between high-level Python and the low-level C++ implementation.
4. Complete unit testing as much as possible.
5. Design data structures. Reorganize or rewrite the Python code in C++.

For each new request the workflow repeats itself.

In addition to the workflow, the talk will also include the way to use pybind11 and ndarray interface. C++ will be mentioned but outside the scope of discussions.

The objective of the talk is to show how to get started with writing fast code in Python and keep improving it to become a product. Computational scientists and engineers are particularly suitable to the subject. The talk will clearly describe a course to develop the practical coding skills. The speaker has practiced the workflow for academic research, commercial software development, and graduate-level teaching and trained more than 100 students.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/WNN9WG/</url>
            <location>track 2</location>
            
            <attendee>Yung-Yu Chen</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZAVEWE@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZAVEWE</pentabarf:event-slug>
            <pentabarf:title>Breaking Down Barriers: A Unified Approach to Web Development with django-htmx</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T134000</dtstart>
            <dtend>20231027T141000</dtend>
            <duration>003000</duration>
            <summary>Breaking Down Barriers: A Unified Approach to Web Development with django-htmx</summary>
            <description>Modern web development often necessitates complex processes and context-switching, placing undue burdens on developers and impeding efficiency. This presentation proposes a solution: unifying front-end and back-end development into a single context with Django-HTMX. This approach eliminates the need for separate build processes and mitigates the slowdown associated with context-switching between different development languages. In this streamlined workflow, HTMX is employed through Django-HTMX, CSS is handled with TailwindCSS, and JavaScript is managed with Alpine.js. By introducing this efficient and simplified method, we aim to revolutionize the way web development is approached, creating a more streamlined and efficient future for developers.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/ZAVEWE/</url>
            <location>track 2</location>
            
            <attendee>Bae KwonHan</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BLGBSE@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BLGBSE</pentabarf:event-slug>
            <pentabarf:title>Pythonでのパッケージング：エコシステムの理解と現場での活用</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T142000</dtstart>
            <dtend>20231027T145000</dtend>
            <duration>003000</duration>
            <summary>Pythonでのパッケージング：エコシステムの理解と現場での活用</summary>
            <description>## セッションのアウトライン

1. パッケージングエコシステムの基本要素
    - 標準と規格（PEPなど）
    - パッケージの配布（PyPIなど）
    - ランタイムバージョン管理（pyenvなど）
    - パッケージバージョンと依存関係の管理（pip, poetryなど）
    - ビルドとインストールのプロセス（setuptools, wheelなど）
2. Pythonのパッケージングエコシステムを複雑化する要因
    - PEPの適用とその時間的な課題
    - 高度な要求を持つライブラリ（MLライブラリなど）
    - 多様化するツール群とその後方互換性の問題
3. Pythonのパッケージングエコシステムの歴史的進化
    - 初期のパッケージ管理
    - PyPIとpipの発展
    - wheel形式の導入
    - 依存関係の解決の強化
    - 初期のパッケージ管理
    - Pythonのパッケージングの現状と課題
4. Pythonパッケージングのベストプラクティスとケーススタディ
    - ケースバイケースでのツール選択の例
    - pyenv, pip, conda, poetryなどの各ツール適切な組み合わせ方
5. 実際の問題とその解決策
    - pipとcondaを両方使わない方が良いと言われている理由
    - 特殊なインストールプロセスのあるライブラリ（例：pytorch）</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/BLGBSE/</url>
            <location>track 2</location>
            
            <attendee>Higuchi Kokoro</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BJTTQX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BJTTQX</pentabarf:event-slug>
            <pentabarf:title>Improving debuggability of complex asyncio applications</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T153000</dtstart>
            <dtend>20231027T160000</dtend>
            <duration>003000</duration>
            <summary>Improving debuggability of complex asyncio applications</summary>
            <description>When we compose multiple asyncio libraries and our own codes together, it is hard to track down silently swallowed cancellations and resource-hogging floods of tasks triggered by internals of 3rd-party callbacks. Moreoever, such misbehaviors are often observed only in production environments where the app faces the actual workloads and I/O patterns, making it even harder to reproduce.

The aio-libs/aiomonitor project provides a live access to a running asyncio process using a telnet-based REPL interafce to inspect the list of tasks and their current stacks. I have added more features to help tracking the above issues of asyncio apps running in production: task creation tracker and termination tracker. These trackers keeps the stack traces whenever a new task is created or terminated, and provides a holistic view of chained stack traces when the tasks are nested with arbitrary depths. aiomonitor also demonstrates a rich async TUI (terminal UI) based on prompt toolkit and Click, with auto-completion of commands and arguments, far enhancing the original version’s simple REPL. With aiomonitor, I could successfully debug several production bugs. 

In PyCon US 2023, I’ve presented my fork, aiomonitor-ng, and collaborated with Sviatoslav Sydorenko (@webknjaz) to backport it to the original project while revamping the CI/CD pipelines. This talk will also cover the stories of the backporting process.

I hope this talk would help our fellow asyncio developers to build more complex yet stable applications at scale.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/BJTTQX/</url>
            <location>track 2</location>
            
            <attendee>Joongi Kim</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8F7KBC@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8F7KBC</pentabarf:event-slug>
            <pentabarf:title>Develop your Python cloud &amp; serverless apps locally with LocalStack!</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T161000</dtstart>
            <dtend>20231027T164000</dtend>
            <duration>003000</duration>
            <summary>Develop your Python cloud &amp; serverless apps locally with LocalStack!</summary>
            <description>DevOps teams across the globe are increasingly focusing time and energy on optimizing their cloud development and deployment flows. The traditional deploy-and-test cycles against public clouds can become slow and tedious, where developers are often facing several minutes of idle times between deployments that need to be frequently triggered during testing &amp; debugging.

Also, with the increasing popularity of Infrastructure-as-Code tools like Terraform or Pulumi, efficient testing of automated infrastructure deployments becomes critical. Testing cycles for deployments of complex stacks with large-scale resources can easily take 15+ minutes or more in the real cloud.

In this talk, we will provide a detailed deep dive into LocalStack, an open-source cloud emulator that allows you to develop Python cloud &amp; serverless applications entirely on your local machine without ever having to connect to the real cloud! LocalStack provides 70+ AWS services running in a Docker container completely on your local machine. We will develop AWS applications, but since LocalStack runs entirely on the local machine without talking to the real cloud, no cloud access credentials are required to follow the talk.

The talk is roughly structured as follows:

- Intro to AWS cloud development with Python
- Getting started with LocalStack
- Developing Python serverless apps with LocalStack
- Advanced integrations for Infrastructure-as-Code (Terraform, CDK) and CI/CD (Github Actions)
- Python internals of LocalStack
- Summary and Q&amp;A

The session covers interactive live coding to showcase common scenarios and use cases, different settings for local debugging of Lambdas and containerized apps as well as some advanced new features that can radically improve productivity and team collaboration patterns.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/8F7KBC/</url>
            <location>track 2</location>
            
            <attendee>Harsh Bardhan Mishra</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ARHZFP@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ARHZFP</pentabarf:event-slug>
            <pentabarf:title>Fighting Money Laundering with Python and Open Source Software</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T114000</dtstart>
            <dtend>20231027T121000</dtend>
            <duration>003000</duration>
            <summary>Fighting Money Laundering with Python and Open Source Software</summary>
            <description>In this talk proposal, we will discuss the chain of fraudulent transactions and help the investigation agencies to fight money laundering with the help of Python programming language and packages.
The working of the proposed solution is described below
Step 1: The investigation officer obtains data of suspicious accounts across banks.
Step 2: Using Benford’s Law the accounts data will be checked for possible fraud and marked for further analytics.
Step 3: The account details will also be matched with Politically Exposed Persons(PEP), Relatives and Close Associates (RCA), and Sanctions Data. If a match is found then it increases the probability of possible money laundering. 
Step 4: Generate graphs showing the links between transactions of different bank accounts for step 2 and step 3.
Step 5: Apply Graph Machine Learning techniques and graph algorithms to identify the fraudulent chains between depositor and receiver accounts. 
Step 6: Find a correlation between transactions and bank accounts to form a fraudulent chain.
Step 7: Generate results in the form of reports and interactive visualizations
Step 8: Verify the result for genuineness and false positive rate.
Step 9: Keep track of all the activities and tasks executed from steps 2 through 8. 
Step 10: Generate a report for step 9 in a human-readable and understandable form.

The application has been developed using Scipy, numpy, pandas, matplotlib, NetworkX, Altair, scikit-learn, and Dash packages.

The participants will learn about a new use case of python in crime investigation.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/ARHZFP/</url>
            <location>track 3</location>
            
            <attendee>Gajendra Deshpande</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>UPFZDC@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-UPFZDC</pentabarf:event-slug>
            <pentabarf:title>Python in Human-Centered AI Design: How to deal with 60 Million patients to develop AI solutions in healthcare</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T134000</dtstart>
            <dtend>20231027T141000</dtend>
            <duration>003000</duration>
            <summary>Python in Human-Centered AI Design: How to deal with 60 Million patients to develop AI solutions in healthcare</summary>
            <description>In healthcare, the use of machine learning (ML) and artificial intelligence (AI) is becoming popular than ever, and Python is in the forefront when it comes to the programming language of choice.

In this talk, we outline the use of a design and implementation framework to aid developers to design _Human-Centered AI (HcAI)_ solutions in healthcare. We provide examples from our research to showcase challenges and best practices of using large healthcare datasets such as [CPRD](https://cprd.com) in the UK consisting of data collected from 60 million patients, where we analyse and develop AI/ML models using Python. This will allow the audience to get a good understanding of the challenges involved in solving technical and societal issues such as in healthcare. It will demonstrate as a case study of research in United Kingdom as to how widespread adoption of Python, combined with design innovation can lead to accountable, transparent, and safe use of AI/ML tools.

Participants of the talk will be able to appreciate how this approach can make their **design, development, deployment, and maintenance** well organized and sustainable. Beginners as well as advanced users are often not familiar with the real-world utility perspectives of AI/ML development, and this talk will provide the international community with actionable take-home ideas that they can use in their projects. It will demonstrate how using Python can make even such data-driven complicated tasks more manageable.

The talk will also be accompanied by a poster, which will provide the audience to interact with the speakers beyond the talk. Furthermore, we open up the Q&amp;A session to include a collaborative platform at an international level for anyone from the audience who might be interested to engage in our research work, for future collaboration.

### Talk outline and organization
- Introduction to Human-Centered AI Design using Python ```(5 mins)```
- Examples from the read-world research settings ```(2 mins)```
- Challenges, best practices, and Python tools used to research on database with 60 million patients in United Kingdom ```(3 mins)```
- How to use the Health AI Implementation Framework in research ```(5 mins)```
- Interactive Demo: Examples from ongoing research work using Python ```(10 mins)```
- Q&amp;A from the audience ```(5 mins)```

### Audience
This talk is aimed for Python **beginners** as it provides design and implementation guidance in AI/ML development, deployment, and maintenance. **Advanced users** will also benefit from this approach and be able to develop solutions using this implementation framework. The talk would also be suited for **policy makers** and **project + product management team members** so that they can use the approach in their companies. Researchers in this field can also take away actionable perspectives for research studies. Although the main example is in healthcare, the design principles described in the talk is applicable to any large scale AI/ML development.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/UPFZDC/</url>
            <location>track 3</location>
            
            <attendee>Hassan Sami Adnan</attendee>
            
            <attendee>Samara Sharmeen</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VYT7AY@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VYT7AY</pentabarf:event-slug>
            <pentabarf:title>I convinced my old high school to offer a Python Programming class! [And  the plan to convince all other schools in our city to follow]</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T142000</dtstart>
            <dtend>20231027T145000</dtend>
            <duration>003000</duration>
            <summary>I convinced my old high school to offer a Python Programming class! [And  the plan to convince all other schools in our city to follow]</summary>
            <description>In order to understand the core problem, I will first give a glimpse of the education system here in the Philippines. This is to cement the underlying need for implementing a programming class for high school students.

There are a lot of factors that we need to consider when we were planning this class. It might seem simple and straightforward but we had to adjust the coverage and scope of what we want to offer due to the needs of the students and the school. 

We encountered a lot of problems including how to pick the correct teachers and how to teach the teachers themselves. As for the students, we want to make sure that they can use what they will learn in their research and projects. 

It has been a couple of years since the school added programming classes and they were able to offer it to different grade level already. We have some insights on how it affected the students and how it made them more inclined towards STEM (science, technology, engineering, maths).

Moving forward, my grand plan is to make all the schools in our city teach python and programming. I am in talk with the other schools and I want to make sure that they can implement a python programming class as well. I want to make this as an opportunity to show other schools and the local government how adding a python programming class can actually improve the quality of research output for students.

The talk will focus on the following main key points:

- Education challenges in the Philippines in the context of tech and programming
- How did we came up with the idea of adding python programming to the curriculum
- How did we implement it?
- What are the key takeaways and how do we plan to improve the python programming class
- The grand plan of spreading this to all the schools in our city!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/VYT7AY/</url>
            <location>track 3</location>
            
            <attendee>Niño R. Eclarin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>M8QP3X@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-M8QP3X</pentabarf:event-slug>
            <pentabarf:title>Dev Containers時代のPython開発環境のあり方</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T153000</dtstart>
            <dtend>20231027T160000</dtend>
            <duration>003000</duration>
            <summary>Dev Containers時代のPython開発環境のあり方</summary>
            <description>* Dev Containersの仕組み

    まずはDev Containersの動きや仕組みを見ていきます。Dev Containersは今までDockerや仮想PCで環境を作る時に大変だったことをいろいろ自動化してくれますし、環境のカスタマイズも簡単です。

    *  Dev Containersがやってくれること、やってくれないこと

        ユーザー、権限、同期が遅くならないファイルシステムの構成、開発サーバーのポート解放、ssh/gitのアクセス、社内のプロキシの突破方法などを紹介していきます。

    * Python用のイメージ作成方法

        ここでは、Python固有の環境をゼロから作る方法を紹介していきます。ゼロからといってもメニューから選ぶだけで簡単です。カスタマイズ方法なども紹介していきます。

* パッケージ管理ツールの動作

    ベースのDev Containersができあがったところで、さまざまなツールのインストールの動作の比較を通じて、既存のツールがDev Containersとコンフリクトしがちなポイントをまとめます。

* pyproject.tomlを書く

    pyproject.tomlはPoetryで有名になりましたが、実はPEPでルール化されている標準的なデータフォーマットです。またこのファイルを使ったパッケージのインストールには外部ツールは不要です。pyproject.tomlをダイレクトに使ったミニマルなパッケージ管理の手法を探ります。

    環境をうまく作ることでコード保管やリアルタイムのチェックをしながらファイルの編集が行えるため、それを紹介していきます。

  * できあがったPython開発環境のレビュー

    Dev Containersを使った場合、使わなかった場合のそれぞれでうまくいくことを確認していきます。</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/M8QP3X/</url>
            <location>track 3</location>
            
            <attendee>Yoshiki Shibukawa</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZAQM3D@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZAQM3D</pentabarf:event-slug>
            <pentabarf:title>(PythonPH) One Does Not Simply Create a Lasting Tech Community: Our 10-Year Journey Through the Joys and Challenges of Building a Fulfilling and Impactful Community</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T161000</dtstart>
            <dtend>20231027T164000</dtend>
            <duration>003000</duration>
            <summary>(PythonPH) One Does Not Simply Create a Lasting Tech Community: Our 10-Year Journey Through the Joys and Challenges of Building a Fulfilling and Impactful Community</summary>
            <description>As co-founders of Python Philippines (PythonPH), we&#x27;ve faced numerous challenges, including the departure of team members without a succession plan, having to take additional workloads, and experiencing burnout. In this talk, we&#x27;ll share our personal journey and offer strategies that have helped us overcome these pain points.

We understand first-hand the uncertainty and pressure that come with the loss of co-founders and how it can impact the remaining team members. Drawing from our experience, we&#x27;ll share the steps we took in creating a succession plan that will ensure continuity and minimize disruption.

Furthermore, we&#x27;ll discuss how we&#x27;ve dealt with burnout and share tips for maintaining a healthy work-life-community balance. As we&#x27;ve navigated these challenges, we&#x27;ve also faced feelings of being left behind from a shared mission. We&#x27;ll offer insights on how we stay motivated and focused on achieving organizational goals, even when it feels like others have moved on.

This talk will provide attendees with a personal account of the challenges and rewards of managing a long-running organization:

1. Succession planning is crucial for long-running organizations to ensure continuity and minimize disruption when leaders and team members depart.
2. Burnout is a common challenge for long-running organizations and can have a negative impact on productivity and morale. Strategies for preventing burnout and maintaining a healthy work-life-community balance are key.
3. Feelings of being left behind from a shared mission are normal but can be overcome by staying focused on the organization&#x27;s mission.
    
Managing a long-running organization comes with unique challenges, but with the right strategies and mindset, it can be incredibly rewarding and fulfilling.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/ZAQM3D/</url>
            <location>track 3</location>
            
            <attendee>Matt Lebrun</attendee>
            
            <attendee>Micaela Reyes</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>DXWXGJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-DXWXGJ</pentabarf:event-slug>
            <pentabarf:title>Introduction to Structural Pattern Matching</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T114000</dtstart>
            <dtend>20231027T121000</dtend>
            <duration>003000</duration>
            <summary>Introduction to Structural Pattern Matching</summary>
            <description>このトークではStrucral Pattern Matchingがどういうモチベーションで提案されたかを紹介します。
そして、Strucral Pattern Matchingの構文と基本的な使い方を説明します。
トークの後半では、この機能にあるさまざまなパターンについて、それぞれどのように使うのかをサンプルコードと合わせて紹介します。
紹介するパターンはLiteral、Capture、Wildcard、OR、Value、Group、Class、Sequence、Mapping、ASパターンです。またGuardについても紹介します。

このトークを聞くことによってパターンマッチングの全体像を把握し、使いどころや利点を理解できます。</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/DXWXGJ/</url>
            <location>track 4</location>
            
            <attendee>Takanori Suzuki</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KQQ3CU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KQQ3CU</pentabarf:event-slug>
            <pentabarf:title>PyPIデビュー 2023</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T134000</dtstart>
            <dtend>20231027T141000</dtend>
            <duration>003000</duration>
            <summary>PyPIデビュー 2023</summary>
            <description>過去の発表で何度か出ている「PyPIデビュー」系の発表を2023年前後での状況を元に紹介する、「ほぼ最新版」としてのPythonライブラリのPyPIアップロードまでの歩き方の発表です。

「中級レベルのライブラリ作者」視点で、よりプラットフォームの肩に乗ったライブラリ公開のアプローチを伝えるのが目的です。

* Pythonにおけるモジュール/パッケージと、PyPIの紹介
* 公開されたPythonライブラリの開発 on GitHub
  * Pythonライブラリを作成する
  * テストを書く
  * ドキュメントも書く
  * GitHub ActionsでGitHub Releasesへライブラリアップロードする
  * GitHub ActionsでGitHub Pagesへドキュメントをデプロイする
* PyPIへのアップロード
  * アカウント作成
  * GitHub Actionsを改修してPyPIへアップロード出来るようにする
* よりPyPIに沿ったパッケージ</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/KQQ3CU/</url>
            <location>track 4</location>
            
            <attendee>Kazuya Takei (attakei)</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>PSZB3R@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-PSZB3R</pentabarf:event-slug>
            <pentabarf:title>Pants ではじめる Python Monorepo</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T142000</dtstart>
            <dtend>20231027T145000</dtend>
            <duration>003000</duration>
            <summary>Pants ではじめる Python Monorepo</summary>
            <description>## 概要

Monorepo で管理することによって開発に必要なリソースが全て 1 つの場所に集約され、リポジトリに関わる全員が共通の開発プロセスやツールを使用できます。これによりリンター、フォーマッター、テスト、CI/CD などの開発ツールの統一が容易になります。車輪の再発明を減らし、コード品質も一定に保てる Monorepo はチーム開発と相性が良く、うまく活用することでメンテナンス性や開発者体験を向上できます。

### Monorepo における課題

Monorepo を採用する上で依存関係の管理や差分検知といった課題がありますが、これらはビルドシステムによって解決できます。

- 依存関係: リポジトリ内の依存を明示的に記述することもできますが、Pants は依存関係を推測する機能があるため依存関係の記述をシンプルにできます。
- 差分検知: Monorepo には複数のプロジェクトが存在し、毎回の CI 実行で変更と関係ないプロジェクトまでテストすると時間とお金がかかります。一方で、変更によって影響を受けるコードがテストされなかった場合、コードが壊れていることを検知できず広範囲に影響を及ぼすことがあります。Pants は差分検知をサポートしているので、変更されたファイルのみを対象に実行できます。
- 実行: コンパイルをして実行ファイルを生成するプログラミング言語であれば、実行ファイルをコンテナ環境などに配置し実行することができます。しかし、Python は実行ファイルを生成しません。実行に必要なファイルを手動で選択して配置しなくていいように、Pants は pex という Python 実行ファイルを生成するツールをサポートしています。これにより依存するソースから実行ファイルを生成してコンテナ環境などで実行できます。

## 予定稿

- 自己紹介
- 本セッションの概要
- Monorepo と Polyrepo について
  - それぞれの特徴
  - メリット・デメリット

- Pants について
  - Pants の概要
    - Pants の特徴
    - Pants がサポートしているプログラミング言語とフレームワーク・ツール

- Pants を使った Monorepo のはじめかた
  - フォーマッター、リンターの静的解析
    - Pants がサポートしている静的解析について
  - テスト
    - shard分割
  - 差分実行
  - リモートキャッシュ
  - 依存関係の管理
    - 3rd party ライブラリの依存管理
    - Monorepo 内の依存管理
  - pex について
    - 3rd party ライブラリの依存の内包
    - Dockerとの連携
  - 依存の禁止・許可
  - リポジトリ依存関係の統一
- まとめ

## 話さないこと

- Bazel や Buck2、Moon、NX といった Pants 以外のビルドシステムの詳細</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/PSZB3R/</url>
            <location>track 4</location>
            
            <attendee>Koki Nishihara</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>GJJGPS@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-GJJGPS</pentabarf:event-slug>
            <pentabarf:title>Django ORM道場：クエリの基本を押さえ，より良い型を身に付けよう</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T153000</dtstart>
            <dtend>20231027T160000</dtend>
            <duration>003000</duration>
            <summary>Django ORM道場：クエリの基本を押さえ，より良い型を身に付けよう</summary>
            <description>本トークでは、Djangoに内蔵されているDjango ORMによるデータ取得操作を扱っていきます。ほかのプログラミング言語や、ほかのWebフレームワークでは詳細は異なりますが、基本的な考え方は広く使えるはずです。
スポーツであれば鏡を見ながらトレーニングしたり、動画を撮って自分の動きやフォームを見ながら練習します。ソフトウェア開発も同じで、プログラムの実行結果を最後まで確認せずにコードを書くことはほとんどありません。ORMクエリの場合、「期待する値が取れたか」に注目してしまいがちですが、「ORMクエリが発行するSQL文」をよく観察する必要があります。試合の結果（実行結果や処理速度）だけ見るのではなく、そこに至る過程としてのフォーム（SQL文）を観察して磨いていくことが大事です。
本トークでは、道場主（コンサルタント）の立場から「ORM利用の3つの基本」を押さえ、混乱してしまったDjango ORMコードをスッキリさせる方法を紹介します。
アジェンダは以下の通りです

・自己紹介と、このトークの背景（3分）
・このORM、どんなSQLを実行しているの？（3分）
・基本1：実行しているSQLをいつも確認しよう（5分）
・基本2：意図しないタイミングでのSQL発行を避けよう（7分）
・基本3：理想のSQLからORMを組もう（7分）
・まとめと質疑応答（5分）</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/GJJGPS/</url>
            <location>track 4</location>
            
            <attendee>Takayuki Shimizukawa</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>FQLVVU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-FQLVVU</pentabarf:event-slug>
            <pentabarf:title>実録 Python Social Auth の Twitter OAuth APIマイグレーションプロジェクトとその教訓</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T161000</dtstart>
            <dtend>20231027T164000</dtend>
            <duration>003000</duration>
            <summary>実録 Python Social Auth の Twitter OAuth APIマイグレーションプロジェクトとその教訓</summary>
            <description>### 予定稿

- 自己紹介
- 概要説明
- 前提知識の共有
  - ソーシャルログインについて
  - Python Social Authについて
- Twitter API マイグレーションの経緯
  - LAPRAS(題材となるシステムの紹介)
  - 2023の発表から、影響調査、対応方針決定など
- マイグレーションの課題と対応方法
  - Python Social Authの内部構造
  - 運用中のサービスの認証/認可プロバイダを変更することによる課題
    - 課題1 - 同じユーザでも認証(認可)プロバイダが異なると別人として扱われる
    - 課題2 - サービス名とProvider名が一致しなくなる
  - 移行作業の注意点
- マイグレーションプロジェクトの結果
- 学び(システム面, 運用面)
  - システム面
    - Provider名をサービス名として直接使用しない
    - ProviderとSNSの関係を1:1を前提としない
  - 最悪を想定して計画を立てる
  - 計画の前提にしている事実を明確にしておく
- まとめ</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/FQLVVU/</url>
            <location>track 4</location>
            
            <attendee>Takanori Koroki / rocky_manobi</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MBSPYH@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MBSPYH</pentabarf:event-slug>
            <pentabarf:title>好きとか嫌いとかはいい、練習してテストを書けるようになるんだ</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T120500</dtstart>
            <dtend>20231027T122000</dtend>
            <duration>001500</duration>
            <summary>好きとか嫌いとかはいい、練習してテストを書けるようになるんだ</summary>
            <description>今年のPyCon JPは「Python 初心者」がキーワードの1つのように思います。  
Python初心者に対して、初心者時代の私に一番オススメしたい知見「テストを書こう」を共有します。

初心者時代の私はPythonの関数やクラスを後から変更しやすく書くことができませんでした（今でも少し前のコードをみると伸びしろしかないなと感じます）。  
めちゃめちゃ達人のように思える開発者（冒頭で引いたケント・ベック）でも、一発で要件に合致する変更しやすいコードは書けないようです。  
なので、一発で書くという幻想は捨てて、ちょっとずつ修正していくというアプローチに切り替えました。
  
ここで有用なのがテストコードです。 
テストコードがない場合、変更した後は手動で振る舞いが変わっていないか確認しないといけません。  
何度も手動で確認するのは大変ですが、テストコードがこれを解決してくれます。  
実体験から、振る舞いを変えずに既存のコードを変えていく（例：新しく知った文法知識を練習してみる）ことで、Pythonの力が伸びると思います。

このトークをきっかけにテストを書けるようになり、Pythonの力がぐんぐん伸びて、ライブラリを公開してみようと挑戦される方がいらっしゃったらこんなにうれしいことはありません。

以下が構成です。

- 自己紹介 1分
- なぜテストコードが書けるといいのか 3分
- doctest 7分
  - 基本的な使い方
  - tips: reprの一致
- unittest 9分
  - pytestと同じ内容をunittestで紹介します
- pytest 9分
  - 基本的な使い方
  - parametrized test
  - モック
- まとめ1分</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/MBSPYH/</url>
            <location>track 5</location>
            
            <attendee>nikkie</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8XZDC7@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8XZDC7</pentabarf:event-slug>
            <pentabarf:title>Pythonはどのようにデータベースと繋がるのか</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T134000</dtstart>
            <dtend>20231027T135500</dtend>
            <duration>001500</duration>
            <summary>Pythonはどのようにデータベースと繋がるのか</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/8XZDC7/</url>
            <location>track 5</location>
            
            <attendee>Shintaro Matsudo</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>NYW939@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-NYW939</pentabarf:event-slug>
            <pentabarf:title>型チェックを強化するPython 3.11の新機能Data Class Transforms（PEP 681）（Enhancing Type Checking with Python 3.11&#x27;s New Feature: Data Class Transforms (PEP 681)）</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T140500</dtstart>
            <dtend>20231027T142000</dtend>
            <duration>001500</duration>
            <summary>型チェックを強化するPython 3.11の新機能Data Class Transforms（PEP 681）（Enhancing Type Checking with Python 3.11&#x27;s New Feature: Data Class Transforms (PEP 681)）</summary>
            <description>## クラスの初期化処理で型チェックが効かない問題の解説
まず最初に、PEP 681登場以前のPythonにどのような問題があったのかを解説します。

PEP 681の恩恵を受けるのは、[attrs](https://www.attrs.org/en/stable/)、[Pydantic](https://docs.pydantic.dev/latest/)、O/Rマッパー（例: [SQLAlchemy](https://www.sqlalchemy.org/)、[Django](https://docs.djangoproject.com/ja//)内臓のO/Rマッパー）などのデータクラス風にクラスを書けるライブラリですが、今回は内部のコードをシンプルにしたオリジナルのO/Rマッパーを用意して説明します。

## 型チェックを強化するtyping.dataclass_transformデコレーターの使い方について解説
次に、PEP 681でtypingモジュールに追加されたdataclass_transformデコレーターの使い方について解説します。
前述のサンプルコードをdataclass_transformデコレーターを使ったものに変更することで、型チェックが効かない問題を解決できます。

本トークにより、サードパーティライブラリの選定の際に、より適切な判断ができるようになります。
また、自作のライブラリを開発されている方は、dataclass_transformデコレーターの使い方を知ることで型チェックを強化できます。

## typing.dataclass_transformデコレーター内部の仕組みについて解説
dataclass_transformデコレーター内部のソースコードについて解説します。dataclass_transformデコレーターのソースコードはとてもシンプルですが、それでも型チェッカーが高度な型チェックをできる理由を説明します。

## 主要型チェッカーのPEP 681対応状況
主要な型チェッカーでの対応状況を説明します。PEP 681は型チェッカーが対応していないと意味がない機能です。型チェッカーを採用する際、この内容を参考に選定することをお勧めします。

## PEP 681に対応しているライブラリの紹介
[attrs](https://www.attrs.org/en/stable/)、[Pydantic](https://docs.pydantic.dev/latest/)、O/Rマッパー（例: [SQLAlchemy](https://www.sqlalchemy.org/)、[Django](https://docs.djangoproject.com/ja//)内臓のO/Rマッパー）などのライブラリでのPEP 681への対応状況を紹介します。
ライブラリの採用を検討する際の判断材料にしてください。</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/NYW939/</url>
            <location>track 5</location>
            
            <attendee>Ryuji Tsutsui</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8AWUBQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8AWUBQ</pentabarf:event-slug>
            <pentabarf:title>Making School Less Boring with Python!</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T143000</dtstart>
            <dtend>20231027T144500</dtend>
            <duration>001500</duration>
            <summary>Making School Less Boring with Python!</summary>
            <description>I will talk about how Python, and activities and communities related to it,  affected my school life adventures and made them More Easier, more Exciting, and Fun. 

Specifically, I will talk about the following:
- The different Fun Python Projects I made during my undergrad. One of them was during Valentine&#x27;s when I made a valentines card generator that utilizes machine learning to create unique abstract paintings out of people’s faces during Valentine&#x27;s for every person. It was a random project I came up with as a joke since I spend more time coding than finding my own valentines. It was an enjoyable project that made me love coding and making projects. Sharing this experience will give everyone a good perspective on my struggles with conceptualizing a project just for the fun of it and having the motivation to work on it continuously! Detailing my experience here will be helpful to all beginners in Python!

- The different automation scripts and packages in Python made life much easier during undergrad. They were Python scripts for automating sending emails, automating certificate generation for events, cleaning class records, and using Django for creating fast, quick scalable websites for class assignments that would have taken much longer for other languages and packages. I aim to give a perspective throughout this section on how Python can make simple and easy scripts that automate the “boring and tedious” work that comes with school life.

- And lastly, how the Python Philippines Community made my after-class sessions much more fun! Having a common space with like-minded individuals who love automation, and talking about nerd topics and random projects made my school life much more fun. I will go into detail on how much of an impact the Python PH community in my creativity, motivation, and overall skillsets. This section of my talk will be helpful in everyone’s journey regardless of their proficiency in Python!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/8AWUBQ/</url>
            <location>track 5</location>
            
            <attendee>Carl John Viñas</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QPU3NR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QPU3NR</pentabarf:event-slug>
            <pentabarf:title>業務で使える一歩進んだPython使いになるために</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T153000</dtstart>
            <dtend>20231027T154500</dtend>
            <duration>001500</duration>
            <summary>業務で使える一歩進んだPython使いになるために</summary>
            <description>本セッションでは筆者が実際に失敗してきた経験や、世間でのPythonに対する評価、課題点の整理から始めます。
世間ではPythonをスクリプトやインタラクティブな実行環境の身で実行しており、そのようなユーザーがチーム開発に入っていくことは屋やハードルが高いと考えています。
筆者はこの問題について、国内外問わず、初学者のユーザーが対面する問題であると考えています。

また筆者は8年ほどPythonを書いていますが、ホビープログラミングないし個人で開発していたときと、チームで開発しているときで意識しなければいけない書き方が多く存在すると感じています。
本発表はPython経験が薄かったり、個人での開発経験しかない方に対してチームで開発する知識や情報を聴衆に持って帰っていただくことを目的としています。


発表概要は15分に合わせて下記に修正しています。
元々30分で話す予定だったものに関しては懇親会や個人的にご連絡いただければと思います。

- 自己紹介と概要(1分)
- Python学習者を取り巻く環境(3分)
  - 様々な開発環境
  - 独習で陥りがちな落とし穴
- 業務開発でやるべきこと(5分)
  - そもそも業務で Python を使うべき？
  - 業務での開発には何が求められているか
  - 揃えたいツール類（仮想環境・パッケージ管理・Linter・Formatter・テストフレームワーク）
  - 補助で入れたいツール類（エディタ・ログ管理・APIドキュメント・ロードテストツール・セキュリティテストツール・APMツール）
- 4年 Python を業務で使って感じたメリット・デメリット
   - インデントの良しあし
   - 型との闘い
   - 設計の話は他言語から学べることも多い
- まとめ(1分)


下記はもともと30分で予定していた発表内容でした。

- Python学習者を取り巻く環境(5分)
  - 様々な開発環境
  - 個人で作れるものの世界
  - 独習で陥りがちな落とし穴
- チーム開発と個人開発(15分)
  - 書くべきでない言語的な罠
    - 破壊的な動き
    - Pythonは同じように書くのが難しいのでは…？
  - 動的型付け言語全体に言える課題
    - 型情報をなるべく入れよう
    - テストコードを書こう
    - Linter, Formatterを入れよう
  - CIでもチェックする
  - コードレビューをしよう
- なぜ我々はチームでPythonを書くのか(5分)
  - 多くの人が触れる強みと弱み
  - 動的型付け言語の楽さとスピード
- まとめ(2分)
- 質疑応答(5分)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/QPU3NR/</url>
            <location>track 5</location>
            
            <attendee>Motoki Hirao</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WQREM9@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WQREM9</pentabarf:event-slug>
            <pentabarf:title>Python ate my homework!</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T155500</dtstart>
            <dtend>20231027T161000</dtend>
            <duration>001500</duration>
            <summary>Python ate my homework!</summary>
            <description>If you hate doing simple, repetitive, error prone calculations that you know a computer could trivially do, then this is the talk for you!

You&#x27;ll learn some of the basics of the SymPy library, and then observe how to solve a sample university level maths problem. Then, we&#x27;ll put these two together and use SymPy to solve this math problem for us, and in a way that also prints working out!

You&#x27;ll also see how Jupyter can be used to calculate and submit parts of your assignment, and finally how you can help contribute to the computational maths community.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/WQREM9/</url>
            <location>track 5</location>
            
            <attendee>Evan Kohilas</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>9TKP3P@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-9TKP3P</pentabarf:event-slug>
            <pentabarf:title>ModuleNotFoundErrorの傾向と対策:仕組みから学ぶImport</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231027T162000</dtstart>
            <dtend>20231027T163500</dtend>
            <duration>001500</duration>
            <summary>ModuleNotFoundErrorの傾向と対策:仕組みから学ぶImport</summary>
            <description>本トークで予定している目次は以下のとおりです。

1. PythonのモジュールとModuleNotFoundError
    - モジュールとは何か
    - Pythonはモジュールをどのように扱うのか
    - ModuleNotFoundErrorとは何か、出現に至るシナリオ
2. Import・名前空間・スコープ
    - importステートメント
    - 名前空間
    - スコープ
3. import で何が起きているのか
    - モジュールの検索順序
    - ビルトインモジュール
    - sys.module
    - sys.path
4. ModuleNotFoundErrorの傾向と対策
    - ModuleNotFoundErrorのよくある原因
    - 具体的なエラー例
    - 解決までのケーススタディ
5. まとめ:
    - トークの振り返り
    - 公式ドキュメントの紹介</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/9TKP3P/</url>
            <location>track 5</location>
            
            <attendee>Toshifumi Tsutsumi</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8WUUWU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8WUUWU</pentabarf:event-slug>
            <pentabarf:title>Keynote - Through the looking glass: 10 years of Python Organizing Lessons and Tribulations</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T102000</dtstart>
            <dtend>20231028T112000</dtend>
            <duration>010000</duration>
            <summary>Keynote - Through the looking glass: 10 years of Python Organizing Lessons and Tribulations</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/8WUUWU/</url>
            <location>track 1</location>
            
            <attendee>Lorena Mesa</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KKELHA@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KKELHA</pentabarf:event-slug>
            <pentabarf:title>Beaming up to the flow!</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T114500</dtstart>
            <dtend>20231028T121500</dtend>
            <duration>003000</duration>
            <summary>Beaming up to the flow!</summary>
            <description>Streaming data processing is a type of data processing that deals with data that is continuously generated and cannot be stored in its entirety. This type of data is often generated by sensors, machines, and other devices that collect data in real time. Streaming data processing is a challenging problem because it requires algorithms that can process data quickly and efficiently, while also being able to handle changes in the data stream.

In this talk, the speaker will start with an introduction to streaming data processing, including the different types of streaming data and the challenges of processing streaming data. After that, the speaker will discuss Python libraries for streaming data processing, such as Apache Beam, and how it helps solve the issue. The speaker will also highlight a case study of streaming data processing, such as real-time fraud detection. Finally, the session will end with answering audience questions.

After this talk, the audience will be able to:
- Understand the basics of streaming data processing
- Understand the characteristics and challenges of streaming data
- Use Python libraries for streaming data processing
- Apply streaming data processing to real-world problems</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/KKELHA/</url>
            <location>track 1</location>
            
            <attendee>Thu Ya Kyaw</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>C7HGZS@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-C7HGZS</pentabarf:event-slug>
            <pentabarf:title>Debugging and Troubleshooting Python Applications: Leveraging Visibility and Observability to Solve Problems Faster</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T133000</dtstart>
            <dtend>20231028T140000</dtend>
            <duration>003000</duration>
            <summary>Debugging and Troubleshooting Python Applications: Leveraging Visibility and Observability to Solve Problems Faster</summary>
            <description>In this session, we will  understand the role of visibility and observability in Python programming, and how these tools can help developers debug and troubleshoot their applications by introducing various techniques and tools for monitoring and observing Python applications, including metrics, logging, and tracing, and discuss how they can be used to gain insight into the performance and behavior of these systems.


We will also discuss common challenges and pitfalls in implementing visibility and observability in Python, and provide best practices and strategies for overcoming these obstacles. For example, we will discuss the importance of defining clear metrics and logging standards, and the challenges of implementing these tools in distributed and asynchronous systems.


Throughout the talk, we will provide real-world examples and case studies of successful implementations of visibility and observability in Python, and the benefits they have provided to organizations and teams. We will also provide guidance and resources for developers who are looking to implement these tools in their own applications.


In conclusion, visibility and observability are essential tools for debugging and troubleshooting Python applications. By providing insight into the inner workings of these systems, these tools can help developers identify and fix problems more quickly and efficiently, ensuring that their applications are reliable and performant. By implementing these tools and following best practices, Python developers can improve the performance and reliability of their applications, and deliver a better experience to their users.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/C7HGZS/</url>
            <location>track 1</location>
            
            <attendee>Neeraj Pandey</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>AZPMHH@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-AZPMHH</pentabarf:event-slug>
            <pentabarf:title>Unleashing the Power of LIDAR with Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T141000</dtstart>
            <dtend>20231028T144000</dtend>
            <duration>003000</duration>
            <summary>Unleashing the Power of LIDAR with Python</summary>
            <description>LIDAR technology, capable of producing highly accurate 3D representations of the physical world, has revolutionized a broad spectrum of industries, from autonomous vehicles and robotics to geographical mapping and archaeology. Yet, the potential of LIDAR can only be harnessed through efficient data processing and analysis methods, and this is where Python steps in.

In this talk, we will first provide a brief introduction to LIDAR and its significance in today&#x27;s technological landscape. We will then delve into the vast Python ecosystem and its capabilities for handling LIDAR data, discussing key Python libraries such as PDAL (Point Data Abstraction Library), PyLidar, and others that facilitate the processing and visualization of point cloud data.

The following key points will be covered:

-Overview of LIDAR technology and its applications
-Introduction to point cloud data and its challenges
-Python tools and libraries for LIDAR data processing
-Case studies demonstrating real-world usage of Python in LIDAR data analysis
-Future trends in LIDAR data processing with Python

Attendees will walk away with a deeper understanding of the power of Python in processing complex LIDAR data, and the knowledge to utilize Python tools to kickstart their journey in the world of LIDAR technology.

Whether you&#x27;re a data scientist exploring new data types, a Python enthusiast keen on learning its applications in cutting-edge technology, or an industry professional looking to leverage LIDAR data, this talk will shine a light on the path ahead. Join us as we illuminate the future with LIDAR and Python.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/AZPMHH/</url>
            <location>track 1</location>
            
            <attendee>Phillip Andrew Espina</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YLPNET@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YLPNET</pentabarf:event-slug>
            <pentabarf:title>Real²-World Video Quality Enhancement</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T152000</dtstart>
            <dtend>20231028T155000</dtend>
            <duration>003000</duration>
            <summary>Real²-World Video Quality Enhancement</summary>
            <description>In this thriving AI era, groundbreaking research and technologies emerge constantly. The Computer Vision revolution sparked the AI movement with milestones like AlexNet in 2012. However, many academic codebases lack the complexity and real-world challenges of industry data. Python, a driving force in AI, is often used for research implementation but falls short in integrating cutting-edge algorithms into complete video pipelines.

Join us as we share our experiences, experiments, and insights applying state-of-the-art video enhancement research to premium content. We&#x27;ll delve into the challenges faced when bridging academic Python codebases, research datasets, real-world video content, and video processing pipelines. 

Explore:
    - Types of video quality enhancement research and their significance
    - The gap between SOTA video research and the industry
        - Python codebase considerations
        - Handling diverse video datasets effectively
        - Optimizing video processing pipelines
    - Strategies to narrow the gap and achieve seamless integration
    - Engaging demonstrations showcasing enhanced videos across various domains

Don&#x27;t miss this enlightening session where we unravel the complexities of implementing advanced video research and explore ways to revolutionize the industry with Python.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/YLPNET/</url>
            <location>track 1</location>
            
            <attendee>Shuen-Huei Guan</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VZ33RX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VZ33RX</pentabarf:event-slug>
            <pentabarf:title>Automating Victory: Beating browser games with accessible Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T160000</dtstart>
            <dtend>20231028T163000</dtend>
            <duration>003000</duration>
            <summary>Automating Victory: Beating browser games with accessible Python</summary>
            <description>Even though many beginner programmers are motivated by solving day-to-day problems, many tutorials are disconnected from the real world. Automation is easy when inputs and outputs are consistent and locally stored, but how do you handle situations where that’s not the case? Using Python to automate beating a browser game is a great example of a real-world problem that’s uniquely hard to solve without Python libraries. The steps for solving this problem as a human map one-to-one with the steps for solving it programmatically and each step gives a simple and useful example of key automation libraries. Beyond highlighting some automation examples, I&#x27;ll also talk about factors that led to this project&#x27;s success rather than staying an eternal work-in-progress.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/VZ33RX/</url>
            <location>track 1</location>
            
            <attendee>Jon Gaul</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QWDKWX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QWDKWX</pentabarf:event-slug>
            <pentabarf:title>Sponsor LT (KAKEHASHI) Pythonでスナップショットテスト</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T164000</dtstart>
            <dtend>20231028T164500</dtend>
            <duration>000500</duration>
            <summary>Sponsor LT (KAKEHASHI) Pythonでスナップショットテスト</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/QWDKWX/</url>
            <location>track 1</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8ZJQBC@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8ZJQBC</pentabarf:event-slug>
            <pentabarf:title>Sponsor LT (Findy) MLOps導入とGPT活用ができるML組織になってきた話</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T164500</dtstart>
            <dtend>20231028T165000</dtend>
            <duration>000500</duration>
            <summary>Sponsor LT (Findy) MLOps導入とGPT活用ができるML組織になってきた話</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/8ZJQBC/</url>
            <location>track 1</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3SLJAU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3SLJAU</pentabarf:event-slug>
            <pentabarf:title>Sponsor LT: HENNGE</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T165000</dtstart>
            <dtend>20231028T165500</dtend>
            <duration>000500</duration>
            <summary>Sponsor LT: HENNGE</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/3SLJAU/</url>
            <location>track 1</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BKJDRV@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BKJDRV</pentabarf:event-slug>
            <pentabarf:title>PyCon APAC 2023のWi-Fiを支える技術</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T165500</dtstart>
            <dtend>20231028T170000</dtend>
            <duration>000500</duration>
            <summary>PyCon APAC 2023のWi-Fiを支える技術</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/BKJDRV/</url>
            <location>track 1</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>UAYG3F@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-UAYG3F</pentabarf:event-slug>
            <pentabarf:title>Let&#x27;s implement useless Python objects</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T114500</dtstart>
            <dtend>20231028T121500</dtend>
            <duration>003000</duration>
            <summary>Let&#x27;s implement useless Python objects</summary>
            <description>The Python objects implemented in this presentation are not useful at all.
However, implementing completely useless objects will give you a better understanding of Python data types.
You will then be able to implement useful objects.

There are two topics covered in this presentation.

The first is understanding what happens behind the scenes of the len() function, the in operator, and the for statement.
For example, if you pass an object ``obj`` to the ``len()`` function, the result of ``len(obj)`` will be ``obj.__len__()``.
In other words, if you screw up the implementation of ``obj.__len__()``, the result of ``len(obj)`` will also be screwed up.
You will understand what Python does behind the scenes, why you can create useless objects, and how to implement objects that behave correctly.

Second, you will understand how to use the abstract base classes in ``collections.abc``.
Python&#x27;s built-in containers include lists, tuples, dictionaries, and sets.
And the built-in containers, simply put, consist of the abstract base classes ``Sized``, ``Container`` and ``Iterable`` in ``collections.abc``.
If you try to implement a useless object and implement it in an absurd way, you will not be able to use it properly.
Using the abstract base class, you can create useless objects whose behaviour is absurd, but which also work with existing Python objects.
Through this experience, you will learn how to use abstract base classes and how to create your own containers correctly.

The basic agenda is as follows

- Preliminaries: let&#x27;s create a totally useless object.
- Basics: start with ``Sized``, ``Container`` and ``Iterable``.
  - ``ElasticSized``: an object that changes the return value of the ``len()`` function each time it is executed.
  - ``ForgottenContainer``: an object where the result of the in operator changes each time it is executed.
  - ``ShuffledIterable``: An object whose ``for`` statement changes the result each time it is executed.
- Applications: Uncontrolled containers.
  - ``UncontrolledSequence``: An uncontrolled sequence.
  - ``MisprintedDictionary``: A misprinted dictionary.
  - ``CrowdSet``: A crowd set

本発表で実装するPythonオブジェクトはまったく役に立ちません。
しかし、まったく役に立たないオブジェクトを実装すると、Pythonのデータ型の理解が深まります。
そして、役に立つオブジェクトが実装できるようになります。

本発表で扱うテーマは2つあります。

まず、len()関数やin演算子、for文の裏側で何が起きているのかを理解することです。
例えば、オブジェクト``obj``を``len()``関数に渡した場合、``len(obj)``の結果は``obj.__len__()``を返します。
つまり、``obj.__len__()``の実装を滅茶苦茶にすれば、``len(obj)``の結果も無茶苦茶になります。
なぜ役に立たないオブジェクトが作れるのか、そして、どうすれば正しい振る舞いをするオブジェクトが実装できるのかを通して、Pythonが裏側で処理していることを理解します。

2つ目は、``collections.abc``にある抽象基底クラスの使い方を理解することです。
Pythonの組み込みコンテナとしてリスト、タプル、辞書、集合があります。
そして、組み込みコンテナは、簡単に言えば``collections.abc``にある抽象基底クラス``Sized``、``Container``、``Iterable``からなります。
役に立たないオブジェクトを実装しようとして無茶苦茶に実装しても正しく使えません。
抽象基底クラスの助けを借りることで、振る舞いは無茶苦茶なのに既存のPythonオブジェクトにも協調する役に立たないオブジェクトを作ります。
その経験を通して、抽象基底クラスの使い方や正しい自作コンテナの作り方を学ぶことができます。

基本的なアジェンダは以下の通りです。

- 前説：まったく役に立たないオブジェクトを作ろう
- 基本編：``Sized``、``Container``、``Iterable``から始めよう
  - ``ElasticSized``： 実行するたびにlen()関数の返り値が変化するオブジェクト
  - ``ForgottenContainer``： 実行するたびにin演算子の結果が変化するオブジェクト
  - ``ShuffledIterable``： ``for``文の実行結果が毎回変わるオブジェクト
- 応用編： 変わり果てたコンテナたち
  - ``UncontrolledSequence``： 無秩序なシーケンス
  - ``MisprintedDictionary`` 乱丁した辞書
  - ``CrowdSet``： 烏合の集合</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/UAYG3F/</url>
            <location>track 2</location>
            
            <attendee>Hayao Suzuki</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VNQKHW@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VNQKHW</pentabarf:event-slug>
            <pentabarf:title>Parallel code with Python 3.12 sub-interpreters</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T133000</dtstart>
            <dtend>20231028T140000</dtend>
            <duration>003000</duration>
            <summary>Parallel code with Python 3.12 sub-interpreters</summary>
            <description>Sub-Interpreters are a new feature in Python 3.12, scheduled for release in October/November 2023. Sub-Interpreters each have their own Global Interpreter Lock (GIL) meaning that you can execute code in parallel on multiple CPU cores without using multiple processes. In this talk, we will explore what parallel computation is, why it (was) hard in Python and how sub-interpreters solve that problem. We will show 3 working applications using sub-interpreters.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/VNQKHW/</url>
            <location>track 2</location>
            
            <attendee>Deleted User</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>EFRGJM@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-EFRGJM</pentabarf:event-slug>
            <pentabarf:title>Reformating your code without AI - let&#x27;s see how a formatter work</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T141000</dtstart>
            <dtend>20231028T144000</dtend>
            <duration>003000</duration>
            <summary>Reformating your code without AI - let&#x27;s see how a formatter work</summary>
            <description>Recently year there are AI agents that pops up in the market saying that they can help you to write code. However, there are tools out there that have been used over decades that can help us write better codes - the auto formats like Black and PyBetter that can refactor your code into nicer-looking ones. In this talk, we are going to explore how auto-formators analyse and manipulate the CST of your code to make it nicer.

First, we will introduce what is an Abstract Syntax Tree (AST) and a Concrete Syntax Tree (CST). Next, we will talk about libcst and how it analyses the code and express the CST of your code as Python objects. Then, we explore how we can use the match method provided and modify our code if the logic matches. By the end of it, the auto-formators would not be a mystery for the audience anymore as we now understand the inner working of it.

## Outline

- Introduction: What is AST and what is CST, and what are the differences (5 mins)
- Introducing libcst: example codes (5 mins)
- Matching CST patterns: example of doing it with libcst 5 mins)
- How auto-formatter works (10 mins)
- Conclusions (5 mins)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/EFRGJM/</url>
            <location>track 2</location>
            
            <attendee>Cheuk Ting Ho</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>XEGZUD@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-XEGZUD</pentabarf:event-slug>
            <pentabarf:title>Comparison of Packaging Tools in 2023</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T152000</dtstart>
            <dtend>20231028T155000</dtend>
            <duration>003000</duration>
            <summary>Comparison of Packaging Tools in 2023</summary>
            <description>## Background of this talk

I wrote and posted an article in January 2023 (written in Japanese; the translated title is &quot;Why don&#x27;t you use just pip with venv for Python package management?&quot;)
I received more likes and felt surprised and happy. There might also be a demand for a sequel-like article.


## Target Audiences

I will this talk for those wondering which package management tools to use.

Especially:

- Library or framework developers
- Web Developers
- Automation Script developers

## Motivation and Objectives

Which of the following is the best option? [poetry](https://python-poetry.org/), [pipenv](https://pipenv.pypa.io/en/latest/), [pdm](https://pdm.fming.dev/latest/), [hatch](https://hatch.pypa.io/latest/) [pip-tools](https://github.com/jazzband/pip-tools), or just venv and pip? What is the best Python package and dependency management tool today?

The environment around these tools is changing dramatically; the adoption of several PEPs, including PEP [621](https://peps.python.org/pep-0621/), [517](https://peps.python.org/pep-0517/), and [660](https://peps.python.org/pep-0660/).

I will compare pros / cons and propose three use cases; based on several years of experience following Python package specifications.

### Topics not covered

* Each detail of the PEPs
* Specifications and implementations of these tools

## Planned Outline

1. Self-introduction, Table of Contents
2. Introduction:
    1. Background, Motivations
    2. Target Audiences of this Talk
    3. List of Packaging tools to compare in this Talk
3. Pros / Cons for each tools:
    1. [pip](https://pip.pypa.io/en/stable/index.html) (with venv)
    2. [pipenv](https://pipenv.pypa.io/en/latest/)
    3. [poetry](https://python-poetry.org)
    4. [pdm](https://pdm.fming.dev/latest/)
    5. [pip-tools](https://pip-tools.readthedocs.io/en/latest/)
    6. [hatch](https://hatch.pypa.io/latest/)
4. What is the best tool? (In some use cases)
    1. Case 1: Library / Framework Developing
    2. Case 2: Web Application Developing
    3. Case 3: Automation Script Developing
5. Summary
6. (Appendix) About the [rye](https://rye-up.com/)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/XEGZUD/</url>
            <location>track 2</location>
            
            <attendee>Peacock</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LZCKR9@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LZCKR9</pentabarf:event-slug>
            <pentabarf:title>The Best of Python: A Review of Some of its Slickest Features</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T160000</dtstart>
            <dtend>20231028T163000</dtend>
            <duration>003000</duration>
            <summary>The Best of Python: A Review of Some of its Slickest Features</summary>
            <description>In this talk, we will discuss the following Python features:
- Decorators
- Context managers
- List Comprehensions
- Magic Methods
This talk will break down each topic with code examples so that newcomers can understand these more advanced concepts and folks who have experience with Python can get a refresher on how they work.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/LZCKR9/</url>
            <location>track 2</location>
            
            <attendee>Uma Annamalai</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>FHRP3H@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-FHRP3H</pentabarf:event-slug>
            <pentabarf:title>メモリプロファイラMemrayのススメ</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T114500</dtstart>
            <dtend>20231028T121500</dtend>
            <duration>003000</duration>
            <summary>メモリプロファイラMemrayのススメ</summary>
            <description>Memrayは、Python3.11のリリースマネージャーの「Pablo氏」が開発の中心にいる注目のツールです。

データ分析やシミュレーションを行う際に大きなデータを使うことがあります。その際のメモリ状態を見るのは重要です。NumPyなどのC拡張が使われているライブラリが確保するメモリの状態を見るのは難しいですが、今回紹介するMemrayはC拡張を含むPythonコードが実行されたメモリの状態を詳細にトレーシングします。
また、子プロセスを生成する `Celery` や `Gunicorn` などの状況も確認できます。

## トークの流れ

- メモリプロファイラとは
    - 必要性
    - 2つの手法を紹介
    - ツールの紹介
    - プロファイリングの難しさ
- Python用メモリプロファイラMemrayの紹介
- Memrayの基本的な使い方
    - プロファイルの実行
    - 結果の表示
    - 現状をライブで見る
- Pythonのコーディングによる違い
    - メモリの確保状況の違い
    - 実行時間の違いも見れる
- NumPyを使った確認
    - メモリ確保の可視化
    - C拡張でも状況がきちんとわかる
- 一歩進んだ使い方
    - Jupyter Integration を使う
    - with ステートメントで部分的に状態を見る
    - pytest limit でテストにメモリ制限を設ける</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/FHRP3H/</url>
            <location>track 3</location>
            
            <attendee>Manabu TERADA</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>HUBWPQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-HUBWPQ</pentabarf:event-slug>
            <pentabarf:title>Pythonアプリケーションのオブザーバビリティ強化</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T133000</dtstart>
            <dtend>20231028T140000</dtend>
            <duration>003000</duration>
            <summary>Pythonアプリケーションのオブザーバビリティ強化</summary>
            <description>本セッションはPythonアプリケーション開発者が、システムのオブザーバビリティを確保するために必要なことの概要と、それに必要な手続きを理解する上で、出発点となるセッションとなっています。すでに取り組んでいる開発者の方にとっても、理解を整理する良いきっかけとなることを期待しています。

本セッションは次のような構成を考えています。
* オブザーバビリティとはなにか
  * 定義について
* テレメトリーの種類について
  * アプリケーション開発者の作業（計装）について
* OpenTelemetryの紹介
  * プロジェクト概要
  * Pythonでの利用方法
  * Pythonならではの自動計装
* サービスレベル目標について
  * 定義
  * 活用方法

本セッションを終える頃には、システムにオブザーバビリティが必要であること、そしてそのためにはアプリケーション開発者の協力が不可欠であること、そしてひいてはそれがアプリケーション開発の速度を早め、システムのユーザーに対する信頼性を高めることに繋がることが理解されると思います。</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/HUBWPQ/</url>
            <location>track 3</location>
            
            <attendee>山口能迪</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>FHTQDR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-FHTQDR</pentabarf:event-slug>
            <pentabarf:title>あなたのアプリケーションを本番システムで動かすために</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T141000</dtstart>
            <dtend>20231028T144000</dtend>
            <duration>003000</duration>
            <summary>あなたのアプリケーションを本番システムで動かすために</summary>
            <description>Webアプリケーションの開発と運用において必要な知識は多岐に渡ります。

フレームワークの使い方を覚えることはもちろん重要ですが、開発したアプリケーションは本番システムにリリースして実際に稼働することになります。  
そして、リリースしたシステムは継続的に運用していく必要があります。

このセッションでは、本番システムでの運用を見据えたアプリケーション開発に必要な知識や勘所を紹介します。

主に初級～中級のエンジニア向けを想定していますが、特に初学者の方にとっては中級へステップアップできる糸口になるかと思います。  
途中で紹介するサンプルコードにはDjangoを例に用いますが、特定のフレームワークに依存しない汎用的な内容となるように注意します。

- 実装
  - ORM
  - テスト
  - エラーハンドリング
- 設定ファイル
  - セキュリティ
  - 環境の使い分け
  - ロギング
- スケーラビリティ
- その他
  - コンテナ化</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/FHTQDR/</url>
            <location>track 3</location>
            
            <attendee>Shota Kokado</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>NGSQMV@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-NGSQMV</pentabarf:event-slug>
            <pentabarf:title>Pythonだけでクロスワードパズルを自動生成 〜自然言語処理・組合せ探索・Webアプリ開発〜</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T152000</dtstart>
            <dtend>20231028T155000</dtend>
            <duration>003000</duration>
            <summary>Pythonだけでクロスワードパズルを自動生成 〜自然言語処理・組合せ探索・Webアプリ開発〜</summary>
            <description>本講演では、ニュース記事を入力としてヒント付きクロスワードパズルを自動生成するWebアプリケーションを紹介する。アプリケーション内ではAPIの呼び出し、自然言語処理、組合せ探索、可視化などの複数の複雑な処理が実行されるが、全てPythonで実装されている。デモを交えたアプリケーションの紹介によって、Pythonの応用可能性、実現可能な処理の多様性、手軽さについて発信する。

本アプリケーションを作成した背景として、講師が所属するニュースメディア業界におけるパズルの役割の大きさがある。特にクロスワードパズルは人気のコンテンツであり、多くのニュースメディアが掲載している。「顧客に合わせたクロスワードパズルを自動で生成できれば、より顧客の満足度を高められる」という仮説のもと、本アプリケーションを作成した。

アプリケーションは複数のニュース記事を入力として、ニュース記事内の単語を含むクロスワードパズルと各単語のヒントを自動で出力し、表示する。入力するニュース記事を、顧客が閲覧した記事、朝刊の一面の記事、特定のジャンルの記事などに限定することで、様々なコンセプトのクロスワードパズルを自動生成できる。

アプリケーションは自然言語処理パートと探索パートに分かれている。自然言語処理パートではまず、記事情報を取得するAPIを呼び出してニュース記事の文章データを取得する。APIの呼び出し、認証にはrequestsライブラリを用いている。次に、クロスワードパズルの解として適切な単語とその説明を抽出する。この処理にはre, spacy, pykakasi, jaconvなどの多くの自然言語処理ライブラリを用いている。探索パートでは、自然言語処理パートで抽出された単語に加え、wikipediaなどの外部ソースの単語も入力として、矛盾の無いクロスワードパズルを生成する。この生成には深さ優先探索の一種であるバックトラッキングをベースとしたアルゴリズムが採用されており、ニュース記事から抽出された単語を多く含むクロスワードパズルが生成される。アルゴリズムは学術論文を参考に、本アプリケーションの設定に合わせて変更したものをPythonで実装した。アプリケーション全体はPythonのWebアプリケーション作成フレームワークであるStreamlitによって実装されている。クロスワードパズルのサイズや取得するニュース記事のジャンルなどのパラメーターを簡単に変更でき、クロスワードパズルの生成過程をインタラクティブに表示できる。

開発における課題として、1. 多様な処理を実装する必要がある 2. アプリケーションの実装に割くことのできる時間が限られている という2点があった。Pythonのみでアプリケーションを実装することで、これらの課題を解決した。1点目については、Pythonの豊富なライブラリを活用して対処した。全ての処理を同一言語で記述することは、処理の集約が簡単になるというメリットもある。2点目については、Streamlitを用いることで手軽にアプリケーションを作成した。可視化までの実装期間を短くすることで、効率的にフィードバックを得て改善できた。

発表の構成は以下の通りである。導入では、発表の全体像・目的とアプリケーションを作成した背景・モチベーションについて説明した後、アプリケーションの概要をデモを交えながら紹介する。次に、アプリケーションのアーキテクチャと内部で実行されている処理について、関連するPythonライブラリを中心に解説する。そして、アプリケーション開発の開発者体験について、Pythonのみで開発した感想、振り返りを中心に紹介する。

導入（2min）
- 自己紹介
- 発表の全体像・目的
アプリケーションの概要（10min）
- デモンストレーション
- 作成した背景・モチベーション
- アプリケーションの説明
アプリケーションの詳細（9min）
- アプリケーションのアーキテクチャ
- それぞれの処理について
  - API呼び出し
  - 自然言語処理
  - 組合せ探索
- Webアプリケーションについて
開発者体験（4min）
- Pythonのみでの開発について
  - ライブラリの豊富さ
  - 手軽さ
  - コミュニケーションの取りやすさ
- 今後の展望
- まとめ</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/NGSQMV/</url>
            <location>track 3</location>
            
            <attendee>馬嶋海斗</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ENA9YT@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ENA9YT</pentabarf:event-slug>
            <pentabarf:title>FinTechの現場でバリバリ活躍するFastAPIの理想と現実</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T160000</dtstart>
            <dtend>20231028T163000</dtend>
            <duration>003000</duration>
            <summary>FinTechの現場でバリバリ活躍するFastAPIの理想と現実</summary>
            <description>FastAPIの人気が日に日に増している昨今ですが、まだまだ「他のフレームワークでいいじゃん」「本当に本番投入して大丈夫？」など様々な思いで導入をためらっている方も多いかと思います。
理想的な姿はあれど、現実的には理想を追い過ぎると準備やメンテナンスのコストが高すぎうまくいかないこともあります。そのため、ある程度の妥協をして開発・運用していくことになりますが、”コスパ”のいい塩梅をお届けします。

私は、日頃FinTechというミッションクリティカルなドメインにおいてFastAPIをかれこれ２年以上運用しており、その現場からの開発の現実を紹介します。これならFastAPIを実務で使えそうだな、という実感を抱いて帰っていただきたいと思っています。
同じ思いで、「動かして学ぶ！Python FastAPI開発入門」という本を今年出版しました。本では体系的に学べるようにするため盛り込めなかったTipsもいくつかあり、このセッションでも少し触れていく予定です。

【トーク内容】

- 前半（基礎編）：FastAPIの良いところをサクッと学習
　- 想定するオーディエンス
　　- FastAPIを使ってみたいけどまだトライできていない方
- 後半（応用編）：FastAPIが「FinTech」「スタートアップ」でどう使われているかの一例をご紹介
　- 想定するオーディエンス
　　- FastAPIに入門してみたけど、業務で本番環境への投入までには至っていない方
　　- FastAPIを本番環境で使っているが、FinTechでどう使われているか裏側を知ってみたい方

【アジェンダ】

- 基礎編
　- どんなフレームワーク？
　- FastAPIはどう動いているか？
　- ポイント１：型安全
　- ポイント２：Swagger UIの自動生成
　- ポイント３：高速
- 応用編
　- 金融でPythonって大丈夫なの？
　- アーキテクチャの紹介
　- 型ヒント
　- Tips：数値計算
　- Swagger UI
　- 非同期化
　- Tips：エラーハンドリング</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/ENA9YT/</url>
            <location>track 3</location>
            
            <attendee>Sho Nakamura</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QEHREX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QEHREX</pentabarf:event-slug>
            <pentabarf:title>Pythonで一歩踏み出すバイナリの世界</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T114500</dtstart>
            <dtend>20231028T121500</dtend>
            <duration>003000</duration>
            <summary>Pythonで一歩踏み出すバイナリの世界</summary>
            <description>コンピュータの世界はゼロとイチで成り立っています。
この文章もPythonのロゴ画像もみなさんが書いているプログラムもすべてゼロとイチで表現されています。

ということはみなさん知っているでしょう。  
しかし、そのことを意識したことがなかったり、「バイナリ」や「バイト列」という言葉に苦手意識を感じる方も多いのではないでしょうか。

本セッションでは、Pythonの対話モードやprint()、structモジュールなどを使ってバイナリの世界を覗いてみます。
より具体的にはPythonで書いたソースコードやデータベースファイルなどを対象に、その見方のコツやフォーマット仕様書を理解するために必要な用語を解説します。

バイナリに慣れるとより深くコンピュータを知ることができ、目の前の世界が一気に広がります。
本セッションを通じて、その最初の一歩を踏み出しましょう。</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/QEHREX/</url>
            <location>track 4</location>
            
            <attendee>Rei Suyama</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>G3LDSG@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-G3LDSG</pentabarf:event-slug>
            <pentabarf:title>自作パケット処理系の性能測定と可視化&amp;改善のPDCAを回して最強のパケット処理系の作り方を学ぼう</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T133000</dtstart>
            <dtend>20231028T140000</dtend>
            <duration>003000</duration>
            <summary>自作パケット処理系の性能測定と可視化&amp;改善のPDCAを回して最強のパケット処理系の作り方を学ぼう</summary>
            <description>## 背景とモチベ
- 弊社ではフルMVNO事業をやっており、その中のPGW-Uと呼ばれるインターネットに出るための自作パケット処理系の通信効率の性能を上げることが求められていました
- そのためにpython製のツールとライブラリを駆使して計測し高速化をしました
## 話す内容
- 私たちは、XDPと呼ばれるeBPFを使った高速パケット処理技術を使って実装しています
- 性能試験を通した改善プロセスでは、負荷試験のパケット生成・テスト結果の記録・メトリックの分析など多くの場面で Python を活用しています
### それぞれの場面での活用事例を紹介します
- scapy で TRex のパケット生成にモバイル網で使うプロトコルのパケットを追加しました
- 性能試験のテスト完了後、性能指標を TRex から取得し Pushgateway で記録しました
- Jupyter Lab 上で Grafana 経由の CSV ファイルを pandas.DataFrame に加工し、可視化や評価を行いました

### 性能試験を通じた改善例
- 大量のエントリを流した際にメモリ使用量が大きくなるとコケる問題を発見して修正した事例
- パケットのcheck sumの処理で遅くなったので処理性能を向上させるためにchecksum機能をoptoutする機能を追加した事例
- 特定のパケットに対してマルチコア対応がされていないことを発見して、IntelのNICドライバに機能を追加してマルチコア対応させた。その結果$(nproc| CPUコア数)倍の効率アップができた事例</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/G3LDSG/</url>
            <location>track 4</location>
            
            <attendee>Takeru Hayasaka</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>XRLR98@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-XRLR98</pentabarf:event-slug>
            <pentabarf:title>Python x 法学〜日本の法のテキスト分析・地図可視化への試み〜</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T141000</dtstart>
            <dtend>20231028T144000</dtend>
            <duration>003000</duration>
            <summary>Python x 法学〜日本の法のテキスト分析・地図可視化への試み〜</summary>
            <description>法律は誰にとっても重要な存在でありながら、その難解さや複雑さから実際の条文を眺めたり意味を考えたりする人は法律家を除けばまれでしょう。しかし法律こそがあなたが危機に陥ったときに助けてくれたり、あなたが何かに挑戦しようとしたときにサポートをしてくれる存在の正体です。こうした法律を分析・可視化することで聴衆に法律にまつわるテーマを分かりやすく伝える試みは社会的意義が大きいと考えます。
  
この発表ではPythonを駆使して法律データをテキスト分析したり、法律を地理空間情報として地図に可視化したりすることによって、法律に見え隠れする日本の歴史や日本の法律の特徴などを聴衆の全員に分かりやすく示します。

発表では、国立国会図書館の日本法令索引データを用い、テキスト分析（自然言語処理）と地理データの分析の２つに焦点を当てます。

本発表のアウトラインは以下です。
・日本の法令を知る
・データを取得する
・テキスト分析
・地理データとは
・地図で可視化する

こうしたテーマは計量法学（ジュリメトリックス）の一部とされます。しかし、計量法学は日本ではまだ発展途上です。 Pythonist やフロントエンドエンジニアが法学のドメイン知識に触れることで、学術的にも社会的にも意義のある新たな発想が生まれる機運になるかもしれません。また、可視化によって法律を分かりやすく伝える試みは、法学の専門知識の大衆へのコミュケーションとしても価値がある営みだと考えます。

日本語スライド：
https://www.docswell.com/s/olivine-ryo/5M13YL-20231028

英語スライド（機械翻訳）：
https://www.docswell.com/s/olivine-ryo/5DE738-20231028-en</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/XRLR98/</url>
            <location>track 4</location>
            
            <attendee>Ryo Namiki</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MH78PW@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MH78PW</pentabarf:event-slug>
            <pentabarf:title>ハイパーパラメータ最適化フレームワークOptunaの最新機能紹介</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T152000</dtstart>
            <dtend>20231028T155000</dtend>
            <duration>003000</duration>
            <summary>ハイパーパラメータ最適化フレームワークOptunaの最新機能紹介</summary>
            <description>発表は以下のような流れを予定しています。

1. 自己紹介
2. 発表のアジェンダ
3. ハイパーパラメータ最適化フレームワークOptunaの紹介
    * Optunaの基本的な使い方
    * Optunaの利用事例紹介
4. Optunaの最新機能：Human-in-the-loop最適化
    * Optunaがこれまで扱うことができなかったユースケースの紹介
    * Optuna開発チームが力を入れて開発を進めている最新機能「Human-in-the-loop最適化」の紹介
    * LLMやStable Diffusionに適用するデモの紹介 (実際に動作している様子を画面共有しながらお話する予定です)
5. その他の最新機能の紹介
    * Optunaの最新リリース v3.2 やそれ以降のリリースで導入された最新機能をいくつかピックアップし紹介します。
    * なお、PyCon APACの開催までに2つのOptunaリリースが予定されているため、その時点で最新の機能を紹介させていただきたいなと思っています。そのため、ここで紹介する内容は一部未定となっています。
6. まとめ
    * 本セッションでお話したことを振り返り
    * みなさまへのお願い：OptunaおよびHuman-in-the-loop最適化を様々な問題に応用して利用事例を発信していただければ幸いです。</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/MH78PW/</url>
            <location>track 4</location>
            
            <attendee>Masashi Shibata</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MBUFSH@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MBUFSH</pentabarf:event-slug>
            <pentabarf:title>Pythonのワークフローエンジン Apache Airflowを用いた大規模データパイプライン構築と改善</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T160000</dtstart>
            <dtend>20231028T163000</dtend>
            <duration>003000</duration>
            <summary>Pythonのワークフローエンジン Apache Airflowを用いた大規模データパイプライン構築と改善</summary>
            <description>現代のビジネスでは、データの活用が企業活動の効率化や新たな価値創造に対する鍵と広く認識されています。データは、膨大な情報量から洞察を引き出し、戦略的意思決定を支援します。特に、ECサイトの運営にはデータ量の増加に対応するために、大規模なデータパイプラインの構築が不可欠となっています。

本公演では、商品情報の構築を題材に、検索システムのマイグレーションと、データの表示に関わる業務利用に対するデータ加工とAPIの提供を行った事例を紹介します。構築する中で、複雑なデータフローを管理し、一貫性を保つための要点を詳細に解説し、信頼性が高く効率的な実行環境の設計方法を共有します。機能要件/非機能要件がある中で着目して改善していった過程も事例を交えて共有します。

また、データパイプラインはGoogle CloudのCloud ComposerというApache Airflowのマネージドサービスを利用して構築しました。Airflowを用いてデータ処理のワークフローをより早く、よりロバストに構築する方法についても具体的に紹介します。

本公演を通じて、データ活用とその具体的な技術について深く理解し、ご自身のビジネス環境にどのように適用するかをイメージしていただけると幸いです。

* データ活用基盤とは
    * データ活用基盤の紹介
* データパイプラインの構築
    * データ活用基盤でのデータパイプラインの構築などを紹介
* Apache Airflowの紹介
* 事例紹介
    * データパイプラインを構築して改善していく方法
        * 事例を交えながら apache airflowでのデータパイプライン構築と改善の流れを紹介
    　* Google cloudのマネージドサービスCloud Composer の紹介
    * データパイプラインにて構築したデータのAPIでの公開
        * データ活用のデータをシステムで活かすためにAPIとして共有するときのノウハウを紹介
* まとめ</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/MBUFSH/</url>
            <location>track 4</location>
            
            <attendee>Masato Nakamura</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3ZKVLJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3ZKVLJ</pentabarf:event-slug>
            <pentabarf:title>Learn Python by contributing to open source</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T114500</dtstart>
            <dtend>20231028T120000</dtend>
            <duration>001500</duration>
            <summary>Learn Python by contributing to open source</summary>
            <description>This session explores the educational value of Python by engaging in open-source contributions. Discover how actively participating in open-source projects enhances learning, collaboration, and coding skills. Attendees will gain insights into the educational benefits of contributing to the Python community while making a tangible impact on real-world projects. Explore the synergistic relationship between Python, open source, and education, and empower yourself to become a proficient Python programmer through hands-on involvement in the open-source ecosystem.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/3ZKVLJ/</url>
            <location>track 5</location>
            
            <attendee>Ananya Nayak</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>XAPKCP@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-XAPKCP</pentabarf:event-slug>
            <pentabarf:title>DjangoRestFrameworkのリファクタリング、レガシーなコードの寿命を延ばすために</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T121000</dtstart>
            <dtend>20231028T122500</dtend>
            <duration>001500</duration>
            <summary>DjangoRestFrameworkのリファクタリング、レガシーなコードの寿命を延ばすために</summary>
            <description>私が関わった 10年近く稼働しているDjangoのプロジェクトを改修するために行ったことについて話したいと思います。
このプロジェクトではPython2系の頃からDjangoが使われてきてPython3へのアップデートやDjangoも3系へアップデートしていくなど長く使えているシステムとなっています。
しかし、かなりレガシーな箇所や意図不明な箇所も多く、そんなレガシーコードの一貫性を保ちながら徐々に改善をしてさらに使えるシステムとして改修をしていった話をしようと思います。

### ①Fat Controller問題
DjangoRestFrameworkでもAPIViewをメインに使っていたため、すべてのビジネスロジックがviewに書かれてしまうと言う欠点がありました。
それに対して行った解決策として Service層を導入した話をしようと思います。

### ②swagger
モバイルエンジニアとのやりとりはswaggerで行っていましたが、すべて手動で行っていたため、実体と全く合っていないという問題が発生していました。
そのため、自動でswaggerを生成する仕組みの導入しました

### ③requestのチェック
またswaggerに合わせてrequest bodyやクエリ文字列のチェックのためのSerializerを導入したことも話したいと思います。

### ④コードの一貫性を保ちながら変えていくこと
既存の(やや微妙な)コードとの一貫性を保ちながら徐々にリファクタリングを入れつつ新規の処理では可読性とコメントを意識しつつ直して行ったという経緯の話もしたいと思います

### ⑤テストについて
コードの寿命を延ばすためのテストコードで意識したこと、テスト全体の問題点と改善したこと(テストケースが多すぎてciで恐ろしい時間がかかる、subtestの導入、日本語テストケースの導入など)

### ⑥その他細かいtips
上記には当てはまらない細かい改善(テストの速度改善、pre-commitやblack、poetryの導入など)について述べていこうと思います。</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/XAPKCP/</url>
            <location>track 5</location>
            
            <attendee>YUUKI NAKAJIMA</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VYAE8G@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VYAE8G</pentabarf:event-slug>
            <pentabarf:title>How much data can we cram into 16G RAM with less budget?</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T133000</dtstart>
            <dtend>20231028T134500</dtend>
            <duration>001500</duration>
            <summary>How much data can we cram into 16G RAM with less budget?</summary>
            <description>To maximize data handling within a 16GB memory constraint using Python while minimizing costs, consider the following strategies:

* Sampling data and removing unused data: Working with representative data samples and discarding unnecessary data.

* Chunks and iterators: Processing data in smaller chunks and utilizing iterators to work incrementally.

* Memory-efficient data structures: Choosing data structures optimized for memory usage, such as numpy arrays or pandas dataframes.

* Using the data compression parquet format: Compressing data using the parquet format to reduce memory footprint.

* Parallelization: Leveraging parallel processing techniques to distribute the computational load across multiple cores or machines.

* Using databases: Employing database systems like SQLite or PostgreSQL to store and query large datasets efficiently.

* Distributed processing frameworks Dask, Spark, etc.: Utilizing frameworks like Dask or Spark for distributed processing and handling large-scale data.

Each approach has its own advantages and disadvantages in terms of performance, complexity, and setup. Learn how to choose a strategy that fits your specific use case, data characteristics, and available resources to make the most efficient use of limited memory while keeping costs low.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/VYAE8G/</url>
            <location>track 5</location>
            
            <attendee>Joeun Park</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3AFMSE@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3AFMSE</pentabarf:event-slug>
            <pentabarf:title>Digital TransformationをPythonを使って進めよう！</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T135500</dtstart>
            <dtend>20231028T141000</dtend>
            <duration>001500</duration>
            <summary>Digital TransformationをPythonを使って進めよう！</summary>
            <description>企業がデジタル化を進める中で、社内データの利用は一般化してきました。次のステップは、これらのデータを社会の動きと組み合わせることです。ここで重要となるのが、オープンデータの活用です。しかし、ビジネスに使いやすいオープンデータは限られています。そこで役立ちそうなオープンデータの紹介と、Pythonのエコシステムを用いてどのようにしてオープンデータを企業価値創造につなげるか、その方法と技術を提案します。

Pythonの使い方：
このプレゼンテーションでは、Pythonのエコシステムの様々なツールを使用します。

Google Colab: Pythonのコードをブラウザ上で書き、実行できるクラウドベースのJupyterノートブック環境です。Colabを使ってデータ分析のワークフローを共有し、視覚化します。

Panel: データの可視化とインタラクティブな探索を可能にする高レベルのパッケージで、ダッシュボードやアプリを作成します。Panelを使って動的なデータ可視化を作成し、分析結果を視覚的に表現します。

Plotly: 高度なインタラクティブなデータ可視化を可能にするライブラリです。Plotlyを用いて、データの特徴やパターンを視覚的に明確にします。

Pandas: データの前処理と探索的データ分析のためのツールです。Pandasを用いてデータのクリーニング、変換、集約を行います。

これらのツールを組み合わせて使用することで、データの前処理から可視化、分析、予測までの一連のデータサイエンスのワークフローを実現します。具体的な使用方法とコード例を紹介することで、オーディエンスがこれらのツールを自身のデータ分析タスクにどのように適用できるかを理解するのを助けます。

オーディエンスに伝えたいこと：
Pythonが企業のデジタルトランスフォーメーションを推進する強力なツールであることを理解してもらいたい。また、Pythonを用いて社内データと社会の動きを示すオープンデータを組み合わせることで、新たなビジネスインサイトを生み出し、企業価値を創造する可能性を示します。

タイムテーブル（15分）：

イントロダクション (2分)
デジタルトランスフォーメーションとPythonの役割について簡単に説明

データとPythonのエコシステム (3分)
日本企業のデジタル化とその中での社内データの重要性
企業価値の向上に使えるオープンデータの紹介
Pythonのエコシステム（Colab、Panel、plotly、pandas、sklearn）とその活用方法について概説

実例紹介と分析 (6分)
実際の気象データ、地下鉄のデータ、仮想売上データを用いた分析の紹介
これらのデータをPythonのエコシステムを用いてどのように分析し、価値を引き出すかを実演

コロナ禍の影響の観察と考察 (3分)
上記のデータに見られるコロナ禍の影響についての考察

まとめ（1分）
トーク内容をまとめる</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/3AFMSE/</url>
            <location>track 5</location>
            
            <attendee>hideyuki ogawa</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7XYCHB@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7XYCHB</pentabarf:event-slug>
            <pentabarf:title>情報収集を効率化する自然言語処理の活用方法 - PythonではじめるAwesomeリポジトリの作り方</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T142000</dtstart>
            <dtend>20231028T143500</dtend>
            <duration>001500</duration>
            <summary>情報収集を効率化する自然言語処理の活用方法 - PythonではじめるAwesomeリポジトリの作り方</summary>
            <description>発表資料（Speaker Deck）
https://speakerdeck.com/taishii/pycon-apac-2023

【タイムライン】
・導入（1分）
- 自己紹介
- 本発表について
- 本発表の目的

・情報収集の現状（3分）
- エンジニアが情報収集を行う頻度
- 情報過多による開発パフォーマンスへの影響
- 課題の整理、解決案の提案
- 実例：日本語NLPに関するAwesomeリポジトリ https://github.com/taishi-i/awesome-japanese-nlp-resources
- 実例：ChatGPTに関するAwesomeリポジトリ https://github.com/taishi-i/awesome-ChatGPT-repositories
- Awesome リポジトリとは？

・自然言語処理を活用した情報収集の効率化（8分）
- GitHub API を活用したデータ収集
- 必要な情報を見つけ出すテキスト分類
	- 大規模言語モデルを利用した Few-Shot 分類
	- 学習データを利用した事前学習モデルのファインチューニング
	- 大規模言語モデルの入力とするプロンプト
	- OpenAI API を利用したテキスト分類
	- Hugging Face に公開されているモデルを利用
	- テキスト分類の精度検証
- 情報をわかりやすく伝える多言語機械翻訳
	- OpenAI API を利用した多言語機械翻訳
- （参考）効率的に情報を探し出す検索・質問応答

・情報が自動的に集約される Awesome リポジトリ（2分）
- Awesome リポジトリの作り方
- ユーザーに価値のある情報の追加 
- 情報掲載作業の自動化
- Awesome リポジトリの完成

・まとめ（1分）
- 大規模言語モデル時代の情報収集</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/7XYCHB/</url>
            <location>track 5</location>
            
            <attendee>池田 大志</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>M9Q8EN@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-M9Q8EN</pentabarf:event-slug>
            <pentabarf:title>Internals of Generators</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T152000</dtstart>
            <dtend>20231028T153500</dtend>
            <duration>001500</duration>
            <summary>Internals of Generators</summary>
            <description>In this talk, we will try to better understand generators in Python. We&#x27;ll start from the beginning with iterators and make our way up to generators and how they&#x27;re being used in applications today. To further cement our understanding, we&#x27;ll look at how generators are implemented in Python&#x27;s most popular reference implementation, CPython.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/M9Q8EN/</url>
            <location>track 5</location>
            
            <attendee>Steph Samson</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7AXCMU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7AXCMU</pentabarf:event-slug>
            <pentabarf:title>Dodging Dependency Confusion In A Nutshell</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T154500</dtstart>
            <dtend>20231028T160000</dtend>
            <duration>001500</duration>
            <summary>Dodging Dependency Confusion In A Nutshell</summary>
            <description># What is it about?
Dependency confusion is a new attack vector that was discovered in early 2021 by the security researcher Alex Birsan, where he discovered that multiple big organizations such as Microsoft, Apple, and others, are vulnerable to this sort of software supply chain exploit.
The actual vulnerability resides in the fact that the developer makes a mistake in importing one or more of the packages to the source code, in that case, if an attacker has disclosure to the used packages, can search through package indexes (e.g. PyPI) and use that mistake in his favor, upload a malware to the index, which will be later imported to the affected piece of code.

# What&#x27;s the impact?
An attacker will have direct read and write permissions in the code, even worse, can perform other malicious activities, such as dumping the database, deleting files, disclosing sensitive information, and more...

# Small example
Suppose in a big project, a developer made a small typo and instead of importing the &quot;requests&quot; library he imported &quot;reqests&quot;. Suppose also that this &quot;reqests&quot; library is just imported but not used, so the developer won&#x27;t get any errors after running his code. If the attacker somehow can know about that, he will go to PyPI, and search for [reqests](https://pypi.org/search/?q=reqests), he will find that there&#x27;s no previously created package with that name, so he will create one on the index, that contains some malicious code, such as a reverse shell or just a simple fetcher that will help him dump everything from the backend of the infected project.

# Outline of the talk
In my talk, I will try to explain in simple terms what dependency confusion is, followed by some real-world examples of previously found vulnerabilities, in all different package indexes. This is going it be sort of a security awareness presentation so that developers should pay more attention to what they&#x27;re including in their code from the internet. I will try to follow these bullet points:
- introductory example
- PyPI overview
- What is a dependency?
- Typosquatting
- Dependency confusion
- Real-world scenarios of the vulnerability
- Best practices and ways to avoid</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/7AXCMU/</url>
            <location>track 5</location>
            
            <attendee>Khalil Lemtaffah</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VT7ZRQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VT7ZRQ</pentabarf:event-slug>
            <pentabarf:title>ご当地グルメマップを作ろう。</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20231028T161000</dtstart>
            <dtend>20231028T162500</dtend>
            <duration>001500</duration>
            <summary>ご当地グルメマップを作ろう。</summary>
            <description>トークの流れは以下の通りとなります。

※[追記:2023-09-24]当初予定の30分トークから15分へ変更となったため、時間に余裕があったら扱う部分は[付録]としています。

### ご当地グルメの情報はどこにあるか

* 地域の観光情報を探す
* そこの情報は機械可読性があるのかを考える

###  情報を収集する
* Webスクレイピングで収集する
* [付録]画像識別で加工を試みる

### マップの元となるデータを作る
* 情報を整理してファイルを作る
* [付録]地理情報を集める

### 旅行中に使うためのツール

* 巨人に乗る: Googleマイマップを使おう
* [付録]ポータブルに扱う: 印刷をする
* [付録]専用のWEBアプリを作ろう

### まとめ: みんなでご当地グルメマップを作ろう！

利用する技術と関連するサードパーティライブラリ、APIは以下になります。

* WEBスクレイピング: requests+beautifulsoup4 / [付録]selenium
* データ変換: csvモジュール
* [付録]画像識別: Google Cloud Vision
* [付録]WEBサービス: flet</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>15 Minute Talk</category>
            <url>https://pretalx.com/pyconapac2023/talk/VT7ZRQ/</url>
            <location>track 5</location>
            
            <attendee>Hiroshi Sano</attendee>
            
        </vevent>
        
    </vcalendar>
</iCalendar>
