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

description: Stefanie Lück - RISCy Business: Development of a RNAi design and off-target prediction software RNA interference (RNAi) is a biological mechanism for targeted inhibition of gene expression. It has also been used routinely to discover genes involved in the interaction of plants with pathogenic fungi. To minimize the miss-targeting of unrelated genes and to maximize the RNAi efficiency, we have developed a PyQt based cross- platform software tool called “si-Fi”. Our aim of the talk is to show that also hobby programmers can use Python in a very useful way.

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


Federico Frenguelli

type: Person

keywords:
EuroPython Conference
EP 2014
EuroPython 2014

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: synasius - How to make a full fledged REST API with Django OAuth Toolkit World is going mobile and the need of a backend talking with your apps is getting more and more important. What if I told you writing REST APIs in Python is so easy you don’t need to be a backend expert? Take generous tablespoons of Django, mix thoroughly with Django REST Framework and dust with Django OAuth Toolkit to bake the perfect API in minutes.

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

EuroPython

type: Organization

cs: Video

de: Video

fi: Video

uk: Відео

en: Video

fr: Vidéo

da: Video

nl: Video

es: Video


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

description: Tarashish Mishra - Building Realtime Web Applications with WebRTC and Python WebRTC makes building peer to peer real time web applications easier. First, we'll discuss in short what WebRTC is, how it works. Then we will explore ways to build the signalling system of a WebRTC app using Python. Outline of the talk =============== ### Intro (5 min) ### - Who are we? - What is WebRTC? - Functions of WebRTC. ### WebRTC APIs and Demos (3 min) ### - MediaStream (getUserMedia) API - RTCPeerConnection API - RTCDataChannel API ### Signaling in WebRTC Applications (3 min) ### - What is signaling? - Why is it needed? - How to implement it? ### Implementation of signaling (16 min) ### - Implementation using Google AppEngine and Channel API - Implementation using Flask and gevent

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


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

description: Travis Oliphant - The Continuum Platform: Advanced Analytics and Web-based Interactive Visualization for Enterprises The people at Continuum have been involved in the Python community for decades. As a company our mission is to empower domain experts inside enterprises with the best tools for producing software solutions that deal with large and quickly-changing data. The Continuum Platform brings the world of open source together into one complete, easy-to-manage analytics and visualization platform. In this talk, Dr. Oliphant will review the open source libraries that Continuum is building and contributing to the community as part of this effort, including Numba, Bokeh, Blaze, conda, llvmpy, PyParallel, and DyND, as well as describe the freely available components of the Continuum Platform that anyone can benefit from today: Anaconda, wakari.io, and binstar.org.

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


Solution oriented error handling

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

description: Thomas Aglassinger - Solution oriented error handling This talk shows how to use Python's built in error handling mechanisms to keep the productive code clean, derive error messages helpful for the user directly from the code and release ressources properly. ----- Traditionally error handling is regarded an annoyance by developers because it removes the focus from the already difficult enough productive parts of the code to parts that ideally will never be called. And even if, end users seem to be ignore the error messages and just click "Ok" or call the help desk. Solution oriented error handling uses Python's existing try/catch/finally idiom, with statement, assert statement and exception hierarchy in a way that keeps the code clean and easy to maintain. It gives a clear distinction between errors that can be solved by the end user, the system administrator and the developer. Naming conventions and a simple set of coding guidelines ensure that helpful error messages can be easily derived from the code. Most code examples work with Python 2.6+ and Python 3.x, on a few occasions minor differences are pointed out. Topics covered are: 1. Introduction to error handling in Python - What are errors? - How to represent errors in Python - Detecting errors - Delegating errors to the caller - clean resource management 2. Principles of solution oriented error handling - responsibilities between user, admin and developer - when to use raise or assert 3. Error messages - What are "good" error messages - How to derive error messages from the source code - Adding context to the error - How to report errors to the user 4. Solution oriented usage of Python's exception hierarchy - admins fix `EnvironmentError` - users fix `DataError` - representing `DataError` - converting exceptions to `DataError` - developers fix everything else - special Python exceptions not representing errors 5. Template for a solution oriented command line application 6. Best practices for `raise` and `except` - When to use `raise`? - When to use `except`?

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


Probabilistic Programming in Python

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

description: Thomas Wiecki - Probabilistic Programming in Python Probabilistic Programming allows flexible specification of statistical models to gain insight from data. Estimation of best fitting parameter values, as well as uncertainty in these estimations, can be automated by sampling algorithms like Markov chain Monte Carlo (MCMC). The high interpretability and flexibility of this approach has lead to a huge paradigm shift in scientific fields ranging from Cognitive Science to Data Science and Quantitative Finance. PyMC3 is a new Python module that features next generation sampling algorithms and an intuitive model specification syntax. The whole code base is written in pure Python and Just-in-time compiled via Theano for speed. In this talk I will provide an intuitive introduction to Bayesian statistics and how probabilistic models can be specified and estimated using PyMC3.

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


Documenting your project with MkDocs.

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

description: Tom Christie - Documenting your project with MkDocs. MkDocs is a new tool for creating documentation from Markdown. The talk will cover: How to write, theme and publish your documentation. The background and motivation for MkDocs. Choosing between MkDocs or Sphinx. ----- This talk will be a practical introduction to MkDocs, a new tool for creating documentation from Markdown: * The background behind MkDocs and the motivation for creating a new documentation tool. * Comparing against Sphinx - what benefits each tool provides. * Getting starting with MkDocs - how to write, theme and publish your documentation. * Under the covers - how MkDocs works, and some asides on a couple of the neat Python libraries that it uses.

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


Fun with cPython memory allocator

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

description: Tomasz Paczkowski - Fun with cPython memory allocator Working with Python does not usually involve debugging memory problems: the interpreter takes care of allocating and releasing system memory and you get to enjoy working on real world issues. But what if you encounter such problems? What if your program never releases memory? How do you debug it? This talk describes some of the lesser known properties of cPython memory allocator and some ways to debug memory-related problems, all this based on real events. ----- Working with Python does not usually involve debugging memory problems: the interpreter takes care of allocating and releasing system memory and you get to enjoy working on real problems. But what if you encounter such problems? What if your program never releases memory? How do you debug it? I will tell a story of one programmer discovering such problems. The talk will take listeners on a journey of issues they can encounter, tools they can use to debug the problems and possible solutions to seek out. There will also be a brief mention of general memory management principles. cPython uses a combination of its own allocator, `malloc`, and `mmap` pools to manage memory of Python programs. It usually is smart enough, but there are some darker corners that are not well known by an average Joe Programmer (read: me). There are tools that can help debug memory problems, but those are also relatively unknown, and tend to have documentation that one might find lacking. I will describe one such tool, called `guppy`, which I have found particulary helpful.

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


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

description: Travis Oliphant - Python's Role in Big Data Analytics: Past, Present, and Future Python has had a long history in Scientific Computing which means it has had the fundamental building blocks necessary for doing Data Analysis for many years. As a result, Python has long played a role in scientific problems with the largest data sets. Lately, it has also grown in traction as a tool for doing rapid Data Analysis. As a result, Python is the center of an emerging trend that is unifying traditional High Performance Computing with "Big Data" applications. In this talk I will discuss the features of Python and its popular libraries that have promoted its use in data analytics. I will also discuss the features that are still missing to enable Python to remain competitive and useful for data scientists and other domain experts. Finally, will describe open source projects that are currently occupying my attention which can assist in keeping Python relevant and even essential in Data Analytics for many years to come.

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


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

description: Daniel Kraft/Oliver Roch - Using python, LXC and linux to create a mass VM hosting, managed by django and angularjs How we created a scalable mass VM hosting for open source web apps with python, LXC and linux with a web-UI based on django and angularjs. We'll show the underlying architecture of this service, several linux internals that make this possible and we'll talk about bitter failure during development. This talk will be python- and linux-centric with some hints for integrating angularjs into django.

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


Scikit-learn to "learn them all"

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

description: Valerio Maggio - Scikit-learn to "learn them all" Scikit-learn is a powerful library, providing implementations for many of the most popular machine learning algorithms. This talk will provide an overview of the "batteries" included in Scikit-learn, along with working code examples and internal insights, in order to get the best for our machine learning code. ----- **Machine Learning** is about *using the right features, to build the right models, to achieve the right tasks* However, to come up with a definition of what actually means **right** for the problem at the hand, it is required to analyse huge amounts of data, and to evaluate the performance of different algorithms on these data. However, deriving a working machine learning solution for a given problem is far from being a *waterfall* process. It is an iterative process where continuous refinements are required for the data to be used (i.e., the *right features*), and the algorithms to apply (i.e., the *right models*). In this scenario, Python has been found very useful for practitioners and researchers: its high-level nature, in combination with available tools and libraries, allows to rapidly implement working machine learning code without *reinventing the wheel*. **Scikit-learn** is an actively developing Python library, built on top of the solid `numpy` and `scipy` packages. Scikit-learn (`sklearn`) is an *all-in-one* software solution, providing implementations for several machine learning methods, along with datasets and (performance) evaluation algorithms. These "batteries" included in the library, in combination with a nice and intuitive software API, have made scikit-learn to become one of the most popular Python package to write machine learning code. In this talk, a general overview of scikit-learn will be presented, along with brief explanations of the techniques provided out-of-the-box by the library. These explanations will be supported by working code examples, and insights on algorithms' implementations aimed at providing hints on how to extend the library code. Moreover, advantages and limitations of the `sklearn` package will be discussed according to other existing machine learning Python libraries (e.g., "Shogun Toolbox", "PyML", "MLPy"). In conclusion, (examples of) applications of scikit-learn to big data and computational intensive tasks will be also presented. The general outline of the talk is reported as follows (the order of the topics may vary): * Intro to Machine Learning * Machine Learning in Python * Intro to Scikit-Learn * Overview of Scikit-Learn * Comparison with other existing ML Python libraries * Supervised Learning with `sklearn` * Text Classification with SVM and Kernel Methods * Unsupervised Learning with `sklearn` * Partitional and Model-based Clustering (i.e., k-means and Mixture Models) * Scaling up Machine Learning * Parallel and Large Scale ML with `sklearn` The talk is intended for an intermediate level audience (i.e., Advanced). It requires basic math skills and a good knowledge of the Python language.

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


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

description: Valerio Maggio - Traversing Mazes the pythonic way and other Algorithmic Adventures Graphs define a powerful mental (and mathematical) model of structure, representing the building blocks of formulations and/or solutions for many hard problems. In this talk, graphs and (some of the) main graph-related algorithms will be analysed from a very pythonic angle: the Zen of Python (e.g., beautiful is better than ugly, simple is better than complex, readability counts).

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


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

description: whitone - GNU/Linux Hardware Emulation with Python With the kernel "inotify" feature, the "D-Bus mocker library" and the "udev monitoring" we try to detect the different events that occours when you're using a specific set of connected devices. Then we try to mimic these devices investigating also the kernel drivers if necessary. At the end we're ready to connect the simulation routines to our testing procedure.

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

name: GNU/Linux Hardware Emulation with Python: Do want to test your connection code with a WIFI/GSM network ... but you haven't any dongle?


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

description: ykaplan - Marconi - OpenStack Queuing and Notification Service Marconi is a multi-tenant cloud queuing system written in Python as part of the OpenStack project. Marconi aims to ease the design of distributed systems and allow for asynchronous work distribution without creating yet another message broker. This talk aims to give the audience a broad look at Marconi’s design and technologies used. ----- Similar to other message bus frameworks, Marconi's main goals are: performance, availability, durability, fault-tolerance and scalability. Besides providing support for queuing and notification services through OpenStack, Marconi aims to ease the design of distributed systems and allow for asynchronous work distribution without creating yet another message broker. This talk aims to give the audience a broad look at Marconi’s architecture, design, technologies used, development process, and discuss the issues it adresses.

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

name: Marconi: Queuing and Notification Service for OpenStack


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

description: Yves - Performance Python for Numerical Algorithms This talk is about several approaches to implement high performing numerical algorithms and applications in Python. It introduces into approaches like vectorization, multi-threading, parallelization (CPU/GPU), dynamic compiling, high throughput IO operations. The approach is a practical one in that every approach is illustrated by specific Python examples. The talk uses, among others, the following libraries: * NumPy * numexpr * IPython.Parallel * Numba * NumbaPro * PyTables

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


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

description: Lightning Talks: Sparts - Quick service Prototyping: Manu, Blinky's Async Adventure: Petr Viktorin, Tryton Unconference Leipzig 2014: Udono, Yet another conference announcement: Baptiste Mispelon, Configurable omnipotent custom applications integrated network engine: Anton Tyurin, What we did at #ep14: "vtemian" Vlad Temian, Foreman client: Lukas Bednar, HSTS: Abraham Martin, PyAr Pablo G. Celayes, Celia Cintas, Python Quantum Platform: Yves J. Hilpisch, CodeWeek.eu: Erika Pogorelc, Our beautiful minds: Remco Wendt, Stackless - Best Ever: Christian Tismer, Stella: Compiling a small subset of Python: David Mohr, Plone Mosiac Sprint Barcelona: Philip Bauer

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

name: EuroPython 2014: July 25, 2014 - Lightning Talks


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

description: Lightning Talks: netaddr: Stefan Nordhausen, Pyxie Dust: Josie Zec, Tina Zec, Webcamp: Aljosa, Who watches the watchmen? Dima Tisnek, Config management for humans: Torsten Rehn, Some magic for class factories: Harut Dagesyan, The great Python design flaw: zefciu, Some cool stuff: Richard Jones, RESTful Microservices with Python: Antonio Ognio, Teaching Python to kids with Minecraft: Danilo Bargen, Record your Web Service: kkuj, PyCon Brazil: Fernando Masanori Ashikaga, PyMove3D translations: PeterK, PyCon Poland: Filip Kłębczyk, State of Jython: Jim Baker, How to make Python more sexy, Actors in Python: Anton Blomberg, Keysigning Intro: Thomas Waldmann, Data driven code quality management/automation: Christoph Neumann

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

name: EuroPython 2014: July 24, 2014 - Lightning Talks


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

description: Lightning Talks: Elliptics: Anton Tyurin, On Being Super: Austin Bingham, PYCON Finland: Mikko Ohtamaa, Regularities in language: Dmitrijs Milajevs, pip install pyladies: Lynn Root, Iktomi Forms: Harut Dagesyan, Killer Robots: Radomir Dopieralski, ZeroVM: Lars Butler, Zombies and Application Runtimes: Dmitry Jemerov, FritzConnection - Communicate with the AVM Fritz Box: Klaus Bremer, Argment Clinic: Larry Hastings, PEP 473: Adding structured data to builtin exceptions: Sebastian Kreft, Supporting Python 2 and Python 3 witth the same source code: Stefan Schwarzer, Birthday: Mark Shannon, nsupdate.info bepasty: Thomas Waldmann, Python Core Security: Christian Heimes, Hands On Unix: Rok Garbas, Deproulette: Joar Wandborg

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

name: EuroPython 2014: July 22, 2014 - Lightning Talks


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

description: Lightning Talks - A lightning talk is a short talk, typically only five minutes in duration, providing an opportunity for participants - particularly people not featured in the main programme - to deliver a presentation on a subject of their choosing: Python and Excel: Felix Zumstein, Packaging and Awesome: Richard Jones, django-reportmail: "hirokiky" Hiroki KIYOHARA, The new PSF: Marc-Andre Lemburg, Flying Elephant: Alexander Koelpin, Architect - Object Relational Mapper's best friend: Max Tepkeev, Matelight: Uwe Kamper, Sebastian, DevAssistant: Tomáš Raděj

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

name: EuroPython 2014: July 21, 2014 - Lightning Talks


Python Not Recommended

keywords:
EuroPython Conference
EP 2015
EuroPython 2015

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

description: Adam Forsyth - Python Not Recommended Braintree is a Ruby shop. By default, we use Ruby and Rails for projects. We also use Ruby-based projects for much of our tooling, including puppet, capistrano, and rake. However, we strongly believe in using the right tool for the job. What that means has evolved over me, and I'll discuss what solutions we chose in the past as well as our current choices. So what's it like doing Python at a Ruby shop? You get lots of jokes about language features Ruby has but Python lacks and lots of disbelief that Python will survive the 2/3 split. People also tend to apply the best practices and conventions of Ruby to Python code as if it hey were the same. Python's major inroad at Braintree has been, surprisingly enough, as a platform for high-concurrency situations. This is a direct result of the power of Tornado as a platform for asynchronous I/O. It also helps that many Python is very approachable and many developers have at least some experience with it. Braintree has three pieces of our infrastructure using Python and Tornado -- an incoming request proxy; an outgoing request proxy; and a webook delivery service. They've served us well for 3+ years but all suffer from a number of problems. The outdated concurrency feature s of CPython / Python 2 as well as our lack of experience with and commitment to Tornado have always been an issue. As the meat of the talk, I'll speak in depth about the other issues we've encountered with each of the three applications and our short- and long- term solutions to the problems. The state as of the end of 2014 appeared dire for Python at Braintree. All the old Python code in our stack is on the way out, and Python has been specifically recommended agaist for new projects. Our Python client library is used by some of our largest merchants, and is ready for the future by supporting Python 2.6+ and Python 3.3+ in a single codebase. We also have a vibrant Python community at Venmo, our sister company. Both Braintree and Venmo support Python by attending, hosting, sponsoring, and speaking at meetups, conferences, and other events in Chicago, New York, and elsewhere. At Braintree, our Data Science team uses Python almost exclusively and they're becoming a bigger part of our business every day. We also use custom tooling written in Python to manage our infrastructure.

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


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

description: Adriano Petrich - Yak shaving a good place to eat using non negative matrix factorization Trying to find a good place to eat has become much easier and democratic with online reviews, but on the other hand, that creates new problems. Can you trust that 5 star review of fast food chain as much as the 1 star of a fancy restaurant because "Toast arrived far too early, and too thin"? We all like enjoy things differently. Starting of on the assumption that the "best pizza" is not the same for everyone. Can we group users into people that has similar tastes? Can we identify reviews and restaurants to make sense of it? Can that lead us to a better way to find restaurants that you like? Using some data handling techniques I walk you through my process and results that I've got from that idea. There are no requisites for this talk except basic python and math knowledge (matrices exist)

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


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

description: Alejandro Castillo - Deja de pegarte con tus servicios; import lymph ¿Y si pudieras centrarte en la funcionalidad de tus servicios en lugar de programar la integración entre ellos? lymph es un framework con personalidad propia para escribir servicios en Python que te permite hacer justo eso. Incluye descubrimiento de servicios extensible, comunicación vía petición-respuesta, comunicación vía publicación-subscripción extensible y gestión de procesos. A medida que crecen nuestros equipos de desarrollo, nos alejamos cada vez más de una arquitectura monolítica. Queremos empezar a escribir servicios sin tener que preocuparnos de los requisitos de infraestructura. Queremos desarrollar de forma rápida, centrándonos en nuestro trabajo. En esta charla os enseñaremos lo fácil que es desarrollar y ejecutar servicios con lymph.

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


Python Gamedev MLG

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

description: Alejandro Garcia - Python Gamedev MLG An overview of the currently available Python game development libraries and frameworks and how is Python currently being used in the videogame industry. Presentation of Kobra, a modern open source Python game development framework with ECS (Entity Component System) architecture and C++ bindings.

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


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

description: Alejandro Guirao Rodríguez - Extending and embedding Ansible with Python [Ansible] is the _new cool kid in town_ in the configuration management world. It is easy to learn, fast to setup and works great! In the first part of the talk, I will do a super-fast introduction to Ansible for the newcomers. If you are a Pythonista, you can hack and leverage Ansible in many ways. In the second part of the talk, I will describe some options to extend and embed Ansible with Python: - Embedding Ansible with the Python API - Extending Ansible: creating modules, dynamic inventory scripts and plugins Previous experience with Ansible is advised in order to get the most of this talk, but beginners to the tool will also get an overview of the capabilities of this kind of integration.

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


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

description: Alessandro Amici - Solving the web most popular code shortening competition in Python. “Code shortening” is the “sport” where participants strive to achieve the shortest possible source code that solves a programming problem by exploiting all the tricks and quirks of the language. The [SIZECON on SPOJ] is one of the oldest and most popular code shortening problems on the web with a bizarre twist, only character above ASCII value 32 are counted for the penalty. During the talk we will take a journey into some frightening depths of the Python language in order to write shorter and shorter solutions to SIZECON until, exploiting a number of truly mind-blowing tricks, we will reach the current record solution of 28 characters (above ASCII 32!). I promise I’ll show you the most obfuscated, contrived and sick python code you have ever seen and (hopefully!) will ever see. I invite participants to give [SIZECON] a try and check their score against the [Python2] and [Python3] SPOJ rankings.

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


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

description: Alessandro Molina - Why storing files for the web is not as straightforward as you might think. DEPOT is a file storage framework born from the experience on a project that saved a lot of files on disk, until the day it went online and the customer system engineering team decided to switch to Heroku, which doesn't support storing files on disk. The talk will cover the facets of a feature "saving files" which has always been considered straightforward but that can become complex in the era of cloud deployment and when infrastructure migration happens. After exposing the major drawbacks and issues that big projects might face on short and long terms with file storage the talk will introduce DEPOT and how it tried to solve most of the issues while providing a super-easy-to-use interface for developers. We will see how to use DEPOT to provide attachments on SQLAlchemy or MongoDB and how to handle problems like migration to a different storage backend and long term evolution. Like SQLAlchemy makes possible to switch your storage on the fly without touching code, DEPOT aims at making so possible for files and even use multiple different storages together.

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


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

description: Alessio Siniscalchi - Citizen Science: Tracking Aliens with Python! The talk discusses the challenges of implementing a Citizen Science Paradigm in a Python-centric platform, and the solutions devised for the System for observation and monitoring of Marine Alien Species, currently used by the italian Institute for Environmental Protection and Research (ISPRA). "Alien" Species means species introduced into a natural environment where they are not normally found. Topics includes strategies for crowd-friendly forms, work-flow definition for collected data, choice of the best technologies for its components: app for android devices, web application for citizens and experts, webGIS for data browsing and web services for data exporting.

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


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

description: Alex Willmer - Taking the pain out of passwords and authentication Passwords are a pain for us all - programmers, users and admins alike. How can we reduce that pain, or eliminate it entirely? This talk will - Review research into techniques that improve the usability of password systems, and mitigate shortcomings - Introduce the new standards Universal Authentication Framework (UAF) & Universal Second Factor (U2F) - Describe how they streamline authentication, even eliminate passwords entirely - Show how to integrate UAF/U2F in Django and other Python frameworks - Summarize the state of support for UAF & U2F in browsers, devices, and the wider world

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


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

description: Alexander Hendorf - Data Analysis and Map-Reduce with mongoDB and pymongo The MongoDB aggregation framework provides a means to calculate aggregated values without having to use map-reduce. While map-reduce is powerful, it is often more difficult than necessary for many simple aggregation tasks, such as totaling or averaging field values. See how to use the build-in data-aggregation-pipelines for averages, summation, grouping, reshaping. See how to work with documents, sub- documents, grouping by year, month, day, etc. This talk will give many (live) examples how to make the most of your data with pymongo with a few lines of code.

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


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

description: Alexander Sibiryakov - Frontera: open source large-scale web crawling framework In this talk I'm going to introduce Scrapinghub's new open source framework [Frontera]. Frontera allows to build real-time distributed web crawlers and website focused ones. Offering: - customizable URL metadata storage (RDBMS or Key-Value based), - crawling strategies management, - transport layer abstraction. - fetcher abstraction. Along with framework description I'll demonstrate how to build a distributed crawler using [Scrapy], Kafka and HBase, and hopefully present some statistics of Spanish internet collected with newly built crawler. Happy EuroPythoning!

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


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

description: Alexys Jacob - Designing a scalable and distributed application One of the key aspect to keep in mind when developing a scalable application is its faculty to grow easily. But while we're used to take advantage of scalable backend technologies such as mongodb or couchbase, **scaling automatically our own application** core is usually another story. In this talk I will **explain and showcase** a distributed web application design based on **consul** and **uWSGI** and its consul plugin. This design will cover the key components of a distributed and scalable application: - **Automatic service registration and discovery** will allow your application to grow itself automatically. - **Health checking and service unregistration** will allow your application to be fault tolerant, highly available and to shrink itself automatically. - A **distributed Key/Value storage** will allow you to (re)configure your distributed application nodes at once. - **Multi-Datacenter awareness** will allow your application to scale around the world easily.

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


Easy FullStack Deployments

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

description: Alvaro Aguirre - Easy FullStack Deployments During this talk we will discuss how to manage your full stack development life cycle using python technologies plus Docker. We will cover from, the project creation (using Pyramid web framework), to maintaining a consistent deployment infrastructure using buildout and docker containers.

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


Demystifying Mixins with Django

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

description: Ana Balica - Demystifying Mixins with Django Mixins are a great way to keep an application decoupled. This talk is about building mixins and dissecting what's behing the mixin "magic" and that, in fact, there is no magic involved at all. The main focus will be on Django framework while digging into mixins. When using Django class-based views, mixins feel very natural. **Goal**: by the end of this talk, every developer should be confident about creating his or her own custom mixins. **Prerequisites:** - basic understanding of OOP principles and their application in Python - Django web framework Generally mixins in Python are pretty straight-forward, easy to create and use. Nevertheless a lot of developers stay away from them. I think attendees of this talk will be interested to learn that mixins are not that complex and their benefit is tremendous.

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


How to GIS with Python

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

description: Anders Lehmann - How to GIS with Python In this talk I will present some tools for working with Geographic Information Systems in Python. Geographic information Systems are widely used for managing geographic (map) data. As an example I will present how to use Open Street Map data, in routing, traffic planning and estimation of pollution emission. For the purpose of the project EcoSense, GPS data from users smartphones are mapped to OSM roads. The map matching algorithm is written in Python and uses data from the database PostgreSQL, with the PostGIS extension. One of the goals of the EcoSense project is to devise methods to improve the estimation of air quality in urban environments.

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


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

description: Anders Lehmann - Online Education: challenges and opportunities for Staff and Students From september 2015 Aarhus School of Engineering will offer the education Bachelor of Electronic Engineering, as a combined online and on campus education. In the talk I will describe the technical and pedagogical setup, we are working at to meet the challenges of having both on-site and remote students. I will also touch on how IPython Notebook, will be part of the technical setup, and how it can be incorporated into the teaching.

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


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

description: Andreas Dewes - Code is not text! How graph technologies can help us to understand our code better. Today, we almost exclusively think of code in software projects as a collection of text files. The tools that we use (version control systems, IDEs, code analyzers) also use text as the primary storage format for code. In fact, the belief that "code is text" is so deeply ingrained in our heads that we never question its validity or even become aware of the fact that there are other ways to look at code. In my talk I will explain why treating code as text is a very bad idea which actively holds back our understanding and creates a range of problems in large software projects. I will then show how we can overcome (some of) these problems by treating and storing code as data, and more specifically as a graph. I will show specific examples of how we can use this approach to improve our understanding of large code bases, increase code quality and automate certain aspects of software development. Finally, I will outline my personal vision of the future of programming, which is a future where we no longer primarily interact with code bases using simple text editors. I will also give some ideas on how we might get to that future.

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


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

description: Andreas Kaiser - Standing on the Shoulders of Giants: The Kotti Web Application Framework Kotti is a high-level, Pythonic web application framework based on Pyramid, SQLAlchemy and Bootstrap 3. It includes an extensible Content Management System called the Kotti CMS. Kotti is particularly well suited for building custom applications with object level security. It comes with complete user and group management and supports the concepts of global and local roles providing management views for each of those. The talk will give an overview on Kotti, its philosophy, history and future. Target audience are people who want to learn what it is and can be used for. Because Kotti is just a rather small layer on top of its foundations, the talk might also give some interesting insights on how to build a solid (web) framework that suits your personal preferences.

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


Brainwaves for Hackers 2.0

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

description: Andreas Klostermann - Brainwaves for Hackers 2.0 This talk is a sequel to "Brainwaves for Hackers" and illustrates some experiments you can do with a Neurosky Mindwave headset, a bluetooth enabled EEG device. I'll also talk some more about how to integrate the device with the IPython Notebook for real time viewing and how to use the Mindwave with the Raspberry Pi.

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


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

description: Andrey Syschikov - Practical usage of advanced Python constructs Python is a language of choice for developers with wide range of experience, for some it is a first programming language, others switch to Python after years of experience. Python provides friendly syntax and smooth learning curve. This sometimes leads to developers lacking comprehension of some more advanced constructs. It happens that experienced developers jump into using Python and sometimes miss less known Python language constructs. On the other hands people who purposefully learned Python sometimes lack practical ideas for how to apply those constructs. This talk will be specifically focused on the practical usages of advanced Python constructs like iterators, generators, decorators and context managers. Goal of the talk is to share ideas about how those constructs can be used for practical purposes in real projects. Prior knowledge is not required, there will be a brief introduction to every construct being presented.

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


How you can benefit from type hints

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

description: Andrey Vlasovskikh - How you can benefit from type hints PEP 484 introduces type hints for Python 3. Type hints can increase readability of our code for both humans and tools and lead to better and safer outcomes. And we'll prove it in this talk! We're going to take a closer look at type hints, see practical examples of where they can be used and the value they provide. We'll see that simple class types and built-in collection types are often enough for our public API's. We'll also discuss how you can benefit from type hinting stubs for third-party libraries and briefly cover more advanced scenarios like generic types.

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


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

description: Andrii Chaichenko - Building a RESTful real-time analytics system with Pyramid CeleraOne tries to bring its vision to Big Data by developing a unique platform for real-time Big Data processing. The platform is capable of personalizing multi-channel user flows, right-in time targeting and analytics while seamlessly scaling to billions of page impression. It is currently tailored to the needs of content providers, but of course not limited to. - The platform’s architecture is based on four main layers: - Proxy/Distribution -- OpenResty/LUA for dynamic request forwarding - RESTful API -- several Python applications written using Pyramid web framework running under uWSGI server, which serve as an integration point for third party systems; - Analytics -- Python API for Big Data querying and distributed workers performing heavy data collection. - In-memory Engine -- CeleraOne’s NoSql database which provides both data storage and fast business logic. In the talk I would like to give insights on how we use Python in the architecture, which tools and technologies were chosen, and share experiences deploying and running the system in production.

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


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

description: Antoine Pitrou - Numba, a JIT compiler for fast numerical code This talk will be a general introduction to Numba. Numba is an open source just-in-time Python compiler that allows you to speed up numerical algorithms for which fast linear algebra (i.e. Numpy array operations) is not enough. It has backends for the CPU and for NVidia GPUs. After the talk, the audience should be able to understand for which use cases Numba is adequate, what level of performance to expect, and have a general notion of its inner working. A bit of familiarity with scientific computing and/or Numpy is recommended for optimal understanding, but the talk should otherwise be accessible to the average Python programmer. It should also be of interest to people who are curious about attempts at high-performance Python.

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


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

description: Anton Caceres - Better asynchronous code with Tornado and Python 3 The asyncio module introduced in Python 3.4 is a game-changer for I/O management and event-driven network programming in Python. Aiming to be a lower-level implementation of an asynchronous event loop, it intends that higher level frameworks like Tornado, Twisted or Gevent will build on top of it, taking advantage of the shared interface for writing concurrent event-driven code across different Python frameworks. This talk connects theory with practice, presenting how Tornado can run in the asyncio event loop and take advantage of the subgenerator delegation syntax (yield from) to provide a high degree of concurrency while keeping the simplicity of sequential code. It explains the concept of coroutines, futures and ioloop, exposing Python 3 code for sample web tasks. The talk completes with a basic demo of running this code on Tornado, comparing its syntax and performance with popular asynchronous frameworks from other languages.

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


The GIL is dead: PyPy-STM

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

description: Armin Rigo - The GIL is dead: PyPy-STM Take a big, non-multithreaded program, and run in on multiple cores! PyPy, the Python implementation written in Python, experimentally supports Software Transactional Memory (STM). It runs without the Global Interpreter Lock (GIL). The strength of STM is not only to remove the GIL, but to also enable a novel use of multithreading, inheritently safe, and more useful in the general case than other approaches like OpenMP. The main news from last year's presentation is that there is now a way to get reports about the "STM conflicts", which is essential to go past toy examples. With it, you can incrementally remove conflicts from large code bases until you see a benefit from PyPy-STM. The goal of the talk is to give several concrete examples of doing that.

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


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

description: Antonin Lacombe - From basic distance search to a complex multi criteria search This case study show how to start from a simple distance search on elasticsearch and haystack and implement a production ready search like airbnb. The talk will explain decay functions works with the different curves (linear, exponential, gauss) and how to send them with query scores to elasticsearch. With that you will be able to mix the distance, the price, the user activity, the number of picture and whatever you want. Additionally I will show how to write a custom ElasticsearchSearchQuery and ElasticsearchSearchBackend because this is not yet supported by haybtacksearch.

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


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

description: Antonio Cuni - Python and PyPy performance (not) for dummies In this talk we would like to have a short introduction on how Python programs are compiled and executed, with a special attention towards just in time compilation done by PyPy. PyPy is the most advanced Python interpreter around and while it should generally just speed up your programs there is a wide range of performance that you can get out of PyPy, ranging from slightly faster than CPython to C speeds, depending on how you write your programs. We will split the talk in two parts. In the first part we will explain how things work and what can and what cannot be optimized as well as describe the basic heuristics of JIT compiler and optimizer. In the next part we will do a survey of existing tools for looking at performance of Python programs with specific focus on PyPy. As a result of this talk, an audience member should be better equipped with tools how to write new software and improve existing software with performance in mind. The talk will be given by Antonio Cuni and Maciej Fijalkowski, both long time PyPy core developers and expert in the area of Python performance.

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


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

description: Abraham Martin - Architecture of a cloud hosting service using python technologies: django, ansible and celery The talk will show the architecture and inners of a cloud hosting service we are developing in the University of Cambridge based on python technologies, mainly django, ansible, and celery. The users manage their hosts using a web panel, developed in django, with common options: ability to create a vhost, associate domain names to vhosts, install packages, recover from backups, make snapshots, etc. Interaction between the panel and the hosts are made using ansible playbooks launched asynchronously by celery tasks. The VM architecture has been designed to be VM platform agnostic and to provide disk replication and high availability. The University of Cambridge central IT services also provides other services to the rest of the university like domain name registration, authentication, authorisation, TLS certificates, etc. We link all these other services with the hosting service by using APIs while keeping a microservices architecture approach. Thus, enabling the use/link of other services within the same hosting service web application.

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


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

description: Scott Triglia - Arrested Development - surviving the awkward adolescence of a microservices-based application The potential upside of microservices is significant and exciting. So much so that Yelp's Transaction Platform committed from the start to an architecture of small, cooperative microservices. This talk explores the inevitable complications that arise for Python developers in as the services grow larger and stretch both their own architecture and the developers responsible for them. Come hear tales of terror (tight coupling! low test coverage!), stories which will warm your heart (agility! strong interfaces!), and everything in between as we follow the adventures of our plucky team. The talk will be focused on the functional, cultural, and reliability challenges which occur as a microservices-based project evolves and expands over time. Particular attention will be paid to where these diverge from the utopian way microservices are often described, and to the particular difficulties faced by Python developers trying to implement such systems. My goal is to share with attendees some mistakes we've made, some successful methods for growing gracefully, and Python-specific tools/libraries which can help with these problems. To enjoy this talk, you should be aware of the basic vocabulary and concepts of HTTP-based services. Any additional awareness of distributed systems (and their failure modes) will be helpful.

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


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

description: Ben Nuttall - Physical computing with Python and Raspberry Pi With the Raspberry Pi, it's easy to do physical computing directly from Python code - rather than usual embedded hardware engineering in C or Assembler. In this talk I'll show examples of physical computing projects that use Python on Raspberry Pi and demonstrate the sort of code used in such projects. Physical computing with Python is very popular in education - as it's so engaging, and more interesting than printing to the screen. This will be an informative session with learning possibilities to give those new to physical computing a change to get started.

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


Python and elasticsearch 101

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

description: Benoît Calvez - Python and elasticsearch 101 Before its first major version, Elasticsearch was only used as a "secondary" database, and search engine. The releases added a snapshort/restore feature, making it a great full featured database This talk will focus on how we integrate Elasticsearch into our stack, and the multiple usage we make of it: from storing business events to IOT devices metrics.

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


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

description: Bhaumik Shukla - Python for Cloud Services and Infrastructure Management This talk is about how python is used in cloud computing as well as used while configuring cloud infrastructure. It also gives brief about tools and technologies/libraries can be used for number of tasks while cloud development/execution. Developers and all python lovers are the perfect audience for this talk. They will get the brief about reliable stack of python based tools used in cloud development and also will be sharing the experience with python. Summary: Python in cloud. Kind of services can be build with python. Python based tools used in deployment and configuration management for the cloud. For every python lovers - How to create a python friendly cloud infrastructure with great reliable combination of many stable tools. Stability. Experience sharing.

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


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

description: Brecht Machiels - RinohType, a document processor inspired by LaTeX RinohType is a document processor inspired by [LaTeX] and written in Python. It renders [reStructuredText] and [Sphinx] documents to PDF based on a document template and a style sheet. RinohType already implements many of the features that make LaTeX so great. Not stopping there, RinohType also tries to fix LaTeX's weaknesses; it should not only be easy to use, but easy to _customize_ and _extend_ as well. To minimize frustration when things go wrong, care is taken to provide descriptive warning and error messages. The powerful layout engine makes it easy to define custom page layouts. And the CSS- inspired stylesheets simplify the styling of document elements. At a lower level, Python makes the writing of extensions much more accessible when compared to TeX's rather arcane macro language. In the talk, I would like to introduce RinohType to the Python community. No special prerequisite knowledge is required. I will start off by discussing my motivation for starting RinohType development, its design goals and the currently available features. This will be followed by an example of how you can use RinohType to render a reStructuredText document to a neat PDF document, highlighting some of the features along the way. Next, we'll explore some of RinohType's internals such as the page layout engine and the style sheet system. We will explore how these can be used in a Python application to create a document from scratch. A first RinohType release was recently created. While this preview release is of alpha quality, it should be able to render most reStructuredText documents. It also includes a preliminary Sphinx builder. Please find more details in the package's description at [PyPI].

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


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

description: Brianna Laugher - The realities of open source testing: lessons learned from “Adopt pytest month” Ever feel like your open source project could be better tested? Lack of tests holding you back from contributors but you don’t know where to start? You’re not alone. [“Adopt pytest month”] was held in April 2015. [Pytest] volunteers were paired with open source software projects, to find a path to better testing with pytest. Projects varied from libraries/command line utilities, to a browser, to a complex Django app. In some cases converting existing tests was necessary, in others writing the first tests in existence for non-trivial amounts of code. Two projects were open sourced specifically to take part in “adopt pytest month”. What began as an experiment in increasing software audience proved to be an interesting exercise in strengthening community and most valuable of all, provided a newcomer’s perspective to veteran contributors. This talk will discuss what worked well with “adopt pytest month”, what didn’t, what we learned about pytest and what you could take away for your open source project, be it an improved testing environment or an improved contributor community. A basic knowledge of testing and pytest will be useful.

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


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

description: Carles Bruguera - MAX: Realtime messaging and activity stream engine What if I told you that we’ve built an open source “WhatsApp”-like RESTful API on the top of Pyramid? We've developed MAX: a real-time messaging service and activity stream that has become the key feature for a social intranet at the BarcelonaTech University We will show how we designed and built MAX with performance in mind using state of the art Python technologies like Gevent, WSGI, and multi-threaded queue processing. We will also show you how we've managed to design a simple architecture guaranteeing both high scalability and performance, achieving connecting ratios over 30.000 students, teachers, and university staff. The API is secured using oAuth 2.0 resource owner password credentials flow powered by our own oAuth server implementation (Osiris) also Pyramid-based. We are using MongoDB as general storage backend and RabbitMQ over websockets to support realtime and messaging.

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


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

description: Carrie Anne Philbin - Keynote: Designed for Education: A Python Solution The problem of introducing children to programming and computer science has seen growing attention in the past few years. Initiatives like Raspberry Pi, Code Club, code.org, (and many more) have been created to help solve this problem. With the introduction of a national computing curriculum in the UK, teachers have been searching for a text based programming language to help teach computational thinking as a follow on from visual languages like Scratch. The educational community has been served well by Python, benefiting from its straight-forward syntax, large selection of libraries, and supportive community. Education-focused summits are now a major part of most major Python Conferences. Assistance in terms of documentation and training is invaluable, but perhaps there are technical means of improving the experience of those using Python in education. Clearly the needs of teachers and their students are different to those of the seasoned programmer. Children are unlikely to come to their teachers with frustrations about the Global Interpreter Lock! But issues such as usability of IDEs or comprehensibility of error messages are of utmost importance. In this keynote, Carrie Anne will discuss existing barriers to Python becoming the premier language of choice for teaching computer science, and how learning Python could be helped immensely through tooling and further support from the Python developer community.

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


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

description: Christian Trebing - Building a multi-purpose platform for bulk data using sqlalchemy At Blue Yonder, we've built a platform that can accept and process bulk amounts of data for multiple business domains (e.g. handling retail store location and sales data) using SQLAlchemy as a database abstraction layer. We wanted to use as much of SQLAlchemy as possible, but we quickly found that the ORM (Object Relational Mapper) is not suitable for handling large amounts of data at once. At the same time, we did not want each team of developers working on individual business domains to have to handcraft their own SQL statements. To solve this problem, we built an application configuration that closely resembles an SQLAlchemy model, but also contains application-specific logic settings. In this talk I will demonstrate: - an application architecture for multiple business domains - the structure of the domain configuration utilized in the generation of the SQLAlchemy model, SQLAlchemy core statements, and other application functionality - how the domain configuration is used throughout the application (consuming and parsing incoming data, storing it in a database and ensuring data quality)

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


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

description: Christine Doig - Scale your data, not your process: Welcome to the Blaze ecosystem NumPy and Pandas have revolutionized data processing and munging in the Python ecosystem. As data and systems grow more complex, moving and querying becomes more difficult. Python already has excellent tools for in-memory datasets, but we inevitably want to scale this processing and take advantage of additional hardware. This is where Blaze comes in handy by providing a uniform interface to a variety of technologies and abstractions for migrating and analyzing data. Supported backends include databases like Postgres or MongoDB, disk storage systems like PyTables, BColz, and HDF5, or distributed systems like Hadoop and Spark. This talk will introduce the Blaze ecosystem, which includes: - Blaze (data querying) - Odo (data migration) - Dask (task scheduler) - DyND (dynamic, multidimensional arrays) - Datashape (data description) Attendees will get the most out of this talk if they are familiar with NumPy and Pandas, have intermediate Python programming skills, and/or experience with large datasets.

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


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

description: Claudiu Popa - 12 years of Pylint (or How I learned to stop worrying about bugs) Given the dynamic nature of Python, some bugs tend to creep in our codebases. Innocents NameErrors or hard-to-find bugs with variables used in a closure, but defined in a loop, they all stand no chance in front of Pylint. In this talk, I'll present one of the oldest static analysis tools for Python, with emphasis on what it can do to understand your Python code. Pylint is both a style checker, enforcing PEP 8 rules, as well as a code checker in the vein of pyflakes and the likes, but its true power isn't always obvious to the eye of beholder. It can detect simple bugs such as unused variables and imports, but it can also detect more complicated cases such as invalid arguments passed to functions, it understands the method resolution order of your classes and what special methods aren't implemented correctly. Starting from abstract syntax trees, we'll go through its inference engine and we'll see how Pylint understands the logical flow of your program and what sort of type hinting techniques are used to improve its inference, including PEP 484 type hints. As a bonus, I'll show how it can be used to help you port your long-forgotten library to Python 3, using its new --py3k mode.

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

name:
12 years of Pylint: or
How I learned to stop worrying about bugs


Argus - the omniscient CI

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

description: Cosmin Poieana - Argus - the omniscient CI Bring the continuous integration to a new level, through a platform/project independent framework able to give you unittest-like reports. Argus is a scenario-based application written in Python, driven by custom recipes under configurable environments, that can be used for testing a wide variety of small and big projects, with the ability of querying live data from the in-test application. Until now, it's successfully used with [cloudbase-init] (a robust cloud initialization service for instances) under OpenStack and not only, due to its extensiveness and the ability to mimic different infrastructures. The goals of this talk are to show its generic scalability, how simple is to create such kind of recipes, the relationship between scenarios, introspection and tests and, but not last, the unlimited freedom of creating very custom aspects of these entities which lead to relevant and in-depth ready for analysis logs. There are no major prerequisites to understand it, just to be familiar with Python and optionally have a focus on cloud infrastructures.

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


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

description: Kyran Dale - Data-visualisation with Python and Javascript: crafting a data-viz toolchain for the web To accompany an upcoming O'Reilly book 'Data-visualisation with Python and Javascript: crafting a dataviz toolchain for the web' this talk aims to sketch out the toolchain by transforming some dry Wikipedia data (Nobel prize-winners) into a far more engaging and insightful web-visualisation. This transformative cycle uses Python big-hitters such as Scrapy, Pandas and Flask, the latter delivering data to Javascript's D3. While Python is fast becoming the goto language for data- processing/science, the visual fruits of that labour hit the wall of the web, where there is only one first-class language, Javascript. To develop a data-viz toolchain for the modern world, where web- presentation is increasingly mandated, making Python and Javascript play nicely is fundamental. This talk aims to show that the perceived wall between the two languages is actually a thin, permeable membrane and that, with a bare minimum of web-dev, one can get on with programming seamlessly in both.

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


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

description: Daniel Pope - Writing Domain Specific Languages with Python Python is an expressive general purpose programming language. Its syntax provides many ways to represent structure and minimise code repetition and boilerplate. But Python not always expressible enough. Perhaps when you've built a complicated enough system with hard-to-express inter-relationships, the code required to construct or operate on it can become complicated, repetitive and unreadable. Or perhaps you have users unfamiliar with Python who need to understand or edit a system. In cases like these, stepping beyond the syntax and semantics of basic Python can be an advantage. Daniel will describe various ways you can implement your own Domain Specific Languages, languages perhaps completely unlike Python that can succinctly describe more complicated Python systems. This talk will cover: * What and why of DSLs * Metaprogramming tricks * Writing simple parsers * The libraries PLY and PyParsing * Building tooling around your new DSLs

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


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

description: David Arcos - Python in the Sky: In-Flight Entertainment with Python Case study of [Immfly]'s Wireless In-Flight Entertainment system, built using Python. This talk will show the basic requirements for the system and the architecture decisions we took. Besides, running software at 10.000 meters implies new unexpected challenges, different from the ones we encounter day-to-day. We'll focus on how we solved them.

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


Can Rust make Python shine?

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

description: Dmitry Trofimov - Can Rust make Python shine? Rust is a new programming language from Mozilla. It is fast, safe and beautiful. It is also a very good option when needing performance. In this talk we're going to look at Rust and see what it offers and how we can leverage it as Python developers. And we'll do it with a case study: a statistical profiler for Python.

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


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

description: Dougal Matthews - MkDocs: Documenting projects with Markdown MkDocs is a Python library for creating documentation with Markdown. The primary goal of the project is to lower the barrier for documentation writers and to help enable high quality prose based documentation. The primary maintainer of MkDocs will cover the following topics: - An introduction to MkDocs and the project goals. - How and why did the project start? - Who uses MkDocs today? - Discuss what we need to do to create great documentation and how MkDocs can help. - A tour of the key features currently in MkDocs - Adding MkDocs to your project. - Using themes in the documentation and making customisations - Publishing your documentation with ReadTheDocs and GitHub pages. - A look at the up and coming features in MkDocs and how you can help make these happen. - A comparison with Sphinx and why you should consider MkDocs.

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


NumPy: vectorize your brain

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

description: Ekaterina Tuzova - NumPy: vectorize your brain NumPy is the fundamental Python package for scientific computing. However, being efficient with NumPy might require slightly changing how you write Python code. I’m going to show you the basic idioms essential for fast numerical computations in Python with NumPy. We'll see why Python loops are slow and why vectorizing these operations with NumPy can often be good. Topics covered in this talk will be array creation, broadcasting, universal functions, aggregations, slicing and indexing. Even if you're not using NumPy you'll benefit from this talk.

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


Sustainable way of testing your code

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

description: Eugene Amirov - Sustainable way of testing your code How to write a test so you would remember what it does in a year from now? How to write selective tests with different inputs? What is test? How to subclass tests cases and yet maintain control on which tests would run? How to extend or to filter inputs used in parent classes? Are you a tiny bit intrigued now? :) This is not another talk about how to test, but how to organize your tests so they were maintainable. I will be using nose framework as an example, however main ideas should be applicable to any other framework you choose. Explaining how some parts of code works I would have to briefly touch some advanced python topics, although I will provide need-to-know basics there, so people with any level of python knowledge could enjoy the ride.

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


EuroPython 2015 - Welcome

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

description: Fabio Pliger/Oier Beneitez - Welcome Welcome to EuroPython 2015

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


TDD - the why, the how and the when not

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

description: Fabian Kreutz - TDD - the why, the how and the when not TDD is great, we all know that. But why is it so, and under which circumstances is it ineffective or even harmful? In this talk I want to delve into the deeper meaning of testing to derive how to do it best. All of this from the point of view of somebody who has profited but also struggled with testing and TDD. For every experience level from beginner to advanced there is something to learn or ponder.

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


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

description: Fabio Pliger - Big data beautiful visualization on the browser with Bokeh Bokeh is a Python interactive visualization library for large datasets that natively uses the latest web technologies. Its goal is to provide elegant, concise construction of novel graphics in the style of Protovis/D3, while delivering high-performance interactivity over large data to thin clients. The talk will go through it’s design providing details of the different API layers (bottom to top) concluding with a comprehensive showcase of examples to expose many of the features that make Bokeh so powerful and easy.

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


Help us build the next edition!

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

description: Fabio Pliger/Marc-André Lemburg - EuroPython 2016: Help us build the next edition! We need help with organizing and running EuroPython 2016. In this session, we will explain how the EuroPython workgroup model works and where you could help.

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


TDD is not about tests!

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

description: Fabrizio Romano - TDD is not about tests! TDD is not about tests! Well, actually, it’s not a about writing tests, or writing them before the code. This talk will show you how to use tests to really drive development by transforming business requirements into tests, and allowing your code to come as their natural consequence. Too often this key aspect is neglected and the result is that tests and code are somehow “disconnected”. The code is not as short and efficient as it could be, and the tests are not as effective. Refactoring is not always easy, and over time all sorts of issues start to come out of the surface. However, we will show that when TDD is done properly, tests and code merge beautifully into an organic whole that fulfills the business requirements, and provides all sorts of advantages: your code is minimal, easy to amend and extend, readable, clean. Your tests will be effective, short and focused, and allow for light-hearted refactoring and excellent coverage. We will provide enough information and examples to spark the curiosity of the novice, and satisfy the need of a deeper insight for the intermediate, and help you immediately benefit from this transformative technique that is still often underestimated and misunderstood.

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


Data Structures with Python

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

description: Fernando Masanori Ashikaga - Data Structures with Python Data Structures is traditionally a “bogeyman” discipline in Computer Science courses and has a high degree of failure. In FATEC São José dos Campos we are adopting a hybrid approach, with C and Python languages. The failure rate decreased from 85% (2008) to 12% (2014). The talk will be extensively illustrated with code in C and Python, addressing the various concepts taught in this course: recursion, linked lists, queues, stacks, sorting algorithms.

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


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

description: Filipe Ximenes - What is wrong with API wrappers and how can we do better Wrappers are an essential tool for interacting with web APIs. They reduce the amount of work needed to make requests and sometimes, only sometimes prevent the developer from dealing with extensive documentations. It’s common to encounter libs that require not only the study of their own documentation, but also the APIs one, duplicating the needed work. This is caused because wrappers do not follow a design pattern, each developer creates it’s own design, coding style and use their preferred tools. [Tapioca] is what can be called: "a wrapper generator”. Creating API wrappers with Tapioca is extremely easy and fast. For example, it took 1 hour to write the full wrapper for the [Parse.com] REST API. But this is not the more important thing, Tapioca libs have a similar interface so once understood how they work, developers can work with any other without the need to learn a new interface. Tapioca is also thought to comply with REST features and takes HATEOAS (Hypermedia as the engine of application state) seriously, so “following” links and pagination are natively supported. Explorability is also a key concept and developers are encouraged to play with Tapioca packages and find their way through APIs before writing their final code. Although there are some production ready [Tapioca wrappers], it is a work in progress, there are still many features to be explored.

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


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

description: Floris Bruynooghe - The hook-based plugin architecture of py.test The hook-based plugin system used by py.test and being made available as a stand alone package allows easy extensibility based on defined extension points which can be implemented using hook functions in the plugins. Plugins can themselves call these hooks as well as define future extension points allowing for a very flexible design. py.test itself uses this plugin system from the ground up with the entire application being implemented by built-in plugins. This architecture has proven powerful and flexible over the years, on both command line tools as well as long running daemons. This talks will describe how the plugin system works and how it deals with passing arguments and return values 1:N hook calls. It will also describe how to design an application consisting entirely of plugins. While not specifically talking about py.test it will also give a solid understanding on how plugins work in py.test.

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


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

description: Francesc Alted - New Trends In Storing Large Data Silos With Python My talk is meant to provide an overview of our current set of tools for storing data and how we arrived to these. Then, in the light of the current bottlenecks, and how hardware and software are evolving, provide a brief overview of the emerging technologies that will be important for handling Big Data within Python. Although I expect my talk to be a bit prospective, I won't certainly be trying to predict the future, but rather showing a glimpse on what I expect we would be doing in the next couple of years for properly leveraging modern architectures (bar unexpected revolutions ;). As an example of library adapting to recent trends in hardware, I will be showing bcolz, which implements a couple of data containers (and specially a chunked, columnar 'ctable') meant for storing large datasets efficiently.

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


Knowing your garbage collector

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

description: Francisco Fernández Castaño - Knowing your garbage collector As Python programmers we're used to program without taking care about allocating memory for our objects and later on freeing them, Python garbage collector takes care of this task automatically for us. Garbage collection is one of the most challenging topics in computer science, there are a lot of research around the topic and different ways to tackle the problem. Knowing how our language does this process give us a better understanding of underlying interpreter and allow us to know why problems like cycles can happen in CPython interpreters. So, this talk aims to be and introduction to the topic and a walkaround through different approaches followed in CPython and PyPy: * Generational Reference counting with cycles detector on CPython. * Incremental version of the MiniMark GC on PyPy.

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


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

description: Georges Dubus - Through the lens of Haskell: exploring new ideas for library design Haskell is very different from Python, and provide different tools to library and framework designers. As a result, its ecosystem is filled with libraries and frameworks that solve the same problems we try to solve in our favorite programming languages, but with a very different approach. This talk is an exploration of the Haskell ecosystem, from the point of view of a Python developer. We will review various popular Haskell libraries and frameworks, focusing on the library design. The goal is to provide the audience a sneak peak of some different ways to tackle problems, and hopefully to inspire library authors to explore some design space that we don't usually explore in Python. This talk should be interesting to any intermediate Python programmer who is curious about other ways to solve problems. No Haskell knowledge is required from the audience.

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


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

description: Sarah Bird - Getting started with Bokeh / Let's build an interactive data visualization for the web..in Python! As a web developer, I find myself being asked to make increasing numbers of data visualizations, interactive infographics, and more. d3.js is great, as are many other javascript toolkits that are out there. But if I can write more Python and less JavaScript... well, that makes me happy! Bokeh is a new Python library for interactive visualization. Its origins are in the data science community, but it has a lot to offer web developers. In this mini-tutorial, I'll run through how to build a data visualization in Bokeh and how to hook it into your web application. This will be a real-world example, that was previously built in d3.js. Along the way, I'll provide tips and tricks that I've discovered in my experience including how Bokeh works wonderfully with the iPython notebook which I use to prototype my visualizations, and many data science people use as their native way to explore data. For those of you who already know a little Bokeh, I'll be covering the new "actions framework" that lets you write JS callbacks in your python code so you can do lots of interactions all on the client side.

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


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

description: Gianluca Nieri - Python for IT specialists' tasks automation This talks is about automation and the use of Python scripts to speed up repetitive tasks. It's for developers, sysops, devops, but also any kind of user that want improve his daily routine. I will talk about the use of Python with different tools for different platforms: Keyboard Maestro/Alfred/Hazel on OsX and Synapse/Kupfer/AutoKey on Linux. There will be presented some sample script to give an idea of the potentiality of Python mixed with great tools, and these are some of the topics that I will cover: - text manipulation; - document template management; - clipboard management; - stuff internet activities (url shortening, web scraping, etc.); - list management. - etc.

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


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

description: Giuseppe Cammarota - Activity Map from space: supporting mine clearance with Python Removing UneXploded Ordnance (UXO) from minefields at the end of a conflict is a very time-consuming and expensive operation. Advanced satellite image processing can detect changes and activities on the ground and represent them on a map that can be used by operators to classify more dangerous zones and safer areas, potentially reducing the time spent on field surveys. We exploit space-borne radar Earth images together with thematic data for mapping activities on the ground using numpy, scipy and gdal. The Activity Map generation process to be shown will be implemented using IPython Notebook.

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


Keynote: Python now and in the future

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

description: Guido van Rossum - Keynote: Python now and in the future This is *your* keynote! I will have some prepared remarks on the state of the Python community and Python's future directions, but first and foremost this will be an interactive Q&A session.

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


Type Hints for Python 3.5

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

description: Guido van Rossum - Type Hints for Python 3.5 PEP 484, "Type Hints", was accepted in time for inclusion in Python 3.5 beta 1. This introduces an optional standard for specifying types in function signatures. This concept was previously discussed as "optional static typing" and I similar to the way TypeScript adds optional type declarations to JavaScript. In this talk I will discuss the motivation for this work and show the key elements of the DSL for describing types (which, by the way is backward compatible with Python 3.2, 3.3 and 3.4). Note: *Python will remain a dynamically typed language, and I have no desire to ever make type hints mandatory, even by convention!*

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


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

description: Haikel Guemar - The Lightweight Cloud Servers War Begins Docker has introduced a new model of deployment solving the infamous "Deployment Matrix from Hell" by using containers. But this also brought the spotlight back on the Operating System side, and following the trails of CoreOS and Atomic Host, a new generation of Cloud Servers are born by using containers instead of traditional RPM/DPKG/tarball/whaterver packages model to deploy services. CoreOS/Atomic Host/Snappy Ubuntu and now VMWare Photon also provides transactional image-based OS focusing on security and built-in cluster management. During this talk, we'll present these next-gen OS, and their components and how they fit in.

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


How to build a spreadsheet with Python

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

description: Harry Percival - How to build a spreadsheet with Python Do you know how a spreadsheet works? Can you imagine building one, from scratch, in Python? This talk will be a whirlwind overview of how to do just that. Based on the source code of Dirigible, a short- lived experiment in building a cloud-based Pythonic spreadsheet (now [open-sourced], for the curious). We'll start from scratch, with a simple data representation for a two- by-two grid, and then gradually build up the functionality of our spreadsheet: - Cell objects, and the formula/value distinction - Evaluating cells, from simple arithmetic up to an Excel-like dialect - Building up the dependency graph, and the ensuing fun times with recursion (arg!) - Integrating custom functions and user-defined code. Showing and explaining code examples, and alternating with live demos (don't worry, I've done this before!) And it's all in Python! You'll be surprised at how easy it turns out to be, when you go step-by-step, each building on the last... And I promise you'll be at least a couple of moderately mind-blowing moments :)

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


PythonAnywhere and Education

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

description: Harry Percival - PythonAnywhere and Education Python may be the ideal language for teaching because of its simplicity and readability, but actually getting a working and consistent development environment installed on a diverse set of student (or school) computers can be less than straightforward. And then there's pip, numpy, scipy, windows vs unix command lines... As a result, we've had lots of teachers coming to PythonAnywhere over the years, to skip all these problems. We've recently started adding some extra features to help teachers and students which we're keen to share with the EuroPython audience.

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


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

description: Hitul Mistry - Python Multithreading and Multiprocessing: Concurrency and Parallelism In this talk, people will get introduced to python threading and multiprocessing packages. This talk will cover multiprocessing/threaded development best practices, problems occurs in development, things to know before multiprocessing/multi-threading. After this talk attendees will be able to develop multiprocessing/threaded applications. This talk will cover threads, global interpreter lock, thread pool, processes, process pool, synchronization locks - Lock & RLock , semaphores, events, condition, timer, pipes, queue, shared memory. This talk will also cover best practices and problems in multiprocessing and threaded application development.

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


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

description: Holger Krekel - Keynote: Towards a more effective, decentralized web Many would like to see more decentralization but what does it mean, really? In this talk, I'll discuss the recent rise of immutable state concepts in languages and network protocols. And how the advent of hash-based data structures and replication strategies are shaking the client/server web service paradigm which rests on managing mutable state through http. By contrast, building on git, bittorrent and other content addressed data structures provides for a more secure, efficient decentralized communication topology. There are projects, thoughts and talk to create new web standards to bring such technologies to mass deployment and fuel a new wave of decentralization. What can Python bring to the table?

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


Beyond the basics with Elasticsearch

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

description: Honza Král - Beyond the basics with Elasticsearch Elasticsearch has many use cases, some of them fairly obvious and widely used, like plain searching through documents or analytics. In this talk I would like to go through some of the more advanced scenarios we have seen in the wild. Some examples of what we will cover: Trend detection - how you can use the aggregation framework to go beyond simple "counting" and make use of the full-text properties of Elasticsearch. Percolator - percolator is reversed search and many people use it as such to drive alerts or "stored search" functionality for their website, let's look at how we can use it to detect languages, geo locations or drive live search. If we end up with some time to spare we can explore some other ideas about how we can utilize the features of a search engine to drive non- trivial data analysis including Geo-enabled search with relevancy.

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


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

description: Hynek Schlawack - Beyond grep: Practical Logging and Metrics Knowing that your application is up and running is great. However in order to make informed decisions about the future, you also need to know in what state your application currently is and how its state is developing over time. This talk combines two topics that are usually discussed separately. However I do believe that they have a lot of overlap and ultimately a similar goal: giving you vital insights about your system in production. We'll have a look at their commonalities, differences, popular tools, and how to apply everything in your own systems while avoiding some common pitfalls.

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


Everyone can do Data Science in Python

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

description: Ignacio Elola - Everyone can do Data Science in Python Data Science is a hot topic, and most data scientist use either Python or R to do their jobs as main scripting language. Being import.io data scientist for the last 2 years, all of them using Python, I've come across many different problems and needs on how to wrangle data, clean data, report on it and make predictions. In this talk I will cover all main analytics and data science needs of a start-up using Python, numpy, pandas, and sklearn. For every use case I will show snippets of code using IPython notebooks and run some of them as live demos.

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


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

description: Igor Davydenko - Asyncio Stack & React.js or Development on the Edge Times changed, with introducing asyncio to Python standard library many and many developers think about switching from previous solutions to aio stack. Talk will introduce aiohttp, aioredis & aiopg-cornerstones for building modern Python backends and show common problems & solutions while switching to aio stack. But not only Python changed. In second part, I'll talk about what new happened in frontend development, how new ES6 features modified JavaScript, and what React.js & Flux means for Python developers. Talk will cover real-world web application, which used aio stack on backend and React.js & Flux approach on frontend and provide useful observations for other developers interested in these topics.

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


Reahl: The Python-only web framework

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

description: Iwan Vosloo - Reahl: The Python-only web framework Reahl is a full-featured web framework with a twist: with Reahl you write a web application purely in Python. HTML, JavaScript, CSS and all those cumbersome web technologies (and a few other lower level concerns) are hidden away from you. As far as web frameworks go this is truly a paradigm shift: away from the cobwebs of all the different web technologies, template languages and low-level details -- towards being able to focus on the goals at hand instead, using a single language. In this talk I will give you a brief idea of what Reahl is all about: why it is worthwhile doing, how it works, where we are and what still needs to be done. I hope to convince you that this is an important direction for web frameworks, and of how unique Reahl is. Developing such an abstract framework is an ambitious goal. I'd like to convey the message that what we have achieved so far, and the strategy lessons learnt along the way demonstrate this goal to be realistic and practical.

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


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

description: Ionel Cristian Mărieș - Less known packaging features and tricks You've been making packages for a while now. Everything works almost fine, however, lots of new features and tools have been developed recently. Some are really obscure. And there's a chance they can save you time and help you avoid _packaging-induced-pain_. I'm willing to bet couple of beers you haven't seen these features and/or tools before. This talk is going to show you: - Patterns and tricks you can use in your `setup.py`. - Obscure pip/setuptools/virtualenv/python features you can use to improve your packaging experience (be it as a user of packages or a package author). - Fledgeling alternative tools.

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


Pycon - A teacher's perspective

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

description: James Robinson - Pycon - A teacher's perspective A perspective of the impact of the PyconUK education track from the point of view of teachers and educators. Having attended the education track at Pycon UK 2014 as a teacher, my talk will share both my experiences and those of other teachers attending. The education track bought educators and developers together in a way that allowed the teachers to get support and advice whilst developers get to support teachers in developing exciting & real applications for teaching computing. The talk will focus on two aspects of the education track. The workshops delivered for teachers by python developers and how this helps build teachers confidence. But also the breakout sessions where educators and developers with common interests can work together to develop something. This might be a program / library or a teaching resource, some developers gave a hands on and bespoke training session to a group of teachers. If we are to get more young people programming or at least having a positive experience of programming then we need to minimize obstacles to that experience. By having educators and developers working together we can identify those obstacles and eliminate them!

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


Raspberry Pi Weather Station

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

description: James Robinson - Raspberry Pi Weather Station The Raspberry Pi weather station project introduces young people to using python programming to solve real and technical problems. The weather station consists of a range of sensors including: Anemometer Rain gauge Wind Vane Temperature Probe Barometer Air Quality Sensor Hygrometer 1000 kits are being given away to schools to take part in the project by following our schemes of work which will involve. Programming basic interrupt based sensors Advanced Sensors using ADC chips Create a pygame based UI Logging data to MySQL and Oracle Apex Presenting data to a web app Deploying the weather station Integrating Apex database We would love feedback on the project from Python Developers and support in updating some libraries from python 2 to 3.

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


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

description: Jan Pazdziora - External authentication for Django projects When applications get deployed in enterprise environment or in large organizations, they need to support user accounts and groups that are managed externally, in existing directory services like FreeIPA or Active Directory, or federated via protocols like SAML. While it is possible to add support for these individual setups and protocols directly to application code or to Web frameworks or libraries, often it is better to delegate the authentication and identity operations to a frontend server and just assume that the application has to be able to consume results of the external authentication and identity lookups. In this talk, we will look at Django Web framework and how with few small changes to the framework and to the application we can extend the functionality of existing RemoteUserMiddleware and RemoteUserBackend to consume users coming from enterprise identity management systems. We will focus on using proven OS-level components such as SSSD for Web applications, but will also show setup using federation.

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


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

description: Jean-Philippe Caissy - Static type-checking is dead, long live static type-checking in Python! A few months ago, Guido unfolded PEP 484, which was highlighted at PyCon 2015 as a keynote presentation. This proposal would introduce type hints for Python 3.5. While the debate is still roaring and without taking a side, I believe that there is much to learn from static type-checking systems. The purpose of this talk is to introduce ways that could be used to fully take over the amazing power that comes with static types, inside a dynamic type language such as Python. The talk will go over what exactly a static type system is, and what kind of problem it tries to solve. We will also review Guido's proposal of type hinting, and what it could mean to you. Finally, I will present a few libraries that are available, such as Hypothesis or various QuickCheck-inspired library that tries to build more robust tests, how they achieve it and their limitations. Throughout the talk, a lot of examples will used to fully illustrate the ideas being explained. At the end of this talk, you should have a better understanding of the wonderful world of type systems, and what it really means to you. It should help you decide wether using type hints will be helpful to you and also if an external library trying to fuzz your tests has its place inside your project

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


Playing with CPython Objects Internals

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

description: Jesús Espino - Playing with CPython Objects Internals I will explain how CPython objects are built, from simple objects like int or None to complex ones like dict. To make it funnier, I will play to change instance data directly using ctypes and do "really bad things" like truncating tuples.

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


Todo es una trampa

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

description: Jesús Espino - Todo es una trampa A día de hoy usamos un enorme conjunto de bibliotecas y frameworks, además los usamos con cierta libertad dentro de nuestro código, y pasado el tiempo nos damos cuenta de que esa biblioteca, no cubre mis necesidades, o tiene algún fallo, o no escala bien en proyectos más grandes... en resumen, hemos caído en una trampa. No se puede evitar caer en estas trampas, porque depende de nuestras necesidades y las bibliotecas que utilizamos, por lo tanto, solo podemos estar lo mejor preparados posibles para salir de ellas tan pronto como nos demos cuenta. Como solución a esto, plantearé varias vías (nada innovadoras, pero menos usadas de lo que deberían). Unit testing (TDD idealmente), arquitectura hexagonal, y algunas reglas básicas de clean code.

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


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

description: João Santos - Using Git Hooks to Help Your Engineering Teams Work Autonomously In this talk, Software Engineer Joao Santos will describe how the engineering team at Zalando has been migrating to local Git hooks to ensure that engineers can work autonomously and flexibly. Zalando--- Europe’s leading online fashion platform for men, women and children-- began shifting from SVN to Git in late 2013. Santos and his colleagues used Python to create a Git update hook that enabled the team to reject changes to a branch while still allowing changes to other branches. He’ll explain why his team chose Python for this job instead of a bash script, point out mistakes made during the process (and solutions his team used to fix them), and the benefits generated by this migration. He’ll also talk about turnstile: a set of open-source, configurable, optional local Git hooks, created by the Zalando team, that enables engineers to abide by internal rules for committing code while following their own coding style and workflow preferences.

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


Python Security & Cryptography

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

description: Jose Ortega - Python Security & Cryptography The talk would aim to introduce cryptography and security from the developer point of view, showing ways to encrypt information with Python scripts and more sensitive information in web applications using django. I will introduce to security in python ,showing some libraries that allow encryption and decryption like PyCrypto or M2Crypto,comparing theses libraries with the cryptography module.At the same time,I will show the main ciphers and hashing algorithms used in these libraries like AES,DES,RSA and some examples illustrating each case.I wil show other techniques like steganography for hiding information in files(images,documents,programs) with some libraries like Stepic or ezPyCrypto. Finally,I will comment OWASP Python Security Project where we can find some useful practices and secure coding guidelines for detecting potential security vulnerabilities in our applications like SQL injection or Cross-site scripting.

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


Getting more out of Matplotlib with GR

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

description: Josef Heinen - Getting more out of Matplotlib with GR Python is well established in software development departments of research and industry, not least because of the proliferation of libraries such as _SciPy_ and _Matplotlib_. However, when processing large amounts of data, in particular in combination with GUI toolkits (_Qt_) or three-dimensional visualizations (_OpenGL_), Python as an interpretative programming language seems to be reaching its limits. In particular, large amounts of data or the visualization of three- dimensional scenes may overwhelm the system. This presentation shows how visualization applications with special performance requirements can be designed on the basis of _Matplotlib_ and _GR_, a high-performance visualization library for Linux, OS X and Windows. The lecture focuses on the development of a new graphics backend for _Matplotlib_ based on the _GR_ framework. By combining the power of those libraries the responsiveness of animated visualization applications and their resulting frame rates can be improved significantly. This in turn allows the use of _Matplotlib_ in real- time environments, for example in the area of signal processing. Using concrete examples, the presentation will demonstrate the benefits of the [GR framework] as a companion module for _Matplotlib_, both in _Python_ and _Julia_. Based on selected applications, the suitability of the _GR framework_ will be highlighted especially in environments where time is critical. The system’s performance capabilities will be illustrated using demanding live applications. In addition, the special abilities of the _GR framework_ are emphasized in terms of interoperability with graphical user interfaces (_Qt/PySide_) and _OpenGL_, which opens up new possibilities for existing _Matplotlib_ applications.

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