0001"""Distutils extensions for developing Python libraries and applications.
0002
0003The `buildutils` package contains extensions to Python's standard
0004distribution utilities (`distutils`) that are often useful during the
0005development of Python projects. `buildutils` was created to scratch an
0006itch: removing ``make`` from the Python development process and partially
0007to gain a better understanding of how `distutils` works.
0008
0009The following extension commands are included:
0010
0011announce
0012  send a release announcement to mailing lists
0013  like python-announce-list@python.org
0014checksum
0015  generate MD5 and SHA-1 checksum files for distributables.
0016etags
0017  generate an TAGS file over all packages and module (for use in Emacs).
0018flakes
0019  find lint using the pyflakes utility.
0020info
0021  dumps information about the project.
0022publish
0023  push distributables and documentation up to a project site using
0024  ssh/scp/sftp.
0025pudge
0026  build Python documentation from restructured text documents and
0027  Python doc strings.
0028pytest
0029  run py.test unit tests.
0030stats
0031  dump statistics on the number of lines, files, modules, packages,
0032  etc.
0033use
0034  bring in a working version of a dependency (uses setuptools egg
0035  stuff).
0036
0037"""
0038
0039__version__ = "0.1.1"
0040
0041# python version compatibility libraries
0042import buildutils.compat as compat
0043import buildutils.command as command
0044
0045# the following trick taken from the setuptools.command.
0046# this injects our commands into the distutils.command package.
0047def inject_commands():
0048    import distutils.command
0049    distutils.command.__path__.extend(command.__path__)
0050    all = distutils.command.__all__
0051    commands = [c for c in command.__all__ if c not in all]
0052    all.extend(commands)
0053    all.sort()
0054
0055inject_commands()
0056del inject_commands