PyCon Sri Lanka on 25th May 2023.Contact Us
Python is everywhere. It's running some of your favorite apps, it's used in companies worldwide, it even runs governments. Python has a massive impact, not only in the computing world, but the entire world. It has proved itself, whether you are an amateur programmer working on a hobby project, or a professional bootstrapping a startup.
PyCon Sri Lanka is the largest online conference for the Python community to meet and learn from each other. PyCon Sri Lanka is for Python enthusiasts of all experience levels, from new users to professionals.
Hosting the second large scale PyCon conference in Sri Lanka, we bring together several prominent speakers with vast experience in Python. The speakers are both international and local with specialized knowledge on Python and its applications. They will guide you on three Python tracks: Python in General, Python for Web, and Python in Data.
Dr. Patrick Kavanagh is an astrophysicist and software developer based at the Dublin Institute for Advanced Studies (DIAS). He is an expert in high-energy studies of supernova remnants, superbubbles and the hot interstellar medium.
Sangwon spent his early career in Silicon Valley as an engineer at several software startup companies, two of which were acquired by Informatica and Cisco IronPort. Based in Asia since 2008, he oversees a global software consultancy that has built successful digital products for companies across the US, APAC, and EMEA. Sangwon studied math at Oberlin College and has a MSc in computer science from the University of Chicago.
Stephan Pak is the Principal Solutions Architect at Favorite Medium. Previous to becoming an architect, he was a data engineer specializing in ETL and Datawarehousing. Currently he leads data projects in a wide variety of product spaces for various sized clients utilizing new emerging types of data stores in polyglot persistence configurations. His secondary / amature interests are in Natural Language Processing.
Reuven created one of the first 100 Web sites in the world just after graduating from MIT’s computer science department. He opened Lerner Consulting in 1995, and has been offering training services since 1996.Learn More
Reuven is a full-time Python trainer. In a given year, he teaches courses at companies in the United States, Europe, Israel, India, and China — as well as to people around the world, via his online courses.
Reuven created one of the first 100 Web sites in the world just after graduating from MIT’s computer science department. He opened Lerner Consulting in 1995, and has been offering training services since 1996.
In 2020, Reuven published “Python Workout,” a collection of Python exercises with extensive explanations, published by Manning. He’s currently working on “Pandas Workout,” a similar collection of exercises using the “pandas” library for data analysis.
Reuven lives in Modi'in, Israel with his wife and three children."
Bargava Subramanian is a trained statistician, data scientist and data product owner. He is currently building the next generation of AI and data products for the healthcare industry. He regularly mentors startups and teams in their data science journey. He is an ardent NBA fan. You can tweet to him at @bargava.Learn More
Bargava Subramanian is a trained statistician, data scientist and data product owner. He is currently building the next generation of AI and data products for the healthcare industry. He regularly mentors startups and teams in their data science journey. He is an ardent NBA fan. You can tweet to him at @bargava.
Senior Manager - Data Science @ EY (UK & Ireland) | Education Lead @ Women in AI Ireland | Blogger & Mentor | ❤ NLP
Senior Manager - Data Science @ EY (UK & Ireland) | Education Lead @ Women in AI Ireland | Blogger & Mentor | ❤ NLP
Rodrigo has always been fascinated by problem solving and that is why he picked up programming – so that he could solve more problems.Learn More
Rodrigo has always been fascinated by problem solving and that is why he picked up programming – so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog mathspp.com/blog, writing on Twitter @mathsppblog, and giving workshops and courses.
His main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate.
Thenuwan earned his Master’s in Transportation Systems from Technical University of Munich and his BSc (Hons) from University of Moratuwa. His master’s thesis was a part of the TUMCREATE global research initiative, where he was a member of the research team at Singapore. He is a DASCA™ certified Senior Big Data Analyst SBDA™ and has over 5 years of experience in academic research focusing on traffic simulation development, and automation of large-scale public transport model calibration, evaluate bus priority measures.Learn More
Thenuwan earned his Master’s in Transportation Systems from Technical University of Munich and his BSc (Hons) from University of Moratuwa. His master’s thesis was a part of the TUMCREATE global research initiative, where he was a member of the research team at Singapore. He is a DASCA™ certified Senior Big Data Analyst SBDA™ and has over 5 years of experience in academic research focusing on traffic simulation development, and automation of large-scale public transport model calibration, evaluate bus priority measures.
Haki is a software developer and a technical lead. He takes special interest in databases, web development, software design and performance tuning. Haki also writes about development and performance in his blog hakibenita.com.Learn More
Haki is a software developer and a technical lead. He takes special interest in databases, web development, software design and performance tuning. Haki also writes about development and performance in his blog hakibenita.com.
Sahan is affiliated to the UCL Centre for Artificial Intelligence currently contributing to several European research projects such as X5GON, AT2030 and HumaneAI Network. His research interests lie on the theme: “Leveraging Artificial Intelligence for Lifelong Education”. Before joining UCL, he worked in several research roles in the industry in cybersecurity and personalised advertising domains where he gained experience in user state modelling in a big data landscape.Learn More
Sahan is affiliated to the UCL Centre for Artificial Intelligence currently contributing to several European research projects such as X5GON, AT2030 and HumaneAI Network. His research interests lie on the theme: “Leveraging Artificial Intelligence for Lifelong Education”. Before joining UCL, he worked in several research roles in the industry in cybersecurity and personalised advertising domains where he gained experience in user state modelling in a big data landscape.
An independent developer and an open-source enthusiast with 15+ years of experience in software engineering.Learn More
An independent developer and an open-source enthusiast with 15+ years of experience in software engineering. Currently working as the tech lead in Lalco Holdings Pvt Ltd, Singapore/Laos. He possess solid foundation on software development skills and using python in daily basis for current projects. He used to develop software with C++ over 8 years and have experiece in Python programming more than 7 years. His core expertise is on Django and Django REST framework. He worked for LSEG Technology (former MillenniumIT), WIA Systems Ltd and Datafields pvt Ltd as my former employers.
Dulaj Disanayaka is a seasoned software engineer with an M.Sc. in Data Science. Throughout years, he has been handling various responsibilities related to developmentLearn More
Dulaj Disanayaka is a seasoned software engineer with an M.Sc. in Data Science. Throughout years, he has been handling various responsibilities related to development, architecture, as well as project management. He has a broad knowledge in both high performance computing as well as functional backend development in Python. He currently works as a Software Engineer at Stekz (NL) mainly working on architecture and development of Python backends.
Manik Fernando is a Senior Machine Learning Engineer at Surge Global where he is helping to build innovative products that leverage machine learning to solve business problems.Learn More
Manik Fernando is a Senior Machine Learning Engineer at Surge Global where he is helping to build innovative products that leverage machine learning to solve business problems. He has more than four years of experience in the machine learning and data science space. Manik graduated from the University of Colombo in 2014 with a BSc. in Physical Science and obtained his MSc. in Computer Science from the University of Moratuwa in 2020.
Chamath is a software Engineer at doWhile Group Scandinavia, in Sweden. He was an organizer in PyCon Sri Lanka 2022 and he has been working with python for the last 7+ years.Learn More
Chamath is a software Engineer at doWhile Group Scandinavia, in Sweden. He was an organizer in PyCon Sri Lanka 2022 and he has been working with python for the last 7+ years. He has special interest in web development, data structures and algorithms, software architecture and clean coding.
Manas is a Senior Python Developer with over ten years of experience in software engineering. His work focuses on Python backend developmentLearn More
Manas is a Senior Python Developer with over ten years of experience in software engineering. His work focuses on Python backend development, software design, and database management across various sectors, including Fintech, real estate solutions, and Ecommerce. He is also a member of the British Computer Society.
The sessions will be held on three parallel tracks: General, Python for Web and Python in Data.
The world of software engineering is undergoing radical change, software written in the classical computing style is rapidly giving way to those powered by AI/ML/Statistical Inference models. A key element in this transformation is the field of Data Engineering. In this presentation, we will discuss how data engineering is the key component in the success of AI/ML projects from both a business and technical perspective. We will survey new business and organizational needs for AI/ML solutions, and present core concepts and tools used to manage complex data transformation workflows with particular emphasis on the role of Python and Directed Acyclic Graphs.
With current advances in Software engineering, we’re going through multiple abstraction levels when developing solutions. So it’s easy to forget that we still have limited resources. Further, code performance has real-world implications. A few milliseconds of delay can mean a significant drop in the conversion rate. So code optimization is still a very relevant topic. Optimization also means how, when, and where you allocate your (developer) time optimally to optimize your code. This is where you hear a lot of words like Premature optimizations, Micro optimizations, etc. This talk will be focusing on micro-optimizations (the root of all evil). But we’re specifically talking about some good habits you and your team can develop so you will write non-ugly code. The main idea of doing this is that, without effort, you can write good enough code, so you won’t have to worry about micro-optimizations in the future.
Generative AI has taken over 2023. This talk is centered around how to access OpenAI's generative AI models (GPT3 and ChatGPT) and use them for this case of generating a profile summary based on the information you provide. It is surprising how the models respond to different elements in the prompt. Along with this, I will demonstrate how to build a basic Streamlit WebApp and parse PDFs using PDFPlumber to feed information to your webapp.
The amount of actionable data that is available for organisations has exploded in the last two decades. This explosion has led to a brand new opportunity in terms of harnessing this data to extract value to business. In this talk, the speaker describes how Apache Spark, a big data technology that has a Python programming interface, can be utilised to build big data products. The Speaker will lay the foundations to the topic by defining what big data is and how big data is created in the real world. Then he explains the architecture of Apache Spark and how Spark can be used to leverage distributed computing that is pivotal when working with giga/tera and peta-byte scale data. The basic API of PySpark, the python interface of Apache Spark will be presented with coding examples to demonstrate how to develop big data applications. Finally, the talk will conclude by giving a glimpse into Spark ML, the distributed machine learning package shipped with Apache Spark.
Modules are a key feature of Python, allowing us to easily reuse our own code and take advantage of publicly available modules from PyPI. It's a rare program that doesn't include at least one ""import"" statement. But what actually happens when we import a module? How does Python find our file? How does it decide whether it should even try to find our module? And after it finds our module file, how does Python load it into memory, assigning to its attributes?
In this talk, I'll walk you through what happens when you ""import"" a module into Python. The mechanism is surprisingly complex, in no small part because it has to take so many possibilities into consideration. We'll talk about finders and loaders, and about the many ways in which you can customize the module-loading mechanism if you find a need to do so.
If you've ever imported a module, then this talk will pull back the curtain a bit, helping you to understand what's happening under the hood.
Descriptors are one of those things that many don't even bother to learn because they look confusing. Thankfully for you, I figured out how descriptors work 20 minutes ago, so there is no one better prepared to teach you descriptors than someone who _just_ learned how they work. In this talk I will provide an example that shows how descriptors work and that will also motivate why they are useful and needed. By the time we are done, you will be able to implement descriptors in your code, use them for practical purposes and, most importantly, you will be able to deliver a talk just like mine! The talk will be easier to follow if you are familiar with how properties work (via the `@property` decorator).
The outline of the talk is as follows:
- using properties to implement getters for private attributes or attributes that are computed on the fly;
- using properties to implement setters for those same attributes;
- defining a bunch of similar properties;
- using descriptors to abstract away the pattern that the properties follow;
- descriptor `__get__`;
- descriptor `__set__`; and
- descriptor `__set_name__`.
The talk will start by going over the basics of properties, but it is does not provide a comprehensive introduction to Python properties. Rather, it is meant as a refresher for someone who knows how to implement and use a property."
Have you ever wondered why there is no switch-case statement in python and googled for it? If you did it after the python 3.10 release you might probably get pointed towards “match-case” in python. I think it is one of the most underrated features in python because many of us try to use it as an alternative to simple switch-case in other languages. But it has more potential than that whilst you can't expect any real performance benefits from replacing a few if-elif statements. In this talk we will discuss how match-case actually works and its advanced usages. After this talk you will be able to effectively use “match-case” in your programs.
"Concurrency in web applications is so easy to get wrong, and so hard to identify and debug when it comes to bite you. In this talk I'm going to present common concurrency issues and suggest ways to identify and prevent them!
In this talk I'll present common issues, and different approaches for dealing with concurrency:
Why is it better to ask for forgiveness instead of permission when dealing with concurrency
What is the TOCTOU (time-of-check-time-of-use) problem, how it can happen and how to address it
How database locking can help with concurrency, and how to avoid it!
How and when to rely on database features to maintain correctness
Django provides a powerful template system encoraging the DRY principle similar to its core modules. Starting with basic tags, let's see how we can reduce the code base significantly using template blocks and through the interitance.
Cancelled due to illness
This introductory talk dives into caching principles and their use in Python web development. We'll explore the benefits of caching, performance enhancement strategies, and its integration in Python frameworks like Flask and Django. The talk will underscore caching's role and best practices, and highlight common pitfalls. Attendees will gain insights on how caching optimizes Python web applications for improved performance and user experience.
In most AI powered projects, teams tend to put a lot of effort into the model training phase in order to obtain a target metric. But this is only part of the battle.
This talk aims to serve as an introduction to the model deployment process after a successful training phase.
We will be exploring the different modes of inference, model lifecycle management, monitoring as well as the challenges involved.
Radiology is a critical field in modern medicine, but it faces a major challenge: the growing demand for diagnostic imaging services is outpacing the availability of trained radiologists. In this talk, we will explore how Python and AI help scale radiology to meet the needs of a rapidly growing population. The talk will discuss how to use Python to develop efficient and effective algorithms to analyze medical images, and how AI, both computer vision and natural language processing, is used to automate and optimize radiology workflows. The speaker will also show how to build quick internal apps using Python to improve the accuracy and speed of diagnostic imaging.Outline:
- Introduction to the challenges and opportunities in radiology
- Overview of Python and AI in radiology
- Developing Python algorithms for analyzing medical images
- Using AI to automate and optimize radiology workflows
- Building internal tools using Python
- Real-world examples
Modeling urban transport networks helps to better evaluate the performance of the network and propose suitable traffic control measures. Developing accurate transport models requires a large amount of time as i) it requires multiple data inputs in the model creation process, ii) proper calibration of model parameters to match the ground truth. This session discuss how Python programming language can be used to automate i) model creation, ii) model calibration (using stochastic approximation algorithms), iii) scenario development, so that the time required for model development can be minimized while maintaining a higher level of accuracy in the model. Real world applications with SUMO microscopic simulator and PTV Visum macroscopic simulator will be discussed in this session.
The James Webb Space Telescope is a groundbreaking infrared observatory resulting from an international collaboration between NASA, the European Space Agency, and the Canadian Space Agency. It was successfully launched December 2021 and is currently orbiting the L2 point 1.5 million km from Earth. Webb was designed to address some of the biggest questions in astronomy and astrophysics, including identifying the first stars in the Universe, observing the first galaxies, revealing the initial stages of star and planet formation, and probing the composition of exoplanet atmospheres. It has made unexpected and groundbreaking discoveries almost routine in its first year of science operations. But how do we go from the raw data collected by Webb to science-ready data products delivered to astronomers and astrophysicists around the world? From the ambitious Webb Calibration Pipeline to post-pipeline data analysis tools, the software suites that support these tasks are written in Python. In this talk I will give an overview of Webb, the crucial role of Python in Webb's development and data processing, why Python is the language of choice, and I will present some highlights from the first year of observations by this revolutionary telescope.
All attendees, speakers, Partners and volunteers at our conference are kindly asked to adopt the following code of conduct, and are required to agree to the Anti-Harassment Policy. We are expecting cooperation from all participants to help ensure a safe and comfortable environment for everybody.
Be friendly, patient, welcoming and considerate; be respectful, use appropriate language, and avoid discriminatory behavior or expressions. In particular, harassment is unacceptable; our conference is dedicated to providing a harassment free conference experience for everyone, and participants violating the Anti-Harassment Policy may be sanctioned or even expelled from the conference, at the discretion of the conference organisers.
Be friendly and welcoming. We strive to be a community that welcomes and supports people of all backgrounds and identities.
Be patient and considerate. We all want to have fun teaching and learning, and a cooperative atmosphere will make us more productive.
Be respectful. Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. Refrain from personal attacks, and be respectful when dealing with other members of the Python community as well as with people outside it.
Use appropriate language, and avoid discriminatory behavior. Everybody is welcome to this conference, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, or religion (or lack thereof).
We do not tolerate harassment of conference participants in any form. Organisers will enforce the Anti-Harassment Policy throughout the event.
Harassment includes offensive comments related to gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, or religion (or lack thereof); deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties and online media.
Participants asked to stop any harassing behavior are expected to comply immediately.
Partners are also subject to the Anti-Harassment Policy. In particular, Partners should not use sexualised images, activities, or other material.
If a participant engages in harassing behavior, the conference organisers may take any action they deem appropriate, including warning the offender or even expulsion from the conference.
If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately.
We expect participants to follow these rules at conference and workshop venues and conference related social events.
How do I join the conference ?
Who should I contact if I have a registration question ?
How do I access the virtual conference platform ?
Is registration free for students only ?
Who should I contact if an error is detected on the pycon website ?
We are more than happy to answer any questions you have. Please Email us at firstname.lastname@example.org