Showing posts with label Python. Show all posts
Showing posts with label Python. Show all posts

Tuesday, February 9, 2010

Python Testing: Beginner's Guide

An easy and convenient approach to testing your powerful Python projects

  • Covers everything you need to test your code in Python
  • Easiest and enjoyable approach to learn Python testing
  • Write, execute, and understand the result of tests in the unit test framework
  • Packed with step-by-step examples and clear explanations

In Detail

Automated testing moves much of the labor of testing off the developer and makes it easier as well as quicker to find bugs and fix them. Automated tests run faster, increase test coverage, and lower costs. However, testing is neither an easy process nor remotely exciting for most developers. But with the right techniques and tools, testing can become a simple and gratifying part of the development process.

With this helpful guide - from an expert - in your hand, testing will not be a tiresome topic for you anymore. You will learn how to test your Python projects in the easiest way, making other parts of the development process easier and more enjoyable.

This book covers the tools and techniques of automated testing and test-driven development. Starting from the very basics, the chapters introduce new tools and techniques in simple, accessible language with step-by-step examples. You will explore how to make testing easier and more accurate with Python's doctest module and learn test-driven development using the unittest framework. You will also learn how to keep your units separate from each other and discover a simple and easy way to integrate Mocker and unittest. Next, we cover integration testing and web application testing.

Automated testing gives developers better feedback, faster and more often. Bugs get found sooner and fixed better, with less effort. By the end of this book, you will have all of the skills needed to benefit from automated testing.

What you will learn from this book

  • Make testing easy and convenient with Python's doctest module, which lets you put your tests right into your doc strings
  • Drive development using unit testing and learn how it can make the process quicker
  • Explore the assorted features Mocker provides to help you keep units separate from each other and customize it to suit your needs
  • Embed your tests in a controlled and temporary environment using test fixtures
  • Simplify the integration of unittest and Mocker using Python Mocker's MockerTestCase
  • Automatically find and execute tests using Nose - a unittest-based testing framework for Python that makes writing and running tests easier
  • Write tests for web applications using Twill and integrate it's capabilities as a library into Python testing code
  • Create integration tests and run them to see if your programs work correctly in concert with each other
  • Run Nose automatically when your version control software detects changes in the source code
  • Set up the Buildbot automated continuous integration system to run your tests repeatedly over many different environments

==> Download <==

Tuesday, December 8, 2009

Matplotlib for Python Developers

Providing appealing plots and graphs is an essential part of various fields such as scientific research, data analysis, and so on. Matplotlib, the Python 2D plotting library, is used to produce publication-quality figures in a variety of hardcopy formats and interactive environments across platforms. This book explains creating various plots, histograms, power spectra, bar charts, error charts, scatter-plots and much more using the powerful Matplotlib library to get impressive out-of-the-box results.

This book gives you a comprehensive tour of the key features of the Matplotlib Python 2D plotting library, right from the simplest concepts to the most advanced topics. You will discover how easy it is to produce professional-quality plots when you have this book to hand.

The book introduces the library in steps. First come the basics: introducing what the library is, its important prerequisites (and terminology), installing and configuring Matplotlib, and going through simple plots such as lines, grids, axes, and charts. Then we start with some introductory examples, and move ahead by discussing the various programming styles that Matplotlib allows, and several key features.

Further, the book presents an important section on embedding applications. You will be introduced to three of the best known GUI libraries--GTK+, Qt, and wxWidgets--and presented with the steps to implement to include Matplotlib in an application written using each of them. You will learn through an incremental approach: from a simple example that presents the peculiarities of the GUI library, to more complex ones, using GUI designer tools.

Because the Web permeates all of our activities, a part of the book is dedicated to showing how Matplotlib can be used in a web environment, and another section focuses on using Matplotlib with common Python web frameworks, namely, Pylons and Django. Last, but not least, you will go through real-world examples, where you will see some real situations in which you can use Matplotlib.

What you will learn from this book?

  • Exploit the interactive computing environment of IPython to its fullest in collaboration with Matplotlib
  • Learn line and point styles and master their customization, customization of axis ticks, and develop several plot types available in Matplotlib, such as histograms, bars, pie charts, polar charts, and so on
  • Explore Object Oriented Matplotlib and learn how to add subplots, multiple figures, additional and shared axes, logarithmic scaled axes, data plotting with tick formatting and locators, text properties, fonts, LaTeX typewriting, and contour plots
  • Get comfortable with Glade--a RAD tool--to quickly design a GUI for GTK+ and embed Matplotlib into it
  • Make the most of Matplotlib within the wxWidgets framework, in particular using the wxPython bindings and design a GUI with wxGlade
  • Use the Qt Designer to draw a simple GUI and refer it to your Python code to fit your needs
  • Expose Matplotlib on the Web using CGI (through Apache mod_cgi), mod_python, Django, and Pylons in no time at all
  • Profit from the real-world examples by simply following the stream--identify the data source, elaborate the data and generate the resulting plot

==> Download <==

Saturday, May 30, 2009

Python: Create - Modify - Reuse

Python: Create-Modify-Reuse is designed for all levels of Python developers interested in a practical, hands-on way of learning Python development. This book is designed to show you how to use Python (in combination with the raw processing power of your computer) to accomplish real-world tasks in a more efficient way. Don’t look for an exhaustive description of the Python language––you won’t find it. The book’s main purpose is not to thoroughly cover the Python language, but rather to show how you can use Python to create robust, real-world applications.

In this respect, the goal is similar to foreign-language books that identify themselves as “conversational,” focusing on the vocabulary and concepts that people will need the most. Likewise, I focus specifically on the Python knowledge needed to accomplish practical, specific tasks. Along the way, you will learn to create useful, efficient scripts that are easy to maintain and enhance.

This book is for developers with some experience with Python who want to explore how to develop full-blown applications. It is also for developers with experience in other languages who want to learn Python by building robust applications. It is well-suited for developers who like to “learn by doing,” rather than exploring a language feature by feature. To get the most out of the book, you should understand basic programming principles.

Because this book is project-based, you can approach it in numerous ways. You can, of course, read it from cover to cover. Chapters 2 through 8 each cover a different project, so the chapters are independent of each other. However, because each chapter project is covered individually, there may be some overlap of information. I also sometimes refer to explanations of particular topics covered in previous chapters. This will help to reinforce important concepts.

The end of the book contains two appendixes. The first one is a listing of Python resources you can check out for more information. The second one will help you with installing additional components used in some of the examples.

This book starts with a basic overview of the Python language, designed for those familiar with other languages but new to Python. It is followed by several chapters, each of which describes a complete project that can be used as-is or modified and extended to suit your particular purposes. You’ll find applications that access databases, take advantage of web technologies, and facilitate network communications, to name a few. In addition, and more important than the technologies you will be introduced to, you will learn how to use Python to solve real challenges. Following these chapters are two chapters that cover accessing operating system resources and debugging and testing, respectively.

Each project chapter contains complete instructions describing how to install and use the application, so you can actually see the program run as you learn how to construct and use it, including how the project was designed and prototyped. This book is intended to be both a reference guide and a learning aid, teaching you how to build solutions with Python and providing reference information on a wide variety of Python programming concepts.

It is hoped that this book will help you have fun with Python and build useful applications, and—unlike my experience with building a deck—without sore thumbs.

This book is framed around the code itself. This is because developers are typically looking for how to do something; and, as with many activities, you learn how to do something by watching how others do and trying it yourself. If you want to know how a for loop works, you’ll find for loops in my code, but that’s not the thrust of the book. Instead, this book shows you how to do things: how to build a content management system, how to build a test management system, how to set up a system for tracking customer follow-up, and so on. Along the way, you’ll learn how to communicate with a SQL database, how to act as a web server or communicate with one, how to access operating system services, and more.

==> Download <==

Wednesday, March 25, 2009

Python for Unix and Linux System Administration

Python is an ideal language for solving problems, especially in Linux and Unix networks. With this pragmatic book, administrators can review various tasks that often occur in the management of these systems, and learn how Python can provide a more efficient and less painful way to handle them.

Each chapter in Python for Unix and Linux System Administration presents a particular administrative issue, such as concurrency or data backup, and presents Python solutions through hands-on examples. Once you finish this book, you'll be able to develop your own set of command-line utilities with Python to tackle a wide range of problems. Discover how this language can help you:

* Read text files and extract information
* Run tasks concurrently using the threading and forking options
* Get information from one process to another using network facilities
* Create clickable GUIs to handle large and complex utilities
* Monitor large clusters of machines by interacting with SNMP programmatically
* Master the IPython Interactive Python shell to replace or augment Bash, Korn, or Z-Shell
* Integrate Cloud Computing into your infrastructure, and learn to write a Google App Engine Application
* Solve unique data backup challenges with customized scripts
* Interact with MySQL, SQLite, Oracle, Postgres, Django ORM, and SQLAlchemy

With this book, you'll learn how to package and deploy your Python applications and libraries, and write code that runs equally well on multiple Unix platforms. You'll also learn about several Python-related technologies that will make your life much easier.

==> Download <==

Thursday, March 6, 2008

Professional Python Frameworks: Web 2.0 Programming with Django and Turbogears

Cover:

Book Description

As two of the leading MVC web frameworks for Python, Django and TurboGears allow you to develop and launch sites in a fraction of the time compared to traditional techniques and they provide greater stability, scalability, and management than alternatives. Packed with examples, this book will help you discover a new methodology for designing, coding, testing, and deploying rich web applications.

A team of expert authors shows you the power of MVC frameworks and the capabilities of the TurboGears and Django packages. The Django chapters show you how to automate production of common web development tasks, portal creation, and content management, so you can focus on higher-level application issues and design. The TurboGears chapters illustrate how to rapidly create modern, highly interactive Web 2.0 applications. For both frameworks, you'll create useful applications that exemplify common Web 2.0 design paradigms and their solutions. Ultimately, you'll leverage your Python skills using Django and TurboGears and go from novice to RIA expert.

Download

Wednesday, March 5, 2008

Beginning Python

Cover:

Book Description
  • This tutorial offers readers a thorough introduction to programming in Python 2.4, the portable, interpreted, object-oriented programming language that combines power with clear syntax
  • Beginning programmers will quickly learn to develop robust, reliable, and reusable Python applications for Web development, scientific applications, and system tasks for users or administrators
  • Discusses the basics of installing Python as well as the new features of Python release 2.4, which make it easier for users to create scientific and Web applications
  • Features examples of various operating systems throughout the book, including Linux, Mac OS X/BSD, and Windows XP
Download