Buck: prebuilt_python_library()

prebuilt_python_library()

This is liable to change in the future.

A prebuilt_python_library() rule is used to include prebuilt python packages into the output of a top-level python_binary or python_test rule. To create an egg for a package, run python setup.py bdist_egg in the package source distribution.

Arguments

  • name (required) #

    The name of the rule.

  • binary_src (required) #

    The path to the .egg to use. Note: .egg files have a very particular naming convention that must be followed - otherwise pex will not find the dependency properly at runtime!

  • deps (defaults to []) #

    Other prebuilt_python_library() rules which this library depends on. These may also be python_library rules if you want to depend on a source-based copy of the library.

  • visibility (defaults to []) #

    List of build target patterns that identify the build rules that can include this rule in its deps.

  • licenses (defaults to []) #

    Set of license files for this library. To get the list of license files for a given build rule and all of its dependencies, you can use buck query.

  • labels (defaults to []) #

    Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query attrfilter.

Examples

# A simple prebuilt_python_library with no external dependencies.
prebuilt_python_library(
  name = 'requests',
  binary_src = 'requests-2.7.0-py2.7.egg',
)

# A slightly more complex example
prebuilt_python_library(
  name = 'greenlet',
  binary_src = 'greenlet-0.4.7-py2.7-macosx-10.10-x86_64.egg',
)

prebuilt_python_library(
  name = 'gevent',
  binary_src = 'gevent-1.0.2-py2.7-macosx-10.10-x86_64.egg',
  deps = [
    ':greenlet',
  ],
)