This directory contains sources from other projects.

Code in this directory must document the license under which the source is being
used. If the source itself does not include a license header or file, create
an entry in this file that refers to reliable documentation of the project's
license terms on the web (and add a note pointing here in the README file in
that directory).

Name: autopep8
Short Name: autopep8
URL: https://pypi.python.org/packages/source/a/autopep8/autopep8-1.0.3.tar.gz#md5=7c16d385cf9ad7c1d7fbcfcea2588a56
Version: 1.0.3
License: MIT
License File: NOT_SHIPPED
Security Critical: no
Description: Used to reformat python code via format-webkitpy
Local Modifications: None

Name: BeautifulSoup - HTML parser
Short Name: BeautifulSoup
URL: http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz (?)
Version: 3.2
License: MIT
License File: NOT_SHIPPED
Security Critical: no
Description: Used during the w3c import, other places
Local Modifications: None

Name: coverage - code coverage metrics for python
Short Name: coverage
URL: http://pypi.python.org/packages/source/c/coverage/coverage-3.5.1.tar.gz#md5=410d4c8155a4dab222f2bc51212d4a24
Version: 3.5.1
License: BSD
License File: NOT_SHIPPED
Security Critical: no
Description: code coverage metrics gathering for test-webkitpy.
Local Modifications: None

Name: ircbot
Short Name: ircbot
URL: http://downloads.sourceforge.net/project/python-irclib/python-irclib/0.4.8/python-irclib-0.4.8.zip
Version: 0.4.8
License: LGPLv2
License File: NOT_SHIPPED
Security Critical: no
Description: Used to implement a simple IRC bot to check for updates
Local Modifications: None

Name: mod_pywebsocket
Short Name: mod_pywebsocket
URL: https://code.google.com/p/pywebsocket/
Version: 0.7.9 (?)
License: BSD
License File: NOT_SHIPPED
Security Critical: no
Description: used by run-webkit-tests and run-webkit-httpd to test web sockets
Local Modifications: None

Name: pep8 - A Python style guide checker
Short Name: pep8
URL: https://pypi.python.org/packages/source/p/pep8/pep8-1.5.7.tar.gz#md5=f6adbdd69365ecca20513c709f9b7c93
Version: 1.5.7
License: MIT
License File: NOT_SHIPPED
Security Critical: no
Description: Used during presubmit checks and via lint-webkitpy and format-webkitpy. There is
    overlap between pep8 and pylint, but pep8 catches a bunch of stylistic
	issues that pylint doesn't (e.g., warning about blank lines, various whitespace issues, etc.).
Local Modifications: None

Name: web-platform-tests - Test Suites for Web Platform specifications
Short Name: wpt
URL: https://github.com/w3c/web-platform-tests/
Version: https://codereview.chromium.org/2671203004 (Also check wpt/WPTHeads)
License: LICENSES FOR W3C TEST SUITES (http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html)
License File: wpt/wpt/LICENSE
Security Critical: no
Description: Used to run all supported web-platform-tests as part of Blink layout tests. The wpt/wpt
             directory only contains the tools as opposed to LayoutTests/external/wpt
             which contains the tests. Also see wpt/README.chromium for more details on maintenance.
Local Modifications: Removed all files except for those listed in wpt/WPTWhiteList.

Name: wpt-tools - Tools for Web Platform Tests
Short Name: wpt-tools
URL: https://github.com/w3c/wpt-tools
Version: https://codereview.chromium.org/2671203004 (Also check wpt/WPTHeads)
License: W3C 3-clause BSD License (http://www.w3.org/Consortium/Legal/2008/03-bsd-license.html)
License File: wpt/wpt/tools/LICENSE
Security Critical: no
Description: Used to run all supported web-platform-tests as part of Blink layout tests.
             Also see wpt/README.chromium for more details on maintenance.
             This includes the WPT manifest update script.
Local Modifications: Removed all files except for those listed in wpt/WPTWhiteList.

Name: six - Python 2 and 3 compatibility library
Short Name: six
URL: https://bitbucket.org/gutworth/six
   However, this is cloned from https://github.com/jgraham/six as a submodule of
   web-platform-tests.
Version: 3b6173c833d217ab0186c355804f5925cbcfca47 (Also check wpt/WPTHeads)
License: MIT
License File: wpt/wpt/tools/six/LICENSE
Security Critical: no
Description: Dependency from wptserve below.
             Also see wpt/README.chromium for more details on maintenance.
Local Modifications: Removed all files except for those listed in wpt/WPTWhiteList.

Name: wptserve - Web server designed for use with web-platform-tests
Short Name: wptserve
URL: https://github.com/w3c/wptserve
Version: https://codereview.chromium.org/2671203004 (Also check wpt/WPTHeads)
License: W3C 3-clause BSD License (http://www.w3.org/Consortium/Legal/2008/03-bsd-license.html)
License File: wpt/wpt/tools/wptserve/LICENSE
Security Critical: no
Description: Used to run all supported web-platform-tests as part of Blink layout tests.
             Also see wpt/README.chromium for more details on maintenance.
Local Modifications: Removed all files except for those listed in wpt/WPTWhiteList.

Name: html5lib - HTML-parsing library
Short Name: html5lib
URL: https://github.com/html5lib/html5lib-python
Version: 7cce65bbaa78411f98b8b37eeefc9db03c580097 (Also check wpt/WPTHeads)
License: MIT
License File: wpt/wpt/tools/html5lib/LICENSE
Security Critical: no
Description: This is a dependency of the manifest WPT manifest update script.
             Also see wpt/README.chromium for more details on maintenance.
Local Modifications: Removed all files except for those listed in wpt/WPTWhiteList.
