PyCon 2010: Cross platform application development and distribution (#116)
Presented by Stani Michiels and Nadia Alramli
You think Python gives you native cross platform applications for free? Think twice. Are you interested in distributing your application to other platforms but not sure how?
We will give tips and examples on how to enhance the native feel of your application: notifications, registration of file types and more. The talk will also help you to avoid common pitfalls and provides solutions for designing cross platform user interfaces. (Although we use wxPython as an example, the principles are valid for other toolkits as well.) We'll show you where to start if you want to distribute your application to different platforms, briefly discussing tools like py2exe, py2app and Debian/Ubuntu packaging ecosystem. This talk is based on our experience from developing Phatch (Photo Batch Processor) and SPE (Python Editor).
-
Category
Post a comment
Are there problems with this video? Bad sound? Video doesn't play?
Leave a comment below or send an email to willg at bluesock dot org with the url of this page and the details of the problem.
PyPy and Unladen-Swallow: Making your Python Fast
PyPy and Unladen-Swallow: Making your Python fast Presented by Alex Gaynor Python has a reputation for being a bit slow, but it doesn't have to be that way. This talk will cover why Python is slow, and what two of the most exciting virtual machines are doing about it.
PyConAU 2010: Making your Python code fast
Making your Python code fast Presented by Andrew Bennetts (Canonical) Before you can make your program faster you need to understand why it slow. Andrew will show you some tools and techniques for investigating and analysing your program's performance.
PyConAU 2010: Need for Speed
Need for Speed Presented by Dr. Graeme Cross "Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you have proven that's where the bottleneck is." (Rob Pike) Python is a great balance of productivity, expressiveness and performance, but there are times when it would nice to have a Python application run faster. This is particularly true for large scale data processing, numerical work, controlling real world devices, and animation. Using some real-world examples, this talk covers tools and techniques that allow you to systematically understand where the bottlenecks are in your code and then how to effectively optimise your code, without having to resort to writing modules in C/C++.
PyConAU 2010: What's eating my memory?
What's eating my memory? Presented by Andrew Bennetts (Canonical) Ever wondered why your Python process has consumed 2 gigabytes of memory overnight? Ever torn out your hair trying to find out why? Andrew will show you some tools and techniques that can help you investigate.
Amazing Python (Part 2 of 2)
Part 2 of 2 This screencast demonstrates a practical example of how to use Python to solve a relatively difficult problem (an ASCII maze) with ease, thanks to just a few lines of code. Download the entire screencast for free: http://thinkcode.tv/catalog/amazing-python?s=yt
Amazing Python (Part 1 of 2)
Part 1 of 2 This screencast demonstrates a practical example of how to use Python to solve a relatively difficult problem (an ASCII maze) with ease, thanks to just a few lines of code. Download the entire screencast for free: http://thinkcode.tv/catalog/amazing-python?s=yt
PyCon 2010: Creating Rich Client Applications Using Dabo
Creating Rich Client Applications Using Dabo Presented by Ed Leafe and Paul McNett While web applications seem to get all the attention these days, many businesses still rely on desktop, or "rich client", applications to run their business. For those who prefer to do their coding with Python, Dabo is the only full-featured desktop app framework. In this tutorial, we'll cover the general structure and approach to application development used in Dabo, including lots of interactive work where we will all develop applications that will be able to query a database, display the results, allow the user to edit the data, and then save it back to the database. We will cover the various tools available in Dabo to help you develop your applications, and how they work together. Intended Audience Developers with basic to intermediate Python experience. Class Outline Introduction: The thinking and design approach behind the framework. (15 min). Explanation of the framework design. Frameworks are great if you're working with them, but not if you're constantly fighting them! We'll outline the various parts of the framework, and how they work together to create applications. Building an app in 30 seconds. (15 min) You can use the AppWizard to create a completely functional CRUD application in less than 30 seconds. We'll demonstrate how to use the AppWizard, and how you can build on and further customize the application it creates. The primary non-UI classes in Dabo (15 min) There are lots of classes in Dabo, but only a few main ones that are used in every app. This section will cover them: the application class, the business object class, and the DBAPI data adapter class. Introduction to the Dabo Tools (30 min) One of the benefits of a framework is that the mundane, repetitive tasks are handled by the framework, leaving you to focus on the creative parts of app development. In this section we'll discuss several of the visual tools available to help you create Dabo applications faster and easier. Developing an actual application, part 1 (15 min) Talk is fine, but here's where we begin creating an actual application. Attendees will learn how to create a new Dabo app, along with database connections, menus and a main form. In the second half of the tutorial we'll use this app as the basis for more complex development. REFRESHMENT BREAK Overview of UI Classes (30 min) This is where we talk about the "rich" in "rich client". Dabo has a full set of UI widgets, based on the wxPython toolkit. We've taken those widget classes and added a consistent interface, so that the developer uses the same properties and methods to accomplish the same thing in all the classes, making developing smoother and more intuitive. We'll cover all of the most-commonly used controls, and how to work with them. Developing an actual application, part 2 (30 min) The basic app created in the first half was an impressive result for such a short amount of time, but here's where we'll start to make it more interesting. We'll create several related business objects, bind them to the UI elements, and have it all work seamlessly with a database. After that, we'll show how to create and run reports against that same data. We'll then wrap up by explaining how to deploy your finished application. Rich Client Web Applications with Dabo (10 min) HTML web apps are trying to get a richer client experience through the increased use and sophistication of Javascript-based tools. That's great if you like spending your time in Javascript, but not so great if you are a Python dev. We take the opposite approach: taking our rich-client apps and deploying them over the web so that users can run them without first installing the app. Future plans for Dabo (5 min) Dabo is being actively developed, and we have plans for future enhancements that we'll cover here. Wrap-up and Final Questions (15 min) Requirements Students do not need to have a computer, but they will not get as much out of the session if they cannot actively participate in creating the example applications. They should have the following prerequisites installed, using the latest available stable releases except where specific version numbers are indicated: Python 2.5.4 wxPython 2.8.10.1 unicode MySQLdb reportlab Python Imaging Library Dabo 0.9.2
PyCon 2010: Cross platform application development and distribution (#116)
Cross platform application development and distribution Presented by Stani Michiels and Nadia Alramli You think Python gives you native cross platform applications for free? Think twice. Are you interested in distributing your application to other platforms but not sure how? We will give tips and examples on how to enhance the native feel of your application: notifications, registration of file types and more. The talk will also help you to avoid common pitfalls and provides solutions for designing cross platform user interfaces. (Although we use wxPython as an example, the principles are valid for other toolkits as well.) We'll show you where to start if you want to distribute your application to different platforms, briefly discussing tools like py2exe, py2app and Debian/Ubuntu packaging ecosystem. This talk is based on our experience from developing Phatch (Photo Batch Processor) and SPE (Python Editor).
PyCon 2010: Threading is not a model (#187)
Threading is not a model Presented by Joe Gregorio We have many concurrency/multiprocessing capabilities at our finger tips, such as threads, processes, locks, mutexes, select, epoll, transactional memory, etc. But none of them are a model for multiprocessing, they are only tools on which you would build an implementation of such a model. So what are the models we can choose from? How would they be implemented in Python? And why may the GIL actually be a good thing?
