

<!--
Documentation generated by Skydoc
-->
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width initial-scale=1" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <title>Import pip requirements into Bazel.</title>

    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700" type="text/css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    <link rel="stylesheet" href="https://code.getmdl.io/1.1.1/material.green-light_blue.min.css">
    <script defer src="https://code.getmdl.io/1.1.1/material.min.js"></script>
    <link rel="stylesheet" href="./main.css">
  </head>
  <body>
    <div class="mdl-layout mdl-js-layout mdl-layout--fixed-drawer
      mdl-layout--fixed-header">
      <header class="mdl-layout__header">
        <div class="mdl-layout__header-row">
          <span class="mdl-layout-title">Import pip requirements into Bazel.</span>
        </div>
      </header>
      <div class="mdl-layout__drawer">
        <span class="mdl-layout-title">Bazel</span>
        <nav class="drawer-nav">
          <ul class="drawer-nav">
            
<li><a href="./index.html">Overview</a></li>
<li>
  <a href="./python/python.html">python Rules</a>
  <ul>
  </ul>
</li>
<li><a href="./index.html">Overview</a></li>
<li>
  <a href="./python/pip.html">Import pip requirements into Bazel.</a>
  <ul>
  </ul>
</li>
<li><a href="./index.html">Overview</a></li>
<li>
  <a href="./python/whl.html">Import .whl files into Bazel.</a>
  <ul>
  </ul>
</li>

          </ul>
        </nav>
      </div>

      <main class="mdl-layout__content">
        <div class="page-content">
          <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>
          <hr>

          <h2 id="pip_repositories">pip_repositories</h2>

          <pre>pip_repositories()</pre>

          <p>Pull in dependencies needed for pulling in pip dependencies.</p>
<p>A placeholder method that will eventually pull in any dependencies
needed to install pip dependencies.</p>


          <hr>

          <h2 id="pip_import">pip_import</h2>

          <pre>pip_import(<a href="#pip_import.name">name</a>, <a href="#pip_import.requirements">requirements</a>)</pre>

          <p>A rule for importing &lt;code&gt;requirements.txt&lt;/code&gt; dependencies into Bazel.</p>
<p>This rule imports a &lt;code&gt;requirements.txt&lt;/code&gt; file and generates a new
&lt;code&gt;requirements.bzl&lt;/code&gt; file.  This is used via the &lt;code&gt;WORKSPACE&lt;/code&gt;
pattern:</p>
&lt;pre&gt;&lt;code&gt;pip_import(
    name = "foo",
    requirements = ":requirements.txt",
)
load("@foo//:requirements.bzl", "pip_install")
pip_install()
&lt;/code&gt;&lt;/pre&gt;<p>You can then reference imported dependencies from your &lt;code&gt;BUILD&lt;/code&gt;
file with:</p>
&lt;pre&gt;&lt;code&gt;load("@foo//:requirements.bzl", "package")
py_library(
    name = "bar",
    ...
    deps = [
       "//my/other:dep",
       package("futures"),
       package("mock"),
    ],
)
&lt;/code&gt;&lt;/pre&gt;<p>Or alternatively:</p>
&lt;pre&gt;&lt;code&gt;load("@foo//:requirements.bzl", "all_packages")
py_binary(
    name = "baz",
    ...
    deps = [
       ":foo",
    ] + all_packages,
)
&lt;/code&gt;&lt;/pre&gt;

          <h3 id="pip_import_args">Attributes</h3>

<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>


        </div>

        <footer class="mdl-mini-footer">
          <div class="mdl-mini-footer__left-section">
            <div class="mdl-logo">Bazel</div>
            <ul class="mdl-mini-footer__link-list">
              <li><a href="http://bazel.io">Home</a></li>
              <li><a href="https://github.com/bazelbuild">GitHub</a></li>
            </ul>
          </div>
        </footer>
      </main>
    </div>
  </body>
</html>
