servo/python
Corey Farwell 33f78314d9 Use one Python virtual environment for all mach commands
Prior to this commit:

* Our Python dependency story was a bit of a mess. We had complete
 Python packages (wheels and directories) living in-tree, despite
 not having any changes from upstream. This is particularly bad because
 `setup.py` never gets run on these packages which could (sometimes
 silently) unintended breakage.
* Python virtual environments (virtualenv) were only utilized for
 testing web-platform tests

After this commit:

* A single virtualenv (`python/_virtualenv`) is activated upon *every*
 call to mach
* A requirements file (`python/requirements.txt`) is added to describe
 the dependencies needed by Python modules in `python/`. The child
 commit immediately following this will remove all the dependencies
 no longer needed in-tree (for the sake of keeping this commit
 readable).

Relevant to https://github.com/servo/servo/issues/861

Fixes https://github.com/servo/servo/issues/6999
2015-08-08 18:48:02 -04:00
..
dependencies Add flake8 to the tidy process for Python files 2015-06-04 11:17:34 -04:00
mach Update mach from gecko tree 2015-07-01 10:55:50 +01:00
mozdebug mozilla-central modules for debugger detection 2014-11-23 23:21:28 -08:00
mozinfo mozilla-central modules for debugger detection 2014-11-23 23:21:28 -08:00
mozlog Remove unused imports in the Python files 2015-05-31 19:15:32 -04:00
servo Use one Python virtual environment for all mach commands 2015-08-08 18:48:02 -04:00
toml Fix #6623 and update toml.py 2015-07-20 19:47:35 +03:00
licenseck.py Add flake8 to the tidy process for Python files 2015-06-04 11:17:34 -04:00
mach_bootstrap.py Use one Python virtual environment for all mach commands 2015-08-08 18:48:02 -04:00
README.md Update the README files to reflect the changes to the update procedure. 2015-04-03 23:29:22 +01:00
requirements.txt Use one Python virtual environment for all mach commands 2015-08-08 18:48:02 -04:00
tidy.py Use one Python virtual environment for all mach commands 2015-08-08 18:48:02 -04:00

This directory contains various Python modules used to support servo development.

= mach =

The command dispatch framework used to wrap the build system and test harnesses.

= mozdebug =

mozbase module containing information about various debuggers.

This can be updated by copying the latest version from https://hg.mozilla.org/mozilla-central/file/tip/testing/mozbase/mozdebug

= mozinfo =

Mozbase module for extracting information about the host hardware / os.

This can be updated by copying the latest version from hg.mozilla.org/mozilla-central/file/tip/testing/mozbase/mozinfo

= mozlog =

A mozbase logging module required for wptrunner output and command line arguments.

This can be updated by copying the latest version from hg.mozilla.org/mozilla-central/file/tip/testing/mozbase/mozlog

= servo =

servo-specific python code e.g. implementations of mach commands. This is the canonical repository for this code.

== toml ==

Python module for reading toml files.

This can be updated from https://github.com/uiri/toml