Opening statements from Jesse Noller.
Eben Upton is a founder and trustee of the Raspberry Pi Foundation, and serves as its Executive Director. The Raspberry Pi is an ultra-low cost, credit card-sized computer designed to fill a much-needed technological gap in communities that cannot afford more traditional computing hardware and to provide children around the world the opportunity to learn programming.
This talk is an introduction to the Internet's structure and protocols through fun experiments from the Python perspective. We'll use Python libraries like Scapy and Twisted to explore what happens at a networking level as you surf the Web, how coffee shop Internet access works, and more.
One of the turning points in history was when manufacturing embraced intermediate production. By creating simple components that can be integrated into complex products, manufacturers are able to build faster and cheaper, achieving better quality. In this tale of developer meets engineer,I describe how I'm using Python's inheritance model to bring this manufacturing reality to life in source code.
As activity accelerated from just a few thousand activities per day to hundreds of millions, Instagram needed a reliable, scalable messaging infrastructure to distribute work and messages. In this talk, I'll jump from a crash course in the abstract concepts of queueing into the implementation details & hard-earned know-how from experience building massive-scale Python-based systems.
While Java and C# use static type declarations to eliminate ambiguity, the Python programmer must survive through sheer clarity and consistency in naming variables. We will explore the deep unspoken conventions that the Python community has developed and honed over two decades to make Python code readable and meaningful within the freedom that a dynamically-typed language grants us.
This talk is an introduction to the practice of exception handling, aimed at those without a heavy CS background or years of experience, and who are thus unfamiliar with the technique. Novices to Python will learn Python-specific techniques that make use of built-in exceptions and the context manager, as well as unusual but Pythonic ways of managing the flow control of their program.
Gittip is a platform for sustainable crowd-funding. The site's primary funding mechanism is the "gift tip," a small, anonymous, weekly gift to a worthwhile person or project. These gifts are given with no strings attached, and represent a new model for funding free and open source software. Moreover, Gittip itself is funded on Gittip, with potential implications far beyond software.
C++ brought exceptions to mainstream programming; Java goes further with checked exceptions. But are exceptions the one way to report all errors? Scala and Go suggest there is more than one kind of error, so there should be more than one kind of error reporting, and different responses to errors. I’ll show the Scala and Go approaches to the error problem, and how to apply this to Python.
Organizations like Software Freedom Conservancy and PSF provide essential non-profit infrastructure to the Python community. For the past few years, Conservancy specifically helped raise funds to support 3 key Python projects: Mercurial, PyPy and Twisted. This talk discusses successes and challenges of funding Python software development in non-profits, and discuss plans to expand this activity.
The latest release of Windows provides developers with a marketplace to sell apps written in C++, .NET, JavaScript… and Python. In this presentation we demonstrate just how easy it is to take advantage of new Windows functionality while using a friendly programming language to write (and sell) your app.
After 15 years' combined experience developing software of all types we are done with object inheritance. Come learn about elegant, superior solutions to the problems inheritance claims to adequately solve.
Overview of how the Public Broadcasting Service streams video online. Learn how PBS uses python and other services to provide video streaming online. Talk will discuss lessons learned, explanation of video formats, and experiences with mobile device support. Talk will include recommendations for others to easily adopt similar practices to quickly host their own online video site.
Scrapy lets you straightforwardly pull data out of the web. It helps you retry if the site is down, extract content from pages using CSS selectors (or XPath), and cover your code with tests. It downloads asynchronously with high performance. You program to a simple model, and it's good for web APIs, too.
If you use requests, mechanize, or celery for HTTP, you should probably switch to scrapy.
Sphinx is an incredibly useful tool for creating attractive documentation for your project, but if all you ever use it for is converting reStructuredText files to HTML you are barely scratching the surface of its power. This presentation shows how easy it is to extend Sphinx by defining new markup processors, allowing you to take your documentation to the next level.
What does it take to add realtime functionality to a truly “web scale” app. The result is the DISQUS realtime system, a highly concurrent system for allowing web clients to subscribe to arbitrary events in the DISQUS infrastructure.
This talk will introduce the Kivy project (http://kivy.org). Kivy’s mission is to make building graphical user interfaces on any device fun, efficient, and pythonic.
The talk will focus on giving attendees an overview of how they can use kivy to build exiting UIs and mobile apps.
You're a programmer, you use interpreter and compilers every day (and twice on Sundays!). But how do these things work? Could you build one yourself? What would it take? Where would you start? This talk takes you through the process, from lexing to interpreting, and leaves you ready to start on your own language!
Learn the magic of writing programs that monitor, alter and react to the execution of program code by responding to imports, changes to variables, calls to functions and invocations of the builtins. This talk goes beyond the static world of metaclasses and class decorators.
A library is code distributed in such a way that strangers can use it. In this talk we consider: 1) why Python developers make bad libraries and poor APIs; 2) how to make your library API maximally useful for others; 3) examples of real-world antipatterns involving APIs.
In this talk I will try to convince you that Python 3.3 is superior to Python 2.7 by going over the differences between Python 2.7 and Python 3.3 along with benchmark information to show where Python 3.3 shines in comparison to Python 2.7 (and vice-versa). If I accomplish my goal, you will walk out of this talk convinced that Python 2.7 is not the final version of Python you want to support.
Have you ever considered submitting a proposal to speak at PyCon but weren't sure how to even get started? This session will walk you through the steps to get there, so that you'll be ready to propose a talk for next year!
This talk will be a survey of my learning experience adding new endpoint APIs to Twisted, an event-driven networking engine (as a Google Summer of Code project), with a special focus on the analysis of some of the horror stories that surround Twisted. Right from the asynchronous I/O model to Deferreds: if it scares you, we’ll figure a way out and see what the makers of Twisted say when confronted.
PyPy has a version without the Global Interpreter Lock (GIL). It can run multiple threads concurrently. But the real benefit is that you have other, new ways of using all your cores. In this talk I will describe how it is possible (STM) and then focus on some of these new opportunities, e.g. show how we used multiple cores in a single really big program without adding thread locks everywhere.
Researchers have been modeling text difficulty for over 50 years. A variety of models have been developed, but few have focused on books for emerging readers (Grades K-2). We used Python for nearly every aspect of the project including collecting data from reading educators, analyzing text features, and creating a predictive model. Tools used include scipy, scikit-learn, PiCloud, and others.
Profiling is hard. Trying to understand what is making your system slow can be very frustrating. Specially when it happens only when your clients are looking, but not you.
A treasure trove of data is captured daily by Github. What stories can that data tell us about how we think, work, and interact? How would one go about finding and telling those stories? This two-part talk is a soup-to-nuts tour of practical data visualization with Python and web technologies, covering both the extraction and display of data in illumination of a familiar dataset.
The “War on Cancer” was declared over 40 years ago. Despite tremendous advances in understanding cancer biology and developing cancer treatments, it remains a significant cause of suffering and death. We will describe Python-based data management and analysis tools and show how they have enabled a novel flow cytometry-based technology focused on studying disease biology to improve cancer outcomes.
In Python 3.2 a new feature was added for concurrent programming - futures. In Python 3.3 generators have been extended to allow returning from a generator with a value. In this talk we'll show how these features can be combined to create a rich and easy to use asynchronous programming model which can be used for creating highly responsive GUI applications or easy async programming.
Python provides powerful primitives for iterating over your data in ways that let you express yourself clearly and directly. But even programmers familiar with the tools don't use them as fully as they could. This talk will cover Python's iteration tools, from basic loops to generators and how to add iteration to your own classes. Come learn how looping was meant to be!
Python has no private fields, but the property decorator lets you replace public attributes with getters and setters without breaking client code. And the descriptor mechanism, used in Django for model field declarations, enables wide reuse of getter/setter logic via composition instead of inheritance. This talk explains how properties and descriptors work by refactoring a practical example.
This talk will examine how Python's internal Unicode representation has changed from its introduction through the latest major changes in Python 3.3. I'll present properties of the current Unicode implementation like algorithmic complexity and standard compliance. The talk will also compare Unicode in Python with some other languages. Finally, I'll look into the future of Python's Unicode.
This talk will discuss two open source projects for using Python for music analysis. Sebastian focuses on music theory while Czerny focuses on performance (particularly keyboard playing).
This talk will give a tour of different profiling techniques available for Python applications. We'll cover specific modules in Python for doing function profiling and line level profiling. We'll show the short comings of such mechanisms in production and discuss how to do sampled profiling of specific functions. We'll finish with statistical profilers that use thread stack interrogation.
A detailed walkthrough of SQLAlchemy's Session, describing the rationale for its existence, its driving philosophies, and finally a walkthrough of Session lifecycle through the use of an animated diagram. We'll cover how the relational database refers to database rows within a transaction, and how the Session has over the years developed a tight, proxied integration with this lifecycle.
Time measurement is a complex area full of tricky problems and unexpected edge-cases. This fast-paced talk tells you how to avoid the pitfalls, and warn about the compromises.
A treasure trove of data is captured daily by Github. What stories can that data tell us about how we think, work, and interact? How would one go about finding and telling those stories? This two-part talk is a soup-to-nuts tour of practical data visualization with Python and web technologies, covering both the extraction and display of data in illumination of a familiar dataset.
How can you avoid servers and get back to coding? Platform-as-a-service (PaaS) makes deployment easy. But which PaaS do you choose and how do you get started? This talk will examine several of the leading PaaS providers and discuss their pros/cons. We'll also give examples for how to deploy the same app to each of them to see the differences.
Random algorithms and probabilistic data structures are algorithmically efficient and can provide shockingly good practical results. I will give a practical introduction, with live demos and bad jokes, to this fascinating algorithmic niche. I will conclude with some discussions of how our group has applied this to large sequencing data sets (although this will not be the focus of the talk).
Learn to take better advantage of Python's best features and improve existing code through a series of code transformations, "When you see this, do that instead."
I've taken two years of graduate courses in engineering education. I save you $50k in tuition and hundreds of hours of reading and give you the short version for Pythonistas who care about education and outreach.
Elasticsearch provides an easy path to clusterable full-text search, with synonyms, faceting, and geographic math, but there's a paucity of written wisdom beyond its API docs. This talk, part 1 of a 2-part series, surveys its capabilities and shows how its internal data structures and algorithms work. With the groundwork laid, we explore how to choose efficient indexing and the right queries to make your apps go fast.
Writing isn't just about dry project documentation or docstrings. It can actually be fun and interesting, and it's an enormous benefit to the community. This talk makes the case that writing is our civic duty to our community, and gives some tips to get started writing for various different venues & audiences.
From humble beginnings when I first learned Python just to write a search engine to make online help searchable, Whoosh has grown and matured to match the capabilities of much larger projects such as Lucene. This talk will explain simple uses of Whoosh to index and search documents, and demonstrate more advanced features such as faceting.
Python supports several functional programming concepts. The presentations shows how to use functional features such as functions as first-class objects, closures, side-effect-fee functions, currying, lazy evaluation, no mutable data structures and use of iterators instead of loops. The focus is on integration of these concepts in existing programs.
This talk is a brief summary of Computer Vision tutorial we proposed for PyCon. In this talk we will discuss what computer vision is, why it's useful, what tools exist in the Python ecosystem, and how to apply it to your project. The talk will focus on the SimpleCV library but also touch upon NumPy. SciPy and iPython notebooks.
The greatest piece of software in the world is useless without great documentation, but unfortunately most of us just don't write great docs. This can be fixed, though. Documentation doesn't need to be an afterthought, and doesn't have to be bad, and you, too, can learn how to write good docs and make that an integrated part of your development process.
An explanation of how to implement a socket.io server in Python to serve websocket requests from browsers.
Interest and activity in computing education is on the rise. Other language communities and projects have stepped up to promote early childhood programming. What tools are available for teaching Python? How do they compare?
This talk aims to discuss current trends, examine the current education landscape, question our goals as a community, and discuss opportunities for growing young developers.
Jessica McKellar is a Linux kernel engineer from Cambridge, MA. She is a Python Software Foundation board member and an organizer for the largest Python user group in the world.
Raymond Hettinger is a freelance programmer with experience in cloud computing, high frequency trading, genomics, and optimization.
An exploration of the boundaries between pieces of code, including: isolated testing, behavior vs. data, mutation vs. immutability, how data shape affords parallelism, transforming interface dependencies into data dependencies, and what it might look like to build systems using all of these to guide the boundaries between objects and components.
The hardest part of testing is getting the ball rolling. Once you've picked your tools and started writing tests, the added confidence you have in making changes to your code, and the time you save in repetitive manual testing, can quickly become addictive! If you never got over that initial speedbump, or you've tried testing but it hasn't yet clicked, this talk is for you.
I build robots for a living and kinetic art for fun. I use Python as a front end, GUI control, and glue to talk to controllers, actuators, sensors, and peripherals. I will present some example robots and kinetic art, and give some tips that I've learned from building everything from robotic desk lamps to automated surgical systems.
In this era of rich browser applications, everybody needs to know at least enough about events to write an 'onclick' handler. But events have a reputation for being confusing. In this talk I'll explain why events can be quite easy to understand if you think about them the right way, and how to scale your understanding from trivial browser JavaScript to distributed systems in Python.
Open source software is changing intellectual property law. The talk would cover recent cases on what elements of software may be copied without infringing copyright, the scope of software patents, enforceability of licenses, damages for copyright infringement,
and how the network of community support for projects such as Python may be more potent in litigation than a patent portfolio.
Pyramid is a web framework designed to do very well the fundamentals of web applications. Even though it's minimalist in its goals, it provides strong features to let developers deal with these fundamentals. In this talk, we'll look at 5 specific Pyramid features that offer web developers unique flexibility and power.
In March '10, the Boston Python user group ran its first gender diversity outreach workshop. In the time since, the group has has moved the needle and inspired other communities to do the same. In this panel, you will hear communities like PyStar Philly, Railsbridge Boston, and the Chicago Python Workshop discuss their successes and difficulties with diversity-oriented outreach.
Have you ever found yourself obsessively checking UPS or FedEx tracking site to see if your package finally got delivered at your doorstep? Or wondered when your contractor/gardener showed up to do their job?
Come join me to learn how to build your own gadget to notify you when your package or contractor shows up at your doorstep!
Pyramid web framework authentication and authorization subsystems are powerful and pluggable, but using them to their max isn't always easy. This talk will discuss how to get the most out of those subsystems.
Writing tests is often hard enough as it is, without having to keep on writing the same boiler plate to set things up and check outcomes. I've collected a bunch of these tools that are all documented, flexible and have unit tests of their own. I'd like to share those with people interested in using them so they can spend more time writing code and less time worrying about how to test it properly.
Cython and SWIG are excellent, and yet very different tools for using C libraries from Python. The goal of this talk is to introduce both tools, discuss their strengths, their weaknesses, and the situations that clearly favor one tool over the other.
The basics of copyright law mainly as applies to the United States but also covering the fundamental tenets that govern international law. I include quite a bit of overview material as well as talk about specific licensing schemes, including open source schemes, and some recent trends including open hardware.
What happens when you run a custom C static analysis tool ("cpychecker") on hundreds of Python extensions? I'll talk about the kinds of errors that my tool found, how to run it on your own code, and how to prevent memory leaks and crasher bugs in the C code of your Python extension modules.
Selenium has grown to be a mature platform on the desktop, but with 'mobile now' being the mantra for so many companies, can we use Selenium to effectively test mobile apps? What about Native apps? This talk will cover using Python to test mobile web applications with Selenium, as well as an in depth overview of the future of Selenium to test Native iOS and Android applications.
This talk covers the details of how to build a highly scalable image processing pipeline using Python and third-party open source libraries and tools such as OpenCV, NumPy, Tesseract, ImageMagick, Tornado, Nginx and MySQL.
We need great resources and great teachers for the next generation of software developers. Hear about what teachers say about what they need and what the Python community has to offer K-12 classrooms.
Python is a great language for text processing. Each new version of Python--but especially the 3.x series--has enhanced this strength of the language. String (and byte) objects have grown some handy methods and some built-in functions have improved or been added. More importantly, refinements and additions have been made to the standard library to cover the most common tasks in text processing.
One of the most common tasks in modern web frameworks is to ease the task of writing bits of code that are then called by the framework. Handling this task is the first major undertaking of any web framework, and the part that most web frameworks have in common.
How do frameworks locate this code? What basic patterns apply to all frameworks? How does this make me be a better web programmer?
Do you dread the moment when your shiny new application is “ready for production”; except it isn’t because deploying is hard? How about moving existing apps or deploying one app to many servers? I’ll take you on a trip of dos and don’ts of deploying Python apps on UNIXy systems. Afterwards, you will be able to find the best way to deploy your code without repeating the mistakes of many before you.
What needs to happen to finally offer a first-class packaging experience to Python users? Several of the people working directly on that problem will be here to answer your questions.
Working in teams is an important part of what we do as developers & designers. Whether it's desktop applications or mobile sites, we work together to create successful end products. But how do we work together in different environments? What is the best work-flow for a mix of skill sets?
We'll be talking about our various methods & work-flows that we found successful in working collaboratively.
A rough & tumble guide, based on the pains of experience, of what to do/not do when trying to build an OSS community.
The IPython Notebook offers a number of advantages when teaching programming. It eliminates the need to switch between the command line and an editor, provides a consistent interface for students, and provides an easy to share and reuse file format. I’ll discuss how I and others are using the IPython Notebook to reduce the mental load on students to make learning and teaching easier for everyone.
If you look at a history of programming languages, over time languages combine or diverge to form new languages. Here we are, the people of Python, but who are we? Will we survive? Will we evolve from a tribe to state? What is important to us as a people? This talk will aim at providing insight by looking at data in Python community.
Python has a large collection of tools for scientific computing. However, finding the right pieces and assembling them into a fast and scale-able app can be a daunting task. This talk will explore common requirements of scientific apps and how to fulfill those from the Python ecosystem. It will also provide a blueprint for building apps using tools like PyQt, PyQwt, numpy, and HDF5.
This talk is going to focus on using Chef to create web application projects, specifically a python project with a Django framework. Chef is a configuration tool for managing infrastructure by allowing users to automatically and reproducibly configure installations on servers. This talk will cover what is Chef, why automated server configuration is important, and how Chef can be used personally.
Are you building a Django application that needs to handle geographic location data? Are you unsure how to tackle using spatial databases, how to jump into using GeoDjango or how to allow users to query for data by, for example, zip code? I'll go over how to use GeoDjango, lessons learned in using spatial databases, and how I built an API exposing distance query functionality.
The abstraction and the flexibility the Django admin offers is matched by few software, even today after half a decade of it's introduction. The speaker has customized it in many ways over the years. This talk reminisces over how supposedly large real world problems could be solved with relatively less development by leveraging the power of django admin and using a few techniques.
Programmers are, by the nature of their work, logicians. However, logic can be more challenging than we sometimes think, and it's easy for us to make logical mistakes, especially when they're to justify a proposition we already believe. This is, at its core, what makes us not very good at testing our own stuff, and what makes architecting a technical system so challenging.
A look at possible approaches to introducing configurability to your Python application, and a quick analysis of the most common problems.
It is not hard to find developers who will tell you that Apache sucks for running Python web applications. Is there a valid basis to such claims or have they simply been misguided by the views of others? This talk will endeavor to shine a light on the realities of and limitations in working with Apache, as well as the challenges in implementing the mod_wsgi module for Apache.
Non-trivial mapping and location-centric applications are a beast of their own in terms indexing/querying/analyzing. Realtime tracking geo-applications add an even greater layer of complexity.
In this talk we will give a short overview of the traditional OS web/mobile mapping architecture and datasets and extend it to include a realtime component.
Mozilla Persona is a decentralized, cross-browser authentication system that completely eliminates website passwords. It's simple, secure, and privacy-protecting. This talk explores the design of Persona with a focus on adding it as a login option to Python-based webapps, drawing from Mozilla's own experience switching many Django (and non-Django) sites away from passwords and to Persona.
Numba is a compiler for Python syntax that uses the LLVM library and llvmpy to convert specifically decorated Python functions to machine code at run-time. It allows Python syntax to be used to do scientific and numerical computing that is blazing fast yet tightly integrated with the CPython run-time.
Hosting in-person events is a great way to develop and grow your local Python community. If you’ve ever thought about hosting a code sprint, hackathon, (un)conference or workshop, this talk is for you. I’ll present quick overview of what you need to know to get started planning a successful event. Event planning workbook included.
An introduction to applied cryptography and information security suitable for programmers of all ages and skill levels.
We all know Python is a bytecode interpreter, but what does that mean? Come find out! You'll learn what Python bytecodes are, what they do, and even how you can tinker with them. By the end of the talk you'll be an expert. All code will be 100% Python 3--knowledge of C not required!
This is a short, but thorough tutorial on the Python's built-in toolset for creating classes. We look at commonly encountered challenges and how to solve them using Python.
Many want to learn to code, and many choose Python as a first language. You direct them to Learn Python the Hard Way, or Dive into Python. Great! But now what? I will present 5 digestible projects to gradually progress the Python learner from near drowning to a decent swimmer. The goal is to have new coders feeling accomplished and to continuing learning.
Django 1.5 now supports Python 3, so now's the time to start thinking about porting your apps and sites. Come see how! I'll talk about the porting techniques that work, and present two case studies: porting a site, and porting a reusable app.
To a lot of people, the Python Software Foundation is a black box. After years of being on the outside of the box, a few years on the inside have given a good look at what this foundation is and why it matters. Come see what the PSF is about, what it's doing, and what you can do to help.
Sharing what you know with others is an extremely rewarding experience, and may challenge and develop your knowledge of Python.
I will share my teaching experiences; covering venues, materials, lesson plans, technical difficulties, engagement, and more.
If you've considered teaching Python, this talk will give you insight into what it takes to keep your students engaged, and have some fun.
This talk describes a project that uses the Natural Language Toolkit to build a language model from a gossip blog. The tone is light-hearted, but manages to introduce some core concepts in Python's most popular NLP library as well as some basics on computational linguistics and programming in Python.
Python makes loading code dynamically easy, allowing you to configure and extend your application by discovering and loading extensions at runtime. This presentation will discuss the techniques for dynamic code loading used in several well-known applications and weigh the pros and cons of each approach.
Jython provides a nearly seamless integration when using Java code. Using Jython from Java is not nearly as seamless, at least not yet. There are also several choices, depending on what you're doing, from object factories to using Java Scripting (JSR-223) support. This talk will discuss techniques, gotchas, and ongoing work to improve integration.
With the growth of Coffeescript, Less, SASS, etc..., compiling the assets for your project is becoming more useful. This talk covers using a Python library called Webassets to automate your build process. We specifically focus on getting your Javascript and CSS compiling automatically as you work. We show examples of integrating with common web frameworks like Django and Flask.
Van Lindberg is a software engineer and practicing attorney. What he does most, though, is translate - from "lawyer" to "engineer" and back. He likes working with both computer code and legal code to get things done.
Guido van Rossum is the author of the Python programming language. He continues to serve as the "Benevolent Dictator For Life" (BDFL), meaning that he continues to oversee the Python development process, making decisions where necessary. He is currently employed by Dropbox.
This talk will go over how the simple from sys import version
turns out to be slightly complicated. The details of imports -- from how the import statement is interpreted to deciding what object to return -- will be discussed. While the talk will discuss things from the perspective of Python 3.3 (and thus importlib), the overall semantics will (mostly) apply to older versions of Python.
ApplePy is an Apple ][ emulator written in Python. It combines emulation of the 6502 microprocessor with emulation of the keyboard, display (including graphics mode), speaker, cassette and disk drive. This talk will provide a background to Apple ][ internals then dive into the Python code and the challenges of emulating hardware.
Processes in a cluster can require controlled access to shared resources, tracking available processes, and sharing state. Unfortunately most tools in this category are oriented around Java. In this talk I cover how to use Python to interact with Apache Zookeeper -- a fault-tolerant consistent data-store -- to write coordinated distributed fault-tolerant applications in Python.
Stenographic technology has been locked down to expensive, proprietary hardware and software for decades, depriving the world of the most efficient text entry system devised to date. Plover, a free, cross-platform steno engine that works with $45 hardware, offers hackers and hobbyists the ability to type at up to 240 WPM in applications ranging from wearable computing to captioning to coding.
Did you know that "for a, (b, c) in s:" is a valid Python line? From the elegant for statement through list/set/dict comprehensions and generator functions, this talk shows how the Iterator pattern is so deeply embedded in the syntax of Python, and so widely supported by its libraries, that some of its most powerful applications can be overlooked by programmers coming from other languages.
With most frameworks the ORM attempts to treat all databases equally, this results in developers being limited in how many advantages they can take of their database. In particular Postgres has many features which developers would love to take advantage of but are not easily accessible via the Django ORM.
This lecture describes a journey guided by hardcore gaming experiences from the past and how that lead to development of PyNES. What started as a "Python ASM compiler for Nintendo 8 bits" and is now evolving as a "Python programming for Nintendo 8 bits". All the hacks and drawbacks faced will be shown. Told as an epic tale, that should encourage others to fulfil the same path.
The logging module is one of the more complex areas of the Python standard library. In this talk you will learn how to leverage loggers, formatters, handlers and filters. In addition you will learn how to use dictConfig and other formats to manage logging settings for your applications.
I dictate my code using a voice recognition system with Python embedded in it. In a fast paced live demo, I will code a small system and deploy it without touching the keyboard. I hope to convince you that voice recognition is no longer a crutch for the disabled or limited to plain prose.
Writing parsers has often been a task difficult for programmers to take on. Many of the tools available for parsing require writing grammar rules and code that work very different from everything else in Python. Parsley is a library that mixes the benefits of concise rule-based grammars with a parsing model that works the way you expect Python code to work.
Our culture's default assumption is that everybody should always be striving for perfection -- settling for anything less is seen as a regrettable compromise. This is wrong in most software development situations: focus instead on keeping the software simple, just "good enough", launch it early, and iteratively improve, enhance, and re-factor it. This is how software success is achieved!
Use iPython, matplotlib, and Pandas to slice, dice, and visualize your application's behaviour through its logs.
This talk introduces MongoDB for developers who aren’t familiar with it through a detailed introduction to how to work with MongoDB from Python. This talk will cover the basics from installing PyMongo and connecting to a server, to creating, inserting, querying for, and updating documents. It will also briefly touch on topics such as aggregation and using MongoDB as a cache layer.
I find it very handy to be able to fire up the command line and make changes through a well-designed CLI tool. I'd like to show how the 3rd party urwid library or the built-in curses library can be used to build such tools easily.
In the infamous words of Tim Peters, "Namespaces are one honking great idea -- let's do more of those!" (PEP 20) Python's type system is built on the basis of well-bounded namespaces. Come look behind the curtain and you'll see Python in a whole new light. We'll also talk about how to put this knowledge to use whenever you write modules, classes, and functions.
A little over a year ago, frustration with the state of image processing in Python led me to start a project called pymaging. Pymaging is a pure Python image processing library that works on Python 2.x and 3.x. This talk will dive into why I started this project, how I dug into the problems, what I learned about image formats and my goals for the future of this project.
A short intro to all aspects of making your Python web app ready for an international audience, right from marking Python source, templates and Javascript for translation to working with translation services, maintaining and testing translation files. The talk will cover details on Python gettext and open-source packages such as Babel and Potpie. Examples are based on the Django i18n framework.
Closing remarks from Jesse Noller.
PostgreSQL is a database that has many built-in data types to make it easier to query and process data. In this talk, we will look at the overlap between some of the built-in Python and PostgreSQL data types. We will explore the psycopg2 PostgreSQL adapter and see how it conveniently maps data types between PostgreSQL and Python, and look at how we can extend this to some popular Python ORMs.
Django forms are really powerful but there are edge cases, especially with class based views), that can cause a bit of anguish. This talk will go over how to handle many common solutions not currently described in the core documentation. It will also cover useful third-party libraries.
What do you do if you are a lover of Python but work in a Java only establishment? How do you convince your company that Python can fit in with the standards and conventions of a typical Java shop? Hybrid Java/Python shops are becoming increasingly common and this talk will help explain some techniques to introduce Python into a Java environment.
The trick to navigating the overwhelming Python audio/imaging landscape is understanding how the fundamentals work, using common data processing/visualization libraries, in-depth code samples, and simple math operations.
I use the stdlib, NumPy, SciPy, Matplotlib, PIL, and PyCairo to create building blocks, which I then combine to demonstrate advanced sound and image generation techniques.