keywords:
CPython
DevOps general
Performance

uk: Комп'ютерні науки

description: Python has built-in tracing and profiling facilities in form of callback hooks in the sys module. The settrace and setprofile callbacks have several drawbacks. They slow down the Python interpreter considerable and only allow tracing of Python code. Modern OS and CPUs come with a variety of APIs for efficient and low-level tracing down to system calls, Kernel space code, and hardware events. Some tools even create code that runs in Kernel space. This talks is an introduction and comparison of various low and high level tools for profiling and tracing as well as visualization tools like flame graphs. It covers ptrace, perf, SystemTap, and BCC/eBPF. Ptrace based commands like strace are easy to use but slow. Perf allows lightweight profiling of hardware events and CPU instructions. SystemTap is a powerful toolkit plus DSL to instrument probe points inside the Kernel as well as static SystemTap/DTrace markers in libs and languages like Java, PHP, and Python. CPython comes with a set of instrumentations for SystemTap. BCC is a collection of tools that run as JIT optimized eBPF code in Kernel space. The talk is an introduction to basic concepts of low-level tracing and profiling on Linux. The main goal is the show the potential of the tools.

uk: вхід без авторизації

name: Introduction to low-level profiling and tracing: User space, Kernel, and hardware profiling and tracing with ptrace, perf, SystemTap, and BCC


Christian Barra

type: Person

keywords:
Big Data
Hardware/IoT
Internet of Things (IoT)
Machine-Learning
Python general

cs: Informatika

de: Informatik

fi: tietojenkäsittelytiede

uk: Комп'ютерні науки

en: Computer Science

fr: Informatique

da: Datalogi

es: Ciencias de la Computación

nl: Informatica

cs: Technické vědy

de: Ingenieurwissenschaften

fi: tekniikka

uk: Інженерія

en: Engineering Sciences

fr: Ingénierie

da: Ingeniørvidenskab

es: Ingeniería

nl: Engineering

description: Infarm is a FaaS, Farming as a Service, and whether you believe it or not, our business is in-house farming at scale. We design and build our farms, grow vegetables and sell them, and the backbone of our infrastructure is based on Python. You can check this video to see what we do -> https://twitter.com/christianbarra/status/1096399602159439874 More than 10 million observations are recorded from our farms, feeding our farm management system that allows operators, plant scientists, and supervisors to monitor each farm in real-time. During this talk I will briefly introduce the world's problems we are trying to resolve at Infarm and then talk about our IoT farms, infrastructure, how we use Python and how we plan to improve the capabilities of our farms by adding edge machine learning. Agenda - What are the problems we are trying to solve at Infarm - Our 4 tech pillars - How we started with Python - Issues we are facing while scaling our Python infrastructure to support > 400 farms - How we plan to evolve our software and infrastructure on 4 different levels: consolidate, architecture, cloud native and observability - How Python is going to support our automated farms and its role in making the farms smarter (edge computing with AI)

TIB AV-Portal

type: Service

type: WebContent

type: MediaObject

@language: en

cs: přihlášení není vyžadováno

de: keine Anmeldung erforderlich

uk: вхід без авторизації

en: no login required

nl: geen login vereist

name: How software can feed the world: Using Python and IoT to fix one of the most urgent global problems

EuroPython

type: Organization

cs: Video

de: Video

fi: Video

uk: Відео

en: Video

fr: Vidéo

da: Video

nl: Video

es: Video


keywords:
Community
Conferences and Meet-Ups
Data Science
Static Analysis

uk: Комп'ютерні науки

description: The diversity statement quoted as follows: “The Python Software Foundation and the global Python community welcome and encourage participation by everyone. Our community is based on mutual respect, tolerance, and encouragement, and we are working to help each other live up to these principles. We want our community to be more diverse: whoever you are, and whatever your background, we welcome you.” Diversity, big deal! As an active members and event organisers (and also on the minority side of the gender) in the Python community, we have alway been concern by the question of: Do we truly have a problem in diversity? Especially, gender diversity. We would like to find out the truth, by data science, and see if we can find a clue why and how we can fix it. First, we will show the research others did regarding the representation of women in the R and Python communities [1]. Then, we will show the research that we did based on our experience and statistic. Including static analysis of the speakers diversity (regarding gender) at major PyCon and PyData conferences. Finally, as we all care about diversity and want improvements, we would like to find out the reason and what we can do about it. We would propose what we, the minorities and allies, could do against this seemingly unbalance situation and make the community better. This talk is for all that who cares about diversity in our community.

uk: вхід без авторизації

name: Do we have a diversity problem in Python community?


uk: Комп'ютерні науки

description: Learn about the updates being made to TensorFlow in its 2.0 version. We’ll give an overview of what’s available in the new version as well as do a deep dive into an example using its central high-level API, Keras. You’ll walk away with a better understanding of how you can get started building machine learning models in Python with TensorFlow 2.0 as well as the other exciting available features!

uk: вхід без авторизації

name: Deep Learning with TensorFlow 2.0: How to get started


uk: Комп'ютерні науки

description: Python is easy to learn and use programming language; however, managing dependencies and package versions for it are nowhere as pleasant. One of the basic building block created to help with this is virtual environments. Join me in understanding how virtual environments work from within (by one of the project maintainers); also, to find out if the good old virtualenv project has any place left, now that Python 3.4+ contains venv. This talk is aimed to be a bit more technical in its first parts, presenting in technical details what a virtualenv is. The target audience is anyone who used virtual environments and wants to understand how they tick from within. I’ll also emphasise diversity and inclusion at Python interpreter level by highlighting other interpreters than CPython: Jython, PyPy or Iron Python. A concise outline goes as follows: What is a virtual environment? - why we need it - what we use it for - demo - virtualenv vs system env How do we build a virtual environment (CPython) - technical workflow of venv creation - activation -- bash -- powershell -- cmd.bat Other interpreters - why other than CPython? - PyPy - Jython - virtualenv - all Python support - extra activation - xonosh Summary and q/a

uk: вхід без авторизації

name: status quo of virtual environments: Learn what's the difference between venv and virtualenv


keywords:
Data
Education
Linux
OpenCV
Raspberry PI

uk: Комп'ютерні науки

description: A collaboration between the Raspberry Pi Foundation and the European Space Agency put two Raspberry Pi computers augmented with sensor boards and camera modules on the International Space Station in 2015. Every year we run a series of competitions for kids in schools around Europe to design science experiments using the available sensors. Mission Zero is a low-barrier challenge where students can run a 1 minute Python program in space to display a message to the astronauts. They have access to the sensors for conditional logic but cannot record data or take photos. Mission Space Lab is a more involved challenge, including planning an experiment, writing and testing code which will run for 3 hours in space, either studying life in space or life on earth (which includes taking photos of Earth out of the ISS window). MSL teams get to keep the data and photo they record in their experiment and are to write a report analysing their findings. A small tech team at the Raspberry Pi Foundation maintain the operating system used in flight and work in collaboration with ESA and partners to keep the operation of the Pis running smoothly on the ISS LAN. As well as sharing details of the OS maintenance and devops for the Astro Pis, I'll share photos taken from space and show findings from student experiments using opencv, tensorflow, scikit-learn, ephem and more.

uk: вхід без авторизації

name: Astro Pi: Python on the International Space Station: The Astro Pi competition gives school kids the chance to do science in space with Python


uk: Комп'ютерні науки

description: Have you ever realized how dynamic CPython interpreter is? Maybe it is the most dynamic interpreter you may see. It gives interfaces to internal things like garbage collector or AST, allows to alter functions code, modify built-in functions etc. This talk will go beyond that dynamism. From adding a new syntax to hooking the evaluation loop, it will show how to hack parts of python. Before understanding these hacks, you will learn internals of CPython step-by-step. Steps are important because in every step we have at least one hacking option. Also it gives the audience a short brief of how python works. After learning how cpython works, we'll cover how to hack (use things that is not their main purpose) the interpreter and the interfaces it gave. For an example we will disassembly the bytecode and then assemble it again with adding our statements or adding a new syntax for python at runtime with AST. Talk will hack these steps: - AST - Bytecode - CTypes - CPython evaluation loop

uk: вхід без авторизації

name: Hack The CPython: Hack The Interpreter At Runtime


uk: Комп'ютерні науки

description: This study is the first attempt to understand the current gender demographics of the HPC community, and identify potential reasons and ways to tackle the gender imbalance. By listening to the people who constitute the community, the study offers a guideline on what the HPC community should focus on in order to become more attractive, accessible and useful to everyone.

uk: вхід без авторизації

name: Are women underrepresented in the High Performance Computing (HPC) community?


keywords:
Compiler and Interpreters
Development
TDD

uk: Комп'ютерні науки

description: Real-world JIT compilers like PyPy and Numba are complex and advanced. However, the basic ideas behind JIT compilers are easy to understand, as this talk aim to show. This is a live-coding exercise: we will start from a blank page and write a working (albeit simple and limited) JIT compiler from scratch.

uk: вхід без авторизації

name: How to write a JIT compiler in 30 minutes


keywords:
Architecture
Best Practice
Communication
Distributed Systems
Mikroservices

uk: Комп'ютерні науки

description: Sarcastic talk, sharing real-life experience on both technical and social aspects of doing an architecture migration to microservices without losing a job. Any change in software architecture is a significant time investment. Writing microservices in Python is a joy, but when you decide on it, there is often no way back. Therefore it is always an advantage to know what to expect in advance, not just from inspiring blog posts but also from the harsh reality. I would like to share typical pitfalls of choosing a framework stack, communication protocol, conventions, and deployment process — all covered by real projects.

uk: вхід без авторизації

name: How To Build a Python Microservice Without Losing a Job: Avoid typical microservice pitfalls: about the stack, communication and deployment


keywords:
ASYNC / Concurrency
Compiler and Interpreters
New Features
Python 3
Type - Hinting

uk: Комп'ютерні науки

description: What's coming in Python 3.8? You can learn it by yourself by reading an excellent document a href=""https://docs.python.org/3.8/whatsnew/3.8.html""What's New in Python 3.8/a. I'm not going to retell this document. Instead I'll focus on things barely described there or not mentioned at all: Why will the new features appear in Python 3.8 and what's the story behind them? What is being discussed and developed now, but won't appear in Python 3.8? I'll share the news I learned at PyCon 2019 from the talks and discussions with Python core developers. I'll mention the following topics: New syntax: codex := expr/code, codef(..., /, ...)/code, codef'{expr=}'/code New types: codeLiteral/code, codeFinal/code, codeTypedDict/code Future features of typing and async/await New approaches to optimizing Python: sub-interpreters, mypyc

uk: вхід без авторизації

name: The Story of Features Coming in Python 3.8 and Beyond


keywords: Web Servers and MicroFws (Flask/Tornado/Nginx/...)

uk: Комп'ютерні науки

description: Have you ever found yourself in a situation where you: - had to use WbSockets? - had to to create a separate project and had the issue of interfacing both? - had to handle disconnections? - had to handle reconnections? - had to handle all the above and scale WebSockets? If your experience was horrible (like mine was), we shall take a look at Server-Sent Events, an alternative to WebSockets. The following arguments will be discussed: - intro to the subject - inner workings - differences from WebSockets - implementation explanation for a generic HTTP server in Python - use cases

uk: вхід без авторизації

name: Better WebSockets - Server-Sent Events, a carefree alternative: A simple HTTP alternative. Put your monolith, microservice or generic HTTP server on steriods


The Agile comedy: from hell to paradise

keywords: The Answer to Life the Universe and Everything Else

uk: Комп'ютерні науки

description: Nowadays everyone wants to bring Agile Best Practices into all the teams, but it's a hard task to implement it and adapt based on different teams. Setting up all necessary Agile meetings and using buzz words is not enough for the team to be happy and successful while working in Agile environment. Inspired by the ""Divine Comedy"" by Dante Alighieri, I decided to create a short guide into Agile best practices. It will guide through Failures, Challenges to the Success in building a happy dream team! This talk is divided into three parts: 1. Failures in setting up Agile processes for a team. 2. Challenges on the way to happy and successful team. 3. Successful examples how to have happy and productive Agile team and constantly deliver a great product.

uk: вхід без авторизації


keywords:
Code Analysis
Development
Rust
python

uk: Комп'ютерні науки

description: Both Python and Rust are getting more and more popularity. Although it is unfair to compare them directly, this talk aims to provide a clear comparison with a pre-defined criteria applied to a specific use-case. Writing a simulation engine is very similar to writing a game engine and requires certain features from a language or framework. Possible comparison criteria: 1. Performance 2. Simplicity 3. Amount of code necessary for a MVP 4. Utilities: docs, tests, profile 5. Compatibility Tl;dr Do I want to go back to Python after Rust? Maybe+)

uk: вхід без авторизації

name: Python vs Rust for Simulation: Comparing both languages in writing a simulation engine


keywords:
APIs
Best Practice
Case Study
Docker
Infrastructure

uk: Комп'ютерні науки

description: In this talk I would like to share the workflow and tools we use to build, deploy and operate GraphQL APIs on our on-premise Kubernetes cluster. I will share code and command examples explaining how we are operating our applications since our recent transition from REST APIs on Web servers to GraphQL APIs containers on Kubernetes. This talk will not be about the difference between REST and GraphQL but focus on the workflow, tools and experience we gained in switching our run time environments and API models. At Numberly, we have built and are operating our own on-premise Kubernetes cluster so we will also be talking about its capabilities and share some of the experience we gained in doing so. Proposed agenda: - Our previous workflow and its limitations - How we designed our Kubernetes cluster, its capabilities and the choices we made - Developer workflow, environments management and deployment - Our GraphQL stack, featuring a sample application - What we're still working on to improve

uk: вхід без авторизації

name: How we run GraphQL APIs in production on our Kubernetes cluster


keywords:
Analytics
Business
Deep Learning
Management

uk: Комп'ютерні науки

description: Artificial intelligence promises great value. The technology is mostly understood only by few, yet still unexplainable even for experts. In this talk I'll present how to narrow the hype down to real value explainable to everyone in your organisation - without the math.

uk: вхід без авторизації

name: Explaining AI to Managers: Make your organisation understand the value, requirements and obstacles of data


keywords: CPython Debugging Development General python

uk: Комп'ютерні науки

description: The Python Standard Library is a very rich toolset, which is the reason why Python is stated to come with ""batteries included"". In such an amount of features and tools it's easy to get lost and miss some of the less unknown modules or gems hidden within the whole load of functions and classes. This talk aims at showcasing some recipes, snippets and usages of standard library modules and functions that are less known or that are not covered in the most common books and tutorials available for Python. The talk will try to showcase a bunch of short examples in the hope to foster the ""oh, wow! I didn't think about that"" reaction at least once in the audience. We will see how frequently for tasks where you used third party libraries or frameworks a solution bultin into the standard library is already available, and such solution is guaranteed to be maintained and well working for the years to come thanks to the standard library reliability and stability. The showcased examples are took from the “Modern Python Standard Library Cookbook” book that I authored.

uk: вхід без авторизації

name: Python Standard Library, The Hidden Gems: Digging into unexpected features that the Python Standard Library exposes for us.


keywords:
Architecture
Data
Data Science
Deep Learning
Machine-Learning

uk: Комп'ютерні науки

description: This talk will provide an overview of the key challenges and trends in the productization of machine learning systems, including concepts such as reproducibility, explainability and orchestration. The talk will also provide a high level overview of several key open source tools and frameworks available to tackle these issues, which have been identifyed putting together the Awesome Machine Learning Operations list (https://github.com/EthicalML/awesome-machine-learning-operations). The key concepts that will be covered are: * Reproducibility * Explainability * Orchestration of models The reproducibility piece will cover key motivations as well as practical requirements for model versioning, together with tools that allow data scientists to achieve version control of model+config+data to ensure full model lineage. The explainability piece will contain a high level overview of why this has become an important topic in machine learning, including the high profile incidents that tech companies have experienced where undesired biases have slipped into data. This will also include a high level overview of some of the tools available. Finally, the orchestration piece will cover some of the fundamental challenges with large scale serving of models, together with some of the key tools that are available to ensure this challenge can be tackled.

uk: вхід без авторизації

name: The state of Machine Learning Operations in 2019: This talk will cover the tools & frameworks in 2019 to productionize machine learning models


keywords:
Algorithms
Big Data
Business
Data Science
Python 3

uk: Комп'ютерні науки

description: How recommendation engines are taking part in our daily routine and how companies as Netflix and Amazon implement it? This talk aims to show the elements that compound a recommendation engine to people who have never been in touch with the matter or want to know a bit more. At the end of this session, you might be able to reproduce your own recommendation system and also know where to find more about it. Talk structure: 1. What is and why use a recommendation engine? 2. Recommendation engine importance 3. Steps of a recommendation 4. Recommendation algorithms 5. Basic Statistics for distance and correlation 6. Example

uk: вхід без авторизації

name: What about recommendation engines?: Is your Netflix recommendation accurate?


keywords: JavaScript web Frameworks (Angular JS/ React JS/...)

keywords: Web Servers and MicroFWs (Flask/Tornado/Nginx/...)

uk: Комп'ютерні науки

description: Many Flask projects nowadays still use mostly static HTML, WTForms and just a bit of AJAX. All the JavaScript is usually included straight from .js files or just minified with Python tools like webassets. But the JavaScript ecosystem has evolved a lot - one can now use tools like Babel to write modern JS even when targeting older browsers and a Webpack+Babel build is very straightforward and allows for advanced preprocessing of JavaScript code. In this talk we'll even go one step further and not only use Webpack to build the assets, but also integrate a small demo Flask app with a React frontend where the Flask app only serves the static HTML page and uses a RESTful API to communicate with the React app. We'll also look into how to keep convenient Flask features such as URL building in client-side code (using the js-flask-urls package) and of course React hooks will be used!

uk: вхід без авторизації

name: useFlask() - or how to use a React frontend for your Flask app


keywords:
Kakol, Lukasz
Best Practice
Clean Code
Code Analysis
Development
Programming

uk: Комп'ютерні науки

description: Code review is not just boring duty. It's mutual responsibility for the software we're releasing. It's one of the most critical aspects of code quality, and therefore it's the first step of quality assurance. This is also the key to easier programming and better maintainability. Clean code is much easier to debug, and it's much harder to introduce a bug in such code. When you think about code review, you probably think about verifying and examining the code. Reviewing the expert's code may look like a waste of time because he knows what he's doing. Reviewing the code by a beginner may look like a waste of time because he's not able to find as many defects as an experienced developer. Code review is a code quality tool in the first place, but it's also much beyond that. You can teach or help someone, learn from somebody and much more both from the position of reviewer and reviewee. There is much more about the real power of code review which I want to share with you. This talk is also about how to do it the right way and how to not do it based on lessons learned and my experience within the diverse teams of people with a variety of knowledge and experience. I was reviewing the code but, on the other hand, I was also being reviewed. I'd like to pass my observations to people who are reviewing the code both in commercial and open source projects for a while. This talk is also for those who want to start to review the code, but they do not know how to do it.

uk: вхід без авторизації

name: Code review for Beginners and Experts: Tips & Tricks


uk: Комп'ютерні науки

description: Fear of public speaking is the most common of all phobias. Want to speak confidently in front of the crowd? This talk shares tips on how to overcome the fear, and ways to get started. You will be prepared to brace presenting from a team meeting to a conference.

uk: вхід без авторизації

name: Why You Should Pursue Public Speaking: and How to Get There


keywords:
ASYNC / Concurrency
Communication
Distributed Systems
Rzasa, Wojciech

uk: Комп'ютерні науки

description: HTTP or asynchronous communication in microservices? This question is frequently repeated and discussed. Obviously, HTTP-based communication is easier for developers and architects. Even if your developers have no prior experience with microservices, they will probably understand how to implement an HTTP service well. While asynchronous communication has a lot of advantages that allow to design and implement really robust microservices system, they also bring new challenges not so obvious for people who didn’t have a chance to work with such an environment before. In FLYR we mostly have HTTP-based Inter Process Communication (IPC) in our infrastructure. At some point, we realized that to provide the functionality required by our product we needed something more flexible and more… asynchronous. We designed and implemented a Python library to facilitate switching to asynchronous IPC, supporting one- or two-way or even single-request – multi-response communication. An important thing in the design process was to provide developers having HTTP experience a tool that would ease the process of switching to asynchronous communication. Consequently, to switch an HTTP server-side endpoint to asynchronous IPC is a straightforward task. We selected Kafka for our message broker, not surprisingly by comparing its performance reports with our very rough, but no less demanding performance requirements. But we also took care to hide the details of the broker logic from developers. Yes, we don’t use all Kafka capabilities, if you need e.g. Kafka Streams, you will have to use another solution. But we can decide what capabilities are used in our microservices and how we can make changes in the way our services communicate in a single place. There are also hooks, Kubernetes health checks and more with a lot of flexibility available out of the box. We plan to opensource our library. At the moment of writing it ‘opensourcing’ is still a work in progress and we didn’t have sufficient time to do it due to strict time constraints we have on delivering functionality to our customers, but we hope to be able to do it soon. In this talk I would like to describe how we solved particularly important problems, what solutions we developed, how we use them and what problems still need to be addressed by developers. In other words, I would like to describe you the journey we made from HTTP to Kafka-based microservices.

uk: вхід без авторизації

name: From HTTP to Kafka-based microservices: How we enabled switching our microservices from HTTP to asynchronous, Kafka-based communication


keywords:
Static Analysis
Type-Hinting

uk: Комп'ютерні науки

description: The Python community has been warming up to static typing for a few years now. You may have seen talks that did a great job of introducing the basic concepts, mypy, and high-level strategies to cover existing code bases. We need to go deeper. Let’s talk about the challenges you inevitably encounter when you try to type-check a large code base. One full of many moving parts, complex architectures, metaprogramming tricks, and interfaces with a dozen other packages. Static type checking is very powerful – when you use it to maximum advantage and explain your code to the typechecker accurately. We will cover a few tools at your disposal: generics, signature overloads, protocols, custom mypy plug-ins, and more. There is more than just tools, though. Behind them all are universal concepts valid in any language. I hope to convince you that thinking in terms of the type system helps you write better code…

uk: вхід без авторизації

name: Static typing: beyond the basics of def foo(x: int) -> str:: Exploring the practicalities of explaining complex code to mypy


uk: Комп'ютерні науки

description: Python Performance: Past, Present and Future

uk: вхід без авторизації


keywords:
Beginners
Business
Business Cases
Education
Jupyter

uk: Комп'ютерні науки

description: In this demo-driven session, we will introduce the Probo package for teaching Python programming and concepts from computational finance to beginning programmers in the domain of finance. We'll show how Python is the perfect tool for teaching computational thinking to develop deeper quantitative reasoning. Jupyter notebooks, together with Python packages such as NumPy and Pandas, provide the ideal learning environment. We will start by introducing the Probo package for derivative pricing and hedging. We will demo the pricing of European and American options via the famous Black-Scholes option pricing model. Other examples include Monte Carlo simulation and binomial trees. Using Probo, the answers to derivative pricing problems are right at the students' fingertips. Students can operationalize their understanding by going directly from the mathematics of derivative pricing theories to their implementation in clean and simple code. We will end with a demonstration using Probo to teach the concept of dynamic hedging. Dynamic hedging is perhaps emthe/em crucial concept in modern financial derivatives theory. It is also one of the most difficult concepts to grasp. We'll show how developing deeper intuition is possible with computational thinking via Monte Carlo simulation of delta-hedging. By leveraging the power and simplicity of Python and Jupyter notebooks, the Probo package provides the ideal learning platform for students of computational finance.

uk: вхід без авторизації

name: Using Python to Teach Computational Finance: Understanding Delta-Hedging with the Probo Package


keywords:
Algorithms
Analytics
Beginners
Case Study
Use Case

uk: Комп'ютерні науки

description: Angklung is a traditional musical instrument from Indonesia. This instrument has a lot of variety in how it is performed; a common format is the orchestral format in which 15-30 players gather to form a team. Playing Angklung in this way is fun but also presents some challenges that are hard to solve manually. First, I will introduce you to the instrument and how it works/how it is played. Then, I will show you how Python-based algorithms can be used to ease the pains of managing Angklung teams, by reading Angklung-specific sheet music and calculating the most optimal distribution of Angklung based on several important factors.

uk: вхід без авторизації

name: Enhancing Angklung Music Rehearsals with Python: Using Python to increase the quality of rehearsals of a traditional music instrument from Indonesia


Writing an autoreloader in Python

keywords:
Architecture
Development Django
Python 3
Software Design

uk: Комп'ютерні науки

description: Reloading your code changes quickly is an integral part of the development experience in frameworks like Django and Flask that developers have come to rely on. But how do they work under the hood and what challenges do you face while writing one? In this talk I will explore how I refactored the autoreload implementation in Django 2.2 and the lessons I learned along the way (hint: it's surprisingly complex!). I will also be introducing a library I've developed to simplify this if you ever find yourself writing your own.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Refactoring in Python [EuroPython 2019 - Talk - 2019-07-11 - MongoDB] [Basel, CH] By Tin Marković [Replacement talk] This talk was a replacement for Stanislav Geidl's talk: From legacy code to modern code Honest apologies to anyone whose expectations were subverted, but Stanislav fell sick and could not attend. Find the updated abstract below: This talk will describe experiences and lessons learned from tackling extremely demanding code. How to bring order to mismanaged code and elevate the code base to a standard that's acceptable in today's tech environment. Python makes wonderful code accessible at our fingertips, but it also allows us to take a lot of liberty. When you start, code is beautiful and makes sense. With each step you walk on, you find more and more hacks showing up. Eventually, the brilliant codebase you've started with can not be seen under the mud. Not every code-base can be rewritten, not everything can be redone from scratch. Cool libraries often take a lot of liberty with code structure and make cross-integration difficult, if not impossible. Tests sound ideal, but in practice, they're just so hard to make right. Why is this, and how to change it? The talk will tackle the problems in three parts: - The Easy Wins: What to do to instantly increase the code quality in your organisation. How? Why isn't it enough? - Patterns and Antipatterns: How to identify code that ""smells"", how to replace it? How to integrate into old code, better? - The Philosophy: What approach to set down for the future? Why to care? How to write replace-able code. How to prevent history from repeating. The talk will close with audience discussion and experiences, questions and proposals - building a collection of some on-premise tips and tricks. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2019.europython.eu/events/s...</a

uk: вхід без авторизації

name: Refactoring in Python: Patterns & Approach: [ex: From legacy code to modern code]


Don't do this at work

keywords:
Best Practice
Education
Learning
Life
Python Skills

uk: Комп'ютерні науки

description: In this talk I reframe a computer programming workshop for kids I delivered earlier this year, exploring and sharing my experience throughout that journey, from preparation to delivery, by recreating a simple yet engaging enough game. With that I'll both demonstrate several Python related techniques and tools many may not be aware of, on one hand, and, on the other, extract provocative questions about general learning processes, especially when targeted at professional developers. I promise zero slides and a somewhat fast-paced live (re)coding session, intertwined with comments on good/bad techniques, along with a surprising exploration of the turtle module in the Standard Library -- it is more capable than you think. I wrap up with a self-code review and with thoughts on how such a game could be improved, what implications that could have for both beginners and seasoned professionals: should you do this at work? Targeting 10 minute Q&A / discussion by the end!

uk: вхід без авторизації


keywords:
Communication
Data Science
Open-Source
TDD
Web

uk: Комп'ютерні науки

description: "Although people of all genders can experience violence and abuse online, the abuse experienced by women is often sexist or misogynistic in nature, and online threats of violence against women are often sexualized and include specific references to women’s bodies. "" - Amnesty International. This abuse pushes women offline, affecting their social well-being, representation and economic potential. In this talk I will discuss how we plan to help resolve this with our browser extension, Opt Out. I will discuss the online global tragedy that is online sexual harassment, our idea and where we’re at with current implementation. I will also talk about what it’s like to build an open source activism project, one which aims to be lead by the community it’s trying to protect. We will cover current research and results from our own engagement with the community, where the idea came from and challenges we have faced and plan to face in the future. I will also dive into the intricate world of natural language processing (NLP) for online harassment and talk about balancing state-of-the-art data science with web development in an open source community, one being managed by someone relatively new to tech.

uk: вхід без авторизації

name: Opt Out of Online Sexism – Open Source Activism


keywords:
Command-line
Linux
System Administration
Tooling
Unix

uk: Комп'ютерні науки

description: There are many modern terminal tools with vastly improved user experiences as compared to their traditional alternatives. This talk aims to show off some of those modern terminal tools and compare them side by side with the traditional ones. Python is not only used by software developers with fancy IDEs but also by DevOps engineers, administrators, and on remote development machines where using a GUI is impractical. Therefore, many people are stuck with a terminal interface only and have to use tools like vim, grep, find, wc, cloc, less and many others to explore their way around their Python programs. However, thanks to the advent of many new and improved tools, we can do many of the same tasks better, faster and with nicer ergonomics. This talk will show off effective use of vim as an IDE with completions and linting provided by LSP, fd (instead of find) for finding files, ripgrep (instead of grep) for searching strings, tokei (instead of cloc) for counting lines of code, bat (instead of cat) for looking at files, hyperfine for microbenchmarking, httpie (instead of curl) for making HTTP requests, sd (instead of sed) for text replacement. This talk should make terminal work more approachable for all attendees by showing off how to do some everyday tasks on the terminal.

uk: вхід без авторизації

name: Become a command line wizard: Learn modern terminal tools for a faster CLI experience


keywords:
Distributed Systems
Mikroservices
Testing
python

uk: Комп'ютерні науки

description: A main advantage of microservices is improved developer velocity. One roadblock to achieving it is giving developers the confidence that their changes are correct and safe, which is a challenging problem in such a distributed architecture. Typical approaches involve relying on automated end-to-end testing, which is costly to set up, develop tests for and run. In this talk I will explore an approach to testing that does not require the presence of any external dependencies (not even ""fake"" or ""test double"" implementations of them), but provides many of the benefits of an end-to-end test. Come by to learn about how we can use a downstream service's API specification to make sure the system under test interacts with it in the correct way (""contract testing"") - a key ingredient missing from most unit or integration test setups. We'll then go even further to cover testing scenarios that previously could only be covered with end-to-end tests: how to maintain and validate state of your downstream dependencies.

uk: вхід без авторизації

name: Testing Microservices: fast and with confidence: A better testing strategy for distributed services


keywords:
C-Languages
Compiler and Interpreters
Cython
Performance
Programming

uk: Комп'ютерні науки

description: Processing lots of data, in need of more speed, or struggling to make use of native code? The Cython compiler for Python solves all of these problems in a pythonic way, by compiling Python code to optimised C code. Cython [1] has a very long history of faithfully helping users to solve their Python performance problems and integrating native code into Python in production critical settings, while stimulating somewhat less confidence with its 0.x versioning scheme. For the next Cython version, a stable 3.0 release, we are planning to clean up several historically grown issues in the language to make the Cython compiler more friendly for modern Python users to work with. In this talk, I will show how Cython can be used for compiling and speeding up Python code, using fast native data structures and libraries. I will then give an overview of the changes that are on their way for the 3.0 release and how they will affect the user experience. [1] https://cython.org

uk: вхід без авторизації

name: Get up to speed with Cython 3.0: Simply better (not beta)


keywords: Cython Go-lang Tooling

uk: Комп'ютерні науки

description: Python and Go are a great combination. Like Python, Go is easy to learn, powerful to use and has many useful libraries. Go and Python work great together: Go has better performance and parallelism, while Python is more expressive. Wouldn't it be nice if you could combine the benefits of Go and Python in one program? This talk shows you how. Why you may want to attend Extension modules written in C/C++ or other languages are one of the major strength Python. Go is a useful language to extend Python. This talk explains to you how to implement extension modules in Go. Content of the Talk The talk shows how to use CGO to make Go code available as a C library and then to use Cython to make this library available as a Python extension module. We start by building a wrapper for simple Go code that adds some numbers and returns the results. This program is our end-to-end example to demonstrate the steps necessary to create a Python extension module in Go. Next, we move to more complex use cases. We look at different ways to share complex data and to use Python callbacks from Go. Then, we see how to how to handle Go's Garbage Collector when exposing with Go Objects. Finally, the talk goes into the advantages and disadvantages of Go as an extension language for Python. We also look at some of the alternative ways to make Go code available in Python. Recommended Prerequisites To get the most out of the talk, you should know about the difference between native Python modules and extension modules written in other languages. Some background on concepts like garbage collection, stack and heap, and dynamic/shared libraries are beneficial. Knowledge of the Python C API is not required. You do not need to know how to write Go code to follow the talk - the talk explains all the required Go.

uk: вхід без авторизації

name: Go(lang) to Python: Using Go, CGO, and Cython to build Extension Modules.


keywords:
Data Science
Deep Learning
Open-Source

uk: Комп'ютерні науки

description: In this talk, you will learn various optimization techniques to improve the runtime performance of your deep learning algorithms on Intel architecture. The presentation will cover how to accelerate the training of your deep neural networks with Tensorflow thanks to the highly optimized Intel® Math Kernel Library (Intel® MKL) and how we boost inferencing with Intel® nGraph and with the Intel® Distribution of OpenVINO™.

uk: вхід без авторизації

name: Supercharge your Deep Learning algorithms with optimized software


keywords:
Data Science
Deep Learning
Performance
python

uk: Комп'ютерні науки

description: Learn about Intel® Deep Learning Boost, also known as Vector Neural Network Instructions (VNNI), a new set of AVX-512 instructions, that are designed to deliver significantly more efficient Deep Learning (Inference) acceleration. Through this technology, I will show you how you can perform low-precision (INT8) inference much faster on hardware that support the VNNI instruction set (for example, the 2nd generation Intel Xeon Scalable processors, codenamed, Cascade Lake). In the live Jupyter notebook session, you can will be able to see the benefits of this new hardware technology. Note: This is an advanced talk. Knowledge about Deep Learning, Inferencing and basic awareness of hardware instruction sets would be desirable.

uk: вхід без авторизації

name: Accelerate your Deep Learning Inferencing with the Intel® DL Boost technology: Learn more about our new Vector Neural Network Instruction (VNNI) set.


Wait, IPython can do that?!

keywords:
Best Practice
Development
Ipython
Tooling
iPython

uk: Комп'ютерні науки

description: I've been programming in Python for over 7 years. And from the time someone introduced me to IPython, it immediately became my default Python REPL. I enjoyed the syntax highlighting, code completion or the instant access to the documentation. Over the years, I've picked up more and more tricks that IPython could do: embedding IPython sessions, starting IPython automatically when a test fails, taking advantage of the startup files, not to mention all the various magic functions. It took me some time to discover all those features (if there is one thing I would like you to take away from this talk, it’s that reading the documentation of a tool that you are using emevery day/em is probably a good idea) and in this talk, I will give an overview of what you can do with IPython REPL. Some of the things I will talk about: - Documentation with ? and ??, running shell functions in IPython, magic functions - Profiles, startup files, configuration file, kernels, and extensions - How to better use IPython for debugging - How to use IPython for profiling - Alternatives to IPython REPL This talk is for you if you are a casual user of IPython - you know some of its features, but maybe not all of them and instead of reading through the documentation, you would prefer to see someone giving an overview of IPython features and how you can use them. This talk is NOT for you if you are up to date with IPython documentation and you think you know most of its features.

uk: вхід без авторизації


keywords: Business Clients Ethics Management freelancing

uk: Комп'ютерні науки

description: Customer lock-in. Dubious “Land and Expand” strategies. We have all heard about outsourced software projects that run far past schedule and obliterates the budget, yet somehow fail to meet even basic requirements. How can this happen. How can your company reduce the risks of delegating software development to an external party? The Principal–Agent Problem is a well researched dilemma in economic literature. It occurs when a person or entity (“agent”), is tasked to work on behalf of another person or entity (""principal""). When the two parties have divergent interests, the agent might act contrary to the best interests of the principal. Examples of principal-agent relationships are: - Employer vs Employee - Shareholder vs Management - Voter vs Political party - Contractor vs Software Consultant When a firm decides to outsource software development to a third party, there is an economic divergence of interest at play, as both parties seek to maximize profit. The contractor wants its requirements met at low cost and on a predictable schedule. The third party, when acting nefariously, can maximize its own gains by extending the project, utilizing junior or low-cost labor, and creating a relationship of dependency. In this session we will look into some nefarious techniques and practices used in the IT consulting industry and how best to avoid them. We will also learn why it is particularly hard to mitigate the risks of outsourced software development.

uk: вхід без авторизації

name: The Dangers of Outsourcing Software Development: Applying Principal Agent Theory to the software consulting industry


keywords: Messaging and Job Queues (RabbitMQ7Redis/...)

uk: Комп'ютерні науки

description: I'm going to talk about the 4 main levels of parallelism in modern Computing: multiple (virtual) machines multiple processes multiple threads multiple green threads, aka asyncio Why you might use each of them, how to go about doing so with python and some of the pitfalls you might fall into along the way. To do so, I'll give short examples in code of achieving each level: leveraging multiple hosts using RQ, and also the possibility of RPC with HTTP multiprocessing and threading using their respective modules from the python standard library asyncio demonstrated with AIOHTTP That sounds great, but there are ""gotchas"" you should know about before you get started, for example: multiple machines can actually be multiple virtual machines on the same host effectively communicating between processes is hard, how can we go about making it easier? the limitations of threading and the GIL runemin/emexecutor - do we ever really need to use multiprocessing or threading directly again use of asyncio when dealing with both networking between hosts and between processes - you end up using two different kinds of concurrency at the same time. That can be confusing, but also awesome. I'll finish of by showcasing a library I built, arq which is a job queueing and RPC library for python which uses asyncio and Redis.

uk: вхід без авторизації

name: Python's Parallel Programming Possibilities - 4 levels of concurrency: multiple Machines, Processes, Threads and Asyncio - what they are and why you might use them


keywords:
Compiler and Interpreters
PyPy

uk: Комп'ютерні науки

description: PyPy is a fast and compliant implementation of Python. In other words, it's an interpreter for the Python language that can act as a full replacement for the reference interpreter, CPython. It's optimised to enable efficient just-in-time (JIT) compilation of Python code to machine code, and has releases matching versions 2.7, and 3.6. It now also supports the main pillars of the scientific ecosystem (numpy, Cython, scipy, pandas, ...) thanks to its emulation layer for the C API of CPython. The PyPy JIT is often just described as ""magically running your code faster"", but is actually what is known as a ""meta-tracing JIT"". A tracing JIT optimises loops by recording and optimising a single, hopefully representative, execution of the loop. While crude, that approach is known to be effective for just-in-time compiler. Additionally, PyPy's JIT is ""meta"" in the sense that it traces the execution of the interpreter while it runs some user-code instead of tracing the user-code directly. This again simplifies the compiler. We will explore how all this works together and is implemented (spoiler: it's Python all the way down!). This talk assumes no prior knowledge of compiler theory nor of PyPy internals, and should be of interest to anybody who wishes that their pure-Python code would run faster. The audience will gain a firmer understanding of how PyPy operates and optimises code, and how to how to get the most out of the PyPy JIT.

uk: вхід без авторизації

name: Opening PyPy's magic black box: A deep dive into the JIT


keywords:
Deep Learning
Fun and Humour
Image Processing
Machine-Learning
Scientific

uk: Комп'ютерні науки

description: Neural networks are everywhere nowadays. But while it seems everyone is using them, training your first neural network can be quite a hurdle to overcome. In this talk I will take you by the hand, and following an example image classifier I trained, I will take you through the steps of making an image classifier in PyTorch. I will show you code snippets and explain the more intricate parts. Also, I will tell you about my experience, and about what mistakes to prevent. After this all you need to start training your first classifier is a data set! Of course I will provide a link to the full codebase at the end. The talk will focus on the practical aspect of training a neural network, and will only touch the theoretical side very briefly. Some basic prior knowledge of neural networks is beneficial, but not required, to follow this talk.

uk: вхід без авторизації

name: How to train an image classifier using PyTorch: Building an image classifier that can recognise cities


keywords:
Compiler and Interpreters
Data Structures
Programming
Python Skills
Python general

uk: Комп'ютерні науки

description: Decorators are one of Python's most powerful features. But even if you understand what they do, it's not always obvious what you can do with them. Sure, from a practical perspective, they let you remove repeated code from your callables. And semantically, they let you think at a higher level of abstraction, applying the same treatment to functions and classes. But what can you actually do with them? For many Python developers I've encountered, decorators sometimes appear to be a solution looking for a problem. In this talk, I'll show you some practical uses for decorators, and how you can use them to make your code more readable and maintainable, while also providing more semantic power. Moreover, you'll see examples of things would be hard to do without decorators. I hope that after this talk, you'll have a good sense of how to use decorators in your own Python projects.

uk: вхід без авторизації

name: Practical decorators: How decorators work, and examples of how to use them in your programs


keywords:
Test Libraies (pytest/nose/...)
Testing
python

uk: Комп'ютерні науки

description: There are many reasons why I think pytest is a fantastic test framework: assertion introspection, setup and teardown with fixtures, parametrized tests. But plugins are the real game changer! We'll dive right into customizing a test suite by developing a series of pytest plugins based on a few neat hacks. We'll learn how to automatically add markers to slow running tests, run only tests that use a fixture which can be specified on the CLI, generate test reports in a custom format, and automatically create GitHub issues for test regressions. We'll wrap up this talk by using Cookiecutter to create Python packages from our plugins that are ready to be published on PyPI.

uk: вхід без авторизації

name: Advanced pytest: Plugin hacks to make you more productive


keywords:
Abstractions
Best Practice
Communication
Django Projects
Management

uk: Комп'ютерні науки

description: Software development is a team game. When we want to deliver more work, one of the variables that we can change is the team size. But as we all know, increasing the team size does not automatically translate into increased productivity & more features shipped. If things are left unmanaged, people can step on each other toes, block each other & generally decrease the overall productivity of a given software project. In this talk we'll identify different problems teams can face & see how we can solve them using different strategies & patterns. In the end, we want to enable the team to perform better & ship features with high confidence. We want enable the team & put its potential into building good software. Problems we are going to cover: Constant merge conflicts / working in the same files Blocking each other on different features / Feature deadlock Constantly switching between bugfixing & feature development Constant regressions and things breaking down Fighting with local setup & not being able to properly test things, especially when working with 3rd parties Merge strategies & improving the work with git & GitHub Communication between team members & ego fights For each problem, we are going to propose different solutions with provided real-life examples from our experience & projects. The examples show are going to be in the context of large Python / Django projects. This talk is the natural sequel of the following talks from previous EuroPythons: EuroPython 2017 - Practical Debugging - Tips, Tricks and Ways to think - https://www.youtube.com/watch?v=9Ys4gCUtTh8 EuroPython 2019 - Django structure for scale and longevity - https://www.youtube.com/watch?v=yG3ZdxBb1oo

uk: вхід без авторизації

name: Software patterns for productive teams: Enabling teams to be more productive when working with Python & Django


keywords:
Best Practice
Code Analysis
Python 3
Tooling
Type-Hinting

uk: Комп'ютерні науки

description: Four years ago I talked about code quality during EuroPython in Bilbao. A lot of things changed from that time. Firstly, most tools I presented were still developed and gained new features, but also new ones appeared I wanted to discuss with you. Secondly, Python changed, Python 3 has type hints on board and there is a new tool dedicated to checking the types. Thirdly - I changed. I'm more distanced form my zealous approach from four years ago. I got real and reasonable. That's why I wanted to talk about code quality tools in Python again. I'll talk about all the software that can make code review a bit simpler by pointing out possible errors, duplicates or unused code. I'll talk again about formatters and how can they be used in modern-time projects. And I'll talk about hobgoblins, if you know what I mean :)

uk: вхід без авторизації

name: Code quality in Python: A reasonable approach to measuring code quality in your projects.


keywords: Education Gadget Hardware/IoT Learning MicroPython

uk: Комп'ютерні науки

description: Making computer games is difficult: it requires creativity, multidisciplinary knowledge of art, psychology, math, computer science, physics and others, patience, open mind and dedication. Making computer games with Python is a nightmare. You hit practically every sharp corner that Python has, starting with installation, through binary libraries, poor hardware support, up to distribution. PewPew devices are an attempt at solving the worst problems by giving you a dedicated, cheap, simple and portable gaming device, that you can easily program with Python with just a simple text editor. They also make pretty neat conference badges. I will talk about how they were conceived, how they are used, and how you can extend and improve them yourself. At the end of the talk you should have a good idea about what is CircuitPython and MicroPython and how they can be used to build and program such simple devices. You should also know where to find the resources necessary to try designing and building your own.

uk: вхід без авторизації

name: Game Development with CircuitPython: A Cheap Handheld Device for Game Programming Workshops


uk: Комп'ютерні науки

description: Parallel computing in Python: Current state and recent advances Modern hardware is multi-core. It is crucial for Python to provide high-performance parallelism. This talk will expose to both data-scientists and library developers the current state of affairs and the recent advances for parallel computing with Python. The goal is to help practitioners and developers to make better decisions on this matter. I will first cover how Python can interface with parallelism, from leveraging external parallelism of C-extensions –especially the BLAS family– to Python's multiprocessing and multithreading API. I will touch upon use cases, e.g single vs multi machine, as well as and pros and cons of the various solutions for each use case. Most of these considerations will be backed by benchmarks from the scikit-learn machine learning library. From these low-level interfaces emerged higher-level parallel processing libraries, such as concurrent.futures, joblib and loky (used by dask and scikit-learn) These libraries make it easy for Python programmers to use safe and reliable parallelism in their code. They can even work in more exotic situations, such as interactive sessions, in which Python’s native multiprocessing support tends to fail. I will describe their purpose as well as the canonical use-cases they address. The last part of this talk will focus on the most recent advances in the Python standard library, addressing one of the principal performance bottlenecks of multi-core/multi-machine processing, which is data communication. We will present a new API for shared-memory management between different Python processes, and performance improvements for the serialization of large Python objects ( PEP 574, pickle extensions). These performance improvements will be leveraged by distributed data science frameworks such as dask, ray and pyspark.

uk: вхід без авторизації


PlotVR - walk through your data

keywords:
3D
Augmented Reality
Data Science
Open-Source
Visualization

uk: Комп'ютерні науки

description: Are you bored by 3D-plots that only give you a simple rotatable 2d-projection? plotVR is an open source package that provides a simple way for data scientists to plot data, pick up a phone, get a real 3d impression - either by VR or by AR - and use the computer's keyboard to walk through the scatter plot: https://www.github.com/thomann/plotVR After installing and plotting your dataframe open your phone's browser and use your GoogleVR Cardboard. Furthermore performant Android- and iOS-apps are available - both support VR-Cardboard and the iOS-Version also AR. Once you are immersed in your Cardboard how do you navigate through the scatter? plotVR lets you use the computer's keyboard to walk as you would in any first person game. You want to share your impression? Just save the HTML and publish it. The technologies beneath this project are: a web server that handles the communication between the DataScience-session and the phone, WebSockets to quickly proxy the keyboard events, QR-codes facilitate the simple pairing of both, and an HTML-Page on the computer to grab the keyboard events. And the translation of these keyboard events into 3D terms is a nice exercise in three.js, OpenGL, and SceneKit for HTML, Android, and iOS resp. Ready to see your data as you have never seen before? Join the talk!

uk: вхід без авторизації


keywords:
ASYNC/Concurrency
Architecture
Best Practice
Case Study
failures/mistakes

uk: Комп'ютерні науки

description: At Kiwi.com we heavily rely on task queues and asynchronous execution of code to process large amounts of requests coming to our back-ends. With the separation of our codebase to microservices, we can quickly try new tools and different approaches to process these large volumes of requests. The microservice we’ll be talking about is making unreliable slow 3rd party services reliable and asynchronous with a bit of business logic sprinkled on top of it. We’ll tell a failure story of ours but resulting in a valuable lesson. Most of our services use Celery and it’s the go-to tool for new services as well but we wanted to be different with this new microservice. RQ is the next best choice for task queues and it is presented as simpler and more straightforward than Celery. That can definitely be true but after 3 weeks of research, development and struggling we found out the unpleasant truth about being simple and making the right choices. We won’t talk about comparing the frameworks but rather about the approach on how to experiment with new things in your environment. After that, we’ll present our current setup which can take upon any number of tasks*. How we orchestrate the app and continuously integrate and deploy and what fun things await ahead of us in the development. *Conditions may apply.

uk: вхід без авторизації

name: The dos and don'ts of task queues: Lessons learned about task queues and the final solution of ours in Celery


keywords: Web Servers and MicroFWs (Flask/Tornado/Nginx/...)

uk: Комп'ютерні науки

description: Two years ago, we began migrating from a proprietary service framework to a WSGI-compliant one. We chose uWSGI as our host because of its performance and feature set. But, while powerful, uWSGI's defaults are driven by backward compatibility and are not ideal for new deployments. Powerful features can be overlooked due to the sheer magnitude of its feature set and spotty documentation. As we've scaled up the number of services hosted by uWSGI over the last year, we've had to tweak our standard configuration. In this talk, we'll present the base uWSGI configuration we use as a starting point for all services, as well as some tips to avoid known gotchas and provide a base level of defensiveness and high reliability. This base configuration makes use of several ""no-cost"" uWSGI features that help protect services from common, yet difficult to prevent issues -- some of which we discovered the hard way. We'll also talk about some programmatic uWSGI features which can be leveraged to improve reliability and improve outage response. Some of the topics we'll cover include: - Mitigating memory leaks - Mitigating stuck, hung, or infinitely looping processes - Preventing misconfigurations - Preventing wasted development effort - Improving outage response License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2019.europython.eu/events/s...</a

uk: вхід без авторизації

name: Configuring uWSGI for Production: The defaults are all wrong


keywords: Deployment/Continuous Integration and Delivery

uk: Комп'ютерні науки

description: Deployment automation, cloud platforms, containerization, short iterations to develop and release software—we’ve progressed a lot. And finally it’s official: Kubernetes and OpenShift are the established platforms to help us do scaling and zero downtime deployments with just a few hundred lines of YAML. It’s a great time. Can we finally put all our eggs into one basket? Identify the cloud platform that fits our needs, and jump on it? That could well backfire: Vendor lock-in is the new waterfall, it slows you down. In future you’ll want to jump over to the next better platform, in a matter of minutes. Not months. This talk is about The Art of Writing deployment pipelines that will survive Kubernetes, OpenShift and the like. It’s for Python developers and Kubernetes enthusiasts of all levels – no domain specific knowledge required, all you need to understand will be explained. You’ll learn how to separate application-specific and deployment-specific configuration details, to maximize your freedom and avoid vendor lock-in. Come see a demo of a Django project setup that covers everything from local development to automatic scaling, flexible enough to be deployed on any of your favorite container platforms. Take home a working, future-proof setup for your Python applications.

uk: вхід без авторизації

name: Modern Continuous Delivery for Python Developers: Local development, pipelines, Kubernetes & OpenShift, platform vendor lock-in, automation


uk: Комп'ютерні науки

description: This is a case study that documents how a small data science team in a big bank took on the challenge to transform a fragmented sales process into a data-driven one using Python and machine learning. This talk outlines the various ways Python has been instrumental in delivering a production solution that serves advisers and relationship manager on a continuous basis. The Challenge - A bank has many clients with diverse needs and cost pressures mean fewer advisers resulting in reduced client coverage. - Multiple sales channels and mixed service levels meant sales processes were uncoordinated and driven by heuristics and often very subjective. - And... Excel sheets everywhere! Solution - Go data-driven! - Learn from clients and understand product usage - Empower and inform advisers and call centre agents - Build a front-to-back sales process (no more Excels!) - How? With Python! The Python Bits - Scikit learn machine learning pipelines that implement two distinct approaches to product affinity in banking and wealth management - SQL Alchemy based API for data engineering and rapid prototyping of analytics - Pandas and Jupyter for development and collaboration - Luigi pipeline for daily processing of millions of transactions and engineering features - Extracting features from text with NLP (Spacy) - Delivering machine learning interpretability in production, e.g. with Random Forests and treeinterpreter - A Python module that we built with all the reusable bits: building training and prediction datasets, developing pipelines, generating monitoring data and enabling explainability

uk: вхід без авторизації

name: Data-Driven Customer Relationship Management bin Banking with Python: Meeting a banking client's needs with machine learning across multiple sales channels


uk: Комп'ютерні науки

description: “Come for the language, stay for the community.” The Python community started in 1994 at a NIST workshop in Maryland. What was the world of Python like in its first years? Did we have any clue whatsoever? A joke-focused tour of early Python, heavy on question-and-answer.

uk: вхід без авторизації

name: Python 1994: What the hell were we thinking?


GraphQL in Python

uk: Комп'ютерні науки

description: Over the past few years GraphQL has gained much traction, but what’s the state of GraphQL in Python. This talk describes what GraphQL is, why it has been created and the current state of GraphQL libraries in Python. There will be a short history of GraphQL, some examples of what makes it shine and why it can be preferred to REST. We will also analyse the current state of GraphQL in Python, having a brief overview of the current libraries and then having an in-depth look at Strawberry a new library based on dataclasses that makes it easy to create GraphQl APIs in Python.

uk: вхід без авторизації


keywords:
Data-Structures
Machine-Learning
New Features
Software Design

uk: Комп'ютерні науки

description: AutoGraph is one of the most exciting new features of Tensorflow 2.0: it allows transforming a subset of Python syntax into its portable, high-performance and language agnostic graph representation bridging the gap between Tensorflow 1.x and the 2.0 release based on eager execution. Using AutoGraph with the code@tf.fuction/code decorator seems easy, but in practice, writing efficient and correctly graph-convertible code requires to know in detail how AutoGraph and tf.function work. In particular, knowing how: A graph is created and when it is re-used; To deal with functions that create a state; To correctly use the Tensorflow codetf.Tensor/code object instead of using the Python native types to speed-up the computation; defines the minimum skill-set required to write correct graph-accelerable code. The talk will guide you trough AutoGraph and codetf.function/code highlighting all the peculiarities that are worth knowing to build the right skill-set.

uk: вхід без авторизації

name: Dissecting tf.function to discover AutoGraph strengths and subtleties


keywords: Abstractions CPython Performance python

uk: Комп'ютерні науки

description: The audience will discover one of the core pieces of the language that sits at the middle of the decisions about what new rules can or cannot be implemented in the Python programming language. They will learn how the particularities of the grammar limit what can be achieved but also serve to maintain the language consistent, powerful but straightforward. Attendants will learn how core developers solved some challenging scenarios that arise as a consequence of said limitations or how others cannot be resolved unless Python gets a significant transformation in the internal mechanism that parses the grammar. Finally, they will learn how a new rule is added to the CPython grammar, serving as a perfect example of how all the pieces come together. In summary, the audience will gain a more technical response to why people perceive the Python programming language as easy but powerful one and at the same time will gain some insight on how to understand and extend the pieces that form it. This talk will not only help members of the audience understand better the design of the language a how grammars and parser work, but will also help people wanting to contribute to CPython understanding the general structure of the compiler pipeline and how to work on it. Who This talk is for those that want to understand Python a bit deeper: not only how everything works under the hood but also what are the technical decisions in its making and what are the consequences. The talk is targeted to all Python programmers, no matter the skill level as everyone will find something for their particular level of expertise: Beginner programmers will be introduced in the topic of language grammars and will learn what a Grammar is and what are the building blocks. Also, the audience members in this level will gain insight into how everything is thread together in CPython. Medium and advanced programmers will learn some in-depth technical details and how they relate to features they already know and understand. The talk not only will try to enlight some new areas related to grammar technicalities, parser features and design and CPython implementation details but will also connect many pieces of information to explain how the small technical decisions impact the bigger picture. Outline Who am I What is the Python Grammar What is grammar? How they look like. Elements: terminal symbols, nonterminal symbols, productions. The properties of Python Grammar? Leftmost derivation 1 token lookahead No epsilon productions! (Plus what epsilon productions are) Some immediate consequences of these properties. How the Python parser generator works General structure of the parser generator. Non Deterministic Finite Automata Deterministic Finite Automata. Some examples (with cool graphs!) generated from the python grammar and the parser generator of the actual finite automatas that Python uses. Concrete syntax trees. Advantages of the grammar (or ""why Python is so easy to understand) LL(1) grammars are context-free (no state to maintain while parsing). LL(1) grammars are simple to implement and very fast to parse. LL(1) grammars are very limited, keeping the language simple Disadvantages of the grammar: Grammar ambiguity. LL(1) grammars need some hacks for very simple things. How keyword arguments were incorporated in the grammar with a hack: The grammar rule is very strange because it is ""fixed"" in the Abstract syntax tree Why parenthesized with statements cannot be implemented (with statements formed of multiple elements surrounded by parenthesis and separated by commas). Implementing a new grammar rule in CPython: the arrow operator : A complete mini-tutorial on how to introduce a new operator: A - B that gets executed as A.strongrarrow/strong(B). Altering the grammar and generating the new parser. Introducing a new token. Changing the tokenizer. Changing the Abstract Syntax Tree Generator. Changing the compiler. Implementing the new opcode. Implementing the strongrarrow/strong protocol. The future and summary of the talk: We have been discussing in the CPython discourse to change the parser generator to something more powerful. Dangers and advantages of other parser generators. What other implementations are using? Summary of the talk

uk: вхід без авторизації

name: The soul of the beast: Everything about Python's grammar


keywords: Cross-Platform-Development Development Education Packaging failures/mistakes

uk: Комп'ютерні науки

description: This talk tells the story of Mu, a native code editor written in Python (https://codewith.mu/). One Sunday afternoon I foolishly asked myself, ""How hard can it be to write a simple code editor?"" Several years later an international team of volunteers are still working on the project. We have had to address: Cross platform GUI development. Cross platform packaging solutions for Python. Creating an interactive visual debugger. Integrating with iPython notebook. Integrating with various IoT MicroPython devices. Integrating with frameworks such as PyGame/PyGameZero and Flask. Automating cross platform testing. Researching and testing UX with a challenging user base. Accessibility for all. Internationalisation. Creating an inclusive, welcoming and supportive community. This talk will explain why Mu was created, how Mu was created and, most importantly, shares the decision making, technical research and implementation details of Mu in the hope others can learn from our mistakes, mis-steps and muck-ups.

uk: вхід без авторизації

name: Tools of the Trade: The Making of a Code Editor.: The story of how a Sunday afternoon hack accidentally turned into an IDE.


keywords:
Architecture
Big Data
Data
Distributed Systems
Scaling

uk: Комп'ютерні науки

description: This talk will focus on how one can build complex data pipelines in Python. I will introduce Luigi and show how it solves problems while running multiple chain of batch jobs like dependency resolution, workflow management, visualisation, failure handling etc. After that, I will present how to package Luigi pipelines as Docker image for easier testing and deployment. Finally, I will go through way to deploy them on Kubernetes cluster, thus making it possible to scale Big Data pipelines on-demand and reduce infrastructure costs. I will also give tips and tricks to make Luigi Scheduler play well with Kubernetes batch execution feature. This talk will be accompanied by demo project. It will be very beneficial for audience who have some experience in running batch jobs (not necessarily in Python), typically people who work in Big Data sphere like data scientists, data engineers, BI devs and software developers. Familiarity with Python is helpful but not needed.

uk: вхід без авторизації

name: Building Data Workflows with Luigi and Kubernetes: Manage complex data pipelines and seamlessly scale them on-demand


keywords:
Algorithms
Analytics
C-Languages
Command-Line
Data Science

uk: Комп'ютерні науки

description: Reproducibility of research is a common issue in science, especially in computationally expensive research fields e.g. cancer research. A comprehensive picture of the genomic aberrations that occur during tumour progression and the resulting intra-tumour heterogeneity, is essential for personalised and precise cancer therapies. With the change in the tumour environment under treatment, heterogeneity allows the tumour additional ways to evolve resistance, such that intra-tumour genomic diversity is a cause of relapse and treatment failure. Earlier bulk sequencing technologies were incapable of determining the diversity in the tumour. br / Single-cell DNA sequencing - a recent sequencing technology - offers resolution down to the level of individual cells and is playing an increasingly important role in this field. We present a reproducible and scalable Python data analysis pipeline that employs a statistical model and an MCMC algorithm to infer the evolutionary history of copy number alterations of a tumour from single cells. The pipeline is built using Python, Conda environment management system and the Snakemake workflow management system. The pipeline starts from the raw sequencing files and a settings file for parameter configurations. After running the data analysis, pipeline produces report and figures to inform the treatment decision of the cancer patient.

uk: вхід без авторизації

name: Bioinformatics pipeline for revealing tumour heterogeneity: Bioinformatics pipeline for revealing tumour heterogeneity from single cells


keywords: The Answer to Life the Universe and Everything Else

uk: Комп'ютерні науки

description: On the last Sunday of October you may get “one more hour of sleep” but as well may spend much more time debugging code dealing with the time zones, daylight saving time shifts and datetime stuff in general. We'll look at a few pitfalls you may encounter when working with datetimes in Python. We'll dissect the pytz library, explain why it contains over 500 individual time zones while focusing on the 63 entries in Europe. We'll also find the reason why pytz is not part of the standard Python, why it gets updated so often and why even that won't solve all your problems. Do you know what happens after 2021 when the EU stops DST switching? Two centuries of short-sighted propaganda and long-term chaos in forty-five minutes. Maybe that will make you want to avoid time zones in your code altogether!

uk: вхід без авторизації

name: A Day Has Only 24±1 Hours: One Europe, 63 time zones to take care of.


uk: Комп'ютерні науки

description: GRR Rapid Response (https://github.com/google/grr) is an incident response framework focused on remote live forensics. It consists of a Python client (agent) that is installed on target systems, and Python server infrastructure that can manage and talk to clients. The goal of GRR is to support forensics and investigations in a fast, scalable manner to allow analysts to quickly triage attacks and perform analysis remotely. GRR was started at Google in 2009 as a simple Python helper script used by Incident Response engineers. Eventually a little Python script got a little server component, was adapted to run on multiple systems (Mac, Linux, Windows), then a little UI was added and a few nice features were introduced (large-scale hunts, collection of predefined artifacts, memory analysis). A helper script has eventually evolved into a sophisticated framework with 180,000 lines of Python code. In the presentation we’ll talk about the process of evolving a small prototype-like Python project into a production-ready system, using GRR as an example. The topics that we’ll cover are: * Taking shortcuts - both in terms of design and implementation. Reasons for taking them and their eventual costs. * Relying on Python’s power features (i.e. meta-classes, mixins)? Long-term consequences on maintainability and readability. * Organising the project into separate PyPI packages - benefits of doing that. * Continuous integration, testing and automated builds for various platforms - implementation costs and maintainability effects.

uk: вхід без авторизації

name: From 0 to 180 in 10 years: Evolving a helper script into a 180,000-lines-of-Python-code project: Why best practices are called best practices


Look Ma, No HTTP!

uk: Комп'ютерні науки

description: In this talk I'm going to live code a web application that is built exclusively on top of WebSocket, without using HTTP at all! What's the benefit of using WebSocket over HTTP, you may ask? With WebSocket each client establishes a permanent connection to the server, so there is no request/response cycle and no need for the client to poll the server for data. Each side can freely send data to the other side at any time, so this is an ideal stack for building highly dynamic, event-driven applications. For this live coding exercise I'm going to use the Socket.IO server for Python, and the Socket.IO client for JavaScript. No Flask, no Django, no HTTP!

uk: вхід без авторизації


keywords:
Algorithms
Architecture
Big Data
Case Study
Performance

uk: Комп'ютерні науки

description: This is a talk for people who need to perform large numeric calculations. They could be scientists, developers working in close contact with scientists, or even people working on finance and other quantitative fields. Such people are routinely confronted with issues like 1 parallelism: how to parallelize calculations efficiently 2 data: how to store and manage large amounts of data efficiently 3 memory: how to avoid running out of memory 4 performance: how to be fast The goal of the talk is to teach some lessons learned after several years of doing numeric simulations in a context were micro-optimizations are the least important factor, while overall architecture, design choices and good algorithms are of paramount importance.

uk: вхід без авторизації

name: Tips for the scientific programmer: Case studies for parallelism, data storage, memory and performance


AsyncIO in production - War Stories

keywords:
ASYNC / Concurreny
Debugging
Python 3
Use Case

uk: Комп'ютерні науки

description: My team has been running AsyncIO in production for over 2 years now and the only thing I can say about my experience with it is: ""Oh boy, what a rollercoaster of feelings"". I've experienced laughs and tears, sweat and blood but also sang songs of glory. AsyncIO is currently the biggest buzzword in the Python world advertised as a silver bullet capable of solving all Python's shortcomings in the field of performance. However, it also brings a burden of being a completely new approach with a fresh implementation which is not often mentioned and taken into consideration. In some of my team's projects we've achieved a great success thanks to AsyncIO, but there's been a few where we decided to get rid of it and replace it with a more traditional fork-join architecture. I'd like to share my experience with AsyncIO, tell some War Stories and discuss which projects it suits perfectly and which ones should avoid it.

uk: вхід без авторизації


keywords:
Best Practice
Clean Code
Code Analysis
Static Analysis
Tooling

uk: Комп'ютерні науки

description: Did you write a cool and useful Python script? Would you like to share it with the community, but you're not sure how to go about that? If so, then this talks is for you. We'll go over a list of simple steps which can turn your script into a fully fledged open-source project. The Python community has a rich set of tools which can help verify the quality of your code through automated code-review and linting. You can benefit by taking advantage of this ecosystem. Complete the steps in this checklist, and your project will be easier to maintain, you'll be ready to take contributions from the community and those contributions will be up to high standards. Your project will also keep up with other projects on PyPI and you will be alerted if any new release causes an incompatibility with your code. The same checklist can be used for non open-source projects as well. The project maturity checklist includes: Properly structure your code Use a setup.py file Add entry_points for your script command Create a requirements.txt file Use Black to format your code Create a tox.ini config and include code linters Set up a Git repo Refactor your code to be unit-testable and add tests Add missing docstrings Add type annotations and a MyPy verification step Upload to GitHub Add a continuous integration service (e.g. Travis) Add a requirements updater (e.g. pyup.bot) Add test coverage checker (e.g. coveralls) Add a Readme file and documentation Publish your project on PyPI Advertise your project

uk: вхід без авторизації

name: From Python script to Open Source Project: Project maturity checklist


How to read (code)

keywords:
Beginners
Clean Code
Documentation
Learning
Teaching

uk: Комп'ютерні науки

description: When you learn a new language, like French or German or even English, you first learn how to read. Then you learn how to write. When you learn a new emprogramming/em language, you first learn how to write. And that’s it. Imagine that you were never formally taught how to read. And that you were told that you should just figure it out … by writing … a whole bunch. How would that even work? I don’t think it would. If you can’t read. You can’t write. It’s that simple. Do you think that Shakespeare would be Shakespeare if he never read a single book in his entire life? No. Nothing is created in a vacuum. Good writers are good writers because they’re good readers. Just as reading is an invaluable skill so to is reading code. It’s a skill that’s never formally taught. But it’s a skill that is essential nonetheless. In this talk I’ll show you how to effectively read code so that might write better code.

uk: вхід без авторизації


keywords:
Architecture
Best Practice
Cross-Platform-Development
Mac OS X
Windows

uk: Комп'ютерні науки

description: Python is widely used to write scripts and tools, but did you know that it can also be used to build client-side end-user applications? Crossing the gap from script to app can be challenging: Join us to learn how to write modern, high quality desktop apps in Python! At Dropbox, we’ve been fans of Python from the very beginning: we’ll take you on a tour of our app for Windows/macOS/Linux and share our “lessons learned” from over 10 years of development. We’ll share best practices and techniques for shipping Python code to hundreds of millions of devices: discover how to maximize security, improve performance and guarantee stability. We’ll explore the key choices we made and why: learn how we migrated to Python 3 by simultaneously shipping both versions, or how we use HTML to power our GUI (a la Electron). We’ll reveal our favorite tools and libraries: learn how we scaled from a few engineers to over 100 and added support for other programming languages (like Rust). The goal of this talk is to share our learnings from using Python on Windows, macOS and Linux to encourage the use of Python when building Desktop apps. - We also want to recognize the third-party libraries we’ve used (and their authors) to raise their profile with the overall community. - We hope this will inspire attendees to write more desktop Python code, and raise awareness for this use case with the community as a whole. We intend to speak to any Python developer/engineer or enthusiast who makes use of Python in a Desktop environment (or wants to), whether it’s to make scripts, tools or apps. We do not expect knowledge of any specific third-party Python libraries; in fact, we hope to draw attention to and recognize many libraries we’ve found useful.

uk: вхід без авторизації

name: How to ship a Python app to a hundred million desktops: Lessons learned from building a Desktop application with Python


uk: Комп'ютерні науки

description: At Les Chemins de Traverse we explore ways of ""augmenting"" acoustical musical instruments with new sonic possibilities offered by computers. For doing so, we need ultra-low latency real-time audio processing programs. Pretty much the typical situation where python should emnot/em be used, right? Wrong. As it happens, that's exactly what we've been doing for the past few years. Building on Olivier Belanger's wonderful pyo module and (ab)using python's flexibility, we developed custom software to allow us to express our musical ideas. If you want to hear how it sounds, you should go to Europython's social event that will feature a gig based on python-augmented (!) instruments. And if you want to know how we came to use python in this context and how we do it, you should come to this talk!

uk: вхід без авторизації

name: Python for realtime audio processing in a live music context


keywords:
Analytics
Big Data
Deep Learning
GPU
Visualization

uk: Комп'ютерні науки

description: Geospatial data is data containing a spatial component – describing objects with a reference to the planet's surface. This data usually consists of a spatial component, of various attributes, and sometimes of a time reference (where, what, and when). Efficient processing and visualization of small to large-scale spatial data is a challenging task. This talk describes how to process and visualize geospatial vector and raster data using Python and the Jupyter Notebook. To process the data a high performance computer with 4 GPUS (NVidia Tesla V100), 192 GB RAM, 44 CPU Cores is used to run JupyterHub. There are numerous modules available which help using geospatial data in using low- and high-level interfaces, which are shown in this presentation. In addition, it is shown how to use deep learning for raster analysis using the high performance GPUs and several deep learning frameworks.

uk: вхід без авторизації

name: Geospatial Analysis using Python and JupyterHub: Processing, analyzing, and visualizing geospatial data on a high performance GPU server


keywords:
Best Practice
Packaging
Python 3

uk: Комп'ютерні науки

description: Always wanted to publish a package on PyPI, but didn't know where to start? This talk is for you! Starting with nothing, we'll build a package and publish it on PyPI using current best practices. Learn how to structure your project and your code. Discover what goes in your coderequirements.txt/code and your codesetup.py/code. Ensure your code will work in different on different platforms! Document your code so people won't ask you loads of questions! Finally, learn how avoid doing any of this yourself. This talk will cover: Why should you package your code for PyPI? How to structure your project and your code, including why you need a codesrc/code folder! Discover what goes in your codePipfile/code and your codesetup.py/code, and why. Learn the difference between installing your library to use it, and installing it to develop on it. Write tests for your project, and run them using Tox. Ensure your code will work in different on different platforms with Continuous Integration! Document your code so people won't ask you loads of questions! How to actually get your code on PyPI using Twine. Finally, learn how avoid doing any of this yourself (or avoid doing it twice) using CookieCutter templates.

uk: вхід без авторизації

name: Publish a (Perfect) Python Package on PyPI: Package a Python project, from scratch.


keywords:
Best Practice
Development
General
Python 3
Python Skills

uk: Комп'ютерні науки

description: Did you know there are multiple ways to raise and capture exceptions? Have you ever wondered if you should raise a built-in exception or create your own hierarchy? Did you ever find it hard to understand what an exception meant? This talk will go through the decisions needed to raise and capture exceptions when creating a library. We will look at how to translate and handle errors, create your own exceptions, and make exceptions clear and easy to troubleshoot, while also understanding how they actually work, common pitfalls. This talk will enable intermediate developers to leave the room with a solid understanding of how to work effectively with exceptions. As the exception flow usually goes untested, this will help prevent frustrating situations when errors occur that are not easy to understand or when an unexpected result is produced. The talk will delve into the different ways of working with exceptions. We will illustrate this with a real-world example to which many developers will be able to relate. Following the talk, intermediate developers will leave the room more informed and better prepared to create and handle exceptions, having learned about many utilities that were already available to them, but were never used or were used improperly. The not-so-advanced Pythonistas will get an in-depth dive into exceptions. Even if they might not be able to grasp all of the content, they will get a sense of the features that most programmers are unaware of and learn to use them when the proper situation arrives. Advanced programmers will find this to be a humorous talk that will certainly teach them at least one new thing, as I will dive into parts of the grammar of Python that even many advanced programmers are not used to. The talk is also full of niche information like why the variable that catches exceptions doesn’t like outside of the codeexcept/code scope. The talk is comprised of four main sections preceded by an introduction to the problem and a conclusion with time for questions at the end. We will look at how to raise, capture, create and design exceptions, offering tips and pitfalls in each section.

uk: вхід без авторизації

name: Exceptional Exceptions: How to properly raise, handle and create them


uk: Комп'ютерні науки

description: Biology and computing are closer than we usually think, for example many algorithms are inspired in biology patterns, and complementary to that, researchers needs special algorithms to have a better understanding of our environment. Thus, there is a strong relation an dependency. In the past years, Biology has been transformed into computational biology. Therefore technological advances helps us to predict physical interactions between atoms and DNA, because we are being able to integrate information from biology into algorithms. Python has become a popular programming language in biosciences because it has a clean syntax that makes it easy to read language. In addition to this, there are many modules (toolkits) extending to different biological domains, like metabolomics, structure analysis, phylogenomics, molecular biology and others. Python is currently improving researcher’s workflow, helping us to focus on the theory or experimental part, instead of fighting with old buggy applications. This talk aims to be oriented to all audiences (with/without biological background) since we will go together through an amazing adventure into the natural sciences using tools like Biopython, Bokeh, Networkx, Ecopy and much more! Are you brave enough to follow me on this journey?

uk: вхід без авторизації

name: “When a biologist met Python”: An adventure into the natural sciences using tools like Biopython, Bokeh, Networkx, Ecopy and more!


uk: Комп'ютерні науки

description: Python has become the defacto standard tool for many people to write tools, command scripts, smaller applications and even large applications. On Windows, it is fairly easy to build application bundles using e.g. py2exe, but on Unix, the situation is less obvious, unless you want to rely on OS specific Python distributions, which often require severall 100MB with of installation on the system and are usually customized in distribution specific ways. Instead of relying on OS installed Python distributions on Unix, our open-source eGenix PyRun provides a more or less complete Python runtime (interpreter and stdlib modules) in a single file, which can be ""installed"" by simply copying the binary to the destination system. The file can be as small as 4.8MB for Python 3.7, by using compressors such as upx. Due to its size, it's also the perfect Python distribution for Docker containers. The talk will show how PyRun works, is built, how to customize it to include additional modules and applications.

uk: вхід без авторизації

name: PyRun - Shipping the Python 3.7 runtime in just 4.8MB: How to put Python on a diet without losing functionality


keywords:
Community
EuroPython
EuroPython Society (EPS

uk: Комп'ютерні науки

description: We need help with organizing and running EuroPython 2020. In this session, we will explain how the EuroPython workgroup model works and where you could help.

uk: вхід без авторизації

name: EuroPython 2020: Help us build the next edition!


EPS General Assembly 2019

keywords:
Community
EPS
EuroPython
EuroPython Society (EPS)

uk: Комп'ютерні науки

description: This is where the EuroPython Society (EPS) board gives its reports, resolutions are passed and the EPS members can vote in a new EPS board.

uk: вхід без авторизації