Add vpython file

This is required in LUCI because python packages on LUCI are
hermetically defined, and pywin32 is required for ninja.

Bug: 860896
Change-Id: I37b5e8c1016d2f6bce2ad3638662b81e613b0d25
Reviewed-on: https://pdfium-review.googlesource.com/38901
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Ryan Tseng <hinoka@google.com>
diff --git a/.vpython b/.vpython
new file mode 100644
index 0000000..efe51d4
--- /dev/null
+++ b/.vpython
@@ -0,0 +1,38 @@
+# This is a vpython "spec" file.
+#
+# It describes patterns for python wheel dependencies of the python scripts in
+# the chromium repo, particularly for dependencies that have compiled components
+# (since pure-python dependencies can be easily vendored into third_party).
+#
+# When vpython is invoked, it finds this file and builds a python VirtualEnv,
+# containing all of the dependencies described in this file, fetching them from
+# CIPD (the "Chrome Infrastructure Package Deployer" service). Unlike `pip`,
+# this never requires the end-user machine to have a working python extension
+# compilation environment. All of these packages are built using:
+#   https://chromium.googlesource.com/infra/infra/+/master/infra/tools/dockerbuild/
+#
+# All python scripts in the repo share this same spec, to avoid dependency
+# fragmentation.
+#
+# If you have depot_tools installed in your $PATH, you can invoke python scripts
+# in this repo by running them as you normally would run them, except
+# substituting `vpython` instead of `python` on the command line, e.g.:
+#   vpython path/to/script.py some --arguments
+#
+# Read more about `vpython` and how to modify this file here:
+#   https://chromium.googlesource.com/infra/infra/+/master/doc/users/vpython.md
+
+python_version: "2.7"
+
+# Used by build/toolchain/win/tool_wrapper.py
+wheel: <
+  name: "infra/python/wheels/pypiwin32/${vpython_platform}"
+  version: "version:219"
+  match_tag: <
+    platform: "win32"
+  >
+  match_tag: <
+    platform: "win_amd64"
+  >
+>
+