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.

  • exclude_deps_from_merged_linking (defaults to False) #

    When linking the top-level binary with a merged python.native_link_strategy, do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging.

  • visibility (defaults to []) #

    List of build target patterns that identify the build rules that can include this rule as a dependency, for example, by listing it in their deps or exported_deps attributes. For more information, see visibility.

  • 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',
  ],
)