Grab your swag bag and coffee. Meet our sponsors and get ready for a day full of awesome talks!
CEO of Continuum Analytics, NumFOCUS founder, NumPy, SciPy and Numba creator.
Ola Sendecka: Co-founder of Django Girls, part of Django Core Team, author of 'Coding is for Girls' YouTube Channel. Works at Potato.
Ola Sitarska: Co-founder of Django Girls, part of Django Core Team, board member of Django Software Foundation, Senior Developer at Potato.
Core PyPy developer and open source advocate, I have been teaching and working with Python for a decade.
PyPy is moving toward the goto solution for improving python performance. We are expanding our support for the python capi, can support much of the numpy python interface, and should have released a Python 3.3 compatible version by the time Pycon Israel happens Attendees of the talk can see a full demo of PyPy on Windows, including installation of Numpy and running some scientific benchmarks.
Phd Student in networks science at Central European University, Center for Network Science. 5+ years experience in data analyst, wannabe data journalist and member of the Hungarian Django Girls Community.
Extracting meaning from data is one of the biggest challenge in science and industry. We can see many types of network-like data in Nature and man-made systems from social networks to protein-protein interaction networks. Here, I would like to show the capabilities of NetworkX which is a package for creation, manipulation and studying complex networks with Python. The topics involved this presentation will be (i) a very brief introduction to NetworkX (also mentioning other relevant python packages); and (ii) real examples and use cases in the second part (community detection and visualization with python), with a little hands-on session.
20 years of Python programming. Experienced in all stages of the software development life-cycle. Areas of expertise: software development, databases, system.
Python gives developers direct control over every stage of the OOP process. Metaclasses are the framework used in creating classes themselves and descriptors are what goes on behind the scene when you call a function or set an attribute. These programming tools are often considered to be among the black magic tools of expert python developers. However, they are not as scary as they look. In this talk, I will explain how metaclasses work and present some practical examples, including a minimally invasive way to add full usage/error logging to your entire application. When you leave my talk, you will have a newfound understanding of the power that metaclass programming and descriptor manipulation can give you.
Anna Herlihy is a software engineer working for MongoDB in Stockholm. She is a contributor to PyMongo, Monary, MongoDB, and others, as well the maintainer of Mongo-Connector. She enjoys finding abandoned open source projects and contributing.
What is LLVM-IR? The LLVM Compiler Infrastructure Project provides a transportable intermediate representation (LLVM-IR) that can be compiled and linked into multiple types of assembly code. LLVM-IR is great because you can take any language and distill it into a form that can be run on many different machines. Once the code gets into IR it doesn’t matter what platform it was originally written on, and it doesn’t matter that Python can be slow. It doesn’t matter if you have weird CPUs - if they are supported by LLVM it will run. What is Tupleware? TupleWare is an analytical framework built at Brown University that allows users to compile functions into distributed programs that are automatically deployed. TupleWare is unique because it uses LLVM-IR to be language and platform independent. What is PyLLVM? This is the heart of the talk. PyLLVM is a simple, easy to extend, one-pass static compiler that takes in the subset of Python most likely to be used by Tupleware. PyLLVM is based on an existing project called py2llvm (https://code.google.com/archive/p/py2llvm) that was abandoned around 2011. This talk will go through some basic compiler design and talk about how some LLVM-IR features make our lives easier, and some much harder. It will cover types, scoping, memory management, and other implementation details. To conclude, it will compare PyLLVM to Numba, a Python-to-LLVM compiler from Continuum Analytics and touch on what the future has in store for PyLLVM. Talk Objective Attendees will learn what LLVM-IR is and how it can be leveraged to allow data scientists to write their algorithms in Python. They will leave with a high-level understanding of the design process and considerations of writing a simple compiler. Last, they will know all about how PyLLVM coaxes Python code into LLVM-IR. It will become evident how cool LLVM and Python can be when they work together!
Instructor and Teacher (among others) in the intelligence core, IDF
Complex Python programs can be rather difficult to debug when hung. Finding out why a 500k lines process is completely stuck can be a daunting task, especially since PDB can't be attached to the stuck process in order to display rudimentary details such as local/global variables, stack traces and more. However, this can be mitigated greatly by tools such as GDB and strace. This talk will focus on such methods that will surely help you debug such programs.
Data Scientist at Magnetic (New York City, USA)
Those of us who build systems that deal with constant streams of incoming data (which includes anybody whose code touches the internet) often need algorithms that keep a fixed-size sample from the stream for on-the-fly analytics. Reservoir sampling is a commonly used algorithm for keeping a sample that's unbiased over all events in the stream. But what if you want your algorithm to keep a representative sample from the past 10 minutes instead of the entire stream? In this talk I'll start with a gentle introduction to Reservoir sampling for those who are not familiar with it, and then discuss several variants which keep a sample that is biased towards the present. One of these is the VIRB (Variable Incoming Rate Biased) sampler, which we have developed in-house at Magnetic. This talk covers the same material as this blog post: http://tech.magnetic.com/2016/04/virbs-sampling-events-from-streams.html
Julian is the Director of Platform Engineering at Magnetic (http://www.magnetic.com/), a frequent contributor to the NYC Python Meetup group and a testing lover. He can also be found most hours of the day as tos9 on Freenode in more channels than he can count, including #python.
JSON Schema (http://json-schema.org/) is an increasingly popular, cross-language specification for schematization of JSON documents. It represents schema constraints on a JSON document as a JSON document, in a flexible validation language. We’ll investigate some simple (and not so simple) examples of data validation using the jsonschema Python package (https://pypi.python.org/pypi/jsonschema), which implements the specification.
Chief Architect at Bluevine (https://www.bluevine.com). A programmer for almost 30 years. Last 6 years mostly working with Python/Django.
This is not a tutorial. It's an attempt to expose non data scientists experiencied pythonistas to the powerful pandas library. Most of python developers don't use pandas (either because they never heard of it, felt that it's a too steep learning curve or never thought that it will be useful for them). I intend to talk about python performance limitations and show how pandas can be used to overcome some of these limitations.
Serial entrepreneur (co-founded Mobix, Silver-Kite, Flowinspect, CorrSight), experienced VP R&D, Graduate of the prestigious IDF Talpiyot, MSc Cum-Laude in computer sciences.
An introduction to PyTest enabling people a simple start with it as well getting the information about its strengths and features
Ari Bornstein is a Microsoft Developer Evangelist out of New York City. He works with developers from Universities, Start-Ups, Fortune 500s, and Local Tech Communities on Consumer Cloud and Client Solutions. Ari is passionate about many things ranging from computer science to desert archeology. Prior to working at Microsoft, Ari worked with the Inova Hospital System in Fairfax VA to build Sci-Kit Learn machine learning classifiers that detect references to new treatments in medical literature.
Pandas and Sci-Kit learn are powerful open source data science and machine learning toolkits. However, putting them into production is not as seamless as it could be. In this talk attendees will learn how to build, visualize and connect Pandas and SciKit learn ensemble models into an Azure ML pipeline for experimentation and production.
Recently finished PhD in Mathematical & Computational Biology at Tel-Aviv University... Programming in Python since 2002... Teaching Python programming since 2011... Using Scientific Python (NumPy, SciPy, Matplotlib, IPython, Pandas) to research Evolutionary Theory since 2012... Gave presentations at several scientific conferences in Israel, USA, and UK.
Evolution takes place in large populations over long time and geographic scales. Due to these constraints, mathematical and computational approaches have been used to study evolution since the 1920's, leading to important developments in modern statistics, mathematics, and computer science. In this talk we will see how Scientific Python can be used to study evolutionary theory using mathematical and computational models. We'll see how to run fast evolutionary simulations with NumPy, analyze and visualize simulation results with Pandas and Seaborn, and find solutions to evolutionary models using SciPy and SymPy. Everything will be done in an open GitHub repo and presented using an online Jupyter Notebook to allow listeners to participate. This talk is a wonderful opportunity to discover how theoretical evolutionary biologists approach their research, as well as an occasion to learn about Scientific Python through actual research-based examples.
Currently a Software Architect at Cisco
I'll talk about the many ways to achieve concurrency in Python, including multi-threading, multi-processing, gevent, and maybe even asyncio / python 3.5's async-await. The talk will include examples from our experience developing a scale-out system for managing huge cellular networks in pure python.
The talk will present several strategies and tools that will allow Python code to run as lower-level code. Will touch on JIT vs. AOT compilers, which are the task suitable to be compiled so as to perform faster than native Python? How can one annotate Python to speed up compiled Python code? Optionally (time permitting): writing Python modules in C or Fortran, and using libraries from C or Fortran in Python.
Over a decade of algorithms research at 8200, mainly using Python. World Universities Debating Champion, European Universities Debating Champion, Public speaking coach BA in mathematics and computer science with honors from Tel Aviv University CEO & Co-Founder at Shoptimally.
Markov chains are an incredibly simple way to understand text and speech. In this talk we'll implement Markov chains, train them on different data and try to let python create new texts on it's own. Let's see how well this basic method does in creating texts that simulate poetry, famous books and other interesting things. The results might surprise you..
Open Source Developer, OpenStack Solution Architect @ Red Hat, opensource contributor, language avid learner and pursuing happiness.
Ever thought about what it takes to write a scalable cloud application using an OpenStack SDK? My talk is aiming to introduce the audience to the 'magicness' of the OpenStack SDK to develop applications that could use effectively all the features exposed. This talk is a way to evangelize people to use the proper tools and getting in touch with what's already out there instead to rewrite everything from scratch or reinvent the wheel. At the end of the talk the audience will see and 'touch' how easy is to write from scratch an application and make use of it, immediately using for example the trystack environment. Since the talk time is 30 minutes, there will be a template on github from what to start and at the end the working apps.
Rony Sheer is a Teacher who tries to solve teacher problems with web apps. Once a week, he goes to TichonNet High School in Tel Aviv and hacks with students. Rony has an M.F.A. in Classical Theatre from Columbia University and did not know coding was an art until...
Why do people say “I don’t like programming” without having tried it? Could it be that we are not teaching the right stuff? For the past year, Rony Sheer has been running the Code4Change hacking program at Tichonet High School and has lessons from the trenches. How do you teach teenagers to build Django apps together? How can agile methodology change education? What happens when you stop teaching “programming” and start teaching “making”? This is a talk about our role in introducing young people to code.
Python core developer for 14 years. Creator of the collections module and itertools module.
Split into 2 tracks.
Serial entrepreneur (co-founded Mobix, Silver-Kite, Flowinspect, CorrSight), experienced VP R&D, Graduate of the prestigious IDF Talpiyot, MSc Cum-Laude in computer sciences.
Short intro for the new feature of Python 3.5 and how it can improve your Python coding
Guillaume has been at Google since 2013 and is working on the Signals team for Google Cloud. Previously, Guillaume held responsibilities at various startups in Europe and in the US, the last one being API techlead at Twilio. Author of Errbot (http://errbot.io), when he is not working or hacking on it, you can find him car racing, scuba diving or tinkering on his latest electronic project.
ChatOps is about bringing your devops tools into your team chatroom. The recent rise of professional chatting services like Slack or Hipchat shows that people are embracing a new way of collaborating. Bringing your tools within those conversations tightens the feedback loop, improves information sharing and onboarding new people in your team. Some common operations implemented with chatops includes deployments, provisioning, monitoring, graphs, development tracking... Those are often implemented with the help of a chat bot like in this presentation Errbot. If your chatops system can be easily extended, for example here in Python, we will see that a team culture can crystallize around it with fun additions. This presentation's goal is to show you how easy it is to get started with chatops in Python, with some technical tips (installation, security, architecture...) but also some social tips to make your company understand better its potential for your team.
Benny Bauer is a Software Architect at Autodesk Israel. In the last years he has been busy with re-architecting the AutoCAD backend services, shifting the development from Java to Python, from monolith to microservices. Besides being a cloud geek, he's into rock climbing and hiking.
Serverless Architecture is considered to be the successor of PaaS model and is the next phase in the evolution of cloud development. As one of only 3 languages supported by AWS Lambda, these are very exciting times for Python. This talk will review the serverless ecosystem, use cases and the role Python plays in it.
In love with Python for almost 8 years. True believer in The Zen of Python and in the open-source way. I'm working on complex automation frameworks and creation of APIs and CLIs in Python.
I'll show how we can create very quickly rich CLI front-end for Python programs. Than I will explain how we can make this CLI expandable and Independent from back-end. Attendees will gain knowledge how to use Python Click module in order to create powerful, easily expandable and maintaniable front-end for their programs in a very quick way.
An avid long time Python user which likes to stretch what is possible to use the language for.
Description: Want to know what makes CPython interpreter's engine tick? How about modifying Python's bytecode or maybe modifying it live in another running Python process? Abstract: In this talk we will go into what is in a Python .pyc file and how CPython executes that bytecode (mainly by looking at the code object). Afterwards we will talk about how to make simple modifications to the bytecode in order to insert hook points into preexisting code. We will see how we can use pyrasite for inspecting and modifying an already running Python process (useful for debugging long-running servers or detecting memory leaks). Finally, we will survey some more generic Python bytecode modifiers and code injectors. Bonus points - How can CPython 2 (but not 3) can create valid yet unusable or wrong .pyc files from .py files? The talk will be based mainly on CPython 2.7. (1) bytehook https: //github.com/tzickel/bytehook (2) pyrasite https: //github.com/lmacken/pyrasite (3) codetransformer https: //github.com/llllllllll/codetransformer (4) PTVS code injector https: //github.com/Microsoft/PTVS/blob/0a3d9d17008e8d9b8fe2cb40c6c501f13861ccdb/Python/Product/PyDebugAttach/PyDebugAttach.cpp (5) that 20 years unclosed python 2 bug mentioned in the bonus points: ) https: //bugs.python.org/issue25083 + another timing quirk not documented.
Benjamin Peterson is a core developer of CPython. He also wrote the six Python 2 & 3 compatibility library.
Bazel is a build system recently open sourced by Google. Even though Python doesn't require 'building' in the traditional way like C++, large code bases can benefit from Bazel's features. Bazel provides powerful tools for expressing and querying dependencies—even between systems in different languages. It also makes it possible to bundle applications with all of their dependencies into a hermetic package for distribution. This talk will cover 1) an introduction to Bazel and how it differs from other build systems, 2) how Bazel can be used with Python, and 3) the limitations of Bazel.
Gabor has been programming for more than 30 years and has been teaching programmers for more than 15 years. He loves to automate tasks and he loves writing tests. He likes refactoring code and he likes helping people improve their code. Gabor has been contribution to the open source world for many years. He even received the White Camel Award and the HaMakor Prize for his contribution.
You have just landed a new job as a hero Python developer. Your first task is simple. Make a little tweak to an existing application. To your horror you discover the code is a mess written in the past 10 years by many different people who have just started their career as Python programmers. They all have already move on. They left behind the code, but it has no tests and no documentation. Oh and by the way, the company depends on the application. What do you do now? Fight or flight? In this talk you will hear about a couple of ways to fight with such a beast.
R&D Director @ Applitools
In this talk we would dive into the the heart of the Selenium WebDriver's python implementation. WebDriver is the de-facto automation standard for the web, and quite recently a rising start in mobile automation as well (via Appium). We will briefly describe the WebDriver wire protocol, which is the API layer of the automation, and see its python implementation. We will build a quick SDK wrapping the WebDriver class: It will be able to record (and export) actions done using a WebDriver instance, which can later be viewed or replayed by external tools.
Nati is a Production Engineer at SimilarWeb, fighting manual labor with code and vengeance. Previous experience includes: operations consulting, software development, *nix administration and security research in the Intelligence corps as well as in multiple startup companies.
Handling input languages like XML, YAML, or JSON is simple enough, just grab your favorite module and hammer it out. But what should one do when facing a more obscure markup language, configuration file or another artifact of a developer with acute NIH syndrome? In this talk we’ll (quickly) revisit formal languages basics and what can and cannot be parsed. We will then introduce
parsimonious, a simple, fast, and economic Parsing Expression Grammar parser written by Eric Rose.
Irina is a PhD student in Mechanical Engineering at Brno University of Technology (Czech Republic) and an employee of Red Hat for the past two years. As a member of QE team, Irina is engaged in testing of Red Hat Update Infrastructure (RHUI) product and testing of RHEL images in the cloud.
You need to test your images on various instance types in the cloud, but which tools do you use? How to run dozens of thousands of test cases on hundreds of machines in the cloud in parallel? Is it OK to have dependencies between test cases to make this task less expensive? Dva is an open source validation tool which is applicable to various images and instance types. Using your image, it will launch instances of different types in defined regions and will execute test cases in parallel. How? All test cases are represented as a Directed Acyclic Graph structure – parents and children. Then these test cases are assigned to workers by a modified BFS algorithm that allows processing of sibling test cases in parallel. It includes test result processing tools such as a Bugzilla module to report bugs for you. 3rd-party test case modules are supported too. This tool is used by Red Hat QE for RHEL image release sanity testing in EC2, however Fedora images and OpenStack cloud are supported too. To test a RHEL release, Dva launches hundreds of machines of various types in all EC2 regions and executes a set of nearly 70 test cases with dependencies on every machine in parallel. Source Code/Home page: https://github.com/RedHatQE/dva/ Topics: Open Source, Cloud, QA/QE, Automation, Python
Long time consultant in IT and especially python development, I've contributed to a lot of projects, from dataflow programming (PyF) to web frameworks (Turbogears) and electronic devices conception.
How do you talk between python and embedded apps ? I'll show an example using the very popular ESP8266 micro-controller, with popular messaging protocols (json, mqtt, etc.) and web interface using react and material ui.
I studied at University of Technology in Brno. Currently I work as a Software Quality Engineer in Red Hat on system management tool Satellite 5.
We have many tests for our product running in our test lab managed by Beaker. Unfortunately our community do not have access to this environment. And it would be too complicated for them to set up the same environment to test their contributions to upstream project. But we can provide them easy to use solution with Vagrant and Ansible. Vagrant is a tool for creating and configuring virtual development environment. And Ansible is configuration and management tool what can be used to configure Vagrant systems. I will introduce these projects, and show practical example how to use them to to set up testing environment for community contributing to upstream project of our enterprise application.
Holding a PhD in BioInformatics from Paris XI University (France), David Melamed is currently working as a Senior Research Engineer at CloudLock, the leader in CyberSecurity in the cloud, where he is responsible for the design, architecture and implementation of the core system and data pipeline. Bringing 15 years of experience in leading research and software development in various languages and high-scale environments, he is working primarily in Python over the last years and has also given several talks at the Pyweb-IL meetups.
Machine learning is all over the place. In the cyber space, it's one of the biggest buzzwords of 2015 and most prominent tools used to detect anomalies, in particular when involved in User Behavior Analysis. This talk is a journey inside the cyber security techniques put in place at CloudLock to detect anomalies using Python. We will start our journey by looking at the data collection and processing implemented mostly inside celery tasks in order to produce a clean and enriched feed of billions of events daily. We will then present our use of Apache Spark MLLib with python and how we leverage AWS Lambda and EMR in our flexible infrastructure. Finally, we will show an example of data visualization around our threat map. We will also discuss the pros and cons of using Python with Apache Spark when dealing with scale as well as Docker as a way to encapsulate some parts of the data pipeline and to serve the models to the application. Come learn how to build an efficient ETL at scale using Python all the way!
VP R&D @ emedgene, Was the first employee and director of engineering @ Taykey. My mother is a robot and Code is my first language.
In this talk we will discuss packing, dependencies and deploying apps in python. We all love python, The syntax is simple and expressive, it has tons of open source modules and frameworks and a great community. However one of pythons biggest pitfalls is the lack of clear way for deploying python apps. We will discuss and show packaging, dependency management and deployment solutions in Python. The talk will be separated to four short parts: 1. Python packaging pitfalls 2. What can python learn from NPM 3. Our current solutions: from DEB/RPM to docker 4. What new in python 3.X and packaging (venv, ensurepip, zipapp)
CTO @ Invertex LTD
Python is often used as a scripting language within graphics software. One of these is the open source 3D animation program Blender, which has a powerful python API that can be extended with any python library. At Invertex, we use this tool to automatically analyze 3D scans and generate custom products, in some cases ready for 3D printing. This talk will provide a short overview of Blender and its python API, and demonstrate how to use it with a few short examples.
Today: VP R&D of Cymmetria past: Founder and CTO of Desti (sold to Nokia in 2014). Former Officer of an elite cyber unit within Unit 8200 (Israel Defense Forces). Innovative, hands-on executive with a strong record of leading R&D
Any growing startup will at some point face the problem of making their product work fast enough to provide a good user experience. At Desti, we had to get our search from taking multiple seconds to an average of 300ms. To achieve that goal, we developed a tool and methodology for measurement, and employed multiple techniques of optimization. We improved our architecture, system design, and implementation before reaching that goal. In this talk, I’ll share our measurement tool and methodology, and the optimization techniques we used.