skip to navigation
skip to content

google-apputils 0.4.2

Obsolete. Please migrate to absl-py instead.

Google Application Utilities for Python

This project is a small collection of utilities for building Python
applications. It includes some of the same set of utilities used to build and
run internal Python apps at Google.


* Simple application startup integrated with python-gflags.
* Subcommands for command-line applications.
* Option to drop into pdb on uncaught exceptions.
* Helper functions for dealing with files.
* High-level profiling tools.
* Timezone-aware wrappers for datetime.datetime classes.
* Improved TestCase with the same methods as unittest2, plus helpful flags for
test startup.
* google_test setuptools command for running tests.
* Helper module for creating application stubs.


To install the package, simply run:
python install

Google-Style Tests

Google-style tests (those run with basetest.main()) differ from setuptools-style
tests in that test modules are designed to be run as __main__. Setting up your
project to use Google-style tests is easy:

1. Create one or more test modules named '*' in a directory. Each test
module should have a main block that runs basetest.main():
# In tests/
from google.apputils import basetest

class MyTest(basetest.TestCase):
def testSomething(self):
self.assertTrue('my test')

if __name__ == '__main__':

2. Add a setup requirement on google-apputils and set the test_dir option:
# In
setup_requires = ['google-apputils>=0.2'],
test_dir = 'tests',

3. Run your tests:
python google_test

Google-Style Stub Scripts

Google-style binaries (run with are intended to be executed directly
at the top level, so you should not use a setuptools console_script entry point
to point at your main(). You can use distutils-style scripts if you want.

Another alternative is to use google.apputils.run_script_module, which is a
handy wrapper to execute a module directly as if it were a script:

1. Create a module like '' in your project:
# In my/
from google.apputils import run_script_module

def RunMyScript():
import my.script

def RunMyOtherScript():
import my.other_script

2. Set up entry points in that point to the functions in your stubs
# In
entry_points = {
'console_scripts': [
'my_script = my.stubs:RunMyScript',
'my_other_script = my.stubs.RunMyOtherScript',

There are also useful flags you can pass to your scripts to help you debug your
binaries; run your binary with --helpstub to see the full list.
File Type Py Version Uploaded on Size
google-apputils-0.4.2.tar.gz (md5) Source 2015-02-21 79KB (md5) Source 2015-02-21 99KB
google_apputils-0.4.2-py2.7.egg (md5) Python Egg 2.7 2015-02-21 115KB