| |
| <!--- |
| Documentation generated by Skydoc |
| --> |
| <h1>Import pip requirements into Bazel.</h1> |
| |
| |
| <nav class="toc"> |
| <h2>Repository Rules</h2> |
| <ul> |
| <li><a href="#pip_import">pip_import</a></li> |
| </ul> |
| <h2>Macros</h2> |
| <ul> |
| <li><a href="#pip_repositories">pip_repositories</a></li> |
| </ul> |
| </nav> |
| <a name="pip_repositories"></a> |
| ## pip_repositories |
| |
| <pre> |
| pip_repositories() |
| </pre> |
| |
| Pull in dependencies needed for pulling in pip dependencies. |
| |
| A placeholder method that will eventually pull in any dependencies |
| needed to install pip dependencies. |
| |
| <a name="pip_import"></a> |
| ## pip_import |
| |
| <pre> |
| pip_import(<a href="#pip_import.name">name</a>, <a href="#pip_import.requirements">requirements</a>) |
| </pre> |
| |
| A rule for importing <code>requirements.txt</code> dependencies into Bazel. |
| |
| This rule imports a <code>requirements.txt</code> file and generates a new |
| <code>requirements.bzl</code> file. This is used via the <code>WORKSPACE</code> |
| pattern: |
| <pre><code>pip_import( |
| name = "foo", |
| requirements = ":requirements.txt", |
| ) |
| load("@foo//:requirements.bzl", "pip_install") |
| pip_install() |
| </code></pre> |
| |
| You can then reference imported dependencies from your <code>BUILD</code> |
| file with: |
| <pre><code>load("@foo//:requirements.bzl", "package") |
| py_library( |
| name = "bar", |
| ... |
| deps = [ |
| "//my/other:dep", |
| package("futures"), |
| package("mock"), |
| ], |
| ) |
| </code></pre> |
| |
| Or alternatively: |
| <pre><code>load("@foo//:requirements.bzl", "all_packages") |
| py_binary( |
| name = "baz", |
| ... |
| deps = [ |
| ":foo", |
| ] + all_packages, |
| ) |
| </code></pre> |
| |
| |
| <a name="pip_import_args"></a> |
| ### Attributes |
| |
| |
| <table class="params-table"> |
| <colgroup> |
| <col class="col-param" /> |
| <col class="col-description" /> |
| </colgroup> |
| <tbody> |
| <tr id="pip_import.name"> |
| <td><code>name</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#name">Name</a>; Required</code></p> |
| <p>A unique name for this rule.</p> |
| </td> |
| </tr> |
| <tr id="pip_import.requirements"> |
| <td><code>requirements</code></td> |
| <td> |
| <p><code><a href="https://bazel.build/docs/build-ref.html#labels">Label</a>; Required</code></p> |
| <p>The label of a requirements.txt file.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |