Package: bundle
Version:1.1.2SynopsisA bundle consists of several packages, and can be used as a shortcut in
applications and libraries requirements lists.Bundles are used to follow a
common group of packages, or a package with an optional extension feature.This distribution lets you create bundles, and may also be able to manage
installed bundles in the future.UsageYou can create and upload a bundle to PyPI:>>> b = Bundle("mybundle", description="Cool bundle",
              version="1.0.0",
              requires=["pkg1", "pkg2>1.3", "pkg3"],
              author="George Costanza",
              author_email="george@vandelay.com",
              url="http://vandelay.com",
              license="BSD")
>>> b.upload()Note that this requires a.pypirccontaining your PyPI login information.As a setuptools pluginIf you use bundles for extension dependencies then you can usesetup.pyto manage them.If you have a library calledgeorge, with bundles defined ingeorge.bundleslike this:from bundle.extensions import Dist

# version must be a tuple of at least 2 elements,
# e.g. (1, 2), or (1, 2, 6).
from george import VERSION

defaults = {"author": "George Costanza",
            "author_email": "art@vandelay.com",
            "url": "http://vandelay.com",
            "license": "BSD"}
george = Dist("george", VERSION, **defaults)

bundles = [
    george.Bundle("george-with-django",
                  "Bundle installing george and Django",
                  requires=['django>=1.2']),
    george.Bundle("george-in-production",
                  "Bundle for george and deps suitable for production",
                  requires=["celery", "psycopg2", "ultrajson"]),
]With your bundles list you can now tellsetup.pywhere to find it,
by adding it to thebundle.bundlesentrypoints.In george’ssetup.pyadd:setup(
    ...
    entry_points = {
        "bundle.bundles": ["george = george.bundles:bundles"]
    },
)And then you can manage your bundles with theregister_bundles,upload_bundles, andupload_bundles_fixsetup commands:$ python setup.py upload_bundlesNote that you need runsetup.py developorsetup.py installfirst, so that the entry points are properly installed before you
run bundle commands.  And you need to have your PyPI credentials
properly setup in your~/.pypircfile.The commands are:upload_bundles:Uploads bundles to PyPI, but only the bundles for which version
has not been uploaded before.register_bundles:Register the bundles at PyPI.upload_bundleswill also
register, but this is useful if you only need to change metadata
without uploading a new version.upload_bundles_fix:Bumps the last version number for all of the bundles
and uploads the bundles to PyPI.InstallationYou can installBundleeither via the Python Package Index (PyPI)
or from source.To install usingpip,:$ pip install bundleTo install usingeasy_install,:$ easy_install bundleIf you have downloaded a source tarball you can install it
by doing the following,:$ python setup.py build
# python setup.py install # as rootGetting HelpBug trackerIf you have any suggestions, bug reports or annoyances please report them
to our issue tracker athttp://github.com/ask/bundle/issues/ContributingDevelopment ofBundlehappens at Github:http://github.com/ask/bundleYou are highly encouraged to participate in the development. If you don’t
like Github (for some reason) you’re welcome to send regular patches.LicenseThis software is licensed under theNew BSD License. See theLICENSEfile in the top distribution directory for the full license text.