gecko-dev/python
Mitchell Hentges 6d154c1ed3 Bug 1713377: Change vendoring to use wheels where possible r=ahal,glandium
Vendoring wheels has three benefits:
* There's far less files, so Firefox checkouts will be smaller.
* It works around `zipp` not allowing `pip install`
  from extracted source `tar.gz` files. Now, we should
  be able to use the pip resolver against vendored
  packages, which will be needed for future
  mach virtualenv work.
* `./mach vendor python` takes far less time to execute.

Since we need the raw Python to be available to add to the `sys.path`,
we extract the wheels before putting them in tree.
Due to the structure of some wheels being less nested
than of a source `tar.gz`, `common_virtualenv_packages`
needed to be adjusted accordingly.

`install_pip_package()` had to be tweaked as well since you can't
`pip install` an extracted wheel. So, we "re-bundle" the wheel
before installing from a vendored package.

Replace python packages with wheels where possible

This contains the vendoring changes caused by the
last patch.

For reviewing, there's a couple things to note:
* A bunch of files are deleted, since there's generally
  less files in a wheel than in a source archive.
* There's a new `.dist-info` directory for each
  extracted wheel, so expect roughly 5 or
  6 new files for each wheel'd package.
* There should be no source code changes other than
  moves from package names changing from having
  `-` to having `_`.

Differential Revision: https://phabricator.services.mozilla.com/D116512
2021-06-16 15:53:16 +00:00
..
devtools/migrate-l10n Bug 1654103: Standardize on Black for Python code in mozilla-central. 2020-10-26 18:34:53 +00:00
docs Bug 1713610: Require PyPI-vendored packages be added to requirements.in r=ahal 2021-06-10 19:19:06 +00:00
gdbpp/gdbpp Bug 1654103: Standardize on Black for Python code in mozilla-central. 2020-10-26 18:34:53 +00:00
l10n Bug 1682022 - Convert to Fluent and / or fork the remainder of the AppMenu strings for sentence casing. r=flod,fluent-reviewers 2021-06-09 18:01:24 +00:00
lldbutils Bug 1654103: Standardize on Black for Python code in mozilla-central. 2020-10-26 18:34:53 +00:00
mach Bug 1714684 - Fix linting. r=fix CLOSED TREE 2021-06-14 20:47:59 +03:00
mozboot Bug 1690870: Remove "artifact mode" from bootstrap options on M1 Macs r=firefox-build-system-reviewers,andi 2021-06-16 14:31:07 +00:00
mozbuild Bug 1713377: Change vendoring to use wheels where possible r=ahal,glandium 2021-06-16 15:53:16 +00:00
mozlint Bug 1714159 - Handle c:/... and C:/... when making relative paths in mozlint. r=ahal 2021-06-02 21:27:40 +00:00
mozperftest Bug 1716378 - Use correct test modules path in xpcshell layer. r=perftest-reviewers,kimberlythegeek 2021-06-15 17:01:58 +00:00
mozrelease Bug 1714688 - Removed 'if PY2' logic from python/mozrelease r=mhentges 2021-06-14 20:41:31 +00:00
mozterm Bug 1680345 - python3 - Require six 1.13.0 in non third_party and non web-platform packages r=jgraham,jmaher 2020-12-03 22:54:35 +00:00
mozversioncontrol No Bug - [mozversioncontrol] xfail 'test_branch.py' with git < 2.22.0, r=bhearsum 2021-04-14 20:49:26 +00:00
mach_commands.py Bug 1712819: Fix VirtualenvManager not being expandable in debugger r=ahal 2021-05-27 23:04:06 +00:00
moz.build Bug 1654103: Standardize on Black for Python code in mozilla-central. 2020-10-26 18:34:53 +00:00
README

This directory contains common Python code.

The basic rule is that if Python code is cross-module (that's "module" in the
Mozilla meaning - as in "module ownership") and is MPL-compatible, it should
go here.

What should not go here:

* Vendored python modules (use third_party/python instead)
* Python that is not MPL-compatible (see other-licenses/)
* Python that has good reason to remain close to its "owning" (Mozilla)
  module (e.g. it is only being consumed from there).

Historical information can be found at
https://bugzilla.mozilla.org/show_bug.cgi?id=775243
https://bugzilla.mozilla.org/show_bug.cgi?id=1346025