diff --git a/.gitattributes b/.gitattributes index b79df5cd..96c89ceb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ # Ignore all Git auto CR/LF line endings conversions * -text +pyproject.toml export-subst diff --git a/.github/workflows/docs-ci.yml b/.github/workflows/docs-ci.yml new file mode 100644 index 00000000..18a44aa0 --- /dev/null +++ b/.github/workflows/docs-ci.yml @@ -0,0 +1,37 @@ +name: CI Documentation + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-20.04 + + strategy: + max-parallel: 4 + matrix: + python-version: [3.9] + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Give permission to run scripts + run: chmod +x ./docs/scripts/doc8_style_check.sh + + - name: Install Dependencies + run: pip install -e .[docs] + + - name: Check Sphinx Documentation build minimally + working-directory: ./docs + run: sphinx-build -E -W source build + + - name: Check for documentation style errors + working-directory: ./docs + run: ./scripts/doc8_style_check.sh + + diff --git a/.github/workflows/pypi-release.yml b/.github/workflows/pypi-release.yml new file mode 100644 index 00000000..22315ff0 --- /dev/null +++ b/.github/workflows/pypi-release.yml @@ -0,0 +1,83 @@ +name: Create library release archives, create a GH release and publish PyPI wheel and sdist on tag in main branch + + +# This is executed automatically on a tag in the main branch + +# Summary of the steps: +# - build wheels and sdist +# - upload wheels and sdist to PyPI +# - create gh-release and upload wheels and dists there +# TODO: smoke test wheels and sdist +# TODO: add changelog to release text body + +# WARNING: this is designed only for packages building as pure Python wheels + +on: + workflow_dispatch: + push: + tags: + - "v*.*.*" + +jobs: + build-pypi-distribs: + name: Build and publish library to PyPI + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@master + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: 3.9 + + - name: Install pypa/build + run: python -m pip install build --user + + - name: Build a binary wheel and a source tarball + run: python -m build --sdist --wheel --outdir dist/ + + - name: Upload built archives + uses: actions/upload-artifact@v3 + with: + name: pypi_archives + path: dist/* + + + create-gh-release: + name: Create GH release + needs: + - build-pypi-distribs + runs-on: ubuntu-20.04 + + steps: + - name: Download built archives + uses: actions/download-artifact@v3 + with: + name: pypi_archives + path: dist + + - name: Create GH release + uses: softprops/action-gh-release@v1 + with: + draft: true + files: dist/* + + + create-pypi-release: + name: Create PyPI release + needs: + - create-gh-release + runs-on: ubuntu-20.04 + + steps: + - name: Download built archives + uses: actions/download-artifact@v3 + with: + name: pypi_archives + path: dist + + - name: Publish to PyPI + if: startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@master + with: + password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.gitignore b/.gitignore index 68de2d22..2d48196f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ *.py[cod] # virtualenv and other misc bits +/src/*.egg-info *.egg-info /dist /build @@ -12,6 +13,7 @@ /Lib /pip-selfcheck.json /tmp +/venv .Python /include /Include diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7a342dff..00000000 --- a/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -# This is a skeleton Travis CI config file that provides a starting point for adding CI -# to a Python project. Since we primarily develop in python3, this skeleton config file -# will be specific to that language. -# -# See https://config.travis-ci.com/ for a full list of configuration options. - -os: linux - -dist: xenial - -language: python -python: - - "3.6" - - "3.7" - - "3.8" - -# Scripts to run at install stage -install: ./configure - -# Scripts to run at script stage -script: tmp/bin/pytest diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 691bec6e..141b8214 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,7 +4,8 @@ Release notes vNext () -------- - Remove support for python2.7. -- Add support for python3.6+. +- Add support for python3.8+. +- Add nexB/Skeleton support. - Add Azurze Pipelines support for CI checks. - Update python project files to more modern standards. diff --git a/CODE_OF_CONDUCT.rst b/CODE_OF_CONDUCT.rst new file mode 100644 index 00000000..590ba198 --- /dev/null +++ b/CODE_OF_CONDUCT.rst @@ -0,0 +1,86 @@ +Contributor Covenant Code of Conduct +==================================== + +Our Pledge +---------- + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our +project and our community a harassment-free experience for everyone, +regardless of age, body size, disability, ethnicity, gender identity and +expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +Our Standards +------------- + +Examples of behavior that contributes to creating a positive environment +include: + +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- The use of sexualized language or imagery and unwelcome sexual + attention or advances +- Trolling, insulting/derogatory comments, and personal or political + attacks +- Public or private harassment +- Publishing others’ private information, such as a physical or + electronic address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +Our Responsibilities +-------------------- + +Project maintainers are responsible for clarifying the standards of +acceptable behavior and are expected to take appropriate and fair +corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, +or reject comments, commits, code, wiki edits, issues, and other +contributions that are not aligned to this Code of Conduct, or to ban +temporarily or permanently any contributor for other behaviors that they +deem inappropriate, threatening, offensive, or harmful. + +Scope +----- + +This Code of Conduct applies both within project spaces and in public +spaces when an individual is representing the project or its community. +Examples of representing a project or community include using an +official project e-mail address, posting via an official social media +account, or acting as an appointed representative at an online or +offline event. Representation of a project may be further defined and +clarified by project maintainers. + +Enforcement +----------- + +Instances of abusive, harassing, or otherwise unacceptable behavior may +be reported by contacting the project team at pombredanne@gmail.com +or on the Gitter chat channel at https://gitter.im/aboutcode-org/discuss . +All complaints will be reviewed and investigated and will result in a +response that is deemed necessary and appropriate to the circumstances. +The project team is obligated to maintain confidentiality with regard to +the reporter of an incident. Further details of specific enforcement +policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in +good faith may face temporary or permanent repercussions as determined +by other members of the project’s leadership. + +Attribution +----------- + +This Code of Conduct is adapted from the `Contributor Covenant`_ , +version 1.4, available at +https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +.. _Contributor Covenant: https://www.contributor-covenant.org diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..cc36c355 --- /dev/null +++ b/Makefile @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/skeleton for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# + +# Python version can be specified with `$ PYTHON_EXE=python3.x make conf` +PYTHON_EXE?=python3 +VENV=venv +ACTIVATE?=. ${VENV}/bin/activate; + +dev: + @echo "-> Configure the development envt." + ./configure --dev + +isort: + @echo "-> Apply isort changes to ensure proper imports ordering" + ${VENV}/bin/isort --sl -l 100 src tests setup.py + +black: + @echo "-> Apply black code formatter" + ${VENV}/bin/black -l 100 src tests setup.py + +doc8: + @echo "-> Run doc8 validation" + @${ACTIVATE} doc8 --max-line-length 100 --ignore-path docs/_build/ --quiet docs/ + +valid: isort black + +check: + @echo "-> Run pycodestyle (PEP8) validation" + @${ACTIVATE} pycodestyle --max-line-length=100 --exclude=.eggs,venv,lib,thirdparty,docs,migrations,settings.py,.cache . + @echo "-> Run isort imports ordering validation" + @${ACTIVATE} isort --sl --check-only -l 100 setup.py src tests . + @echo "-> Run black validation" + @${ACTIVATE} black --check --check -l 100 src tests setup.py + +clean: + @echo "-> Clean the Python env" + ./configure --clean + +test: + @echo "-> Run the test suite" + ${VENV}/bin/pytest -vvs + +docs: + rm -rf docs/_build/ + @${ACTIVATE} sphinx-build docs/ docs/_build/ + +.PHONY: conf dev check valid black isort clean test docs diff --git a/README.rst b/README.rst index a47070bc..9e09f348 100644 --- a/README.rst +++ b/README.rst @@ -37,12 +37,12 @@ For more comprehensive installation instructions and development instructions, s For development instructions, see: `Development Instructions `_ -Make sure you have Python 3.6+ installed: - * Download and install Python 3.6+ Windows +Make sure you have Python 3.8+ installed: + * Download and install Python 3.8+ Windows https://www.python.org/downloads/windows/ - * Download and install Python 3.6+ for Mac + * Download and install Python 3.8+ for Mac https://www.python.org/downloads/mac-osx/ - * Download and install Python 3.6+ for Linux via distro package manager + * Download and install Python 3.8+ for Linux via distro package manager Next, download and extract the latest DeltaCode release from:: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 9a4c950c..f9cbac22 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -7,58 +7,66 @@ jobs: - - template: etc/ci/azure-linux.yml - parameters: - job_name: ubuntu16_cpython - image_name: ubuntu-16.04 - python_versions: ['3.6', '3.7', '3.8', '3.9'] - test_suites: - all: tmp/bin/pytest -vvs - - - template: etc/ci/azure-linux.yml + - template: etc/ci/azure-posix.yml parameters: job_name: ubuntu18_cpython image_name: ubuntu-18.04 - python_versions: ['3.6', '3.7', '3.8', '3.9'] + python_versions: ['3.8', '3.9', '3.10', '3.11'] test_suites: - all: tmp/bin/pytest -n 2 -vvs + all: venv/bin/pytest -n 2 -vvs - - template: etc/ci/azure-linux.yml + - template: etc/ci/azure-posix.yml parameters: job_name: ubuntu20_cpython image_name: ubuntu-20.04 - python_versions: ['3.6', '3.7', '3.8', '3.9'] + python_versions: ['3.8', '3.9', '3.10', '3.11'] test_suites: - all: tmp/bin/pytest -n 2 -vvs + all: venv/bin/pytest -n 2 -vvs - - template: etc/ci/azure-mac.yml + - template: etc/ci/azure-posix.yml parameters: - job_name: macos1014_cpython - image_name: macos-10.14 - python_versions: ['3.6', '3.7', '3.8', '3.9'] + job_name: ubuntu22_cpython + image_name: ubuntu-22.04 + python_versions: ['3.8', '3.9', '3.10', '3.11'] test_suites: - all: tmp/bin/pytest -n 2 -vvs + all: venv/bin/pytest -n 2 -vvs - - template: etc/ci/azure-mac.yml + - template: etc/ci/azure-posix.yml parameters: job_name: macos1015_cpython image_name: macos-10.15 - python_versions: ['3.6', '3.7', '3.8', '3.9'] + python_versions: ['3.8', '3.9', '3.10', '3.11'] test_suites: - all: tmp/bin/pytest -n 2 -vvs + all: venv/bin/pytest -n 2 -vvs - - template: etc/ci/azure-win.yml + - template: etc/ci/azure-posix.yml parameters: - job_name: win2016_cpython - image_name: vs2017-win2016 - python_versions: ['3.6', '3.7', '3.8', '3.9'] + job_name: macos11_cpython + image_name: macos-11 + python_versions: ['3.8', '3.9', '3.10', '3.11'] test_suites: - all: tmp\Scripts\pytest -n 2 -vvs + all: venv/bin/pytest -n 2 -vvs + + - template: etc/ci/azure-posix.yml + parameters: + job_name: macos12_cpython + image_name: macos-12 + python_versions: ['3.8', '3.9', '3.10', '3.11'] + test_suites: + all: venv/bin/pytest -n 2 -vvs - template: etc/ci/azure-win.yml parameters: job_name: win2019_cpython image_name: windows-2019 - python_versions: ['3.6', '3.7', '3.8', '3.9'] + python_versions: ['3.8', '3.9', '3.10', '3.11'] + test_suites: + all: venv\Scripts\pytest -n 2 -vvs + + - template: etc/ci/azure-win.yml + parameters: + job_name: win2022_cpython + image_name: windows-2022 + python_versions: ['3.8', '3.9', '3.10', '3.11'] test_suites: - all: tmp\Scripts\pytest -n 2 -vvs + all: venv\Scripts\pytest -n 2 -vvs diff --git a/configure b/configure index 8f3a68e3..926a894e 100755 --- a/configure +++ b/configure @@ -1,44 +1,202 @@ #!/usr/bin/env bash # -# Copyright (c) nexB Inc. and others. +# Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/ for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. # set -e #set -x -# source this script for a basic setup and configuration for local development +################################ +# A configuration script to set things up: +# create a virtualenv and install or update thirdparty packages. +# Source this script for initial configuration +# Use configure --help for details +# +# NOTE: please keep in sync with Windows script configure.bat +# +# This script will search for a virtualenv.pyz app in etc/thirdparty/virtualenv.pyz +# Otherwise it will download the latest from the VIRTUALENV_PYZ_URL default +################################ +CLI_ARGS=$1 -CONFIGURE_ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +################################ +# Defaults. Change these variables to customize this script +################################ +# Requirement arguments passed to pip and used by default or with --dev. +REQUIREMENTS="--editable . --constraint requirements.txt" +DEV_REQUIREMENTS="--editable .[testing] --constraint requirements.txt --constraint requirements-dev.txt" +DOCS_REQUIREMENTS="--editable .[docs] --constraint requirements.txt" -if [[ "$1" == "--clean" ]]; then - rm -rf "$CONFIGURE_ROOT_DIR/tmp" - exit +# where we create a virtualenv +VIRTUALENV_DIR=venv + +# Cleanable files and directories to delete with the --clean option +CLEANABLE="build dist venv .cache .eggs" + +# extra arguments passed to pip +PIP_EXTRA_ARGS=" " + +# the URL to download virtualenv.pyz if needed +VIRTUALENV_PYZ_URL=https://bootstrap.pypa.io/virtualenv.pyz +################################ + + +################################ +# Current directory where this script lives +CFG_ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +CFG_BIN_DIR=$CFG_ROOT_DIR/$VIRTUALENV_DIR/bin + + +################################ +# Install with or without and index. With "--no-index" this is using only local wheels +# This is an offline mode with no index and no network operations +# NO_INDEX="--no-index " +NO_INDEX="" + + +################################ +# Thirdparty package locations and index handling +# Find packages from the local thirdparty directory if present +THIRDPARDIR=$CFG_ROOT_DIR/thirdparty +if [[ "$(echo $THIRDPARDIR/*.whl)x" != "$THIRDPARDIR/*.whlx" ]]; then + PIP_EXTRA_ARGS="$NO_INDEX --find-links $THIRDPARDIR" fi -if [[ "$PYTHON_EXE" == "" ]]; then - PYTHON_EXE=python3 +################################ +# Set the quiet flag to empty if not defined +if [[ "$CFG_QUIET" == "" ]]; then + CFG_QUIET=" " fi -function setup { - # create a virtualenv on Python - mkdir -p $CONFIGURE_ROOT_DIR/tmp - wget -O $CONFIGURE_ROOT_DIR/tmp/virtualenv.pyz https://bootstrap.pypa.io/virtualenv.pyz - $PYTHON_EXE $CONFIGURE_ROOT_DIR/tmp/virtualenv.pyz $CONFIGURE_ROOT_DIR/tmp - source $CONFIGURE_ROOT_DIR/tmp/bin/activate - $CONFIGURE_ROOT_DIR/tmp/bin/pip install --upgrade pip virtualenv setuptools wheel +################################ +# Find a proper Python to run +# Use environment variables or a file if available. +# Otherwise the latest Python by default. +find_python() { + if [[ "$PYTHON_EXECUTABLE" == "" ]]; then + # check for a file named PYTHON_EXECUTABLE + if [ -f "$CFG_ROOT_DIR/PYTHON_EXECUTABLE" ]; then + PYTHON_EXECUTABLE=$(cat "$CFG_ROOT_DIR/PYTHON_EXECUTABLE") + else + PYTHON_EXECUTABLE=python3 + fi + fi } -setup +################################ +create_virtualenv() { + # create a virtualenv for Python + # Note: we do not use the bundled Python 3 "venv" because its behavior and + # presence is not consistent across Linux distro and sometimes pip is not + # included either by default. The virtualenv.pyz app cures all these issues. -$CONFIGURE_ROOT_DIR/tmp/bin/pip install -e .[testing] + VENV_DIR="$1" + if [ ! -f "$CFG_BIN_DIR/python" ]; then + + mkdir -p "$CFG_ROOT_DIR/$VENV_DIR" + + if [ -f "$CFG_ROOT_DIR/etc/thirdparty/virtualenv.pyz" ]; then + VIRTUALENV_PYZ="$CFG_ROOT_DIR/etc/thirdparty/virtualenv.pyz" + else + VIRTUALENV_PYZ="$CFG_ROOT_DIR/$VENV_DIR/virtualenv.pyz" + wget -O "$VIRTUALENV_PYZ" "$VIRTUALENV_PYZ_URL" 2>/dev/null || curl -o "$VIRTUALENV_PYZ" "$VIRTUALENV_PYZ_URL" + fi + + $PYTHON_EXECUTABLE "$VIRTUALENV_PYZ" \ + --wheel embed --pip embed --setuptools embed \ + --seeder pip \ + --never-download \ + --no-periodic-update \ + --no-vcs-ignore \ + $CFG_QUIET \ + "$CFG_ROOT_DIR/$VENV_DIR" + fi +} + + +################################ +install_packages() { + # install requirements in virtualenv + # note: --no-build-isolation means that pip/wheel/setuptools will not + # be reinstalled a second time and reused from the virtualenv and this + # speeds up the installation. + # We always have the PEP517 build dependencies installed already. + + "$CFG_BIN_DIR/pip" install \ + --upgrade \ + --no-build-isolation \ + $CFG_QUIET \ + $PIP_EXTRA_ARGS \ + $1 +} + + +################################ +cli_help() { + echo An initial configuration script + echo " usage: ./configure [options]" + echo + echo The default is to configure for regular use. Use --dev for development. + echo + echo The options are: + echo " --clean: clean built and installed files and exit." + echo " --dev: configure the environment for development." + echo " --help: display this help message and exit." + echo + echo By default, the python interpreter version found in the path is used. + echo Alternatively, the PYTHON_EXECUTABLE environment variable can be set to + echo configure another Python executable interpreter to use. If this is not + echo set, a file named PYTHON_EXECUTABLE containing a single line with the + echo path of the Python executable to use will be checked last. + set +e + exit +} + + +################################ +clean() { + # Remove cleanable file and directories and files from the root dir. + echo "* Cleaning ..." + for cln in $CLEANABLE; + do rm -rf "${CFG_ROOT_DIR:?}/${cln:?}"; + done + set +e + exit +} + + +################################ +# Main command line entry point +CFG_REQUIREMENTS=$REQUIREMENTS + +# We are using getopts to parse option arguments that start with "-" +while getopts :-: optchar; do + case "${optchar}" in + -) + case "${OPTARG}" in + help ) cli_help;; + clean ) find_python && clean;; + dev ) CFG_REQUIREMENTS="$DEV_REQUIREMENTS";; + docs ) CFG_REQUIREMENTS="$DOCS_REQUIREMENTS";; + esac;; + esac +done + + +PIP_EXTRA_ARGS="$PIP_EXTRA_ARGS" + +find_python +create_virtualenv "$VIRTUALENV_DIR" +install_packages "$CFG_REQUIREMENTS" +. "$CFG_BIN_DIR/activate" -if [ -f "$CONFIGURE_ROOT_DIR/tmp/bin/activate" ]; then - source "$CONFIGURE_ROOT_DIR/tmp/bin/activate" -fi set +e diff --git a/configure.bat b/configure.bat index 446eb806..5e95b311 100644 --- a/configure.bat +++ b/configure.bat @@ -1,121 +1,207 @@ @echo OFF @setlocal -@rem Copyright (c) nexB Inc. http://www.nexb.com/ - All rights reserved. + +@rem Copyright (c) nexB Inc. and others. All rights reserved. +@rem SPDX-License-Identifier: Apache-2.0 +@rem See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +@rem See https://github.com/nexB/ for support or download. +@rem See https://aboutcode.org for more information about nexB OSS projects. + @rem ################################ -@rem # A configuration script for Windows -@rem # -@rem # The options and (optional) arguments are: -@rem # --clean : this is exclusive of anything else and cleans the environment -@rem # from built and installed files -@rem # -@rem # --python < path to python.exe> : this must be the first argument and set -@rem # the path to the Python executable to use. If < path to python.exe> is -@rem # set to "path", then the executable will be the python.exe available -@rem # in the PATH. +@rem # A configuration script to set things up: +@rem # create a virtualenv and install or update thirdparty packages. +@rem # Source this script for initial configuration +@rem # Use configure --help for details + +@rem # NOTE: please keep in sync with POSIX script configure + +@rem # This script will search for a virtualenv.pyz app in etc\thirdparty\virtualenv.pyz +@rem # Otherwise it will download the latest from the VIRTUALENV_PYZ_URL default @rem ################################ -@rem Current directory where this .bat files lives -set CFG_ROOT_DIR=%~dp0 -@rem path where a configured Python should live in the current virtualenv if installed -set CONFIGURED_PYTHON=%CFG_ROOT_DIR%tmp\Scripts\python.exe -set PYTHON_EXECUTABLE= +@rem ################################ +@rem # Defaults. Change these variables to customize this script +@rem ################################ + +@rem # Requirement arguments passed to pip and used by default or with --dev. +set "REQUIREMENTS=--editable . --constraint requirements.txt" +set "DEV_REQUIREMENTS=--editable .[testing] --constraint requirements.txt --constraint requirements-dev.txt" +set "DOCS_REQUIREMENTS=--editable .[docs] --constraint requirements.txt" + +@rem # where we create a virtualenv +set "VIRTUALENV_DIR=venv" + +@rem # Cleanable files and directories to delete with the --clean option +set "CLEANABLE=build dist venv .cache .eggs" + +@rem # extra arguments passed to pip +set "PIP_EXTRA_ARGS= " + +@rem # the URL to download virtualenv.pyz if needed +set VIRTUALENV_PYZ_URL=https://bootstrap.pypa.io/virtualenv.pyz +@rem ################################ -@rem parse command line options and arguments -:collectopts -if "%1" EQU "--help" (goto cli_help) -if "%1" EQU "--clean" (call rmdir /s /q "%CFG_ROOT_DIR%tmp") && call exit /b -if "%1" EQU "--python" (set PROVIDED_PYTHON=%~2) && shift && shift && goto collectopts -@rem If we have a pre-configured Python in our virtualenv, reuse this as-is and run -if exist ""%CONFIGURED_PYTHON%"" ( - set PYTHON_EXECUTABLE=%CONFIGURED_PYTHON% - goto run +@rem ################################ +@rem # Current directory where this script lives +set CFG_ROOT_DIR=%~dp0 +set "CFG_BIN_DIR=%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\Scripts" + + +@rem ################################ +@rem # Thirdparty package locations and index handling +@rem # Find packages from the local thirdparty directory +if exist "%CFG_ROOT_DIR%\thirdparty" ( + set PIP_EXTRA_ARGS=--find-links "%CFG_ROOT_DIR%\thirdparty" ) -@rem If we have a command arg for Python use this as-is -if ""%PROVIDED_PYTHON%""==""path"" ( - @rem use a bare python available in the PATH - set PYTHON_EXECUTABLE=python - goto run + +@rem ################################ +@rem # Set the quiet flag to empty if not defined +if not defined CFG_QUIET ( + set "CFG_QUIET= " ) -if exist ""%PROVIDED_PYTHON%"" ( - set PYTHON_EXECUTABLE=%PROVIDED_PYTHON% - goto run + + +@rem ################################ +@rem # Main command line entry point +set "CFG_REQUIREMENTS=%REQUIREMENTS%" + +:again +if not "%1" == "" ( + if "%1" EQU "--help" (goto cli_help) + if "%1" EQU "--clean" (goto clean) + if "%1" EQU "--dev" ( + set "CFG_REQUIREMENTS=%DEV_REQUIREMENTS%" + ) + if "%1" EQU "--docs" ( + set "CFG_REQUIREMENTS=%DOCS_REQUIREMENTS%" + ) + shift + goto again ) +set "PIP_EXTRA_ARGS=%PIP_EXTRA_ARGS%" -@rem otherwise we search for a suitable Python interpreter -:find_python -@rem First check the existence of the "py" launcher (available in Python 3) -@rem if we have it, check if we have a py -3 installed with the good version or a py 2.7 -@rem if not, check if we have an old py 2.7 -@rem exist if all fails -where py >nul 2>nul -if %ERRORLEVEL% == 0 ( - @rem we have a py launcher, check for the availability of our required Python 3 version - py -3.6 --version >nul 2>nul - if %ERRORLEVEL% == 0 ( - set PYTHON_EXECUTABLE=py -3.6 +@rem ################################ +@rem # Find a proper Python to run +@rem # Use environment variables or a file if available. +@rem # Otherwise the latest Python by default. +if not defined PYTHON_EXECUTABLE ( + @rem # check for a file named PYTHON_EXECUTABLE + if exist "%CFG_ROOT_DIR%\PYTHON_EXECUTABLE" ( + set /p PYTHON_EXECUTABLE=<"%CFG_ROOT_DIR%\PYTHON_EXECUTABLE" ) else ( - @rem we have no required python 3, let's try python 2: - py -2 --version >nul 2>nul - if %ERRORLEVEL% == 0 ( - set PYTHON_EXECUTABLE=py -2 - ) else ( - @rem we have py and no python 3 and 2, exit - echo * Unable to find an installation of Python. - exit /b 1 - ) + set "PYTHON_EXECUTABLE=py" + ) +) + + +@rem ################################ +:create_virtualenv +@rem # create a virtualenv for Python +@rem # Note: we do not use the bundled Python 3 "venv" because its behavior and +@rem # presence is not consistent across Linux distro and sometimes pip is not +@rem # included either by default. The virtualenv.pyz app cures all these issues. + +if not exist "%CFG_BIN_DIR%\python.exe" ( + if not exist "%CFG_BIN_DIR%" ( + mkdir "%CFG_BIN_DIR%" ) -) else ( - @rem we have no py launcher, check for a default Python 2 installation - if not exist ""%DEFAULT_PYTHON2%"" ( - echo * Unable to find an installation of Python. - exit /b 1 + + if exist "%CFG_ROOT_DIR%\etc\thirdparty\virtualenv.pyz" ( + %PYTHON_EXECUTABLE% "%CFG_ROOT_DIR%\etc\thirdparty\virtualenv.pyz" ^ + --wheel embed --pip embed --setuptools embed ^ + --seeder pip ^ + --never-download ^ + --no-periodic-update ^ + --no-vcs-ignore ^ + %CFG_QUIET% ^ + "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%" ) else ( - set PYTHON_EXECUTABLE=%DEFAULT_PYTHON2% + if not exist "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\virtualenv.pyz" ( + curl -o "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\virtualenv.pyz" %VIRTUALENV_PYZ_URL% + + if %ERRORLEVEL% neq 0 ( + exit /b %ERRORLEVEL% + ) + ) + %PYTHON_EXECUTABLE% "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\virtualenv.pyz" ^ + --wheel embed --pip embed --setuptools embed ^ + --seeder pip ^ + --never-download ^ + --no-periodic-update ^ + --no-vcs-ignore ^ + %CFG_QUIET% ^ + "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%" ) ) +if %ERRORLEVEL% neq 0 ( + exit /b %ERRORLEVEL% +) + + +@rem ################################ +:install_packages +@rem # install requirements in virtualenv +@rem # note: --no-build-isolation means that pip/wheel/setuptools will not +@rem # be reinstalled a second time and reused from the virtualenv and this +@rem # speeds up the installation. +@rem # We always have the PEP517 build dependencies installed already. + +"%CFG_BIN_DIR%\pip" install ^ + --upgrade ^ + --no-build-isolation ^ + %CFG_QUIET% ^ + %PIP_EXTRA_ARGS% ^ + %CFG_REQUIREMENTS% -:run -@rem without this things may not always work on Windows 10, but this makes things slower -set PYTHONDONTWRITEBYTECODE=1 -call mkdir "%CFG_ROOT_DIR%tmp" -call curl -o "%CFG_ROOT_DIR%tmp\virtualenv.pyz" https://bootstrap.pypa.io/virtualenv.pyz -call %PYTHON_EXECUTABLE% "%CFG_ROOT_DIR%tmp\virtualenv.pyz" "%CFG_ROOT_DIR%tmp" -call "%CFG_ROOT_DIR%tmp\Scripts\activate" -call "%PYTHON_EXECUTABLE%" -m pip install --upgrade pip virtualenv setuptools wheel -call "%CFG_ROOT_DIR%tmp\Scripts\pip" install -e .[testing] +@rem ################################ +:create_bin_junction +@rem # Create junction to bin to have the same directory between linux and windows +if exist "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\bin" ( + rmdir /s /q "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\bin" +) +mklink /J "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\bin" "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\Scripts" -@rem Return a proper return code on failure if %ERRORLEVEL% neq 0 ( exit /b %ERRORLEVEL% ) -endlocal -goto activate + +exit /b 0 +@rem ################################ :cli_help -echo A configuration script for Windows -echo usage: configure [options] [path/to/config/directory] -echo. -echo The options and arguments are: -echo --clean : this is exclusive of anything else and cleans the environment -echo from built and installed files -echo. -echo --python path/to/python.exe : this is set to the path of an alternative -echo Python executable to use. If path/to/python.exe is set to "path", -echo then the executable will be the python.exe available in the PATH. -echo. - - -:activate -@rem Activate the virtualenv -if exist "%CFG_ROOT_DIR%tmp\Scripts\activate" ( - "%CFG_ROOT_DIR%tmp\Scripts\activate" + echo An initial configuration script + echo " usage: configure [options]" + echo " " + echo The default is to configure for regular use. Use --dev for development. + echo " " + echo The options are: + echo " --clean: clean built and installed files and exit." + echo " --dev: configure the environment for development." + echo " --help: display this help message and exit." + echo " " + echo By default, the python interpreter version found in the path is used. + echo Alternatively, the PYTHON_EXECUTABLE environment variable can be set to + echo configure another Python executable interpreter to use. If this is not + echo set, a file named PYTHON_EXECUTABLE containing a single line with the + echo path of the Python executable to use will be checked last. + exit /b 0 + + +@rem ################################ +:clean +@rem # Remove cleanable file and directories and files from the root dir. +echo "* Cleaning ..." +for %%F in (%CLEANABLE%) do ( + rmdir /s /q "%CFG_ROOT_DIR%\%%F" >nul 2>&1 + del /f /q "%CFG_ROOT_DIR%\%%F" >nul 2>&1 ) +exit /b 0 diff --git a/deltacode b/deltacode deleted file mode 100755 index 13bf8dc9..00000000 --- a/deltacode +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/bash -# -# Copyright (c) nexB Inc. http://www.nexb.com/ - All rights reserved. -# - -# A minimal shell wrapper to the CLI entry point fo DeltaCode - - -################################################################################### -# from https://raw.githubusercontent.com/mkropat/sh-realpath/58c03982cfd8accbcf0c4426a4adf0f120a8b2bb/realpath.sh -# realpath emulation for portability on *nix -# this allow running scancode from aribtrary locations and from symlinks -# -# Copyright (c) 2014 Michael Kropat -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -realpath() { - canonicalize_path "$(resolve_symlinks "$1")" -} - -resolve_symlinks() { - _resolve_symlinks "$1" -} - -_resolve_symlinks() { - _assert_no_path_cycles "$@" || return - - local dir_context path - path=$(readlink -- "$1") - if [ $? -eq 0 ]; then - dir_context=$(dirname -- "$1") - _resolve_symlinks "$(_prepend_dir_context_if_necessary "$dir_context" "$path")" "$@" - else - printf '%s\n' "$1" - fi -} - -_prepend_dir_context_if_necessary() { - if [ "$1" = . ]; then - printf '%s\n' "$2" - else - _prepend_path_if_relative "$1" "$2" - fi -} - -_prepend_path_if_relative() { - case "$2" in - /* ) printf '%s\n' "$2" ;; - * ) printf '%s\n' "$1/$2" ;; - esac -} - -_assert_no_path_cycles() { - local target path - - target=$1 - shift - - for path in "$@"; do - if [ "$path" = "$target" ]; then - return 1 - fi - done -} - -canonicalize_path() { - if [ -d "$1" ]; then - _canonicalize_dir_path "$1" - else - _canonicalize_file_path "$1" - fi -} - -_canonicalize_dir_path() { - (cd "$1" 2>/dev/null && pwd -P) -} - -_canonicalize_file_path() { - local dir file - dir=$(dirname -- "$1") - file=$(basename -- "$1") - (cd "$dir" 2>/dev/null && printf '%s/%s\n' "$(pwd -P)" "$file") -} - -################################################################################### -# Now run deltacode proper - -DELTACODE_BIN="$( realpath "${BASH_SOURCE[0]}" )" -DELTACODE_ROOT_DIR="$( cd "$( dirname "${DELTACODE_BIN}" )" && pwd )" - -DELTACODE_CONFIGURED_PYTHON="$DELTACODE_ROOT_DIR/tmp/bin/python" -if [ ! -f "$DELTACODE_CONFIGURED_PYTHON" ]; then - echo "* Configuring DeltaCode for first use..." - CONFIGURE_QUIET=1 "$DELTACODE_ROOT_DIR/configure" etc/conf -fi - -"$DELTACODE_ROOT_DIR/tmp/bin/deltacode" "$@" diff --git a/deltacode.bat b/deltacode.bat deleted file mode 100644 index 5856ca99..00000000 --- a/deltacode.bat +++ /dev/null @@ -1,34 +0,0 @@ -@echo OFF -@rem Copyright (c) nexB Inc. http://www.nexb.com/ - All rights reserved. - -@rem A minimal shell wrapper to the CLI entry point - -set DELTACODE_ROOT_DIR=%~dp0 -@rem Use a trailing space in the next line to set the variable to an empty string -set DELTACODE_CMD_LINE_ARGS= -set DELTACODE_CONFIGURED_PYTHON=%DELTACODE_ROOT_DIR%\tmp\bin\python.exe - -@rem Collect all command line arguments in a variable -:collectarg -if ""%1""=="""" goto continue -call set DELTACODE_CMD_LINE_ARGS=%DELTACODE_CMD_LINE_ARGS% %1 -shift -goto collectarg - -:continue - -if not exist "%DELTACODE_CONFIGURED_PYTHON%" goto configure -goto deltacode - -:configure -echo * Configuring DeltaCode for first use... -set CONFIGURE_QUIET=1 -call "%DELTACODE_ROOT_DIR%\configure" etc/conf -if %errorlevel% neq 0 ( - exit /b %errorlevel% -) - -:deltacode -"%DELTACODE_ROOT_DIR%\tmp\bin\deltacode" %DELTACODE_CMD_LINE_ARGS% - -:EOS diff --git a/docs/source/conf.py b/docs/source/conf.py index b519cddf..3ac85189 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -17,8 +17,8 @@ # -- Project information ----------------------------------------------------- project = 'deltacode' -copyright = 'nexb Inc.' -author = 'nexb Inc.' +copyright = "nexB Inc. and others." +author = "AboutCode.org authors and contributors" # -- General configuration --------------------------------------------------- @@ -27,10 +27,21 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + "sphinx.ext.intersphinx", ] +# This points to aboutcode.readthedocs.io +# In case of "undefined label" ERRORS check docs on intersphinx to troubleshoot +# Link was created at commit - https://github.com/nexB/aboutcode/commit/faea9fcf3248f8f198844fe34d43833224ac4a83 + +intersphinx_mapping = { + "aboutcode": ("https://aboutcode.readthedocs.io/en/latest/", None), + "scancode-workbench": ("https://scancode-workbench.readthedocs.io/en/develop/", None), +} + + # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -43,12 +54,14 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'sphinx_rtd_theme' +html_theme = "sphinx_rtd_theme" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = [] +html_static_path = ["_static"] + +master_doc = "index" html_context = { "display_github": True, @@ -56,8 +69,28 @@ "github_repo": "aboutcode-toolkit", "github_version": "develop", # branch "conf_py_path": "/docs/source/", # path in the checkout to the docs root - } +} + +html_css_files = ["_static/theme_overrides.css"] + + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +html_show_sphinx = True + +# Define CSS and HTML abbreviations used in .rst files. These are examples. +# .. role:: is used to refer to styles defined in _static/theme_overrides.css and is used like this: :red:`text` +rst_prolog = """ +.. |psf| replace:: Python Software Foundation + +.. # define a hard line break for HTML +.. |br| raw:: html + +
+ +.. role:: red + +.. role:: img-title + +.. role:: img-title-para -html_css_files = [ - '_static/theme_overrides.css' - ] \ No newline at end of file +""" diff --git a/docs/source/deltacode/GSOC_2021_report.rst b/docs/source/deltacode/GSOC_2021_report.rst index fa89f780..879ff1db 100644 --- a/docs/source/deltacode/GSOC_2021_report.rst +++ b/docs/source/deltacode/GSOC_2021_report.rst @@ -9,10 +9,11 @@ Project: Virtual Codebase support in DeltaCode Project Overview ---------------- -The goal of this proposal is to refactor DeltaCode to use Scancode-Toolkit’s Virtual Codebase class. -This refactoring will allow DeltaCode to be a library as opposed to only be used as a CLI tool, moreover, -this refactor will allow DeltaCode to determine deltas much more effectively in the form of BFS tree scan -of the two tree structures unlike indexing the entire codebase. +The goal of this proposal is to refactor DeltaCode to use Scancode-Toolkit’s Virtual +Codebase class. This refactoring will allow DeltaCode to be a library as opposed to +only be used as a CLI tool, moreover, this refactor will allow DeltaCode to determine +deltas much more effectively in the form of BFS tree scan of the two tree structures +unlike indexing the entire codebase. Main Objectives of the project @@ -21,13 +22,14 @@ Main Objectives of the project - Migrate to using VirtualCodebase from the latest scancode. - Create DeltaCode documentation on Read The Docs. - Provide the support for fingerprint plugin for Virtual Codebase. -- Provide the Support for enabling Virtual Codebase to scan files having full root paths as their location. +- Provide the Support for enabling Virtual Codebase to scan files having full root paths + as their location. The Project ----------- -- Virtual Codebase Integration with Deltacode -- Removing redundant File and License Objects +- Virtual Codebase Integration with Deltacode +- Removing redundant File and License Objects - Provided options in deltacode scans - Added Docker Script for Dockerizing the Deltacode Application and make it platform-independent. - Add Read the Docs Support to Deltacode. @@ -62,6 +64,8 @@ really like to thank `@pombredanne `_, constant support throughout the journey. From good job claps to nit-picky constructive code-reviews, I enjoyed every bit of this GSoC project. -I had a wonderful time during the GSOC, I learned a lot of things during this time. I really enjoyed this project. -I would really like to thank my mentors `@pombredanne `_, `@majurg `_, and `@TG1999 `_, +I had a wonderful time during the GSOC, I learned a lot of things during this time.I really +enjoyed this project. I would really like to thank my mentors +`@pombredanne `_, +`@majurg `_, and `@TG1999 `_, and all other About code members who constantly supported me throughout this project. diff --git a/docs/source/deltacode/comprehensive_installation.rst b/docs/source/deltacode/comprehensive_installation.rst index 3cbadf6e..42c10337 100644 --- a/docs/source/deltacode/comprehensive_installation.rst +++ b/docs/source/deltacode/comprehensive_installation.rst @@ -1,14 +1,14 @@ Comprehensive Installation ========================== -DeltaCode requires Python 3.6+ and is tested on Linux, Mac, and Windows. Make sure Python 3.6 (or above) is -installed first. +DeltaCode requires Python 3.8+ and is tested on Linux, Mac, and Windows. Make sure +Python 3.8 (or above) is installed first. System Requirements ------------------- -- Hardware : DeltaCode will run best with a modern X86 processor and at least 1GB of RAM and 250MB - of disk. +- Hardware : DeltaCode will run best with a modern X86 processor and at least 1GB of RAM and + 250MB of disk. - Supported operating systems : DeltaCode should run on these OSes: @@ -20,12 +20,12 @@ System Requirements Prerequisites ------------- -DeltaCode needs a Python 3.6(or above) interpreter. +DeltaCode needs a Python 3.8(or above) interpreter. - **On Linux**: - Use your package manager to install atleast ``python3.6``. If Python 3.6 is not available from your - package manager, you must compile it from sources. + Use your package manager to install atleast ``python3.8``. If Python 3.8 is not available + from your package manager, you must compile it from sources. For instance, visit https://github.com/dejacode/about-code-tool/wiki/BuildingPython27OnCentos6 for instructions to compile Python from sources on Centos. @@ -122,13 +122,15 @@ Un-installation Using the docker image for testing Deltacode ---------------- +-------------------------------------------- - In the project root directory run `docker-compose up`. - This will create an image of deltacode with the name `delta_code`. - To verify the image created run `docker image ls`. -- To run the image run `docker run -itd --name delta_code `. -- The above command runs the image in the background and creates a container with the name as per specified. +- To run the image run `docker run -itd --name delta_code`. +- The above command runs the image in the background and creates a container with the name + as per specified. - To execute the container in a bash mode run `docker exec -it bash`. - The above command will open a bash shell in the container. -- To run the commands / pytest inside the shell you can use the commands as specified in the documentations. +- To run the commands / pytest inside the shell you can use the commands as specified + in the documentations. diff --git a/docs/source/index.rst b/docs/source/index.rst index ff9f1c07..6fb32f5a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,8 +1,11 @@ Welcome to deltacode's documentation! -========================================= +===================================== + +Welcome to ScanCode Toolkit Documentation! .. toctree:: :maxdepth: 1 + :caption: Contents: deltacode/index @@ -12,4 +15,12 @@ Indices and tables * :ref:`genindex` * :ref:`modindex` * :ref:`search` -======= + + +Contribute To ScanCode +---------------------- + +.. toctree:: + :maxdepth: 2 + + contribute/index diff --git a/etc/ci/azure-container-deb.yml b/etc/ci/azure-container-deb.yml new file mode 100644 index 00000000..85b611d3 --- /dev/null +++ b/etc/ci/azure-container-deb.yml @@ -0,0 +1,50 @@ +parameters: + job_name: '' + container: '' + python_path: '' + python_version: '' + package_manager: apt-get + install_python: '' + install_packages: | + set -e -x + sudo apt-get -y update + sudo apt-get -y install \ + build-essential \ + xz-utils zlib1g bzip2 libbz2-1.0 tar \ + sqlite3 libxml2-dev libxslt1-dev \ + software-properties-common openssl + test_suite: '' + test_suite_label: '' + + +jobs: + - job: ${{ parameters.job_name }} + + pool: + vmImage: 'ubuntu-16.04' + + container: + image: ${{ parameters.container }} + options: '--name ${{ parameters.job_name }} -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 -v /usr/bin/docker:/tmp/docker:ro' + + steps: + - checkout: self + fetchDepth: 10 + + - script: /tmp/docker exec -t -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 -u 0 ${{ parameters.job_name }} $(Build.SourcesDirectory)/etc/ci/install_sudo.sh ${{ parameters.package_manager }} + displayName: Install sudo + + - script: ${{ parameters.install_packages }} + displayName: Install required packages + + - script: ${{ parameters.install_python }} + displayName: 'Install Python ${{ parameters.python_version }}' + + - script: ${{ parameters.python_path }} --version + displayName: 'Show Python version' + + - script: PYTHON_EXE=${{ parameters.python_path }} ./configure --dev + displayName: 'Run Configure' + + - script: ${{ parameters.test_suite }} + displayName: 'Run ${{ parameters.test_suite_label }} tests with py${{ parameters.python_version }} on ${{ parameters.job_name }}' diff --git a/etc/ci/azure-container-rpm.yml b/etc/ci/azure-container-rpm.yml new file mode 100644 index 00000000..1e6657d0 --- /dev/null +++ b/etc/ci/azure-container-rpm.yml @@ -0,0 +1,51 @@ +parameters: + job_name: '' + image_name: 'ubuntu-16.04' + container: '' + python_path: '' + python_version: '' + package_manager: yum + install_python: '' + install_packages: | + set -e -x + sudo yum groupinstall -y "Development Tools" + sudo yum install -y \ + openssl openssl-devel \ + sqlite-devel zlib-devel xz-devel bzip2-devel \ + bzip2 tar unzip zip \ + libxml2-devel libxslt-devel + test_suite: '' + test_suite_label: '' + + +jobs: + - job: ${{ parameters.job_name }} + + pool: + vmImage: ${{ parameters.image_name }} + + container: + image: ${{ parameters.container }} + options: '--name ${{ parameters.job_name }} -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 -v /usr/bin/docker:/tmp/docker:ro' + + steps: + - checkout: self + fetchDepth: 10 + + - script: /tmp/docker exec -t -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 -u 0 ${{ parameters.job_name }} $(Build.SourcesDirectory)/etc/ci/install_sudo.sh ${{ parameters.package_manager }} + displayName: Install sudo + + - script: ${{ parameters.install_packages }} + displayName: Install required packages + + - script: ${{ parameters.install_python }} + displayName: 'Install Python ${{ parameters.python_version }}' + + - script: ${{ parameters.python_path }} --version + displayName: 'Show Python version' + + - script: PYTHON_EXE=${{ parameters.python_path }} ./configure --dev + displayName: 'Run Configure' + + - script: ${{ parameters.test_suite }} + displayName: 'Run ${{ parameters.test_suite_label }} tests with py${{ parameters.python_version }} on ${{ parameters.job_name }}' diff --git a/etc/ci/azure-linux.yml b/etc/ci/azure-linux.yml deleted file mode 100644 index 752ae2e6..00000000 --- a/etc/ci/azure-linux.yml +++ /dev/null @@ -1,36 +0,0 @@ -parameters: - job_name: '' - image_name: '' - python_versions: [] - test_suites: {} - python_architecture: x64 - -jobs: - - job: ${{ parameters.job_name }} - - pool: - vmImage: ${{ parameters.image_name }} - - strategy: - matrix: - ${{ each pyver in parameters.python_versions }}: - ${{ each tsuite in parameters.test_suites }}: - ${{ format('py{0} {1}', pyver, tsuite.key) }}: - python_version: ${{ pyver }} - test_suite_label: ${{ tsuite.key }} - test_suite: ${{ tsuite.value }} - steps: - - checkout: self - fetchDepth: 10 - - - task: UsePythonVersion@0 - inputs: - versionSpec: '$(python_version)' - architecture: '${{ parameters.python_architecture }}' - displayName: 'Install Python $(python_version)' - - - script: ./configure - displayName: 'Run Configure' - - - script: $(test_suite) - displayName: 'Run $(test_suite_label) tests with py$(python_version) on ${{ parameters.job_name }}' diff --git a/etc/ci/azure-mac.yml b/etc/ci/azure-mac.yml deleted file mode 100644 index 752ae2e6..00000000 --- a/etc/ci/azure-mac.yml +++ /dev/null @@ -1,36 +0,0 @@ -parameters: - job_name: '' - image_name: '' - python_versions: [] - test_suites: {} - python_architecture: x64 - -jobs: - - job: ${{ parameters.job_name }} - - pool: - vmImage: ${{ parameters.image_name }} - - strategy: - matrix: - ${{ each pyver in parameters.python_versions }}: - ${{ each tsuite in parameters.test_suites }}: - ${{ format('py{0} {1}', pyver, tsuite.key) }}: - python_version: ${{ pyver }} - test_suite_label: ${{ tsuite.key }} - test_suite: ${{ tsuite.value }} - steps: - - checkout: self - fetchDepth: 10 - - - task: UsePythonVersion@0 - inputs: - versionSpec: '$(python_version)' - architecture: '${{ parameters.python_architecture }}' - displayName: 'Install Python $(python_version)' - - - script: ./configure - displayName: 'Run Configure' - - - script: $(test_suite) - displayName: 'Run $(test_suite_label) tests with py$(python_version) on ${{ parameters.job_name }}' diff --git a/etc/ci/azure-posix.yml b/etc/ci/azure-posix.yml new file mode 100644 index 00000000..9fdc7f15 --- /dev/null +++ b/etc/ci/azure-posix.yml @@ -0,0 +1,39 @@ +parameters: + job_name: '' + image_name: '' + python_versions: [] + test_suites: {} + python_architecture: x64 + +jobs: + - job: ${{ parameters.job_name }} + + pool: + vmImage: ${{ parameters.image_name }} + + strategy: + matrix: + ${{ each tsuite in parameters.test_suites }}: + ${{ tsuite.key }}: + test_suite_label: ${{ tsuite.key }} + test_suite: ${{ tsuite.value }} + + steps: + - checkout: self + fetchDepth: 10 + + - ${{ each pyver in parameters.python_versions }}: + - task: UsePythonVersion@0 + inputs: + versionSpec: '${{ pyver }}' + architecture: '${{ parameters.python_architecture }}' + displayName: '${{ pyver }} - Install Python' + + - script: | + python${{ pyver }} --version + echo "python${{ pyver }}" > PYTHON_EXECUTABLE + ./configure --clean && ./configure --dev + displayName: '${{ pyver }} - Configure' + + - script: $(test_suite) + displayName: '${{ pyver }} - $(test_suite_label) on ${{ parameters.job_name }}' diff --git a/etc/ci/azure-win.yml b/etc/ci/azure-win.yml index afe1686f..26b41116 100644 --- a/etc/ci/azure-win.yml +++ b/etc/ci/azure-win.yml @@ -13,24 +13,27 @@ jobs: strategy: matrix: - ${{ each pyver in parameters.python_versions }}: ${{ each tsuite in parameters.test_suites }}: - ${{ format('py{0} {1}', pyver, tsuite.key) }}: - python_version: ${{ pyver }} + ${{ tsuite.key }}: test_suite_label: ${{ tsuite.key }} test_suite: ${{ tsuite.value }} + steps: - checkout: self fetchDepth: 10 - - task: UsePythonVersion@0 - inputs: - versionSpec: '$(python_version)' - architecture: '${{ parameters.python_architecture }}' - displayName: 'Install Python $(python_version)' + - ${{ each pyver in parameters.python_versions }}: + - task: UsePythonVersion@0 + inputs: + versionSpec: '${{ pyver }}' + architecture: '${{ parameters.python_architecture }}' + displayName: '${{ pyver }} - Install Python' - - script: configure --python path - displayName: 'Run Configure' + - script: | + python --version + echo | set /p=python> PYTHON_EXECUTABLE + configure --clean && configure --dev + displayName: '${{ pyver }} - Configure' - - script: $(test_suite) - displayName: 'Run $(test_suite_label) tests with py$(python_version) on ${{ parameters.job_name }}' + - script: $(test_suite) + displayName: '${{ pyver }} - $(test_suite_label) on ${{ parameters.job_name }}' diff --git a/etc/ci/install_sudo.sh b/etc/ci/install_sudo.sh new file mode 100644 index 00000000..77f4210d --- /dev/null +++ b/etc/ci/install_sudo.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -e + + +if [[ "$1" == "apt-get" ]]; then + apt-get update -y + apt-get -o DPkg::Options::="--force-confold" install -y sudo + +elif [[ "$1" == "yum" ]]; then + yum install -y sudo + +elif [[ "$1" == "dnf" ]]; then + dnf install -y sudo + +fi diff --git a/etc/ci/macports-ci b/etc/ci/macports-ci new file mode 100644 index 00000000..ac474e4e --- /dev/null +++ b/etc/ci/macports-ci @@ -0,0 +1,304 @@ +#! /bin/bash + +# Copyright (c) 2019 Giovanni Bussi + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +export COLUMNS=80 + +if [ "$GITHUB_ACTIONS" = true ] ; then + echo "COLUMNS=$COLUMNS" >> "$GITHUB_ENV" +fi + +# file to be source at the end of subshell: +export MACPORTS_CI_SOURCEME="$(mktemp)" + +( +# start subshell +# this allows to use the script in two ways: +# 1. as ./macports-ci +# 2. as source ./macports-ci +# as of now, choice 2 only changes the env var COLUMNS. + +MACPORTS_VERSION=2.6.4 +MACPORTS_PREFIX=/opt/local +MACPORTS_SYNC=tarball + +action=$1 +shift + +case "$action" in +(install) + +echo "macports-ci: install" + +KEEP_BREW=yes + +for opt +do + case "$opt" in + (--source) SOURCE=yes ;; + (--binary) SOURCE=no ;; + (--keep-brew) KEEP_BREW=yes ;; + (--remove-brew) KEEP_BREW=no ;; + (--version=*) MACPORTS_VERSION="${opt#--version=}" ;; + (--prefix=*) MACPORTS_PREFIX="${opt#--prefix=}" ;; + (--sync=*) MACPORTS_SYNC="${opt#--sync=}" ;; + (*) echo "macports-ci: unknown option $opt" + exit 1 ;; + esac +done + +if test "$KEEP_BREW" = no ; then + echo "macports-ci: removing homebrew" + pushd "$(mktemp -d)" + curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall > uninstall + chmod +x uninstall + ./uninstall --force + popd +else + echo "macports-ci: keeping HomeBrew" +fi + +echo "macports-ci: prefix=$MACPORTS_PREFIX" + +if test "$MACPORTS_PREFIX" != /opt/local ; then + echo "macports-ci: Installing on non standard prefix $MACPORTS_PREFIX can be only made from sources" + SOURCE=yes +fi + +if test "$SOURCE" = yes ; then + echo "macports-ci: Installing from source" +else + echo "macports-ci: Installing from binary" +fi + +echo "macports-ci: Sync mode=$MACPORTS_SYNC" + +pushd "$(mktemp -d)" + +OSX_VERSION="$(sw_vers -productVersion | grep -o '^[0-9][0-9]*\.[0-9][0-9]*')" + +if test "$OSX_VERSION" == 10.10 ; then + OSX_NAME=Yosemite +elif test "$OSX_VERSION" == 10.11 ; then + OSX_NAME=ElCapitan +elif test "$OSX_VERSION" == 10.12 ; then + OSX_NAME=Sierra +elif test "$OSX_VERSION" == 10.13 ; then + OSX_NAME=HighSierra +elif test "$OSX_VERSION" == 10.14 ; then + OSX_NAME=Mojave +elif test "$OSX_VERSION" == 10.15 ; then + OSX_NAME=Catalina +else + echo "macports-ci: Unknown OSX version $OSX_VERSION" + exit 1 +fi + +echo "macports-ci: OSX version $OSX_VERSION $OSX_NAME" + +MACPORTS_PKG=MacPorts-${MACPORTS_VERSION}-${OSX_VERSION}-${OSX_NAME}.pkg + +# this is a workaround needed because binary installer MacPorts-2.6.3-10.12-Sierra.pkg is broken +if [ "$SOURCE" != yes ] && [ "$MACPORTS_PKG" = "MacPorts-2.6.3-10.12-Sierra.pkg" ] ; then + echo "macports-ci: WARNING $MACPORTS_PKG installer is broken" + echo "macports-ci: reverting to 2.6.2 installer followed by selfupdate" + MACPORTS_VERSION=2.6.2 + MACPORTS_PKG=MacPorts-${MACPORTS_VERSION}-${OSX_VERSION}-${OSX_NAME}.pkg +fi + +URL="https://distfiles.macports.org/MacPorts" +URL="https://github.com/macports/macports-base/releases/download/v$MACPORTS_VERSION/" + +echo "macports-ci: Base URL is $URL" + +if test "$SOURCE" = yes ; then +# download source: + curl -LO $URL/MacPorts-${MACPORTS_VERSION}.tar.bz2 + tar xjf MacPorts-${MACPORTS_VERSION}.tar.bz2 + cd MacPorts-${MACPORTS_VERSION} +# install + ./configure --prefix="$MACPORTS_PREFIX" --with-applications-dir="$MACPORTS_PREFIX/Applications" >/dev/null && + sudo make install >/dev/null +else + +# download installer: + curl -LO $URL/$MACPORTS_PKG +# install: + sudo installer -verbose -pkg $MACPORTS_PKG -target / +fi + +# update: +export PATH="$MACPORTS_PREFIX/bin:$PATH" + +echo "PATH=\"$MACPORTS_PREFIX/bin:\$PATH\"" > "$MACPORTS_CI_SOURCEME" + +if [ "$GITHUB_ACTIONS" = true ] ; then + echo "$MACPORTS_PREFIX/bin" >> "$GITHUB_PATH" +fi + + +SOURCES="${MACPORTS_PREFIX}"/etc/macports/sources.conf + +case "$MACPORTS_SYNC" in +(rsync) + echo "macports-ci: Using rsync" + ;; +(github) + echo "macports-ci: Using github" + pushd "$MACPORTS_PREFIX"/var/macports/sources + sudo mkdir -p github.com/macports/macports-ports/ + sudo chown -R $USER:admin github.com + git clone https://github.com/macports/macports-ports.git github.com/macports/macports-ports/ + awk '{if($NF=="[default]") print "file:///opt/local/var/macports/sources/github.com/macports/macports-ports/"; else print}' "$SOURCES" > $HOME/$$.tmp + sudo mv -f $HOME/$$.tmp "$SOURCES" + popd + ;; +(tarball) + echo "macports-ci: Using tarball" + awk '{if($NF=="[default]") print "https://distfiles.macports.org/ports.tar.gz [default]"; else print}' "$SOURCES" > $$.tmp + sudo mv -f $$.tmp "$SOURCES" + ;; +(*) + echo "macports-ci: Unknown sync mode $MACPORTS_SYNC" + ;; +esac + +i=1 +# run through a while to retry upon failure +while true +do + echo "macports-ci: Trying to selfupdate (iteration $i)" +# here I test for the presence of a known portfile +# this check confirms that ports were installed +# notice that port -N selfupdate && break is not sufficient as a test +# (sometime it returns a success even though ports have not been installed) +# for some misterious reasons, running without "-d" does not work in some case + sudo port -d -N selfupdate 2>&1 | grep -v DEBUG | awk '{if($1!="x")print}' + port info xdrfile > /dev/null && break || true + sleep 5 + i=$((i+1)) + if ((i>20)) ; then + echo "macports-ci: Failed after $i iterations" + exit 1 + fi +done + +echo "macports-ci: Selfupdate successful after $i iterations" + +dir="$PWD" +popd +sudo rm -fr $dir + +;; + +(localports) + +echo "macports-ci: localports" + +for opt +do + case "$opt" in + (*) ports="$opt" ;; + esac +done + +if ! test -d "$ports" ; then + echo "macports-ci: Please provide a port directory" + exit 1 +fi + +w=$(which port) + +MACPORTS_PREFIX="${w%/bin/port}" + +cd "$ports" + +ports="$(pwd)" + +echo "macports-ci: Portdir fullpath: $ports" +SOURCES="${MACPORTS_PREFIX}"/etc/macports/sources.conf + +awk -v repo="file://$ports" '{if($NF=="[default]") print repo; print}' "$SOURCES" > $$.tmp +sudo mv -f $$.tmp "$SOURCES" + +portindex + +;; + +(ccache) +w=$(which port) +MACPORTS_PREFIX="${w%/bin/port}" + +echo "macports-ci: ccache" + +ccache_do=install + +for opt +do + case "$opt" in + (--save) ccache_do=save ;; + (--install) ccache_do=install ;; + (*) echo "macports-ci: ccache: unknown option $opt" + exit 1 ;; + esac +done + + +case "$ccache_do" in +(install) +# first install ccache +sudo port -N install ccache +# then tell macports to use it +CONF="${MACPORTS_PREFIX}"/etc/macports/macports.conf +awk '{if(match($0,"configureccache")) print "configureccache yes" ; else print }' "$CONF" > $$.tmp +sudo mv -f $$.tmp "$CONF" + +# notice that cache size is set to 512Mb, same as it is set by Travis-CI on linux +# might be changed in the future +test -f "$HOME"/.macports-ci-ccache/ccache.conf && + sudo rm -fr "$MACPORTS_PREFIX"/var/macports/build/.ccache && + sudo mkdir -p "$MACPORTS_PREFIX"/var/macports/build/.ccache && + sudo cp -a "$HOME"/.macports-ci-ccache/* "$MACPORTS_PREFIX"/var/macports/build/.ccache/ && + sudo echo "max_size = 512M" > "$MACPORTS_PREFIX"/var/macports/build/.ccache/ccache.conf && + sudo chown -R macports:admin "$MACPORTS_PREFIX"/var/macports/build/.ccache + +;; +(save) + +sudo rm -fr "$HOME"/.macports-ci-ccache +sudo mkdir -p "$HOME"/.macports-ci-ccache +sudo cp -a "$MACPORTS_PREFIX"/var/macports/build/.ccache/* "$HOME"/.macports-ci-ccache/ + +esac + +CCACHE_DIR="$MACPORTS_PREFIX"/var/macports/build/.ccache/ ccache -s + +;; + +(*) +echo "macports-ci: unknown action $action" + +esac + +) + +# allows setting env var if necessary: +source "$MACPORTS_CI_SOURCEME" diff --git a/etc/ci/macports-ci.ABOUT b/etc/ci/macports-ci.ABOUT new file mode 100644 index 00000000..60a11f8e --- /dev/null +++ b/etc/ci/macports-ci.ABOUT @@ -0,0 +1,16 @@ +about_resource: macports-ci +name: macports-ci +version: c9676e67351a3a519e37437e196cd0ee9c2180b8 +download_url: https://raw.githubusercontent.com/GiovanniBussi/macports-ci/c9676e67351a3a519e37437e196cd0ee9c2180b8/macports-ci +description: Simplify MacPorts setup on Travis-CI +homepage_url: https://github.com/GiovanniBussi/macports-ci +license_expression: mit +copyright: Copyright (c) Giovanni Bussi +attribute: yes +checksum_md5: 5d31d479132502f80acdaed78bed9e23 +checksum_sha1: 74b15643bd1a528d91b4a7c2169c6fc656f549c2 +package_url: pkg:github/giovannibussi/macports-ci@c9676e67351a3a519e37437e196cd0ee9c2180b8#macports-ci +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/mit.LICENSE b/etc/ci/mit.LICENSE similarity index 100% rename from thirdparty/mit.LICENSE rename to etc/ci/mit.LICENSE diff --git a/etc/scripts/README.rst b/etc/scripts/README.rst new file mode 100755 index 00000000..5e54a2cc --- /dev/null +++ b/etc/scripts/README.rst @@ -0,0 +1,112 @@ +This directory contains the tools to manage a directory of thirdparty Python +package source, wheels and metadata pin, build, update, document and publish to +a PyPI-like repo (GitHub release). + +NOTE: These are tested to run ONLY on Linux. + + +Thirdparty packages management scripts +====================================== + +Pre-requisites +-------------- + +* There are two run "modes": + + * To generate or update pip requirement files, you need to start with a clean + virtualenv as instructed below (This is to avoid injecting requirements + specific to the tools used here in the main requirements). + + * For other usages, the tools here can run either in their own isolated + virtualenv or in the the main configured development virtualenv. + These requireements need to be installed:: + + pip install --requirement etc/scripts/requirements.txt + +TODO: we need to pin the versions of these tools + + + +Generate or update pip requirement files +---------------------------------------- + +Scripts +~~~~~~~ + +**gen_requirements.py**: create/update requirements files from currently + installed requirements. + +**gen_requirements_dev.py** does the same but can subtract the main requirements + to get extra requirements used in only development. + + +Usage +~~~~~ + +The sequence of commands to run are: + + +* Start with these to generate the main pip requirements file:: + + ./configure --clean + ./configure + python etc/scripts/gen_requirements.py --site-packages-dir + +* You can optionally install or update extra main requirements after the + ./configure step such that these are included in the generated main requirements. + +* Optionally, generate a development pip requirements file by running these:: + + ./configure --clean + ./configure --dev + python etc/scripts/gen_requirements_dev.py --site-packages-dir + +* You can optionally install or update extra dev requirements after the + ./configure step such that these are included in the generated dev + requirements. + +Notes: we generate development requirements after the main as this step requires +the main requirements.txt to be up-to-date first. See **gen_requirements.py and +gen_requirements_dev.py** --help for details. + +Note: this does NOT hash requirements for now. + +Note: Be aware that if you are using "conditional" requirements (e.g. only for +OS or Python versions) in setup.py/setp.cfg/requirements.txt as these are NOT +yet supported. + + +Populate a thirdparty directory with wheels, sources, .ABOUT and license files +------------------------------------------------------------------------------ + +Scripts +~~~~~~~ + +* **fetch_thirdparty.py** will fetch package wheels, source sdist tarballs + and their ABOUT, LICENSE and NOTICE files to populate a local directory from + a list of PyPI simple URLs (typically PyPI.org proper and our self-hosted PyPI) + using pip requirements file(s), specifiers or pre-existing packages files. + Fetch wheels for specific python version and operating system combinations. + +* **check_thirdparty.py** will check a thirdparty directory for errors. + + +Upgrade virtualenv app +---------------------- + +The bundled virtualenv.pyz has to be upgraded by hand and is stored under +etc/thirdparty + +* Fetch https://github.com/pypa/get-virtualenv/raw//public/virtualenv.pyz + for instance https://github.com/pypa/get-virtualenv/raw/20.2.2/public/virtualenv.pyz + and save to thirdparty and update the ABOUT and LICENSE files as needed. + +* This virtualenv app contains also bundled pip, wheel and setuptools that are + essential for the installation to work. + + +Other files +=========== + +The other files and scripts are test, support and utility modules used by the +main scripts documented here. diff --git a/etc/scripts/check_thirdparty.py b/etc/scripts/check_thirdparty.py new file mode 100644 index 00000000..b052f25b --- /dev/null +++ b/etc/scripts/check_thirdparty.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/skeleton for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# +import click + +import utils_thirdparty + + +@click.command() +@click.option( + "-d", + "--dest", + type=click.Path(exists=True, readable=True, path_type=str, file_okay=False), + required=True, + help="Path to the thirdparty directory to check.", +) +@click.option( + "-w", + "--wheels", + is_flag=True, + help="Check missing wheels.", +) +@click.option( + "-s", + "--sdists", + is_flag=True, + help="Check missing source sdists tarballs.", +) +@click.help_option("-h", "--help") +def check_thirdparty_dir( + dest, + wheels, + sdists, +): + """ + Check a thirdparty directory for problems and print these on screen. + """ + # check for problems + print(f"==> CHECK FOR PROBLEMS") + utils_thirdparty.find_problems( + dest_dir=dest, + report_missing_sources=sdists, + report_missing_wheels=wheels, + ) + + +if __name__ == "__main__": + check_thirdparty_dir() diff --git a/etc/scripts/fetch_thirdparty.py b/etc/scripts/fetch_thirdparty.py new file mode 100644 index 00000000..eedf05c6 --- /dev/null +++ b/etc/scripts/fetch_thirdparty.py @@ -0,0 +1,315 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/skeleton for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# + +import itertools +import os +import sys +from collections import defaultdict + +import click + +import utils_thirdparty +import utils_requirements + +TRACE = False +TRACE_DEEP = False + + +@click.command() +@click.option( + "-r", + "--requirements", + "requirements_files", + type=click.Path(exists=True, readable=True, path_type=str, dir_okay=False), + metavar="REQUIREMENT-FILE", + multiple=True, + required=False, + help="Path to pip requirements file(s) listing thirdparty packages.", +) +@click.option( + "--spec", + "--specifier", + "specifiers", + type=str, + metavar="SPECIFIER", + multiple=True, + required=False, + help="Thirdparty package name==version specification(s) as in django==1.2.3. " + "With --latest-version a plain package name is also acceptable.", +) +@click.option( + "-l", + "--latest-version", + is_flag=True, + help="Get the latest version of all packages, ignoring any specified versions.", +) +@click.option( + "-d", + "--dest", + "dest_dir", + type=click.Path(exists=True, readable=True, path_type=str, file_okay=False), + metavar="DIR", + default=utils_thirdparty.THIRDPARTY_DIR, + show_default=True, + help="Path to the detsination directory where to save downloaded wheels, " + "sources, ABOUT and LICENSE files..", +) +@click.option( + "-w", + "--wheels", + is_flag=True, + help="Download wheels.", +) +@click.option( + "-s", + "--sdists", + is_flag=True, + help="Download source sdists tarballs.", +) +@click.option( + "-p", + "--python-version", + "python_versions", + type=click.Choice(utils_thirdparty.PYTHON_VERSIONS), + metavar="PYVER", + default=utils_thirdparty.PYTHON_VERSIONS, + show_default=True, + multiple=True, + help="Python version(s) to use for wheels.", +) +@click.option( + "-o", + "--operating-system", + "operating_systems", + type=click.Choice(utils_thirdparty.PLATFORMS_BY_OS), + metavar="OS", + default=tuple(utils_thirdparty.PLATFORMS_BY_OS), + multiple=True, + show_default=True, + help="OS(ses) to use for wheels: one of linux, mac or windows.", +) +@click.option( + "--index-url", + "index_urls", + type=str, + metavar="INDEX", + default=utils_thirdparty.PYPI_INDEX_URLS, + show_default=True, + multiple=True, + help="PyPI index URL(s) to use for wheels and sources, in order of preferences.", +) +@click.option( + "--use-cached-index", + is_flag=True, + help="Use on disk cached PyPI indexes list of packages and versions and do not refetch if present.", +) +@click.option( + "--sdist-only", + "sdist_only", + type=str, + metavar="SDIST", + default=tuple(), + show_default=False, + multiple=True, + help="Package name(s) that come only in sdist format (no wheels). " + "The command will not fail and exit if no wheel exists for these names", +) +@click.option( + "--wheel-only", + "wheel_only", + type=str, + metavar="WHEEL", + default=tuple(), + show_default=False, + multiple=True, + help="Package name(s) that come only in wheel format (no sdist). " + "The command will not fail and exit if no sdist exists for these names", +) +@click.option( + "--no-dist", + "no_dist", + type=str, + metavar="DIST", + default=tuple(), + show_default=False, + multiple=True, + help="Package name(s) that do not come either in wheel or sdist format. " + "The command will not fail and exit if no distribution exists for these names", +) +@click.help_option("-h", "--help") +def fetch_thirdparty( + requirements_files, + specifiers, + latest_version, + dest_dir, + python_versions, + operating_systems, + wheels, + sdists, + index_urls, + use_cached_index, + sdist_only, + wheel_only, + no_dist, +): + """ + Download to --dest THIRDPARTY_DIR the PyPI wheels, source distributions, + and their ABOUT metadata, license and notices files. + + Download the PyPI packages listed in the combination of: + - the pip requirements --requirements REQUIREMENT-FILE(s), + - the pip name==version --specifier SPECIFIER(s) + - any pre-existing wheels or sdsists found in --dest-dir THIRDPARTY_DIR. + + Download wheels with the --wheels option for the ``--python-version`` + PYVER(s) and ``--operating_system`` OS(s) combinations defaulting to all + supported combinations. + + Download sdists tarballs with the --sdists option. + + Generate or Download .ABOUT, .LICENSE and .NOTICE files for all the wheels + and sources fetched. + + Download from the provided PyPI simple --index-url INDEX(s) URLs. + """ + if not (wheels or sdists): + print("Error: one or both of --wheels and --sdists is required.") + sys.exit(1) + + print(f"COLLECTING REQUIRED NAMES & VERSIONS FROM {dest_dir}") + + existing_packages_by_nv = { + (package.name, package.version): package + for package in utils_thirdparty.get_local_packages(directory=dest_dir) + } + + required_name_versions = set(existing_packages_by_nv.keys()) + + for req_file in requirements_files: + nvs = utils_requirements.load_requirements( + requirements_file=req_file, + with_unpinned=latest_version, + ) + required_name_versions.update(nvs) + + for specifier in specifiers: + nv = utils_requirements.get_required_name_version( + requirement=specifier, + with_unpinned=latest_version, + ) + required_name_versions.add(nv) + + if latest_version: + names = set(name for name, _version in sorted(required_name_versions)) + required_name_versions = {(n, None) for n in names} + + if not required_name_versions: + print("Error: no requirements requested.") + sys.exit(1) + + if TRACE_DEEP: + print("required_name_versions:") + for n, v in required_name_versions: + print(f" {n} @ {v}") + + # create the environments matrix we need for wheels + environments = None + if wheels: + evts = itertools.product(python_versions, operating_systems) + environments = [utils_thirdparty.Environment.from_pyver_and_os(pyv, os) for pyv, os in evts] + + # Collect PyPI repos + repos = [] + for index_url in index_urls: + index_url = index_url.strip("/") + existing = utils_thirdparty.DEFAULT_PYPI_REPOS_BY_URL.get(index_url) + if existing: + existing.use_cached_index = use_cached_index + repos.append(existing) + else: + repo = utils_thirdparty.PypiSimpleRepository( + index_url=index_url, + use_cached_index=use_cached_index, + ) + repos.append(repo) + + wheels_or_sdist_not_found = defaultdict(list) + + for name, version in sorted(required_name_versions): + nv = name, version + print(f"Processing: {name} @ {version}") + if wheels: + for environment in environments: + + if TRACE: + print(f" ==> Fetching wheel for envt: {environment}") + + fetched = utils_thirdparty.download_wheel( + name=name, + version=version, + environment=environment, + dest_dir=dest_dir, + repos=repos, + ) + if not fetched: + wheels_or_sdist_not_found[f"{name}=={version}"].append(environment) + if TRACE: + print(f" NOT FOUND") + + if (sdists or + (f"{name}=={version}" in wheels_or_sdist_not_found and name in sdist_only) + ): + if TRACE: + print(f" ==> Fetching sdist: {name}=={version}") + + fetched = utils_thirdparty.download_sdist( + name=name, + version=version, + dest_dir=dest_dir, + repos=repos, + ) + if not fetched: + wheels_or_sdist_not_found[f"{name}=={version}"].append("sdist") + if TRACE: + print(f" NOT FOUND") + + mia = [] + for nv, dists in wheels_or_sdist_not_found.items(): + name, _, version = nv.partition("==") + if name in no_dist: + continue + sdist_missing = sdists and "sdist" in dists and not name in wheel_only + if sdist_missing: + mia.append(f"SDist missing: {nv} {dists}") + wheels_missing = wheels and any(d for d in dists if d != "sdist") and not name in sdist_only + if wheels_missing: + mia.append(f"Wheels missing: {nv} {dists}") + + if mia: + for m in mia: + print(m) + raise Exception(mia) + + print(f"==> FETCHING OR CREATING ABOUT AND LICENSE FILES") + utils_thirdparty.fetch_abouts_and_licenses(dest_dir=dest_dir, use_cached_index=use_cached_index) + utils_thirdparty.clean_about_files(dest_dir=dest_dir) + + # check for problems + print(f"==> CHECK FOR PROBLEMS") + utils_thirdparty.find_problems( + dest_dir=dest_dir, + report_missing_sources=sdists, + report_missing_wheels=wheels, + ) + + +if __name__ == "__main__": + fetch_thirdparty() diff --git a/etc/scripts/gen_pypi_simple.py b/etc/scripts/gen_pypi_simple.py new file mode 100644 index 00000000..214d90dc --- /dev/null +++ b/etc/scripts/gen_pypi_simple.py @@ -0,0 +1,315 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# SPDX-License-Identifier: BSD-2-Clause-Views AND MIT +# Copyright (c) 2010 David Wolever . All rights reserved. +# originally from https://github.com/wolever/pip2pi + +import hashlib +import os +import re +import shutil +from collections import defaultdict +from html import escape +from pathlib import Path +from typing import NamedTuple + +""" +Generate a PyPI simple index froma directory. +""" + + +class InvalidDistributionFilename(Exception): + pass + + +def get_package_name_from_filename(filename): + """ + Return the normalized package name extracted from a package ``filename``. + Normalization is done according to distribution name rules. + Raise an ``InvalidDistributionFilename`` if the ``filename`` is invalid:: + + >>> get_package_name_from_filename("foo-1.2.3_rc1.tar.gz") + 'foo' + >>> get_package_name_from_filename("foo_bar-1.2-py27-none-any.whl") + 'foo-bar' + >>> get_package_name_from_filename("Cython-0.17.2-cp26-none-linux_x86_64.whl") + 'cython' + >>> get_package_name_from_filename("python_ldap-2.4.19-cp27-none-macosx_10_10_x86_64.whl") + 'python-ldap' + >>> try: + ... get_package_name_from_filename("foo.whl") + ... except InvalidDistributionFilename: + ... pass + >>> try: + ... get_package_name_from_filename("foo.png") + ... except InvalidDistributionFilename: + ... pass + """ + if not filename or not filename.endswith(dist_exts): + raise InvalidDistributionFilename(filename) + + filename = os.path.basename(filename) + + if filename.endswith(sdist_exts): + name_ver = None + extension = None + + for ext in sdist_exts: + if filename.endswith(ext): + name_ver, extension, _ = filename.rpartition(ext) + break + + if not extension or not name_ver: + raise InvalidDistributionFilename(filename) + + name, _, version = name_ver.rpartition("-") + + if not (name and version): + raise InvalidDistributionFilename(filename) + + elif filename.endswith(wheel_ext): + + wheel_info = get_wheel_from_filename(filename) + + if not wheel_info: + raise InvalidDistributionFilename(filename) + + name = wheel_info.group("name") + version = wheel_info.group("version") + + if not (name and version): + raise InvalidDistributionFilename(filename) + + elif filename.endswith(app_ext): + name_ver, extension, _ = filename.rpartition(".pyz") + + if "-" in filename: + name, _, version = name_ver.rpartition("-") + else: + name = name_ver + + if not name: + raise InvalidDistributionFilename(filename) + + name = normalize_name(name) + return name + + +def normalize_name(name): + """ + Return a normalized package name per PEP503, and copied from + https://www.python.org/dev/peps/pep-0503/#id4 + """ + return name and re.sub(r"[-_.]+", "-", name).lower() or name + + +def build_per_package_index(pkg_name, packages, base_url): + """ + Return an HTML document as string representing the index for a package + """ + document = [] + header = f""" + + + + Links for {pkg_name} + + """ + document.append(header) + + for package in sorted(packages, key=lambda p: p.archive_file): + document.append(package.simple_index_entry(base_url)) + + footer = """ + +""" + document.append(footer) + return "\n".join(document) + + +def build_links_package_index(packages_by_package_name, base_url): + """ + Return an HTML document as string which is a links index of all packages + """ + document = [] + header = f""" + + + Links for all packages + + """ + document.append(header) + + for _name, packages in sorted(packages_by_package_name.items(), key=lambda i: i[0]): + for package in sorted(packages, key=lambda p: p.archive_file): + document.append(package.simple_index_entry(base_url)) + + footer = """ + +""" + document.append(footer) + return "\n".join(document) + + +class Package(NamedTuple): + name: str + index_dir: Path + archive_file: Path + checksum: str + + @classmethod + def from_file(cls, name, index_dir, archive_file): + with open(archive_file, "rb") as f: + checksum = hashlib.sha256(f.read()).hexdigest() + return cls( + name=name, + index_dir=index_dir, + archive_file=archive_file, + checksum=checksum, + ) + + def simple_index_entry(self, base_url): + return ( + f' ' + f"{self.archive_file.name}
" + ) + + +def build_pypi_index(directory, base_url="https://thirdparty.aboutcode.org/pypi"): + """ + Using a ``directory`` directory of wheels and sdists, create the a PyPI + simple directory index at ``directory``/simple/ populated with the proper + PyPI simple index directory structure crafted using symlinks. + + WARNING: The ``directory``/simple/ directory is removed if it exists. + NOTE: in addition to the a PyPI simple index.html there is also a links.html + index file generated which is suitable to use with pip's --find-links + """ + + directory = Path(directory) + + index_dir = directory / "simple" + if index_dir.exists(): + shutil.rmtree(str(index_dir), ignore_errors=True) + + index_dir.mkdir(parents=True) + packages_by_package_name = defaultdict(list) + + # generate the main simple index.html + simple_html_index = [ + "", + "PyPI Simple Index", + '' '', + ] + + for pkg_file in directory.iterdir(): + + pkg_filename = pkg_file.name + + if ( + not pkg_file.is_file() + or not pkg_filename.endswith(dist_exts) + or pkg_filename.startswith(".") + ): + continue + + pkg_name = get_package_name_from_filename( + filename=pkg_filename, + ) + pkg_index_dir = index_dir / pkg_name + pkg_index_dir.mkdir(parents=True, exist_ok=True) + pkg_indexed_file = pkg_index_dir / pkg_filename + + link_target = Path("../..") / pkg_filename + pkg_indexed_file.symlink_to(link_target) + + if pkg_name not in packages_by_package_name: + esc_name = escape(pkg_name) + simple_html_index.append(f'{esc_name}
') + + packages_by_package_name[pkg_name].append( + Package.from_file( + name=pkg_name, + index_dir=pkg_index_dir, + archive_file=pkg_file, + ) + ) + + # finalize main index + simple_html_index.append("") + index_html = index_dir / "index.html" + index_html.write_text("\n".join(simple_html_index)) + + # also generate the simple index.html of each package, listing all its versions. + for pkg_name, packages in packages_by_package_name.items(): + per_package_index = build_per_package_index( + pkg_name=pkg_name, + packages=packages, + base_url=base_url, + ) + pkg_index_dir = packages[0].index_dir + ppi_html = pkg_index_dir / "index.html" + ppi_html.write_text(per_package_index) + + # also generate the a links.html page with all packages. + package_links = build_links_package_index( + packages_by_package_name=packages_by_package_name, + base_url=base_url, + ) + links_html = index_dir / "links.html" + links_html.write_text(package_links) + + +""" +name: pip-wheel +version: 20.3.1 +download_url: https://github.com/pypa/pip/blob/20.3.1/src/pip/_internal/models/wheel.py +copyright: Copyright (c) 2008-2020 The pip developers (see AUTHORS.txt file) +license_expression: mit +notes: the wheel name regex is copied from pip-20.3.1 pip/_internal/models/wheel.py + +Copyright (c) 2008-2020 The pip developers (see AUTHORS.txt file) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" +get_wheel_from_filename = re.compile( + r"""^(?P(?P.+?)-(?P.*?)) + ((-(?P\d[^-]*?))?-(?P.+?)-(?P.+?)-(?P.+?) + \.whl)$""", + re.VERBOSE, +).match + +sdist_exts = ( + ".tar.gz", + ".tar.bz2", + ".zip", + ".tar.xz", +) + +wheel_ext = ".whl" +app_ext = ".pyz" +dist_exts = sdist_exts + (wheel_ext, app_ext) + +if __name__ == "__main__": + import sys + + pkg_dir = sys.argv[1] + build_pypi_index(pkg_dir) diff --git a/etc/scripts/gen_pypi_simple.py.ABOUT b/etc/scripts/gen_pypi_simple.py.ABOUT new file mode 100644 index 00000000..4de5ded0 --- /dev/null +++ b/etc/scripts/gen_pypi_simple.py.ABOUT @@ -0,0 +1,8 @@ +about_resource: gen_pypi_simple.py +name: gen_pypi_simple.py +license_expression: bsd-2-clause-views and mit +copyright: Copyright (c) nexB Inc. + Copyright (c) 2010 David Wolever + Copyright (c) The pip developers +notes: Originally from https://github.com/wolever/pip2pi and modified extensivley + Also partially derived from pip code diff --git a/etc/scripts/gen_pypi_simple.py.NOTICE b/etc/scripts/gen_pypi_simple.py.NOTICE new file mode 100644 index 00000000..6e0fbbcd --- /dev/null +++ b/etc/scripts/gen_pypi_simple.py.NOTICE @@ -0,0 +1,56 @@ +SPDX-License-Identifier: BSD-2-Clause-Views AND mit + +Copyright (c) nexB Inc. +Copyright (c) 2010 David Wolever +Copyright (c) The pip developers + + +Original code: copyright 2010 David Wolever . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those +of the authors and should not be interpreted as representing official policies, +either expressed or implied, of David Wolever. + + +Original code: Copyright (c) 2008-2020 The pip developers + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/etc/scripts/gen_requirements.py b/etc/scripts/gen_requirements.py new file mode 100644 index 00000000..07e26f77 --- /dev/null +++ b/etc/scripts/gen_requirements.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/skeleton for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# +import argparse +import pathlib + +import utils_requirements + +""" +Utilities to manage requirements files. +NOTE: this should use ONLY the standard library and not import anything else +because this is used for boostrapping with no requirements installed. +""" + + +def gen_requirements(): + description = """ + Create or replace the `--requirements-file` file FILE requirements file with all + locally installed Python packages.all Python packages found installed in `--site-packages-dir` + """ + parser = argparse.ArgumentParser(description=description) + + parser.add_argument( + "-s", + "--site-packages-dir", + dest="site_packages_dir", + type=pathlib.Path, + required=True, + metavar="DIR", + help="Path to the 'site-packages' directory where wheels are installed such as lib/python3.6/site-packages", + ) + parser.add_argument( + "-r", + "--requirements-file", + type=pathlib.Path, + metavar="FILE", + default="requirements.txt", + help="Path to the requirements file to update or create.", + ) + + args = parser.parse_args() + + utils_requirements.lock_requirements( + site_packages_dir=args.site_packages_dir, + requirements_file=args.requirements_file, + ) + + +if __name__ == "__main__": + gen_requirements() diff --git a/etc/scripts/gen_requirements_dev.py b/etc/scripts/gen_requirements_dev.py new file mode 100644 index 00000000..12cc06d3 --- /dev/null +++ b/etc/scripts/gen_requirements_dev.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/skeleton for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# +import argparse +import pathlib + +import utils_requirements + +""" +Utilities to manage requirements files. +NOTE: this should use ONLY the standard library and not import anything else +because this is used for boostrapping with no requirements installed. +""" + + +def gen_dev_requirements(): + description = """ + Create or overwrite the `--dev-requirements-file` pip requirements FILE with + all Python packages found installed in `--site-packages-dir`. Exclude + package names also listed in the --main-requirements-file pip requirements + FILE (that are assume to the production requirements and therefore to always + be present in addition to the development requirements). + """ + parser = argparse.ArgumentParser(description=description) + + parser.add_argument( + "-s", + "--site-packages-dir", + type=pathlib.Path, + required=True, + metavar="DIR", + help='Path to the "site-packages" directory where wheels are installed such as lib/python3.6/site-packages', + ) + parser.add_argument( + "-d", + "--dev-requirements-file", + type=pathlib.Path, + metavar="FILE", + default="requirements-dev.txt", + help="Path to the dev requirements file to update or create.", + ) + parser.add_argument( + "-r", + "--main-requirements-file", + type=pathlib.Path, + default="requirements.txt", + metavar="FILE", + help="Path to the main requirements file. Its requirements will be excluded " + "from the generated dev requirements.", + ) + args = parser.parse_args() + + utils_requirements.lock_dev_requirements( + dev_requirements_file=args.dev_requirements_file, + main_requirements_file=args.main_requirements_file, + site_packages_dir=args.site_packages_dir, + ) + + +if __name__ == "__main__": + gen_dev_requirements() diff --git a/etc/scripts/requirements.txt b/etc/scripts/requirements.txt new file mode 100644 index 00000000..7c514da9 --- /dev/null +++ b/etc/scripts/requirements.txt @@ -0,0 +1,12 @@ +aboutcode_toolkit +attrs +commoncode +click +requests +saneyaml +pip +setuptools +twine +wheel +build +packvers diff --git a/etc/scripts/test_utils_pip_compatibility_tags.py b/etc/scripts/test_utils_pip_compatibility_tags.py new file mode 100644 index 00000000..98187c56 --- /dev/null +++ b/etc/scripts/test_utils_pip_compatibility_tags.py @@ -0,0 +1,130 @@ +"""Generate and work with PEP 425 Compatibility Tags. + +copied from pip-20.3.1 pip/tests/unit/test_utils_compatibility_tags.py +download_url: https://raw.githubusercontent.com/pypa/pip/20.3.1/tests/unit/test_utils_compatibility_tags.py + +Copyright (c) 2008-2020 The pip developers (see AUTHORS.txt file) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +from unittest.mock import patch +import sysconfig + +import pytest + +import utils_pip_compatibility_tags + + +@pytest.mark.parametrize( + "version_info, expected", + [ + ((2,), "2"), + ((2, 8), "28"), + ((3,), "3"), + ((3, 6), "36"), + # Test a tuple of length 3. + ((3, 6, 5), "36"), + # Test a 2-digit minor version. + ((3, 10), "310"), + ], +) +def test_version_info_to_nodot(version_info, expected): + actual = utils_pip_compatibility_tags.version_info_to_nodot(version_info) + assert actual == expected + + +class Testcompatibility_tags(object): + def mock_get_config_var(self, **kwd): + """ + Patch sysconfig.get_config_var for arbitrary keys. + """ + get_config_var = sysconfig.get_config_var + + def _mock_get_config_var(var): + if var in kwd: + return kwd[var] + return get_config_var(var) + + return _mock_get_config_var + + def test_no_hyphen_tag(self): + """ + Test that no tag contains a hyphen. + """ + import pip._internal.utils.compatibility_tags + + mock_gcf = self.mock_get_config_var(SOABI="cpython-35m-darwin") + + with patch("sysconfig.get_config_var", mock_gcf): + supported = pip._internal.utils.compatibility_tags.get_supported() + + for tag in supported: + assert "-" not in tag.interpreter + assert "-" not in tag.abi + assert "-" not in tag.platform + + +class TestManylinux2010Tags(object): + @pytest.mark.parametrize( + "manylinux2010,manylinux1", + [ + ("manylinux2010_x86_64", "manylinux1_x86_64"), + ("manylinux2010_i686", "manylinux1_i686"), + ], + ) + def test_manylinux2010_implies_manylinux1(self, manylinux2010, manylinux1): + """ + Specifying manylinux2010 implies manylinux1. + """ + groups = {} + supported = utils_pip_compatibility_tags.get_supported(platforms=[manylinux2010]) + for tag in supported: + groups.setdefault((tag.interpreter, tag.abi), []).append(tag.platform) + + for arches in groups.values(): + if arches == ["any"]: + continue + assert arches[:2] == [manylinux2010, manylinux1] + + +class TestManylinux2014Tags(object): + @pytest.mark.parametrize( + "manylinuxA,manylinuxB", + [ + ("manylinux2014_x86_64", ["manylinux2010_x86_64", "manylinux1_x86_64"]), + ("manylinux2014_i686", ["manylinux2010_i686", "manylinux1_i686"]), + ], + ) + def test_manylinuxA_implies_manylinuxB(self, manylinuxA, manylinuxB): + """ + Specifying manylinux2014 implies manylinux2010/manylinux1. + """ + groups = {} + supported = utils_pip_compatibility_tags.get_supported(platforms=[manylinuxA]) + for tag in supported: + groups.setdefault((tag.interpreter, tag.abi), []).append(tag.platform) + + expected_arches = [manylinuxA] + expected_arches.extend(manylinuxB) + for arches in groups.values(): + if arches == ["any"]: + continue + assert arches[:3] == expected_arches diff --git a/etc/scripts/test_utils_pip_compatibility_tags.py.ABOUT b/etc/scripts/test_utils_pip_compatibility_tags.py.ABOUT new file mode 100644 index 00000000..07eee35a --- /dev/null +++ b/etc/scripts/test_utils_pip_compatibility_tags.py.ABOUT @@ -0,0 +1,14 @@ +about_resource: test_utils_pip_compatibility_tags.py + +type: github +namespace: pypa +name: pip +version: 20.3.1 +subpath: tests/unit/test_utils_compatibility_tags.py + +package_url: pkg:github/pypa/pip@20.3.1#tests/unit/test_utils_compatibility_tags.py + +download_url: https://raw.githubusercontent.com/pypa/pip/20.3.1/tests/unit/test_utils_compatibility_tags.py +copyright: Copyright (c) 2008-2020 The pip developers (see AUTHORS.txt file) +license_expression: mit +notes: subset copied from pip for tag handling diff --git a/etc/scripts/test_utils_pypi_supported_tags.py b/etc/scripts/test_utils_pypi_supported_tags.py new file mode 100644 index 00000000..d291572d --- /dev/null +++ b/etc/scripts/test_utils_pypi_supported_tags.py @@ -0,0 +1,92 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + +from utils_pypi_supported_tags import validate_platforms_for_pypi + +""" +Wheel platform checking tests + +Copied and modified on 2020-12-24 from +https://github.com/pypa/warehouse/blob/37a83dd342d9e3b3ab4f6bde47ca30e6883e2c4d/tests/unit/forklift/test_legacy.py +""" + + +def validate_wheel_filename_for_pypi(filename): + """ + Validate if the filename is a PyPI/warehouse-uploadable wheel file name + with supported platform tags. Return a list of unsupported platform tags or + an empty list if all tags are supported. + """ + from utils_thirdparty import Wheel + + wheel = Wheel.from_filename(filename) + return validate_platforms_for_pypi(wheel.platforms) + + +@pytest.mark.parametrize( + "plat", + [ + "any", + "win32", + "win_amd64", + "win_ia64", + "manylinux1_i686", + "manylinux1_x86_64", + "manylinux2010_i686", + "manylinux2010_x86_64", + "manylinux2014_i686", + "manylinux2014_x86_64", + "manylinux2014_aarch64", + "manylinux2014_armv7l", + "manylinux2014_ppc64", + "manylinux2014_ppc64le", + "manylinux2014_s390x", + "manylinux_2_5_i686", + "manylinux_2_12_x86_64", + "manylinux_2_17_aarch64", + "manylinux_2_17_armv7l", + "manylinux_2_17_ppc64", + "manylinux_2_17_ppc64le", + "manylinux_3_0_s390x", + "macosx_10_6_intel", + "macosx_10_13_x86_64", + "macosx_11_0_x86_64", + "macosx_10_15_arm64", + "macosx_11_10_universal2", + # A real tag used by e.g. some numpy wheels + ( + "macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64." + "macosx_10_10_intel.macosx_10_10_x86_64" + ), + ], +) +def test_is_valid_pypi_wheel_return_true_for_supported_wheel(plat): + filename = f"foo-1.2.3-cp34-none-{plat}.whl" + assert not validate_wheel_filename_for_pypi(filename) + + +@pytest.mark.parametrize( + "plat", + [ + "linux_x86_64", + "linux_x86_64.win32", + "macosx_9_2_x86_64", + "macosx_12_2_arm64", + "macosx_10_15_amd64", + ], +) +def test_is_valid_pypi_wheel_raise_exception_for_aunsupported_wheel(plat): + filename = f"foo-1.2.3-cp34-none-{plat}.whl" + invalid = validate_wheel_filename_for_pypi(filename) + assert invalid diff --git a/etc/scripts/test_utils_pypi_supported_tags.py.ABOUT b/etc/scripts/test_utils_pypi_supported_tags.py.ABOUT new file mode 100644 index 00000000..176efacc --- /dev/null +++ b/etc/scripts/test_utils_pypi_supported_tags.py.ABOUT @@ -0,0 +1,17 @@ +about_resource: test_utils_pypi_supported_tags.py + +type: github +namespace: pypa +name: warehouse +version: 37a83dd342d9e3b3ab4f6bde47ca30e6883e2c4d +subpath: tests/unit/forklift/test_legacy.py + +package_url: pkg:github/pypa/warehouse@37a83dd342d9e3b3ab4f6bde47ca30e6883e2c4d#tests/unit/forklift/test_legacy.py + +download_url: https://github.com/pypa/warehouse/blob/37a83dd342d9e3b3ab4f6bde47ca30e6883e2c4d/tests/unit/forklift/test_legacy.py +copyright: Copyright (c) The warehouse developers +homepage_url: https://warehouse.readthedocs.io +license_expression: apache-2.0 +notes: Test for wheel platform checking copied and heavily modified on + 2020-12-24 from warehouse. This contains the basic functions to check if a + wheel file name is would be supported for uploading to PyPI. diff --git a/etc/scripts/utils_dejacode.py b/etc/scripts/utils_dejacode.py new file mode 100644 index 00000000..c42e6c93 --- /dev/null +++ b/etc/scripts/utils_dejacode.py @@ -0,0 +1,211 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/skeleton for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# +import io +import os +import zipfile + +import requests +import saneyaml + +from packvers import version as packaging_version + +""" +Utility to create and retrieve package and ABOUT file data from DejaCode. +""" + +DEJACODE_API_KEY = os.environ.get("DEJACODE_API_KEY", "") +DEJACODE_API_URL = os.environ.get("DEJACODE_API_URL", "") + +DEJACODE_API_URL_PACKAGES = f"{DEJACODE_API_URL}packages/" +DEJACODE_API_HEADERS = { + "Authorization": "Token {}".format(DEJACODE_API_KEY), + "Accept": "application/json; indent=4", +} + + +def can_do_api_calls(): + if not DEJACODE_API_KEY and DEJACODE_API_URL: + print("DejaCode DEJACODE_API_KEY and DEJACODE_API_URL not configured. Doing nothing") + return False + else: + return True + + +def fetch_dejacode_packages(params): + """ + Return a list of package data mappings calling the package API with using + `params` or an empty list. + """ + if not can_do_api_calls(): + return [] + + response = requests.get( + DEJACODE_API_URL_PACKAGES, + params=params, + headers=DEJACODE_API_HEADERS, + ) + + return response.json()["results"] + + +def get_package_data(distribution): + """ + Return a mapping of package data or None for a Distribution `distribution`. + """ + results = fetch_dejacode_packages(distribution.identifiers()) + + len_results = len(results) + + if len_results == 1: + return results[0] + + elif len_results > 1: + print(f"More than 1 entry exists, review at: {DEJACODE_API_URL_PACKAGES}") + else: + print("Could not find package:", distribution.download_url) + + +def update_with_dejacode_data(distribution): + """ + Update the Distribution `distribution` with DejaCode package data. Return + True if data was updated. + """ + package_data = get_package_data(distribution) + if package_data: + return distribution.update(package_data, keep_extra=False) + + print(f"No package found for: {distribution}") + + +def update_with_dejacode_about_data(distribution): + """ + Update the Distribution `distribution` wiht ABOUT code data fetched from + DejaCode. Return True if data was updated. + """ + package_data = get_package_data(distribution) + if package_data: + package_api_url = package_data["api_url"] + about_url = f"{package_api_url}about" + response = requests.get(about_url, headers=DEJACODE_API_HEADERS) + # note that this is YAML-formatted + about_text = response.json()["about_data"] + about_data = saneyaml.load(about_text) + + return distribution.update(about_data, keep_extra=True) + + print(f"No package found for: {distribution}") + + +def fetch_and_save_about_files(distribution, dest_dir="thirdparty"): + """ + Fetch and save in `dest_dir` the .ABOUT, .LICENSE and .NOTICE files fetched + from DejaCode for a Distribution `distribution`. Return True if files were + fetched. + """ + package_data = get_package_data(distribution) + if package_data: + package_api_url = package_data["api_url"] + about_url = f"{package_api_url}about_files" + response = requests.get(about_url, headers=DEJACODE_API_HEADERS) + about_zip = response.content + with io.BytesIO(about_zip) as zf: + with zipfile.ZipFile(zf) as zi: + zi.extractall(path=dest_dir) + return True + + print(f"No package found for: {distribution}") + + +def find_latest_dejacode_package(distribution): + """ + Return a mapping of package data for the closest version to + a Distribution `distribution` or None. + Return the newest of the packages if prefer_newest is True. + Filter out version-specific attributes. + """ + ids = distribution.purl_identifiers(skinny=True) + packages = fetch_dejacode_packages(params=ids) + if not packages: + return + + for package_data in packages: + matched = ( + package_data["download_url"] == distribution.download_url + and package_data["version"] == distribution.version + and package_data["filename"] == distribution.filename + ) + + if matched: + return package_data + + # there was no exact match, find the latest version + # TODO: consider the closest version rather than the latest + # or the version that has the best data + with_versions = [(packaging_version.parse(p["version"]), p) for p in packages] + with_versions = sorted(with_versions) + latest_version, latest_package_version = sorted(with_versions)[-1] + print( + f"Found DejaCode latest version: {latest_version} " f"for dist: {distribution.package_url}", + ) + + return latest_package_version + + +def create_dejacode_package(distribution): + """ + Create a new DejaCode Package a Distribution `distribution`. + Return the new or existing package data. + """ + if not can_do_api_calls(): + return + + existing_package_data = get_package_data(distribution) + if existing_package_data: + return existing_package_data + + print(f"Creating new DejaCode package for: {distribution}") + + new_package_payload = { + # Trigger data collection, scan, and purl + "collect_data": 1, + } + + fields_to_carry_over = [ + "download_url" "type", + "namespace", + "name", + "version", + "qualifiers", + "subpath", + "license_expression", + "copyright", + "description", + "homepage_url", + "primary_language", + "notice_text", + ] + + for field in fields_to_carry_over: + value = getattr(distribution, field, None) + if value: + new_package_payload[field] = value + + response = requests.post( + DEJACODE_API_URL_PACKAGES, + data=new_package_payload, + headers=DEJACODE_API_HEADERS, + ) + new_package_data = response.json() + if response.status_code != 201: + raise Exception(f"Error, cannot create package for: {distribution}") + + print(f'New Package created at: {new_package_data["absolute_url"]}') + return new_package_data diff --git a/etc/scripts/utils_pip_compatibility_tags.py b/etc/scripts/utils_pip_compatibility_tags.py new file mode 100644 index 00000000..af42a0cd --- /dev/null +++ b/etc/scripts/utils_pip_compatibility_tags.py @@ -0,0 +1,192 @@ +"""Generate and work with PEP 425 Compatibility Tags. + +copied from pip-20.3.1 pip/_internal/utils/compatibility_tags.py +download_url: https://github.com/pypa/pip/blob/20.3.1/src/pip/_internal/utils/compatibility_tags.py + +Copyright (c) 2008-2020 The pip developers (see AUTHORS.txt file) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +import re + +from packvers.tags import ( + compatible_tags, + cpython_tags, + generic_tags, + interpreter_name, + interpreter_version, + mac_platforms, +) + +_osx_arch_pat = re.compile(r"(.+)_(\d+)_(\d+)_(.+)") + + +def version_info_to_nodot(version_info): + # type: (Tuple[int, ...]) -> str + # Only use up to the first two numbers. + return "".join(map(str, version_info[:2])) + + +def _mac_platforms(arch): + # type: (str) -> List[str] + match = _osx_arch_pat.match(arch) + if match: + name, major, minor, actual_arch = match.groups() + mac_version = (int(major), int(minor)) + arches = [ + # Since we have always only checked that the platform starts + # with "macosx", for backwards-compatibility we extract the + # actual prefix provided by the user in case they provided + # something like "macosxcustom_". It may be good to remove + # this as undocumented or deprecate it in the future. + "{}_{}".format(name, arch[len("macosx_") :]) + for arch in mac_platforms(mac_version, actual_arch) + ] + else: + # arch pattern didn't match (?!) + arches = [arch] + return arches + + +def _custom_manylinux_platforms(arch): + # type: (str) -> List[str] + arches = [arch] + arch_prefix, arch_sep, arch_suffix = arch.partition("_") + if arch_prefix == "manylinux2014": + # manylinux1/manylinux2010 wheels run on most manylinux2014 systems + # with the exception of wheels depending on ncurses. PEP 599 states + # manylinux1/manylinux2010 wheels should be considered + # manylinux2014 wheels: + # https://www.python.org/dev/peps/pep-0599/#backwards-compatibility-with-manylinux2010-wheels + if arch_suffix in {"i686", "x86_64"}: + arches.append("manylinux2010" + arch_sep + arch_suffix) + arches.append("manylinux1" + arch_sep + arch_suffix) + elif arch_prefix == "manylinux2010": + # manylinux1 wheels run on most manylinux2010 systems with the + # exception of wheels depending on ncurses. PEP 571 states + # manylinux1 wheels should be considered manylinux2010 wheels: + # https://www.python.org/dev/peps/pep-0571/#backwards-compatibility-with-manylinux1-wheels + arches.append("manylinux1" + arch_sep + arch_suffix) + return arches + + +def _get_custom_platforms(arch): + # type: (str) -> List[str] + arch_prefix, _arch_sep, _arch_suffix = arch.partition("_") + if arch.startswith("macosx"): + arches = _mac_platforms(arch) + elif arch_prefix in ["manylinux2014", "manylinux2010"]: + arches = _custom_manylinux_platforms(arch) + else: + arches = [arch] + return arches + + +def _expand_allowed_platforms(platforms): + # type: (Optional[List[str]]) -> Optional[List[str]] + if not platforms: + return None + + seen = set() + result = [] + + for p in platforms: + if p in seen: + continue + additions = [c for c in _get_custom_platforms(p) if c not in seen] + seen.update(additions) + result.extend(additions) + + return result + + +def _get_python_version(version): + # type: (str) -> PythonVersion + if len(version) > 1: + return int(version[0]), int(version[1:]) + else: + return (int(version[0]),) + + +def _get_custom_interpreter(implementation=None, version=None): + # type: (Optional[str], Optional[str]) -> str + if implementation is None: + implementation = interpreter_name() + if version is None: + version = interpreter_version() + return "{}{}".format(implementation, version) + + +def get_supported( + version=None, # type: Optional[str] + platforms=None, # type: Optional[List[str]] + impl=None, # type: Optional[str] + abis=None, # type: Optional[List[str]] +): + # type: (...) -> List[Tag] + """Return a list of supported tags for each version specified in + `versions`. + + :param version: a string version, of the form "33" or "32", + or None. The version will be assumed to support our ABI. + :param platforms: specify a list of platforms you want valid + tags for, or None. If None, use the local system platform. + :param impl: specify the exact implementation you want valid + tags for, or None. If None, use the local interpreter impl. + :param abis: specify a list of abis you want valid + tags for, or None. If None, use the local interpreter abi. + """ + supported = [] # type: List[Tag] + + python_version = None # type: Optional[PythonVersion] + if version is not None: + python_version = _get_python_version(version) + + interpreter = _get_custom_interpreter(impl, version) + + platforms = _expand_allowed_platforms(platforms) + + is_cpython = (impl or interpreter_name()) == "cp" + if is_cpython: + supported.extend( + cpython_tags( + python_version=python_version, + abis=abis, + platforms=platforms, + ) + ) + else: + supported.extend( + generic_tags( + interpreter=interpreter, + abis=abis, + platforms=platforms, + ) + ) + supported.extend( + compatible_tags( + python_version=python_version, + interpreter=interpreter, + platforms=platforms, + ) + ) + + return supported diff --git a/etc/scripts/utils_pip_compatibility_tags.py.ABOUT b/etc/scripts/utils_pip_compatibility_tags.py.ABOUT new file mode 100644 index 00000000..7bbb026b --- /dev/null +++ b/etc/scripts/utils_pip_compatibility_tags.py.ABOUT @@ -0,0 +1,14 @@ +about_resource: utils_pip_compatibility_tags.py + +type: github +namespace: pypa +name: pip +version: 20.3.1 +subpath: src/pip/_internal/utils/compatibility_tags.py + +package_url: pkg:github/pypa/pip@20.3.1#src/pip/_internal/utils/compatibility_tags.py + +download_url: https://github.com/pypa/pip/blob/20.3.1/src/pip/_internal/utils/compatibility_tags.py +copyright: Copyright (c) 2008-2020 The pip developers (see AUTHORS.txt file) +license_expression: mit +notes: subset copied from pip for tag handling \ No newline at end of file diff --git a/etc/scripts/utils_pypi_supported_tags.py b/etc/scripts/utils_pypi_supported_tags.py new file mode 100644 index 00000000..de9f21b6 --- /dev/null +++ b/etc/scripts/utils_pypi_supported_tags.py @@ -0,0 +1,105 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import re + +""" +Wheel platform checking + +Copied and modified on 2020-12-24 from +https://github.com/pypa/warehouse/blob/37a83dd342d9e3b3ab4f6bde47ca30e6883e2c4d/warehouse/forklift/legacy.py + +This contains the basic functions to check if a wheel file name is would be +supported for uploading to PyPI. +""" + +# These platforms can be handled by a simple static list: +_allowed_platforms = { + "any", + "win32", + "win_amd64", + "win_ia64", + "manylinux1_x86_64", + "manylinux1_i686", + "manylinux2010_x86_64", + "manylinux2010_i686", + "manylinux2014_x86_64", + "manylinux2014_i686", + "manylinux2014_aarch64", + "manylinux2014_armv7l", + "manylinux2014_ppc64", + "manylinux2014_ppc64le", + "manylinux2014_s390x", + "linux_armv6l", + "linux_armv7l", +} +# macosx is a little more complicated: +_macosx_platform_re = re.compile(r"macosx_(?P\d+)_(\d+)_(?P.*)") +_macosx_arches = { + "ppc", + "ppc64", + "i386", + "x86_64", + "arm64", + "intel", + "fat", + "fat32", + "fat64", + "universal", + "universal2", +} +_macosx_major_versions = { + "10", + "11", +} + +# manylinux pep600 is a little more complicated: +_manylinux_platform_re = re.compile(r"manylinux_(\d+)_(\d+)_(?P.*)") +_manylinux_arches = { + "x86_64", + "i686", + "aarch64", + "armv7l", + "ppc64", + "ppc64le", + "s390x", +} + + +def is_supported_platform_tag(platform_tag): + """ + Return True if the ``platform_tag`` is supported on PyPI. + """ + if platform_tag in _allowed_platforms: + return True + m = _macosx_platform_re.match(platform_tag) + if m and m.group("major") in _macosx_major_versions and m.group("arch") in _macosx_arches: + return True + m = _manylinux_platform_re.match(platform_tag) + if m and m.group("arch") in _manylinux_arches: + return True + return False + + +def validate_platforms_for_pypi(platforms): + """ + Validate if the wheel platforms are supported platform tags on Pypi. Return + a list of unsupported platform tags or an empty list if all tags are + supported. + """ + + # Check that if it's a binary wheel, it's on a supported platform + invalid_tags = [] + for plat in platforms: + if not is_supported_platform_tag(plat): + invalid_tags.append(plat) + return invalid_tags diff --git a/etc/scripts/utils_pypi_supported_tags.py.ABOUT b/etc/scripts/utils_pypi_supported_tags.py.ABOUT new file mode 100644 index 00000000..228a538a --- /dev/null +++ b/etc/scripts/utils_pypi_supported_tags.py.ABOUT @@ -0,0 +1,17 @@ +about_resource: utils_pypi_supported_tags.py + +type: github +namespace: pypa +name: warehouse +version: 37a83dd342d9e3b3ab4f6bde47ca30e6883e2c4d +subpath: warehouse/forklift/legacy.py + +package_url: pkg:github/pypa/warehouse@37a83dd342d9e3b3ab4f6bde47ca30e6883e2c4d#warehouse/forklift/legacy.py + +download_url: https://github.com/pypa/warehouse/blob/37a83dd342d9e3b3ab4f6bde47ca30e6883e2c4d/warehouse/forklift/legacy.py +copyright: Copyright (c) The warehouse developers +homepage_url: https://warehouse.readthedocs.io +license_expression: apache-2.0 +notes: Wheel platform checking copied and heavily modified on 2020-12-24 from + warehouse. This contains the basic functions to check if a wheel file name is + would be supported for uploading to PyPI. diff --git a/etc/scripts/utils_requirements.py b/etc/scripts/utils_requirements.py new file mode 100644 index 00000000..0fc25a35 --- /dev/null +++ b/etc/scripts/utils_requirements.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/skeleton for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# + +import os +import re +import subprocess + +""" +Utilities to manage requirements files and call pip. +NOTE: this should use ONLY the standard library and not import anything else +because this is used for boostrapping with no requirements installed. +""" + + +def load_requirements(requirements_file="requirements.txt", with_unpinned=False): + """ + Yield package (name, version) tuples for each requirement in a `requirement` + file. Only accept requirements pinned to an exact version. + """ + with open(requirements_file) as reqs: + req_lines = reqs.read().splitlines(False) + return get_required_name_versions(req_lines, with_unpinned=with_unpinned) + + +def get_required_name_versions(requirement_lines, with_unpinned=False): + """ + Yield required (name, version) tuples given a`requirement_lines` iterable of + requirement text lines. Only accept requirements pinned to an exact version. + """ + + for req_line in requirement_lines: + req_line = req_line.strip() + if not req_line or req_line.startswith("#"): + continue + if req_line.startswith("-") or (not with_unpinned and not "==" in req_line): + print(f"Requirement line is not supported: ignored: {req_line}") + continue + yield get_required_name_version(requirement=req_line, with_unpinned=with_unpinned) + + +def get_required_name_version(requirement, with_unpinned=False): + """ + Return a (name, version) tuple given a`requirement` specifier string. + Requirement version must be pinned. If ``with_unpinned`` is True, unpinned + requirements are accepted and only the name portion is returned. + + For example: + >>> assert get_required_name_version("foo==1.2.3") == ("foo", "1.2.3") + >>> assert get_required_name_version("fooA==1.2.3.DEV1") == ("fooa", "1.2.3.dev1") + >>> assert get_required_name_version("foo==1.2.3", with_unpinned=False) == ("foo", "1.2.3") + >>> assert get_required_name_version("foo", with_unpinned=True) == ("foo", "") + >>> assert get_required_name_version("foo>=1.2", with_unpinned=True) == ("foo", ""), get_required_name_version("foo>=1.2") + >>> try: + ... assert not get_required_name_version("foo", with_unpinned=False) + ... except Exception as e: + ... assert "Requirement version must be pinned" in str(e) + """ + requirement = requirement and "".join(requirement.lower().split()) + assert requirement, f"specifier is required is empty:{requirement!r}" + name, operator, version = split_req(requirement) + assert name, f"Name is required: {requirement}" + is_pinned = operator == "==" + if with_unpinned: + version = "" + else: + assert is_pinned and version, f"Requirement version must be pinned: {requirement}" + return name, version + + +def lock_requirements(requirements_file="requirements.txt", site_packages_dir=None): + """ + Freeze and lock current installed requirements and save this to the + `requirements_file` requirements file. + """ + with open(requirements_file, "w") as fo: + fo.write(get_installed_reqs(site_packages_dir=site_packages_dir)) + + +def lock_dev_requirements( + dev_requirements_file="requirements-dev.txt", + main_requirements_file="requirements.txt", + site_packages_dir=None, +): + """ + Freeze and lock current installed development-only requirements and save + this to the `dev_requirements_file` requirements file. Development-only is + achieved by subtracting requirements from the `main_requirements_file` + requirements file from the current requirements using package names (and + ignoring versions). + """ + main_names = {n for n, _v in load_requirements(main_requirements_file)} + all_reqs = get_installed_reqs(site_packages_dir=site_packages_dir) + all_req_lines = all_reqs.splitlines(False) + all_req_nvs = get_required_name_versions(all_req_lines) + dev_only_req_nvs = {n: v for n, v in all_req_nvs if n not in main_names} + + new_reqs = "\n".join(f"{n}=={v}" for n, v in sorted(dev_only_req_nvs.items())) + with open(dev_requirements_file, "w") as fo: + fo.write(new_reqs) + + +def get_installed_reqs(site_packages_dir): + """ + Return the installed pip requirements as text found in `site_packages_dir` + as a text. + """ + if not os.path.exists(site_packages_dir): + raise Exception(f"site_packages directory: {site_packages_dir!r} does not exists") + # Also include these packages in the output with --all: wheel, distribute, + # setuptools, pip + args = ["pip", "freeze", "--exclude-editable", "--all", "--path", site_packages_dir] + return subprocess.check_output(args, encoding="utf-8") + + +comparators = ( + "===", + "~=", + "!=", + "==", + "<=", + ">=", + ">", + "<", +) + +_comparators_re = r"|".join(comparators) +version_splitter = re.compile(rf"({_comparators_re})") + + +def split_req(req): + """ + Return a three-tuple of (name, comparator, version) given a ``req`` + requirement specifier string. Each segment may be empty. Spaces are removed. + + For example: + >>> assert split_req("foo==1.2.3") == ("foo", "==", "1.2.3"), split_req("foo==1.2.3") + >>> assert split_req("foo") == ("foo", "", ""), split_req("foo") + >>> assert split_req("==1.2.3") == ("", "==", "1.2.3"), split_req("==1.2.3") + >>> assert split_req("foo >= 1.2.3 ") == ("foo", ">=", "1.2.3"), split_req("foo >= 1.2.3 ") + >>> assert split_req("foo>=1.2") == ("foo", ">=", "1.2"), split_req("foo>=1.2") + """ + assert req + # do not allow multiple constraints and tags + assert not any(c in req for c in ",;") + req = "".join(req.split()) + if not any(c in req for c in comparators): + return req, "", "" + segments = version_splitter.split(req, maxsplit=1) + return tuple(segments) diff --git a/etc/scripts/utils_thirdparty.py b/etc/scripts/utils_thirdparty.py new file mode 100644 index 00000000..addf8e5e --- /dev/null +++ b/etc/scripts/utils_thirdparty.py @@ -0,0 +1,2288 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/skeleton for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# +import email +import itertools +import os +import re +import shutil +import subprocess +import tempfile +import time +import urllib +from collections import defaultdict +from urllib.parse import quote_plus + +import attr +import license_expression +import packageurl +import requests +import saneyaml +from commoncode import fileutils +from commoncode.hash import multi_checksums +from commoncode.text import python_safe_name +from packvers import tags as packaging_tags +from packvers import version as packaging_version + +import utils_pip_compatibility_tags + +""" +Utilities to manage Python thirparty libraries source, binaries and metadata in +local directories and remote repositories. + +- download wheels for packages for all each supported operating systems + (Linux, macOS, Windows) and Python versions (3.x) combinations + +- download sources for packages (aka. sdist) + +- create, update and download ABOUT, NOTICE and LICENSE metadata for these + wheels and source distributions + +- update pip requirement files based on actually installed packages for + production and development + + +Approach +-------- + +The processing is organized around these key objects: + +- A PyPiPackage represents a PyPI package with its name and version and the + metadata used to populate an .ABOUT file and document origin and license. + It contains the downloadable Distribution objects for that version: + + - one Sdist source Distribution + - a list of Wheel binary Distribution + +- A Distribution (either a Wheel or Sdist) is identified by and created from its + filename as well as its name and version. + A Distribution is fetched from a Repository. + Distribution metadata can be loaded from and dumped to ABOUT files. + +- A Wheel binary Distribution can have Python/Platform/OS tags it supports and + was built for and these tags can be matched to an Environment. + +- An Environment is a combination of a Python version and operating system + (e.g., platfiorm and ABI tags.) and is represented by the "tags" it supports. + +- A plain LinksRepository which is just a collection of URLs scrape from a web + page such as HTTP diretory listing. It is used either with pip "--find-links" + option or to fetch ABOUT and LICENSE files. + +- A PypiSimpleRepository is a PyPI "simple" index where a HTML page is listing + package name links. Each such link points to an HTML page listing URLs to all + wheels and sdsist of all versions of this package. + +PypiSimpleRepository and Packages are related through packages name, version and +filenames. + +The Wheel models code is partially derived from the mit-licensed pip and the +Distribution/Wheel/Sdist design has been heavily inspired by the packaging- +dists library https://github.com/uranusjr/packaging-dists by Tzu-ping Chung +""" + +""" +Wheel downloader + +- parse requirement file +- create a TODO queue of requirements to process +- done: create an empty map of processed binary requirements as {package name: (list of versions/tags} + + +- while we have package reqs in TODO queue, process one requirement: + - for each PyPI simple index: + - fetch through cache the PyPI simple index for this package + - for each environment: + - find a wheel matching pinned requirement in this index + - if file exist locally, continue + - fetch the wheel for env + - IF pure, break, no more needed for env + - collect requirement deps from wheel metadata and add to queue + - if fetched, break, otherwise display error message + + +""" + +TRACE = False +TRACE_DEEP = False +TRACE_ULTRA_DEEP = False + +# Supported environments +PYTHON_VERSIONS = "37", "38", "39", "310" + +PYTHON_DOT_VERSIONS_BY_VER = { + "37": "3.7", + "38": "3.8", + "39": "3.9", + "310": "3.10", +} + + +def get_python_dot_version(version): + """ + Return a dot version from a plain, non-dot version. + """ + return PYTHON_DOT_VERSIONS_BY_VER[version] + + +ABIS_BY_PYTHON_VERSION = { + "37": ["cp37", "cp37m", "abi3"], + "38": ["cp38", "cp38m", "abi3"], + "39": ["cp39", "cp39m", "abi3"], + "310": ["cp310", "cp310m", "abi3"], +} + +PLATFORMS_BY_OS = { + "linux": [ + "linux_x86_64", + "manylinux1_x86_64", + "manylinux2010_x86_64", + "manylinux2014_x86_64", + ], + "macos": [ + "macosx_10_6_intel", + "macosx_10_6_x86_64", + "macosx_10_9_intel", + "macosx_10_9_x86_64", + "macosx_10_10_intel", + "macosx_10_10_x86_64", + "macosx_10_11_intel", + "macosx_10_11_x86_64", + "macosx_10_12_intel", + "macosx_10_12_x86_64", + "macosx_10_13_intel", + "macosx_10_13_x86_64", + "macosx_10_14_intel", + "macosx_10_14_x86_64", + "macosx_10_15_intel", + "macosx_10_15_x86_64", + "macosx_11_0_x86_64", + "macosx_11_intel", + "macosx_11_0_x86_64", + "macosx_11_intel", + "macosx_10_9_universal2", + "macosx_10_10_universal2", + "macosx_10_11_universal2", + "macosx_10_12_universal2", + "macosx_10_13_universal2", + "macosx_10_14_universal2", + "macosx_10_15_universal2", + "macosx_11_0_universal2", + # 'macosx_11_0_arm64', + ], + "windows": [ + "win_amd64", + ], +} + +THIRDPARTY_DIR = "thirdparty" +CACHE_THIRDPARTY_DIR = ".cache/thirdparty" + +################################################################################ + +ABOUT_BASE_URL = "https://thirdparty.aboutcode.org/pypi" +ABOUT_PYPI_SIMPLE_URL = f"{ABOUT_BASE_URL}/simple" +ABOUT_LINKS_URL = f"{ABOUT_PYPI_SIMPLE_URL}/links.html" +PYPI_SIMPLE_URL = "https://pypi.org/simple" +PYPI_INDEX_URLS = (PYPI_SIMPLE_URL, ABOUT_PYPI_SIMPLE_URL) + +################################################################################ + +EXTENSIONS_APP = (".pyz",) +EXTENSIONS_SDIST = ( + ".tar.gz", + ".zip", + ".tar.xz", +) +EXTENSIONS_INSTALLABLE = EXTENSIONS_SDIST + (".whl",) +EXTENSIONS_ABOUT = ( + ".ABOUT", + ".LICENSE", + ".NOTICE", +) +EXTENSIONS = EXTENSIONS_INSTALLABLE + EXTENSIONS_ABOUT + EXTENSIONS_APP + +LICENSEDB_API_URL = "https://scancode-licensedb.aboutcode.org" + +LICENSING = license_expression.Licensing() + +collect_urls = re.compile('href="([^"]+)"').findall + +################################################################################ +# Fetch wheels and sources locally +################################################################################ + + +class DistributionNotFound(Exception): + pass + + +def download_wheel(name, version, environment, dest_dir=THIRDPARTY_DIR, repos=tuple()): + """ + Download the wheels binary distribution(s) of package ``name`` and + ``version`` matching the ``environment`` Environment constraints into the + ``dest_dir`` directory. Return a list of fetched_wheel_filenames, possibly + empty. + + Use the first PyPI simple repository from a list of ``repos`` that contains this wheel. + """ + if TRACE_DEEP: + print(f" download_wheel: {name}=={version} for envt: {environment}") + + if not repos: + repos = DEFAULT_PYPI_REPOS + + fetched_wheel_filenames = [] + + for repo in repos: + package = repo.get_package_version(name=name, version=version) + if not package: + if TRACE_DEEP: + print(f" download_wheel: No package in {repo.index_url} for {name}=={version}") + continue + supported_wheels = list(package.get_supported_wheels(environment=environment)) + if not supported_wheels: + if TRACE_DEEP: + print( + f" download_wheel: No supported wheel for {name}=={version}: {environment} " + ) + continue + + for wheel in supported_wheels: + if TRACE_DEEP: + print( + f" download_wheel: Getting wheel from index (or cache): {wheel.download_url}" + ) + fetched_wheel_filename = wheel.download(dest_dir=dest_dir) + fetched_wheel_filenames.append(fetched_wheel_filename) + + if fetched_wheel_filenames: + # do not futher fetch from other repos if we find in first, typically PyPI + break + + return fetched_wheel_filenames + + +def download_sdist(name, version, dest_dir=THIRDPARTY_DIR, repos=tuple()): + """ + Download the sdist source distribution of package ``name`` and ``version`` + into the ``dest_dir`` directory. Return a fetched filename or None. + + Use the first PyPI simple repository from a list of ``repos`` that contains + this sdist. + """ + if TRACE: + print(f" download_sdist: {name}=={version}") + + if not repos: + repos = DEFAULT_PYPI_REPOS + + fetched_sdist_filename = None + + for repo in repos: + package = repo.get_package_version(name=name, version=version) + + if not package: + if TRACE_DEEP: + print(f" download_sdist: No package in {repo.index_url} for {name}=={version}") + continue + sdist = package.sdist + if not sdist: + if TRACE_DEEP: + print(f" download_sdist: No sdist for {name}=={version}") + continue + + if TRACE_DEEP: + print(f" download_sdist: Getting sdist from index (or cache): {sdist.download_url}") + fetched_sdist_filename = package.sdist.download(dest_dir=dest_dir) + + if fetched_sdist_filename: + # do not futher fetch from other repos if we find in first, typically PyPI + break + + return fetched_sdist_filename + + +################################################################################ +# +# Core models +# +################################################################################ + + +@attr.attributes +class NameVer: + name = attr.ib( + type=str, + metadata=dict(help="Python package name, lowercase and normalized."), + ) + + version = attr.ib( + type=str, + metadata=dict(help="Python package version string."), + ) + + @property + def normalized_name(self): + return NameVer.normalize_name(self.name) + + @staticmethod + def normalize_name(name): + """ + Return a normalized package name per PEP503, and copied from + https://www.python.org/dev/peps/pep-0503/#id4 + """ + return name and re.sub(r"[-_.]+", "-", name).lower() or name + + def sortable_name_version(self): + """ + Return a tuple of values to sort by name, then version. + This method is a suitable to use as key for sorting NameVer instances. + """ + return self.normalized_name, packaging_version.parse(self.version) + + @classmethod + def sorted(cls, namevers): + return sorted(namevers or [], key=cls.sortable_name_version) + + +@attr.attributes +class Distribution(NameVer): + + # field names that can be updated from another Distribution or mapping + updatable_fields = [ + "license_expression", + "copyright", + "description", + "homepage_url", + "primary_language", + "notice_text", + "extra_data", + ] + + filename = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="File name."), + ) + + path_or_url = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="Path or URL"), + ) + + sha256 = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="SHA256 checksum."), + ) + + sha1 = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="SHA1 checksum."), + ) + + md5 = attr.ib( + repr=False, + type=int, + default=0, + metadata=dict(help="MD5 checksum."), + ) + + type = attr.ib( + repr=False, + type=str, + default="pypi", + metadata=dict(help="Package type"), + ) + + namespace = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="Package URL namespace"), + ) + + qualifiers = attr.ib( + repr=False, + type=dict, + default=attr.Factory(dict), + metadata=dict(help="Package URL qualifiers"), + ) + + subpath = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="Package URL subpath"), + ) + + size = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="Size in bytes."), + ) + + primary_language = attr.ib( + repr=False, + type=str, + default="Python", + metadata=dict(help="Primary Programming language."), + ) + + description = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="Description."), + ) + + homepage_url = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="Homepage URL"), + ) + + notes = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="Notes."), + ) + + copyright = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="Copyright."), + ) + + license_expression = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="License expression"), + ) + + licenses = attr.ib( + repr=False, + type=list, + default=attr.Factory(list), + metadata=dict(help="List of license mappings."), + ) + + notice_text = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="Notice text"), + ) + + extra_data = attr.ib( + repr=False, + type=dict, + default=attr.Factory(dict), + metadata=dict(help="Extra data"), + ) + + @property + def package_url(self): + """ + Return a Package URL string of self. + """ + return str( + packageurl.PackageURL( + type=self.type, + namespace=self.namespace, + name=self.name, + version=self.version, + subpath=self.subpath, + qualifiers=self.qualifiers, + ) + ) + + @property + def download_url(self): + return self.get_best_download_url() + + def get_best_download_url(self, repos=tuple()): + """ + Return the best download URL for this distribution where best means this + is the first URL found for this distribution found in the list of + ``repos``. + + If none is found, return a synthetic PyPI remote URL. + """ + + if not repos: + repos = DEFAULT_PYPI_REPOS + + for repo in repos: + package = repo.get_package_version(name=self.name, version=self.version) + if not package: + if TRACE: + print( + f" get_best_download_url: {self.name}=={self.version} " + f"not found in {repo.index_url}" + ) + continue + pypi_url = package.get_url_for_filename(self.filename) + if pypi_url: + return pypi_url + else: + if TRACE: + print( + f" get_best_download_url: {self.filename} not found in {repo.index_url}" + ) + + def download(self, dest_dir=THIRDPARTY_DIR): + """ + Download this distribution into `dest_dir` directory. + Return the fetched filename. + """ + assert self.filename + if TRACE_DEEP: + print( + f"Fetching distribution of {self.name}=={self.version}:", + self.filename, + ) + + # FIXME: + fetch_and_save( + path_or_url=self.path_or_url, + dest_dir=dest_dir, + filename=self.filename, + as_text=False, + ) + return self.filename + + @property + def about_filename(self): + return f"{self.filename}.ABOUT" + + @property + def about_download_url(self): + return f"{ABOUT_BASE_URL}/{self.about_filename}" + + @property + def notice_filename(self): + return f"{self.filename}.NOTICE" + + @property + def notice_download_url(self): + return f"{ABOUT_BASE_URL}/{self.notice_filename}" + + @classmethod + def from_path_or_url(cls, path_or_url): + """ + Return a distribution built from the data found in the filename of a + ``path_or_url`` string. Raise an exception if this is not a valid + filename. + """ + filename = os.path.basename(path_or_url.strip("/")) + dist = cls.from_filename(filename) + dist.path_or_url = path_or_url + return dist + + @classmethod + def get_dist_class(cls, filename): + if filename.endswith(".whl"): + return Wheel + elif filename.endswith( + ( + ".zip", + ".tar.gz", + ) + ): + return Sdist + raise InvalidDistributionFilename(filename) + + @classmethod + def from_filename(cls, filename): + """ + Return a distribution built from the data found in a `filename` string. + Raise an exception if this is not a valid filename + """ + filename = os.path.basename(filename.strip("/")) + clazz = cls.get_dist_class(filename) + return clazz.from_filename(filename) + + def has_key_metadata(self): + """ + Return True if this distribution has key metadata required for basic attribution. + """ + if self.license_expression == "public-domain": + # copyright not needed + return True + return self.license_expression and self.copyright and self.path_or_url + + def to_about(self): + """ + Return a mapping of ABOUT data from this distribution fields. + """ + about_data = dict( + about_resource=self.filename, + checksum_md5=self.md5, + checksum_sha1=self.sha1, + copyright=self.copyright, + description=self.description, + download_url=self.download_url, + homepage_url=self.homepage_url, + license_expression=self.license_expression, + name=self.name, + namespace=self.namespace, + notes=self.notes, + notice_file=self.notice_filename if self.notice_text else "", + package_url=self.package_url, + primary_language=self.primary_language, + qualifiers=self.qualifiers, + size=self.size, + subpath=self.subpath, + type=self.type, + version=self.version, + ) + + about_data.update(self.extra_data) + about_data = {k: v for k, v in sorted(about_data.items()) if v} + return about_data + + def to_dict(self): + """ + Return a mapping data from this distribution. + """ + return {k: v for k, v in attr.asdict(self).items() if v} + + def save_about_and_notice_files(self, dest_dir=THIRDPARTY_DIR): + """ + Save a .ABOUT file to `dest_dir`. Include a .NOTICE file if there is a + notice_text. + """ + + def save_if_modified(location, content): + if os.path.exists(location): + with open(location) as fi: + existing_content = fi.read() + if existing_content == content: + return False + + if TRACE: + print(f"Saving ABOUT (and NOTICE) files for: {self}") + with open(location, "w") as fo: + fo.write(content) + return True + + as_about = self.to_about() + + save_if_modified( + location=os.path.join(dest_dir, self.about_filename), + content=saneyaml.dump(as_about), + ) + + notice_text = self.notice_text and self.notice_text.strip() + if notice_text: + save_if_modified( + location=os.path.join(dest_dir, self.notice_filename), + content=notice_text, + ) + + def load_about_data(self, about_filename_or_data=None, dest_dir=THIRDPARTY_DIR): + """ + Update self with ABOUT data loaded from an `about_filename_or_data` + which is either a .ABOUT file in `dest_dir` or an ABOUT data mapping. + `about_filename_or_data` defaults to this distribution default ABOUT + filename if not provided. Load the notice_text if present from dest_dir. + """ + if not about_filename_or_data: + about_filename_or_data = self.about_filename + + if isinstance(about_filename_or_data, str): + # that's an about_filename + about_path = os.path.join(dest_dir, about_filename_or_data) + if os.path.exists(about_path): + with open(about_path) as fi: + about_data = saneyaml.load(fi.read()) + if not about_data: + return False + else: + return False + else: + about_data = about_filename_or_data + + md5 = about_data.pop("checksum_md5", None) + if md5: + about_data["md5"] = md5 + sha1 = about_data.pop("checksum_sha1", None) + if sha1: + about_data["sha1"] = sha1 + sha256 = about_data.pop("checksum_sha256", None) + if sha256: + about_data["sha256"] = sha256 + + about_data.pop("about_resource", None) + notice_text = about_data.pop("notice_text", None) + notice_file = about_data.pop("notice_file", None) + if notice_text: + about_data["notice_text"] = notice_text + elif notice_file: + notice_loc = os.path.join(dest_dir, notice_file) + if os.path.exists(notice_loc): + with open(notice_loc) as fi: + about_data["notice_text"] = fi.read() + return self.update(about_data, keep_extra=True) + + def load_remote_about_data(self): + """ + Fetch and update self with "remote" data Distribution ABOUT file and + NOTICE file if any. Return True if the data was updated. + """ + try: + about_text = CACHE.get( + path_or_url=self.about_download_url, + as_text=True, + ) + except RemoteNotFetchedException: + return False + + if not about_text: + return False + + about_data = saneyaml.load(about_text) + notice_file = about_data.pop("notice_file", None) + if notice_file: + try: + notice_text = CACHE.get( + path_or_url=self.notice_download_url, + as_text=True, + ) + if notice_text: + about_data["notice_text"] = notice_text + except RemoteNotFetchedException: + print(f"Failed to fetch NOTICE file: {self.notice_download_url}") + return self.load_about_data(about_data) + + def get_checksums(self, dest_dir=THIRDPARTY_DIR): + """ + Return a mapping of computed checksums for this dist filename is + `dest_dir`. + """ + dist_loc = os.path.join(dest_dir, self.filename) + if os.path.exists(dist_loc): + return multi_checksums(dist_loc, checksum_names=("md5", "sha1", "sha256")) + else: + return {} + + def set_checksums(self, dest_dir=THIRDPARTY_DIR): + """ + Update self with checksums computed for this dist filename is `dest_dir`. + """ + self.update(self.get_checksums(dest_dir), overwrite=True) + + def validate_checksums(self, dest_dir=THIRDPARTY_DIR): + """ + Return True if all checksums that have a value in this dist match + checksums computed for this dist filename is `dest_dir`. + """ + real_checksums = self.get_checksums(dest_dir) + for csk in ("md5", "sha1", "sha256"): + csv = getattr(self, csk) + rcv = real_checksums.get(csk) + if csv and rcv and csv != rcv: + return False + return True + + def get_license_keys(self): + try: + keys = LICENSING.license_keys( + self.license_expression, + unique=True, + simple=True, + ) + except license_expression.ExpressionParseError: + return ["unknown"] + return keys + + def fetch_license_files(self, dest_dir=THIRDPARTY_DIR, use_cached_index=False): + """ + Fetch license files if missing in `dest_dir`. + Return True if license files were fetched. + """ + urls = LinksRepository.from_url(use_cached_index=use_cached_index).links + errors = [] + extra_lic_names = [l.get("file") for l in self.extra_data.get("licenses", {})] + extra_lic_names += [self.extra_data.get("license_file")] + extra_lic_names = [ln for ln in extra_lic_names if ln] + lic_names = [f"{key}.LICENSE" for key in self.get_license_keys()] + for filename in lic_names + extra_lic_names: + floc = os.path.join(dest_dir, filename) + if os.path.exists(floc): + continue + + try: + # try remotely first + lic_url = get_license_link_for_filename(filename=filename, urls=urls) + + fetch_and_save( + path_or_url=lic_url, + dest_dir=dest_dir, + filename=filename, + as_text=True, + ) + if TRACE: + print(f"Fetched license from remote: {lic_url}") + + except: + try: + # try licensedb second + lic_url = f"{LICENSEDB_API_URL}/{filename}" + fetch_and_save( + path_or_url=lic_url, + dest_dir=dest_dir, + filename=filename, + as_text=True, + ) + if TRACE: + print(f"Fetched license from licensedb: {lic_url}") + + except: + msg = f'No text for license {filename} in expression "{self.license_expression}" from {self}' + print(msg) + errors.append(msg) + + return errors + + def extract_pkginfo(self, dest_dir=THIRDPARTY_DIR): + """ + Return the text of the first PKG-INFO or METADATA file found in the + archive of this Distribution in `dest_dir`. Return None if not found. + """ + + fn = self.filename + if fn.endswith(".whl"): + fmt = "zip" + elif fn.endswith(".tar.gz"): + fmt = "gztar" + else: + fmt = None + + dist = os.path.join(dest_dir, fn) + with tempfile.TemporaryDirectory(prefix=f"pypi-tmp-extract-{fn}") as td: + shutil.unpack_archive(filename=dist, extract_dir=td, format=fmt) + # NOTE: we only care about the first one found in the dist + # which may not be 100% right + for pi in fileutils.resource_iter(location=td, with_dirs=False): + if pi.endswith( + ( + "PKG-INFO", + "METADATA", + ) + ): + with open(pi) as fi: + return fi.read() + + def load_pkginfo_data(self, dest_dir=THIRDPARTY_DIR): + """ + Update self with data loaded from the PKG-INFO file found in the + archive of this Distribution in `dest_dir`. + """ + pkginfo_text = self.extract_pkginfo(dest_dir=dest_dir) + if not pkginfo_text: + print(f"!!!!PKG-INFO/METADATA not found in {self.filename}") + return + raw_data = email.message_from_string(pkginfo_text) + + classifiers = raw_data.get_all("Classifier") or [] + + declared_license = [raw_data["License"]] + [ + c for c in classifiers if c.startswith("License") + ] + license_expression = get_license_expression(declared_license) + other_classifiers = [c for c in classifiers if not c.startswith("License")] + + holder = raw_data["Author"] + holder_contact = raw_data["Author-email"] + copyright_statement = f"Copyright (c) {holder} <{holder_contact}>" + + pkginfo_data = dict( + name=raw_data["Name"], + declared_license=declared_license, + version=raw_data["Version"], + description=raw_data["Summary"], + homepage_url=raw_data["Home-page"], + copyright=copyright_statement, + license_expression=license_expression, + holder=holder, + holder_contact=holder_contact, + keywords=raw_data["Keywords"], + classifiers=other_classifiers, + ) + + return self.update(pkginfo_data, keep_extra=True) + + def update_from_other_dist(self, dist): + """ + Update self using data from another dist + """ + return self.update(dist.get_updatable_data()) + + def get_updatable_data(self, data=None): + data = data or self.to_dict() + return {k: v for k, v in data.items() if v and k in self.updatable_fields} + + def update(self, data, overwrite=False, keep_extra=True): + """ + Update self with a mapping of `data`. Keep unknown data as extra_data if + `keep_extra` is True. If `overwrite` is True, overwrite self with `data` + Return True if any data was updated, False otherwise. Raise an exception + if there are key data conflicts. + """ + package_url = data.get("package_url") + if package_url: + purl_from_data = packageurl.PackageURL.from_string(package_url) + purl_from_self = packageurl.PackageURL.from_string(self.package_url) + if purl_from_data != purl_from_self: + print( + f"Invalid dist update attempt, no same same purl with dist: " + f"{self} using data {data}." + ) + return + + data.pop("about_resource", None) + dl = data.pop("download_url", None) + if dl: + data["path_or_url"] = dl + + updated = False + extra = {} + for k, v in data.items(): + if isinstance(v, str): + v = v.strip() + if not v: + continue + + if hasattr(self, k): + value = getattr(self, k, None) + if not value or (overwrite and value != v): + try: + setattr(self, k, v) + except Exception as e: + raise Exception(f"{self}, {k}, {v}") from e + updated = True + + elif keep_extra: + # note that we always overwrite extra + extra[k] = v + updated = True + + self.extra_data.update(extra) + + return updated + + +def get_license_link_for_filename(filename, urls): + """ + Return a link for `filename` found in the `links` list of URLs or paths. Raise an + exception if no link is found or if there are more than one link for that + file name. + """ + path_or_url = [l for l in urls if l.endswith(f"/{filename}")] + if not path_or_url: + raise Exception(f"Missing link to file: {filename}") + if not len(path_or_url) == 1: + raise Exception(f"Multiple links to file: {filename}: \n" + "\n".join(path_or_url)) + return path_or_url[0] + + +class InvalidDistributionFilename(Exception): + pass + + +def get_sdist_name_ver_ext(filename): + """ + Return a (name, version, extension) if filename is a valid sdist name. Some legacy + binary builds have weird names. Return False otherwise. + + In particular they do not use PEP440 compliant versions and/or mix tags, os + and arch names in tarball names and versions: + + >>> assert get_sdist_name_ver_ext("intbitset-1.3.tar.gz") + >>> assert not get_sdist_name_ver_ext("intbitset-1.3.linux-x86_64.tar.gz") + >>> assert get_sdist_name_ver_ext("intbitset-1.4a.tar.gz") + >>> assert get_sdist_name_ver_ext("intbitset-1.4a.zip") + >>> assert not get_sdist_name_ver_ext("intbitset-2.0.linux-x86_64.tar.gz") + >>> assert get_sdist_name_ver_ext("intbitset-2.0.tar.gz") + >>> assert not get_sdist_name_ver_ext("intbitset-2.1-1.src.rpm") + >>> assert not get_sdist_name_ver_ext("intbitset-2.1-1.x86_64.rpm") + >>> assert not get_sdist_name_ver_ext("intbitset-2.1.linux-x86_64.tar.gz") + >>> assert not get_sdist_name_ver_ext("cffi-1.2.0-1.tar.gz") + >>> assert not get_sdist_name_ver_ext("html5lib-1.0-reupload.tar.gz") + >>> assert not get_sdist_name_ver_ext("selenium-2.0-dev-9429.tar.gz") + >>> assert not get_sdist_name_ver_ext("testfixtures-1.8.0dev-r4464.tar.gz") + """ + name_ver = None + extension = None + + for ext in EXTENSIONS_SDIST: + if filename.endswith(ext): + name_ver, extension, _ = filename.rpartition(ext) + break + + if not extension or not name_ver: + return False + + name, _, version = name_ver.rpartition("-") + + if not name or not version: + return False + + # weird version + if any( + w in version + for w in ( + "x86_64", + "i386", + ) + ): + return False + + # all char versions + if version.isalpha(): + return False + + # non-pep 440 version + if "-" in version: + return False + + # single version + if version.isdigit() and len(version) == 1: + return False + + # r1 version + if len(version) == 2 and version[0] == "r" and version[1].isdigit(): + return False + + # dotless version (but calver is OK) + if "." not in version and len(version) < 3: + return False + + # version with dashes selenium-2.0-dev-9429.tar.gz + if name.endswith(("dev",)) and "." not in version: + return False + # version pre or post, old legacy + if version.startswith(("beta", "rc", "pre", "post", "final")): + return False + + return name, version, extension + + +@attr.attributes +class Sdist(Distribution): + + extension = attr.ib( + repr=False, + type=str, + default="", + metadata=dict(help="File extension, including leading dot."), + ) + + @classmethod + def from_filename(cls, filename): + """ + Return a Sdist object built from a filename. + Raise an exception if this is not a valid sdist filename + """ + name_ver_ext = get_sdist_name_ver_ext(filename) + if not name_ver_ext: + raise InvalidDistributionFilename(filename) + + name, version, extension = name_ver_ext + + return cls( + type="pypi", + name=name, + version=version, + extension=extension, + filename=filename, + ) + + def to_filename(self): + """ + Return an sdist filename reconstructed from its fields (that may not be + the same as the original filename.) + """ + return f"{self.name}-{self.version}.{self.extension}" + + +@attr.attributes +class Wheel(Distribution): + + """ + Represents a wheel file. + + Copied and heavily modified from pip-20.3.1 copied from pip-20.3.1 + pip/_internal/models/wheel.py + + name: pip compatibility tags + version: 20.3.1 + download_url: https://github.com/pypa/pip/blob/20.3.1/src/pip/_internal/models/wheel.py + copyright: Copyright (c) 2008-2020 The pip developers (see AUTHORS.txt file) + license_expression: mit + notes: copied from pip-20.3.1 pip/_internal/models/wheel.py + + Copyright (c) 2008-2020 The pip developers (see AUTHORS.txt file) + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + """ + + get_wheel_from_filename = re.compile( + r"""^(?P(?P.+?)-(?P.*?)) + ((-(?P\d[^-]*?))?-(?P.+?)-(?P.+?)-(?P.+?) + \.whl)$""", + re.VERBOSE, + ).match + + build = attr.ib( + type=str, + default="", + metadata=dict(help="Python wheel build."), + ) + + python_versions = attr.ib( + type=list, + default=attr.Factory(list), + metadata=dict(help="List of wheel Python version tags."), + ) + + abis = attr.ib( + type=list, + default=attr.Factory(list), + metadata=dict(help="List of wheel ABI tags."), + ) + + platforms = attr.ib( + type=list, + default=attr.Factory(list), + metadata=dict(help="List of wheel platform tags."), + ) + + tags = attr.ib( + repr=False, + type=set, + default=attr.Factory(set), + metadata=dict(help="Set of all tags for this wheel."), + ) + + @classmethod + def from_filename(cls, filename): + """ + Return a wheel object built from a filename. + Raise an exception if this is not a valid wheel filename + """ + wheel_info = cls.get_wheel_from_filename(filename) + if not wheel_info: + raise InvalidDistributionFilename(filename) + + name = wheel_info.group("name").replace("_", "-") + # we'll assume "_" means "-" due to wheel naming scheme + # (https://github.com/pypa/pip/issues/1150) + version = wheel_info.group("ver").replace("_", "-") + build = wheel_info.group("build") + python_versions = wheel_info.group("pyvers").split(".") + abis = wheel_info.group("abis").split(".") + platforms = wheel_info.group("plats").split(".") + + # All the tag combinations from this file + tags = { + packaging_tags.Tag(x, y, z) for x in python_versions for y in abis for z in platforms + } + + return cls( + filename=filename, + type="pypi", + name=name, + version=version, + build=build, + python_versions=python_versions, + abis=abis, + platforms=platforms, + tags=tags, + ) + + def is_supported_by_tags(self, tags): + """ + Return True is this wheel is compatible with one of a list of PEP 425 tags. + """ + if TRACE_DEEP: + print() + print("is_supported_by_tags: tags:", tags) + print("self.tags:", self.tags) + return not self.tags.isdisjoint(tags) + + def to_filename(self): + """ + Return a wheel filename reconstructed from its fields (that may not be + the same as the original filename.) + """ + build = f"-{self.build}" if self.build else "" + pyvers = ".".join(self.python_versions) + abis = ".".join(self.abis) + plats = ".".join(self.platforms) + return f"{self.name}-{self.version}{build}-{pyvers}-{abis}-{plats}.whl" + + def is_pure(self): + """ + Return True if wheel `filename` is for a "pure" wheel e.g. a wheel that + runs on all Pythons 3 and all OSes. + + For example:: + + >>> Wheel.from_filename('aboutcode_toolkit-5.1.0-py2.py3-none-any.whl').is_pure() + True + >>> Wheel.from_filename('beautifulsoup4-4.7.1-py3-none-any.whl').is_pure() + True + >>> Wheel.from_filename('beautifulsoup4-4.7.1-py2-none-any.whl').is_pure() + False + >>> Wheel.from_filename('bitarray-0.8.1-cp36-cp36m-win_amd64.whl').is_pure() + False + >>> Wheel.from_filename('extractcode_7z-16.5-py2.py3-none-macosx_10_13_intel.whl').is_pure() + False + >>> Wheel.from_filename('future-0.16.0-cp36-none-any.whl').is_pure() + False + >>> Wheel.from_filename('foo-4.7.1-py3-none-macosx_10_13_intel.whl').is_pure() + False + >>> Wheel.from_filename('future-0.16.0-py3-cp36m-any.whl').is_pure() + False + """ + return "py3" in self.python_versions and "none" in self.abis and "any" in self.platforms + + +def is_pure_wheel(filename): + try: + return Wheel.from_filename(filename).is_pure() + except: + return False + + +@attr.attributes +class PypiPackage(NameVer): + """ + A Python package contains one or more wheels and one source distribution + from a repository. + """ + + sdist = attr.ib( + repr=False, + type=Sdist, + default=None, + metadata=dict(help="Sdist source distribution for this package."), + ) + + wheels = attr.ib( + repr=False, + type=list, + default=attr.Factory(list), + metadata=dict(help="List of Wheel for this package"), + ) + + def get_supported_wheels(self, environment, verbose=TRACE_ULTRA_DEEP): + """ + Yield all the Wheel of this package supported and compatible with the + Environment `environment`. + """ + envt_tags = environment.tags() + if verbose: + print("get_supported_wheels: envt_tags:", envt_tags) + for wheel in self.wheels: + if wheel.is_supported_by_tags(envt_tags): + yield wheel + + @classmethod + def package_from_dists(cls, dists): + """ + Return a new PypiPackage built from an iterable of Wheels and Sdist + objects all for the same package name and version. + + For example: + >>> w1 = Wheel(name='bitarray', version='0.8.1', build='', + ... python_versions=['cp38'], abis=['cp38m'], + ... platforms=['linux_x86_64']) + >>> w2 = Wheel(name='bitarray', version='0.8.1', build='', + ... python_versions=['cp38'], abis=['cp38m'], + ... platforms=['macosx_10_9_x86_64', 'macosx_10_10_x86_64']) + >>> sd = Sdist(name='bitarray', version='0.8.1') + >>> package = PypiPackage.package_from_dists(dists=[w1, w2, sd]) + >>> assert package.name == 'bitarray' + >>> assert package.version == '0.8.1' + >>> assert package.sdist == sd + >>> assert package.wheels == [w1, w2] + """ + dists = list(dists) + if TRACE_DEEP: + print(f"package_from_dists: {dists}") + if not dists: + return + + reference_dist = dists[0] + normalized_name = reference_dist.normalized_name + version = reference_dist.version + + package = PypiPackage(name=normalized_name, version=version) + + for dist in dists: + if dist.normalized_name != normalized_name: + if TRACE: + print( + f" Skipping inconsistent dist name: expected {normalized_name} got {dist}" + ) + continue + elif dist.version != version: + dv = packaging_version.parse(dist.version) + v = packaging_version.parse(version) + if dv != v: + if TRACE: + print( + f" Skipping inconsistent dist version: expected {version} got {dist}" + ) + continue + + if isinstance(dist, Sdist): + package.sdist = dist + + elif isinstance(dist, Wheel): + package.wheels.append(dist) + + else: + raise Exception(f"Unknown distribution type: {dist}") + + if TRACE_DEEP: + print(f"package_from_dists: {package}") + + return package + + @classmethod + def packages_from_dir(cls, directory): + """ + Yield PypiPackages built from files found in at directory path. + """ + base = os.path.abspath(directory) + + paths = [os.path.join(base, f) for f in os.listdir(base) if f.endswith(EXTENSIONS)] + + if TRACE_ULTRA_DEEP: + print("packages_from_dir: paths:", paths) + return PypiPackage.packages_from_many_paths_or_urls(paths) + + @classmethod + def packages_from_many_paths_or_urls(cls, paths_or_urls): + """ + Yield PypiPackages built from a list of paths or URLs. + These are sorted by name and then by version from oldest to newest. + """ + dists = PypiPackage.dists_from_paths_or_urls(paths_or_urls) + if TRACE_ULTRA_DEEP: + print("packages_from_many_paths_or_urls: dists:", dists) + + dists = NameVer.sorted(dists) + + for _projver, dists_of_package in itertools.groupby( + dists, + key=NameVer.sortable_name_version, + ): + package = PypiPackage.package_from_dists(dists_of_package) + if TRACE_ULTRA_DEEP: + print("packages_from_many_paths_or_urls", package) + yield package + + @classmethod + def dists_from_paths_or_urls(cls, paths_or_urls): + """ + Return a list of Distribution given a list of + ``paths_or_urls`` to wheels or source distributions. + + Each Distribution receives two extra attributes: + - the path_or_url it was created from + - its filename + + For example: + >>> paths_or_urls =''' + ... /home/foo/bitarray-0.8.1-cp36-cp36m-linux_x86_64.whl + ... bitarray-0.8.1-cp36-cp36m-macosx_10_9_x86_64.macosx_10_10_x86_64.whl + ... bitarray-0.8.1-cp36-cp36m-win_amd64.whl + ... https://example.com/bar/bitarray-0.8.1.tar.gz + ... bitarray-0.8.1.tar.gz.ABOUT + ... bit.LICENSE'''.split() + >>> results = list(PypiPackage.dists_from_paths_or_urls(paths_or_urls)) + >>> for r in results: + ... print(r.__class__.__name__, r.name, r.version) + ... if isinstance(r, Wheel): + ... print(" ", ", ".join(r.python_versions), ", ".join(r.platforms)) + Wheel bitarray 0.8.1 + cp36 linux_x86_64 + Wheel bitarray 0.8.1 + cp36 macosx_10_9_x86_64, macosx_10_10_x86_64 + Wheel bitarray 0.8.1 + cp36 win_amd64 + Sdist bitarray 0.8.1 + """ + dists = [] + if TRACE_ULTRA_DEEP: + print(" ###paths_or_urls:", paths_or_urls) + installable = [f for f in paths_or_urls if f.endswith(EXTENSIONS_INSTALLABLE)] + for path_or_url in installable: + try: + dist = Distribution.from_path_or_url(path_or_url) + dists.append(dist) + if TRACE_DEEP: + print( + " ===> dists_from_paths_or_urls:", + dist, + "\n ", + "with URL:", + dist.download_url, + "\n ", + "from URL:", + path_or_url, + ) + except InvalidDistributionFilename: + if TRACE_DEEP: + print(f" Skipping invalid distribution from: {path_or_url}") + continue + return dists + + def get_distributions(self): + """ + Yield all distributions available for this PypiPackage + """ + if self.sdist: + yield self.sdist + for wheel in self.wheels: + yield wheel + + def get_url_for_filename(self, filename): + """ + Return the URL for this filename or None. + """ + for dist in self.get_distributions(): + if dist.filename == filename: + return dist.path_or_url + + +@attr.attributes +class Environment: + """ + An Environment describes a target installation environment with its + supported Python version, ABI, platform, implementation and related + attributes. + + We can use these to pass as `pip download` options and force fetching only + the subset of packages that match these Environment constraints as opposed + to the current running Python interpreter constraints. + """ + + python_version = attr.ib( + type=str, + default="", + metadata=dict(help="Python version supported by this environment."), + ) + + operating_system = attr.ib( + type=str, + default="", + metadata=dict(help="operating system supported by this environment."), + ) + + implementation = attr.ib( + type=str, + default="cp", + metadata=dict(help="Python implementation supported by this environment."), + repr=False, + ) + + abis = attr.ib( + type=list, + default=attr.Factory(list), + metadata=dict(help="List of ABI tags supported by this environment."), + repr=False, + ) + + platforms = attr.ib( + type=list, + default=attr.Factory(list), + metadata=dict(help="List of platform tags supported by this environment."), + repr=False, + ) + + @classmethod + def from_pyver_and_os(cls, python_version, operating_system): + if "." in python_version: + python_version = "".join(python_version.split(".")) + + return cls( + python_version=python_version, + implementation="cp", + abis=ABIS_BY_PYTHON_VERSION[python_version], + platforms=PLATFORMS_BY_OS[operating_system], + operating_system=operating_system, + ) + + def get_pip_cli_options(self): + """ + Return a list of pip download command line options for this environment. + """ + options = [ + "--python-version", + self.python_version, + "--implementation", + self.implementation, + ] + for abi in self.abis: + options.extend(["--abi", abi]) + + for platform in self.platforms: + options.extend(["--platform", platform]) + + return options + + def tags(self): + """ + Return a set of all the PEP425 tags supported by this environment. + """ + return set( + utils_pip_compatibility_tags.get_supported( + version=self.python_version or None, + impl=self.implementation or None, + platforms=self.platforms or None, + abis=self.abis or None, + ) + ) + + +################################################################################ +# +# PyPI repo and link index for package wheels and sources +# +################################################################################ + + +@attr.attributes +class PypiSimpleRepository: + """ + A PyPI repository of Python packages: wheels, sdist, etc. like the public + PyPI simple index. It is populated lazily based on requested packages names. + """ + + index_url = attr.ib( + type=str, + default=PYPI_SIMPLE_URL, + metadata=dict(help="Base PyPI simple URL for this index."), + ) + + # we keep a nested mapping of PypiPackage that has this shape: + # {name: {version: PypiPackage, version: PypiPackage, etc} + # the inner versions mapping is sorted by version from oldest to newest + + packages = attr.ib( + type=dict, + default=attr.Factory(lambda: defaultdict(dict)), + metadata=dict( + help="Mapping of {name: {version: PypiPackage, version: PypiPackage, etc} available in this repo" + ), + ) + + fetched_package_normalized_names = attr.ib( + type=set, + default=attr.Factory(set), + metadata=dict(help="A set of already fetched package normalized names."), + ) + + use_cached_index = attr.ib( + type=bool, + default=False, + metadata=dict( + help="If True, use any existing on-disk cached PyPI index files. Otherwise, fetch and cache." + ), + ) + + def _get_package_versions_map(self, name): + """ + Return a mapping of all available PypiPackage version for this package name. + The mapping may be empty. It is ordered by version from oldest to newest + """ + assert name + normalized_name = NameVer.normalize_name(name) + versions = self.packages[normalized_name] + if not versions and normalized_name not in self.fetched_package_normalized_names: + self.fetched_package_normalized_names.add(normalized_name) + try: + links = self.fetch_links(normalized_name=normalized_name) + # note that thsi is sorted so the mapping is also sorted + versions = { + package.version: package + for package in PypiPackage.packages_from_many_paths_or_urls(paths_or_urls=links) + } + self.packages[normalized_name] = versions + except RemoteNotFetchedException as e: + if TRACE: + print(f"failed to fetch package name: {name} from: {self.index_url}:\n{e}") + + if not versions and TRACE: + print(f"WARNING: package {name} not found in repo: {self.index_url}") + + return versions + + def get_package_versions(self, name): + """ + Return a mapping of all available PypiPackage version as{version: + package} for this package name. The mapping may be empty but not None. + It is sorted by version from oldest to newest. + """ + return dict(self._get_package_versions_map(name)) + + def get_package_version(self, name, version=None): + """ + Return the PypiPackage with name and version or None. + Return the latest PypiPackage version if version is None. + """ + if not version: + versions = list(self._get_package_versions_map(name).values()) + # return the latest version + return versions and versions[-1] + else: + return self._get_package_versions_map(name).get(version) + + def fetch_links(self, normalized_name): + """ + Return a list of download link URLs found in a PyPI simple index for package + name using the `index_url` of this repository. + """ + package_url = f"{self.index_url}/{normalized_name}" + text = CACHE.get( + path_or_url=package_url, + as_text=True, + force=not self.use_cached_index, + ) + links = collect_urls(text) + # TODO: keep sha256 + links = [l.partition("#sha256=") for l in links] + links = [url for url, _, _sha256 in links] + return links + + +PYPI_PUBLIC_REPO = PypiSimpleRepository(index_url=PYPI_SIMPLE_URL) +PYPI_SELFHOSTED_REPO = PypiSimpleRepository(index_url=ABOUT_PYPI_SIMPLE_URL) +DEFAULT_PYPI_REPOS = PYPI_PUBLIC_REPO, PYPI_SELFHOSTED_REPO +DEFAULT_PYPI_REPOS_BY_URL = {r.index_url: r for r in DEFAULT_PYPI_REPOS} + + +@attr.attributes +class LinksRepository: + """ + Represents a simple links repository such an HTTP directory listing or an + HTML page with links. + """ + + url = attr.ib( + type=str, + default="", + metadata=dict(help="Links directory URL"), + ) + + links = attr.ib( + type=list, + default=attr.Factory(list), + metadata=dict(help="List of links available in this repo"), + ) + + use_cached_index = attr.ib( + type=bool, + default=False, + metadata=dict( + help="If True, use any existing on-disk cached index files. Otherwise, fetch and cache." + ), + ) + + def __attrs_post_init__(self): + if not self.links: + self.links = self.find_links() + + def find_links(self, _CACHE=[]): + """ + Return a list of link URLs found in the HTML page at `self.url` + """ + if _CACHE: + return _CACHE + + links_url = self.url + if TRACE_DEEP: + print(f"Finding links from: {links_url}") + plinks_url = urllib.parse.urlparse(links_url) + base_url = urllib.parse.SplitResult( + plinks_url.scheme, plinks_url.netloc, "", "", "" + ).geturl() + + if TRACE_DEEP: + print(f"Base URL {base_url}") + + text = CACHE.get( + path_or_url=links_url, + as_text=True, + force=not self.use_cached_index, + ) + + links = [] + for link in collect_urls(text): + if not link.endswith(EXTENSIONS): + continue + + plink = urllib.parse.urlsplit(link) + + if plink.scheme: + # full URL kept as-is + url = link + + if plink.path.startswith("/"): + # absolute link + url = f"{base_url}{link}" + + else: + # relative link + url = f"{links_url}/{link}" + + if TRACE_DEEP: + print(f"Adding URL: {url}") + + links.append(url) + + if TRACE: + print(f"Found {len(links)} links at {links_url}") + _CACHE.extend(links) + return links + + @classmethod + def from_url(cls, url=ABOUT_BASE_URL, _LINKS_REPO={}, use_cached_index=False): + if url not in _LINKS_REPO: + _LINKS_REPO[url] = cls(url=url, use_cached_index=use_cached_index) + return _LINKS_REPO[url] + + +################################################################################ +# Globals for remote repos to be lazily created and cached on first use for the +# life of the session together with some convenience functions. +################################################################################ + + +def get_local_packages(directory=THIRDPARTY_DIR): + """ + Return the list of all PypiPackage objects built from a local directory. Return + an empty list if the package cannot be found. + """ + return list(PypiPackage.packages_from_dir(directory=directory)) + + +################################################################################ +# +# Basic file and URL-based operations using a persistent file-based Cache +# +################################################################################ + + +@attr.attributes +class Cache: + """ + A simple file-based cache based only on a filename presence. + This is used to avoid impolite fetching from remote locations. + """ + + directory = attr.ib(type=str, default=CACHE_THIRDPARTY_DIR) + + def __attrs_post_init__(self): + os.makedirs(self.directory, exist_ok=True) + + def get(self, path_or_url, as_text=True, force=False): + """ + Return the content fetched from a ``path_or_url`` through the cache. + Raise an Exception on errors. Treats the content as text if as_text is + True otherwise as treat as binary. `path_or_url` can be a path or a URL + to a file. + """ + cache_key = quote_plus(path_or_url.strip("/")) + cached = os.path.join(self.directory, cache_key) + + if force or not os.path.exists(cached): + if TRACE_DEEP: + print(f" FILE CACHE MISS: {path_or_url}") + content = get_file_content(path_or_url=path_or_url, as_text=as_text) + wmode = "w" if as_text else "wb" + with open(cached, wmode) as fo: + fo.write(content) + return content + else: + if TRACE_DEEP: + print(f" FILE CACHE HIT: {path_or_url}") + return get_local_file_content(path=cached, as_text=as_text) + + +CACHE = Cache() + + +def get_file_content(path_or_url, as_text=True): + """ + Fetch and return the content at `path_or_url` from either a local path or a + remote URL. Return the content as bytes is `as_text` is False. + """ + if path_or_url.startswith("https://"): + if TRACE_DEEP: + print(f"Fetching: {path_or_url}") + _headers, content = get_remote_file_content(url=path_or_url, as_text=as_text) + return content + + elif path_or_url.startswith("file://") or ( + path_or_url.startswith("/") and os.path.exists(path_or_url) + ): + return get_local_file_content(path=path_or_url, as_text=as_text) + + else: + raise Exception(f"Unsupported URL scheme: {path_or_url}") + + +def get_local_file_content(path, as_text=True): + """ + Return the content at `url` as text. Return the content as bytes is + `as_text` is False. + """ + if path.startswith("file://"): + path = path[7:] + + mode = "r" if as_text else "rb" + with open(path, mode) as fo: + return fo.read() + + +class RemoteNotFetchedException(Exception): + pass + + +def get_remote_file_content( + url, + as_text=True, + headers_only=False, + headers=None, + _delay=0, +): + """ + Fetch and return a tuple of (headers, content) at `url`. Return content as a + text string if `as_text` is True. Otherwise return the content as bytes. + + If `header_only` is True, return only (headers, None). Headers is a mapping + of HTTP headers. + Retries multiple times to fetch if there is a HTTP 429 throttling response + and this with an increasing delay. + """ + time.sleep(_delay) + headers = headers or {} + # using a GET with stream=True ensure we get the the final header from + # several redirects and that we can ignore content there. A HEAD request may + # not get us this last header + print(f" DOWNLOADING: {url}") + with requests.get(url, allow_redirects=True, stream=True, headers=headers) as response: + status = response.status_code + if status != requests.codes.ok: # NOQA + if status == 429 and _delay < 20: + # too many requests: start some exponential delay + increased_delay = (_delay * 2) or 1 + + return get_remote_file_content( + url, + as_text=as_text, + headers_only=headers_only, + _delay=increased_delay, + ) + + else: + raise RemoteNotFetchedException(f"Failed HTTP request from {url} with {status}") + + if headers_only: + return response.headers, None + + return response.headers, response.text if as_text else response.content + + +def fetch_and_save( + path_or_url, + dest_dir, + filename, + as_text=True, +): + """ + Fetch content at ``path_or_url`` URL or path and save this to + ``dest_dir/filername``. Return the fetched content. Raise an Exception on + errors. Treats the content as text if as_text is True otherwise as treat as + binary. + """ + content = CACHE.get( + path_or_url=path_or_url, + as_text=as_text, + ) + output = os.path.join(dest_dir, filename) + wmode = "w" if as_text else "wb" + with open(output, wmode) as fo: + fo.write(content) + return content + + +################################################################################ +# +# Functions to update or fetch ABOUT and license files +# +################################################################################ + + +def clean_about_files( + dest_dir=THIRDPARTY_DIR, +): + """ + Given a thirdparty dir, clean ABOUT files + """ + local_packages = get_local_packages(directory=dest_dir) + for local_package in local_packages: + for local_dist in local_package.get_distributions(): + local_dist.load_about_data(dest_dir=dest_dir) + local_dist.set_checksums(dest_dir=dest_dir) + + if "classifiers" in local_dist.extra_data: + local_dist.extra_data.pop("classifiers", None) + local_dist.save_about_and_notice_files(dest_dir) + + +def fetch_abouts_and_licenses(dest_dir=THIRDPARTY_DIR, use_cached_index=False): + """ + Given a thirdparty dir, add missing ABOUT. LICENSE and NOTICE files using + best efforts: + + - use existing ABOUT files + - try to load existing remote ABOUT files + - derive from existing distribution with same name and latest version that + would have such ABOUT file + - extract ABOUT file data from distributions PKGINFO or METADATA files + + Use available existing on-disk cached index if use_cached_index is True. + """ + + def get_other_dists(_package, _dist): + """ + Return a list of all the dists from `_package` that are not the `_dist` + object + """ + return [d for d in _package.get_distributions() if d != _dist] + + local_packages = get_local_packages(directory=dest_dir) + packages_by_name = defaultdict(list) + for local_package in local_packages: + distributions = list(local_package.get_distributions()) + distribution = distributions[0] + packages_by_name[distribution.name].append(local_package) + + for local_package in local_packages: + for local_dist in local_package.get_distributions(): + local_dist.load_about_data(dest_dir=dest_dir) + local_dist.set_checksums(dest_dir=dest_dir) + + # if has key data we may look to improve later, but we can move on + if local_dist.has_key_metadata(): + local_dist.save_about_and_notice_files(dest_dir=dest_dir) + local_dist.fetch_license_files(dest_dir=dest_dir, use_cached_index=use_cached_index) + continue + + # lets try to get from another dist of the same local package + for otherd in get_other_dists(local_package, local_dist): + updated = local_dist.update_from_other_dist(otherd) + if updated and local_dist.has_key_metadata(): + break + + # if has key data we may look to improve later, but we can move on + if local_dist.has_key_metadata(): + local_dist.save_about_and_notice_files(dest_dir=dest_dir) + local_dist.fetch_license_files(dest_dir=dest_dir, use_cached_index=use_cached_index) + continue + + # try to get another version of the same package that is not our version + other_local_packages = [ + p + for p in packages_by_name[local_package.name] + if p.version != local_package.version + ] + other_local_version = other_local_packages and other_local_packages[-1] + if other_local_version: + latest_local_dists = list(other_local_version.get_distributions()) + for latest_local_dist in latest_local_dists: + latest_local_dist.load_about_data(dest_dir=dest_dir) + if not latest_local_dist.has_key_metadata(): + # there is not much value to get other data if we are missing the key ones + continue + else: + local_dist.update_from_other_dist(latest_local_dist) + # if has key data we may look to improve later, but we can move on + if local_dist.has_key_metadata(): + break + + # if has key data we may look to improve later, but we can move on + if local_dist.has_key_metadata(): + local_dist.save_about_and_notice_files(dest_dir=dest_dir) + local_dist.fetch_license_files( + dest_dir=dest_dir, use_cached_index=use_cached_index + ) + continue + + # lets try to fetch remotely + local_dist.load_remote_about_data() + + # if has key data we may look to improve later, but we can move on + if local_dist.has_key_metadata(): + local_dist.save_about_and_notice_files(dest_dir=dest_dir) + local_dist.fetch_license_files(dest_dir=dest_dir, use_cached_index=use_cached_index) + continue + + # try to get a latest version of the same package that is not our version + # and that is in our self hosted repo + lpv = local_package.version + lpn = local_package.name + + other_remote_packages = [ + p for v, p in PYPI_SELFHOSTED_REPO.get_package_versions(lpn).items() if v != lpv + ] + + latest_version = other_remote_packages and other_remote_packages[-1] + if latest_version: + latest_dists = list(latest_version.get_distributions()) + for remote_dist in latest_dists: + remote_dist.load_remote_about_data() + if not remote_dist.has_key_metadata(): + # there is not much value to get other data if we are missing the key ones + continue + else: + local_dist.update_from_other_dist(remote_dist) + # if has key data we may look to improve later, but we can move on + if local_dist.has_key_metadata(): + break + + # if has key data we may look to improve later, but we can move on + if local_dist.has_key_metadata(): + local_dist.save_about_and_notice_files(dest_dir=dest_dir) + local_dist.fetch_license_files( + dest_dir=dest_dir, use_cached_index=use_cached_index + ) + continue + + # try to get data from pkginfo (no license though) + local_dist.load_pkginfo_data(dest_dir=dest_dir) + + # FIXME: save as this is the last resort for now in all cases + # if local_dist.has_key_metadata() or not local_dist.has_key_metadata(): + local_dist.save_about_and_notice_files(dest_dir) + + lic_errs = local_dist.fetch_license_files(dest_dir, use_cached_index=use_cached_index) + + if not local_dist.has_key_metadata(): + print(f"Unable to add essential ABOUT data for: {local_dist}") + if lic_errs: + lic_errs = "\n".join(lic_errs) + print(f"Failed to fetch some licenses:: {lic_errs}") + + +################################################################################ +# +# Functions to build new Python wheels including native on multiple OSes +# +################################################################################ + + +def call(args, verbose=TRACE): + """ + Call args in a subprocess and display output on the fly if ``trace`` is True. + Return a tuple of (returncode, stdout, stderr) + """ + if TRACE_DEEP: + print("Calling:", " ".join(args)) + with subprocess.Popen( + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding="utf-8" + ) as process: + + stdouts = [] + while True: + line = process.stdout.readline() + if not line and process.poll() is not None: + break + stdouts.append(line) + if verbose: + print(line.rstrip(), flush=True) + + stdout, stderr = process.communicate() + if not stdout.strip(): + stdout = "\n".join(stdouts) + return process.returncode, stdout, stderr + + +def download_wheels_with_pip( + requirements_specifiers=tuple(), + requirements_files=tuple(), + environment=None, + dest_dir=THIRDPARTY_DIR, + index_url=PYPI_SIMPLE_URL, + links_url=ABOUT_LINKS_URL, +): + """ + Fetch binary wheel(s) using pip for the ``envt`` Environment given a list of + pip ``requirements_files`` and a list of ``requirements_specifiers`` string + (such as package names or as name==version). + Return a tuple of (list of downloaded files, error string). + Do NOT fail on errors, but return an error message on failure. + """ + + cli_args = [ + "pip", + "download", + "--only-binary", + ":all:", + "--dest", + dest_dir, + "--index-url", + index_url, + "--find-links", + links_url, + "--no-color", + "--progress-bar", + "off", + "--no-deps", + "--no-build-isolation", + "--verbose", + # "--verbose", + ] + + if environment: + eopts = environment.get_pip_cli_options() + cli_args.extend(eopts) + else: + print("WARNING: no download environment provided.") + + cli_args.extend(requirements_specifiers) + for req_file in requirements_files: + cli_args.extend(["--requirement", req_file]) + + if TRACE: + print(f"Downloading wheels using command:", " ".join(cli_args)) + + existing = set(os.listdir(dest_dir)) + error = False + try: + returncode, _stdout, stderr = call(cli_args, verbose=True) + if returncode != 0: + error = stderr + except Exception as e: + error = str(e) + + if error: + print() + print("###########################################################################") + print("##################### Failed to fetch all wheels ##########################") + print("###########################################################################") + print(error) + print() + print("###########################################################################") + + downloaded = existing ^ set(os.listdir(dest_dir)) + return sorted(downloaded), error + + +################################################################################ +# +# Functions to check for problems +# +################################################################################ + + +def check_about(dest_dir=THIRDPARTY_DIR): + try: + subprocess.check_output(f"venv/bin/about check {dest_dir}".split()) + except subprocess.CalledProcessError as cpe: + print() + print("Invalid ABOUT files:") + print(cpe.output.decode("utf-8", errors="replace")) + + +def find_problems( + dest_dir=THIRDPARTY_DIR, + report_missing_sources=False, + report_missing_wheels=False, +): + """ + Print the problems found in `dest_dir`. + """ + + local_packages = get_local_packages(directory=dest_dir) + + for package in local_packages: + if report_missing_sources and not package.sdist: + print(f"{package.name}=={package.version}: Missing source distribution.") + if report_missing_wheels and not package.wheels: + print(f"{package.name}=={package.version}: Missing wheels.") + + for dist in package.get_distributions(): + dist.load_about_data(dest_dir=dest_dir) + abpth = os.path.abspath(os.path.join(dest_dir, dist.about_filename)) + if not dist.has_key_metadata(): + print(f" Missing key ABOUT data in file://{abpth}") + if "classifiers" in dist.extra_data: + print(f" Dangling classifiers data in file://{abpth}") + if not dist.validate_checksums(dest_dir): + print(f" Invalid checksums in file://{abpth}") + if not dist.sha1 and dist.md5: + print(f" Missing checksums in file://{abpth}") + + check_about(dest_dir=dest_dir) + + +def get_license_expression(declared_licenses): + """ + Return a normalized license expression or None. + """ + if not declared_licenses: + return + try: + from packagedcode.licensing import get_only_expression_from_extracted_license + + return get_only_expression_from_extracted_license(declared_licenses) + except ImportError: + # Scancode is not installed, clean and join all the licenses + lics = [python_safe_name(l).lower() for l in declared_licenses] + return " AND ".join(lics).lower() diff --git a/etc/scripts/utils_thirdparty.py.ABOUT b/etc/scripts/utils_thirdparty.py.ABOUT new file mode 100644 index 00000000..84803494 --- /dev/null +++ b/etc/scripts/utils_thirdparty.py.ABOUT @@ -0,0 +1,15 @@ +about_resource: utils_thirdparty.py +package_url: pkg:github.com/pypa/pip/@20.3.1#src/pip/_internal/models/wheel.py +type: github +namespace: pypa +name: pip +version: 20.3.1 +subpath: src/pip/_internal/models/wheel.py + +download_url: https://github.com/pypa/pip/blob/20.3.1/src/pip/_internal/models/wheel.py +copyright: Copyright (c) 2008-2020 The pip developers (see AUTHORS.txt file) +license_expression: mit +notes: copied from pip-20.3.1 pip/_internal/models/wheel.py + The models code has been heavily inspired from the ISC-licensed packaging-dists + https://github.com/uranusjr/packaging-dists by Tzu-ping Chung + \ No newline at end of file diff --git a/expected.json b/expected.json deleted file mode 100644 index 9ac5bdfb..00000000 --- a/expected.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "deltacode_notice": "Generated with DeltaCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nDeltaCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nDeltaCode is a free software codebase-comparison tool from nexB Inc. and others.\nVisit https://github.com/nexB/deltacode/ for support and download.", - "new_scan_options": { - "input": [ - "/home/arnav-mandal1234/Downloads/coala-0.10.0/coalib/" - ], - "--fingerprint": true, - "--info": true, - "--json-pp": "o.json" - }, - "old_scan_options": { - "input": [ - "/home/arnav-mandal1234/Downloads/coala-0.10.0/coalib/" - ], - "--fingerprint": true, - "--info": true, - "--json-pp": "o.json" - }, - "deltacode_options": { - "--new": "tests/data/deltacode/scancode_options_new.json", - "--old": "tests/data/deltacode/scancode_options_old.json", - "--all-delta-types": false - }, - "deltacode_version": "1.0.1.dev112+gde3c583.d20210613", - "deltacode_errors": [], - "deltas_count": 1, - "delta_stats": { - "old_files_count": 1, - "new_files_count": 1, - "percent_added": 0.0, - "percent_removed": 0.0, - "percent_moved": 0.0, - "percent_modified": 100.0, - "percent_unmodified": 0.0 - }, - "deltas": [ - { - "status": "modified", - "factors": [], - "score": 20, - "new": { - "path": "coalib/__init__.py", - "type": "file", - "name": "__init__.py", - "size": 587, - "sha1": "8fc64c86979if8cec0758cfe0fe92d85b219ac49", - "fingerprint": "", - "original_path": "coalib/__init__.py", - "licenses": [], - "copyrights": [] - }, - "old": { - "path": "coalib/__init__.py", - "type": "file", - "name": "__init__.py", - "size": 587, - "sha1": "8fc64c86979bf8cec0758cfe0fe92d85b219ac49", - "fingerprint": "", - "original_path": "coalib/__init__.py", - "licenses": [], - "copyrights": [] - } - } - ] -} diff --git a/pyproject.toml b/pyproject.toml index 55fb92c3..cde79074 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,11 @@ [build-system] -requires = ["setuptools >= 50", "wheel", "setuptools_scm[toml] >= 4"] +requires = ["setuptools >= 50", "wheel", "setuptools_scm[toml] >= 6"] build-backend = "setuptools.build_meta" [tool.setuptools_scm] +# this is used populated when creating a git archive +# and when there is .git dir and/or there is no git installed +fallback_version = "9999.$Format:%h-%cs$" [tool.pytest.ini_options] norecursedirs = [ @@ -30,10 +33,13 @@ norecursedirs = [ "Scripts", "thirdparty", "tmp", + "venv", "tests/data", - ".eggs" + ".eggs", + "src/*/data", + "tests/*/data" ] - + python_files = "*.py" python_classes = "Test" @@ -41,6 +47,6 @@ python_functions = "test" addopts = [ "-rfExXw", - "--strict", + "--strict-markers", "--doctest-modules" ] diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 00000000..b035b0a6 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,2 @@ +pytest==7.2.2 +pytest-xdist==3.2.1 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..f465cd5d --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +bitarray==2.7.3 +commoncode==31.0.2 +click==8.1.3 +simplejson==3.18.4 +unicodecsv==0.14.1 \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index b411fddc..eb0dab4f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,18 +1,16 @@ [metadata] -license_files = - apache-2.0.LICENSE - NOTICE - AUTHORS.rst - CHANGELOG.rst name = deltacode -author = nexB. Inc. and others -author_email = info@aboutcode.org license = Apache-2.0 # description must be on ONE line https://github.com/pypa/setuptools/issues/1390 description = deltacode long_description = file:README.rst +long_description_content_type = text/x-rst url = https://github.com/nexB/deltacode + +author = nexB. Inc. and others +author_email = info@aboutcode.org + classifiers = Development Status :: 5 - Production/Stable Intended Audience :: Developers @@ -20,36 +18,52 @@ classifiers = Programming Language :: Python :: 3 :: Only Topic :: Software Development Topic :: Utilities -keywords = + +keywords = utilities +license_files = + apache-2.0.LICENSE + NOTICE + AUTHORS.rst + CHANGELOG.rst + CODE_OF_CONDUCT.rst + [options] -package_dir= +package_dir = =src -packages=find: +packages = find: include_package_data = true zip_safe = false + +setup_requires = setuptools_scm[toml] >= 4 + +python_requires = >=3.7 + install_requires = - bitarray==1.1.0 + bitarray commoncode>=21.6.11 click simplejson unicodecsv -setup_requires = setuptools_scm[toml] >= 4 [options.packages.find] -where=src +where = src [options.extras_require] testing = - # upstream - pytest >= 6 + pytest >= 6, != 7.0.0 pytest-xdist >= 2 -docs= - Sphinx>=3.3.1 - sphinx-rtd-theme>=0.5.0 - doc8>=0.8.1 + pycodestyle >= 2.8.0 + twine + black + isort + +docs = + Sphinx >= 3.3.1 + sphinx-rtd-theme >= 0.5.0 + doc8 >= 0.8.1 [options.entry_points] console-scripts = - deltacode = deltacode.cli:cli \ No newline at end of file + deltacode = deltacode.cli:cli diff --git a/src/deltacode/utils.py b/src/deltacode/utils.py index 2a9d7c63..0fceb5ee 100644 --- a/src/deltacode/utils.py +++ b/src/deltacode/utils.py @@ -27,7 +27,7 @@ from bitarray import bitarray from collections import defaultdict -from bitarray import bitdiff +from bitarray.util import count_xor import binascii import os @@ -303,7 +303,7 @@ def hamming_distance(fingerprint1, fingerprint2): Hamming distance is the difference in the bits of two binary string. Files with fingerprints whose hamming distance are less tends to be more similar. """ - distance = bitdiff(fingerprint1, fingerprint2) + distance = count_xor(fingerprint1, fingerprint2) result = int(distance) return result diff --git a/test.csv b/test.csv deleted file mode 100644 index 00dd1d66..00000000 --- a/test.csv +++ /dev/null @@ -1,142 +0,0 @@ -Status,Score,Factors,Path,Name,Type,Size,Old Path -added,100,,coalib/coala_modes.py,coala_modes.py,file,3383, -added,100,,coalib/bearlib/aspects/__init__.py,__init__.py,file,3402, -added,100,,coalib/bearlib/aspects/base.py,base.py,file,2106, -added,100,,coalib/bearlib/aspects/docs.py,docs.py,file,1522, -added,100,,coalib/bearlib/aspects/meta.py,meta.py,file,2121, -added,100,,coalib/bearlib/aspects/Metadata.py,Metadata.py,file,7125, -added,100,,coalib/bearlib/aspects/Redundancy.py,Redundancy.py,file,6576, -added,100,,coalib/bearlib/aspects/taste.py,taste.py,file,2896, -added,100,,coalib/bearlib/languages/Language.py,Language.py,file,14576, -added,100,,coalib/bearlib/languages/definitions/C.py,C.py,file,854, -added,100,,coalib/bearlib/languages/definitions/CPP.py,CPP.py,file,1580, -added,100,,coalib/bearlib/languages/definitions/CSharp.py,CSharp.py,file,261, -added,100,,coalib/bearlib/languages/definitions/CSS.py,CSS.py,file,304, -added,100,,coalib/bearlib/languages/definitions/Java.py,Java.py,file,325, -added,100,,coalib/bearlib/languages/definitions/JavaScript.py,JavaScript.py,file,372, -added,100,,coalib/bearlib/languages/definitions/Python.py,Python.py,file,414, -added,100,,coalib/bearlib/languages/definitions/Unknown.py,Unknown.py,file,91, -added,100,,coalib/bearlib/languages/definitions/Vala.py,Vala.py,file,345, -added,100,,coalib/misc/Compatibility.py,Compatibility.py,file,144, -added,100,,coalib/output/ConsoleInteraction.py,ConsoleInteraction.py,file,32748, -added,100,,coalib/output/Logging.py,Logging.py,file,2097, -added,100,,coalib/results/result_actions/IgnoreResultAction.py,IgnoreResultAction.py,file,4109, -added,100,,coalib/results/result_actions/PrintAspectAction.py,PrintAspectAction.py,file,704, -added,100,,coalib/settings/Annotations.py,Annotations.py,file,1580, -added,100,,coalib/testing/BearTestHelper.py,BearTestHelper.py,file,513, -added,100,,coalib/testing/LocalBearTestHelper.py,LocalBearTestHelper.py,file,9119, -modified,55,Similar with hamming distance : 35,coalib/parsing/LineParser.py,LineParser.py,file,6902, -modified,55,Similar with hamming distance : 35,coalib/processes/communication/LogMessage.py,LogMessage.py,file,1643, -modified,54,Similar with hamming distance : 34,coalib/coala.py,coala.py,file,3133, -modified,54,Similar with hamming distance : 34,coalib/output/JSONEncoder.py,JSONEncoder.py,file,1348, -modified,53,Similar with hamming distance : 33,coalib/bearlib/languages/documentation/DocumentationComment.py,DocumentationComment.py,file,8609, -modified,53,Similar with hamming distance : 33,coalib/output/printers/LogPrinter.py,LogPrinter.py,file,6096, -modified,53,Similar with hamming distance : 33,coalib/parsing/ConfParser.py,ConfParser.py,file,5180, -modified,52,Similar with hamming distance : 32,coalib/results/SourceRange.py,SourceRange.py,file,6248, -modified,52,Similar with hamming distance : 32,coalib/settings/DocstringMetadata.py,DocstringMetadata.py,file,2505, -modified,51,Similar with hamming distance : 31,coalib/coala_delete_orig.py,coala_delete_orig.py,file,1573, -modified,51,Similar with hamming distance : 31,coalib/coala_main.py,coala_main.py,file,5853, -modified,50,Similar with hamming distance : 30,coalib/bearlib/languages/documentation/DocstyleDefinition.py,DocstyleDefinition.py,file,7947, -modified,50,Similar with hamming distance : 30,coalib/results/Diff.py,Diff.py,file,18608, -modified,48,Similar with hamming distance : 28,coalib/results/result_actions/ApplyPatchAction.py,ApplyPatchAction.py,file,1931, -modified,47,Similar with hamming distance : 27,coalib/bears/Bear.py,Bear.py,file,14966, -modified,46,Similar with hamming distance : 26,coalib/bearlib/abstractions/ExternalBearWrap.py,ExternalBearWrap.py,file,7569, -modified,46,Similar with hamming distance : 26,coalib/bears/BEAR_KIND.py,BEAR_KIND.py,file,71, -modified,46,Similar with hamming distance : 26,coalib/results/TextRange.py,TextRange.py,file,4507, -modified,45,Similar with hamming distance : 25,coalib/results/LineDiff.py,LineDiff.py,file,2418, -modified,44,Similar with hamming distance : 24,coalib/bearlib/naming_conventions/__init__.py,__init__.py,file,3745, -modified,43,Similar with hamming distance : 23,coalib/bearlib/abstractions/Linter.py,Linter.py,file,34235, -modified,43,Similar with hamming distance : 23,coalib/collecting/Collectors.py,Collectors.py,file,12482, -modified,43,Similar with hamming distance : 23,coalib/misc/Exceptions.py,Exceptions.py,file,1059, -modified,43,Similar with hamming distance : 23,coalib/output/printers/ListLogPrinter.py,ListLogPrinter.py,file,978, -modified,43,Similar with hamming distance : 23,coalib/parsing/CliParsing.py,CliParsing.py,file,4729, -modified,42,Similar with hamming distance : 22,coalib/processes/Processing.py,Processing.py,file,30267, -modified,41,Similar with hamming distance : 21,coalib/bearlib/spacing/SpacingHelper.py,SpacingHelper.py,file,3825, -modified,39,Similar with hamming distance : 19,coalib/misc/Caching.py,Caching.py,file,5773, -modified,38,Similar with hamming distance : 18,coalib/results/HiddenResult.py,HiddenResult.py,file,639, -modified,38,Similar with hamming distance : 18,coalib/results/SourcePosition.py,SourcePosition.py,file,1282, -modified,37,Similar with hamming distance : 17,coalib/collecting/Importers.py,Importers.py,file,6342, -modified,35,Similar with hamming distance : 15,coalib/misc/CachingUtilities.py,CachingUtilities.py,file,7156, -modified,35,Similar with hamming distance : 15,coalib/misc/Shell.py,Shell.py,file,4848, -modified,35,Similar with hamming distance : 15,coalib/results/TextPosition.py,TextPosition.py,file,1081, -modified,35,Similar with hamming distance : 15,coalib/settings/ConfigurationGathering.py,ConfigurationGathering.py,file,14106, -modified,35,Similar with hamming distance : 15,coalib/settings/FunctionMetadata.py,FunctionMetadata.py,file,11704, -modified,34,Similar with hamming distance : 14,coalib/bears/LocalBear.py,LocalBear.py,file,1522, -modified,34,Similar with hamming distance : 14,coalib/collecting/Dependencies.py,Dependencies.py,file,1311, -modified,34,Similar with hamming distance : 14,coalib/misc/BuildManPage.py,BuildManPage.py,file,7292, -modified,34,Similar with hamming distance : 14,coalib/settings/SectionFilling.py,SectionFilling.py,file,3855, -modified,33,Similar with hamming distance : 13,coalib/bears/GlobalBear.py,GlobalBear.py,file,1175, -modified,33,Similar with hamming distance : 13,coalib/parsing/Globbing.py,Globbing.py,file,13234, -modified,32,Similar with hamming distance : 12,coalib/processes/BearRunning.py,BearRunning.py,file,24044, -modified,32,Similar with hamming distance : 12,coalib/results/result_actions/ResultAction.py,ResultAction.py,file,3516, -modified,30,Similar with hamming distance : 10,coalib/settings/Section.py,Section.py,file,8750, -modified,29,Similar with hamming distance : 9,coalib/bearlib/languages/documentation/doxygen.coalang,doxygen.coalang,file,1433, -modified,28,Similar with hamming distance : 8,coalib/settings/Setting.py,Setting.py,file,8415, -modified,27,Similar with hamming distance : 7,coalib/results/ResultFilter.py,ResultFilter.py,file,9630, -modified,26,Similar with hamming distance : 6,coalib/results/AbsolutePosition.py,AbsolutePosition.py,file,2119, -modified,25,Similar with hamming distance : 5,coalib/bearlib/abstractions/SectionCreatable.py,SectionCreatable.py,file,2611, -modified,25,Similar with hamming distance : 5,coalib/bearlib/languages/documentation/DocumentationExtraction.py,DocumentationExtraction.py,file,11010, -modified,25,Similar with hamming distance : 5,coalib/misc/DictUtilities.py,DictUtilities.py,file,1360, -modified,20,,coalib/__init__.py,__init__.py,file,587, -modified,20,,coalib/coala_ci.py,coala_ci.py,file,347, -modified,20,,coalib/coala_format.py,coala_format.py,file,333, -modified,20,,coalib/coala_json.py,coala_json.py,file,326, -modified,20,,coalib/VERSION,VERSION,file,7, -modified,20,,coalib/bearlib/__init__.py,__init__.py,file,5572, -modified,20,,coalib/bearlib/languages/__init__.py,__init__.py,file,482, -modified,20,,coalib/bearlib/languages/LanguageDefinition.py,LanguageDefinition.py,file,3575, -modified,20,,coalib/bearlib/languages/documentation/default.coalang,default.coalang,file,392, -modified,20,,coalib/output/ConfWriter.py,ConfWriter.py,file,3863, -modified,20,,coalib/output/Interactions.py,Interactions.py,file,1200, -modified,20,,coalib/output/printers/LOG_LEVEL.py,LOG_LEVEL.py,file,387, -modified,20,,coalib/parsing/DefaultArgParser.py,DefaultArgParser.py,file,8787, -modified,20,,coalib/processes/CONTROL_ELEMENT.py,CONTROL_ELEMENT.py,file,114, -modified,20,,coalib/results/Result.py,Result.py,file,11406, -modified,20,,coalib/results/RESULT_SEVERITY.py,RESULT_SEVERITY.py,file,335, -modified,20,,coalib/results/result_actions/OpenEditorAction.py,OpenEditorAction.py,file,6600, -modified,20,,coalib/results/result_actions/PrintDebugMessageAction.py,PrintDebugMessageAction.py,file,611, -modified,20,,coalib/results/result_actions/PrintMoreInfoAction.py,PrintMoreInfoAction.py,file,617, -modified,20,,coalib/results/result_actions/ShowPatchAction.py,ShowPatchAction.py,file,5296, -unmodified,0,,coalib/default_coafile,default_coafile,file,0, -unmodified,0,,coalib/bearlib/abstractions/__init__.py,__init__.py,file,110, -unmodified,0,,coalib/bearlib/languages/definitions/__init__.py,__init__.py,file,341, -unmodified,0,,coalib/bearlib/languages/documentation/__init__.py,__init__.py,file,131, -unmodified,0,,coalib/bearlib/spacing/__init__.py,__init__.py,file,0, -unmodified,0,,coalib/bears/__init__.py,__init__.py,file,0, -unmodified,0,,coalib/collecting/__init__.py,__init__.py,file,0, -unmodified,0,,coalib/misc/__init__.py,__init__.py,file,0, -unmodified,0,,coalib/misc/Enum.py,Enum.py,file,270, -unmodified,0,,coalib/output/__init__.py,__init__.py,file,0, -unmodified,0,,coalib/output/printers/__init__.py,__init__.py,file,269, -unmodified,0,,coalib/parsing/__init__.py,__init__.py,file,167, -unmodified,0,,coalib/processes/__init__.py,__init__.py,file,0, -unmodified,0,,coalib/processes/LogPrinterThread.py,LogPrinterThread.py,file,688, -unmodified,0,,coalib/processes/communication/__init__.py,__init__.py,file,0, -unmodified,0,,coalib/results/__init__.py,__init__.py,file,0, -unmodified,0,,coalib/results/result_actions/__init__.py,__init__.py,file,145, -unmodified,0,,coalib/settings/__init__.py,__init__.py,file,0, -removed,0,,coalib/coala_dbus.py,coala_dbus.py,file,1515, -removed,0,,coalib/bearlib/abstractions/Lint.py,Lint.py,file,15710, -removed,0,,coalib/bearlib/languages/definitions/c.coalang,c.coalang,file,568, -removed,0,,coalib/bearlib/languages/definitions/cpp.coalang,cpp.coalang,file,1057, -removed,0,,coalib/bearlib/languages/definitions/python3.coalang,python3.coalang,file,197, -removed,0,,coalib/bears/requirements/GemRequirement.py,GemRequirement.py,file,1067, -removed,0,,coalib/bears/requirements/NpmRequirement.py,NpmRequirement.py,file,841, -removed,0,,coalib/bears/requirements/PackageRequirement.py,PackageRequirement.py,file,4261, -removed,0,,coalib/bears/requirements/PipRequirement.py,PipRequirement.py,file,847, -removed,0,,coalib/misc/Annotations.py,Annotations.py,file,1580, -removed,0,,coalib/misc/ContextManagers.py,ContextManagers.py,file,7320, -removed,0,,coalib/misc/Future.py,Future.py,file,3748, -removed,0,,coalib/misc/MutableValue.py,MutableValue.py,file,80, -removed,0,,coalib/misc/StringConverter.py,StringConverter.py,file,5054, -removed,0,,coalib/output/dbus/__init__.py,__init__.py,file,561, -removed,0,,coalib/output/dbus/BuildDbusService.py,BuildDbusService.py,file,1411, -removed,0,,coalib/output/dbus/DbusApp.py,DbusApp.py,file,1509, -removed,0,,coalib/output/dbus/DbusDocument.py,DbusDocument.py,file,6938, -removed,0,,coalib/output/dbus/DbusServer.py,DbusServer.py,file,5769, -removed,0,,coalib/parsing/StringProcessing/__init__.py,__init__.py,file,1082, -removed,0,,coalib/parsing/StringProcessing/Core.py,Core.py,file,21420, -removed,0,,coalib/parsing/StringProcessing/Filters.py,Filters.py,file,1331, -removed,0,,coalib/parsing/StringProcessing/InBetweenMatch.py,InBetweenMatch.py,file,2120, -removed,0,,coalib/parsing/StringProcessing/Match.py,Match.py,file,1541, -moved,0,,coalib/testing/__init__.py,__init__.py,file,0,coalib/bears/requirements/__init__.py diff --git a/thirdparty/Jinja2-2.10-py2.py3-none-any.whl b/thirdparty/Jinja2-2.10-py2.py3-none-any.whl deleted file mode 100644 index 7bc4e35f..00000000 Binary files a/thirdparty/Jinja2-2.10-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/Jinja2-2.10-py2.py3-none-any.whl.ABOUT b/thirdparty/Jinja2-2.10-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index e2c09314..00000000 --- a/thirdparty/Jinja2-2.10-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,16 +0,0 @@ -about_resource: Jinja2-2.10-py2.py3-none-any.whl -checksum_md5: cb679acd14423aef56dfff61d6a988f8 -checksum_sha1: f14bb3e5021b2b0605dcd4865ac539cde04fe856 -contact: armin.ronacher@active-4.com -copyright: Copyright (c) 2009 by the Jinja Team -description: Jinja2 is a full featured template engine for Python. It has full unicode - support, an optional integrated sandboxed execution environment, widely used and - BSD licensed. -download_url: https://pypi.python.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl#md5=cb679acd14423aef56dfff61d6a988f8 -homepage_url: http://jinja.pocoo.org/ -license_expression: bsd-new -name: Jinja2 -owner: Armin Ronacher -owner_url: http://lucumr.pocoo.org/about/ -version: '2.10' -license_file: Jinja2.LICENSE \ No newline at end of file diff --git a/thirdparty/Jinja2.LICENSE b/thirdparty/Jinja2.LICENSE deleted file mode 100644 index 5a0acde8..00000000 --- a/thirdparty/Jinja2.LICENSE +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) 2009 by the Jinja Team, see AUTHORS for more details. - -Some rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * The names of the contributors may not be used to endorse or - promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/MarkupSafe-1.0-py2-none-any.whl b/thirdparty/MarkupSafe-1.0-py2-none-any.whl deleted file mode 100644 index e003df2b..00000000 Binary files a/thirdparty/MarkupSafe-1.0-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/MarkupSafe-1.0-py2-none-any.whl.ABOUT b/thirdparty/MarkupSafe-1.0-py2-none-any.whl.ABOUT deleted file mode 100644 index f0dc13b7..00000000 --- a/thirdparty/MarkupSafe-1.0-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: MarkupSafe-1.0-py2-none-any.whl -attribute: true -contact: armin.ronacher@active-4.com -copyright: Copyright (c) Armin Ronacher -description: Implements a XML/HTML/XHTML Markup safe string for Python -download_url: https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz#md5=2fcedc9284d50e577b5192e8e3578355 -homepage_url: https://pypi.python.org/pypi/MarkupSafe/ -license_expression: bsd-new -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -name: MarkupSafe -notice_file: MarkupSafe-1.0.tar.gz.NOTICE -owner: Armin Ronacher -owner_url: http://lucumr.pocoo.org/about/ -version: '1.0' diff --git a/thirdparty/MarkupSafe-1.0-py3-none-any.whl b/thirdparty/MarkupSafe-1.0-py3-none-any.whl deleted file mode 100644 index ab7685e9..00000000 Binary files a/thirdparty/MarkupSafe-1.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/MarkupSafe-1.0.tar.gz b/thirdparty/MarkupSafe-1.0.tar.gz deleted file mode 100644 index 606021ae..00000000 Binary files a/thirdparty/MarkupSafe-1.0.tar.gz and /dev/null differ diff --git a/thirdparty/MarkupSafe-1.0.tar.gz.ABOUT b/thirdparty/MarkupSafe-1.0.tar.gz.ABOUT deleted file mode 100644 index 7ed50bf8..00000000 --- a/thirdparty/MarkupSafe-1.0.tar.gz.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: MarkupSafe-1.0.tar.gz -attribute: true -checksum_md5: 2fcedc9284d50e577b5192e8e3578355 -checksum_sha1: 9072e80a7faa0f49805737a48f3d871eb1c48728 -contact: armin.ronacher@active-4.com -copyright: Copyright (c) Armin Ronacher -description: Implements a XML/HTML/XHTML Markup safe string for Python -download_url: https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz#md5=2fcedc9284d50e577b5192e8e3578355 -homepage_url: https://pypi.python.org/pypi/MarkupSafe/ -license_expression: bsd-new -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -name: MarkupSafe -notice_file: MarkupSafe-1.0.tar.gz.NOTICE -owner: Armin Ronacher -owner_url: http://lucumr.pocoo.org/about/ -version: '1.0' diff --git a/thirdparty/MarkupSafe-1.0.tar.gz.NOTICE b/thirdparty/MarkupSafe-1.0.tar.gz.NOTICE deleted file mode 100644 index ffee1f52..00000000 --- a/thirdparty/MarkupSafe-1.0.tar.gz.NOTICE +++ /dev/null @@ -1,33 +0,0 @@ -Copyright (c) 2010 by Armin Ronacher and contributors. See AUTHORS -for more details. - -Some rights reserved. - -Redistribution and use in source and binary forms of the software as well -as documentation, with or without modification, are permitted provided -that the following conditions are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - -* The names of the contributors may not be used to endorse or - promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT -NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER -OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE AND DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. \ No newline at end of file diff --git a/thirdparty/PyYAML-3.12-cp36-cp36m-win32.whl b/thirdparty/PyYAML-3.12-cp36-cp36m-win32.whl deleted file mode 100644 index 9970ca7f..00000000 Binary files a/thirdparty/PyYAML-3.12-cp36-cp36m-win32.whl and /dev/null differ diff --git a/thirdparty/PyYAML-3.12-py2-none-any.whl b/thirdparty/PyYAML-3.12-py2-none-any.whl deleted file mode 100644 index c301d137..00000000 Binary files a/thirdparty/PyYAML-3.12-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/PyYAML-3.12-py2-none-any.whl.ABOUT b/thirdparty/PyYAML-3.12-py2-none-any.whl.ABOUT deleted file mode 100644 index 46d4227f..00000000 --- a/thirdparty/PyYAML-3.12-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -about_resource: PyYAML-3.12-py2-none-any.whl -download_url: https://pypi.python.org/packages/4a/85/db5a2df477072b2902b0eb892feb37d88ac635d36245a72a6a69b23b383a/PyYAML-3.12.tar.gz#md5=4c129761b661d181ebf7ff4eb2d79950 -version: 3.12 - -name: PyYAML - -homepage_url: http://pyyaml.org/wiki/PyYAML -copyright: Copyright (c) 2006 Kirill Simonov -owner: Kirill Simonov -contact: xi@resolvent.net - -license_expression: mit -license_file: pyyaml.LICENSE - -description: YAML parser and emitter for Python diff --git a/thirdparty/PyYAML-3.12.tar.gz b/thirdparty/PyYAML-3.12.tar.gz deleted file mode 100644 index aabee39f..00000000 Binary files a/thirdparty/PyYAML-3.12.tar.gz and /dev/null differ diff --git a/thirdparty/PyYAML-3.12.tar.gz.ABOUT b/thirdparty/PyYAML-3.12.tar.gz.ABOUT deleted file mode 100644 index a23f42df..00000000 --- a/thirdparty/PyYAML-3.12.tar.gz.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -about_resource: PyYAML-3.12.tar.gz -download_url: https://pypi.python.org/packages/4a/85/db5a2df477072b2902b0eb892feb37d88ac635d36245a72a6a69b23b383a/PyYAML-3.12.tar.gz#md5=4c129761b661d181ebf7ff4eb2d79950 -version: 3.12 - -name: PyYAML - -homepage_url: http://pyyaml.org/wiki/PyYAML -copyright: Copyright (c) 2006 Kirill Simonov -owner: Kirill Simonov -contact: xi@resolvent.net - -license_expression: mit -license_file: pyyaml.LICENSE - -description: YAML parser and emitter for Python diff --git a/thirdparty/Pygments-2.2.0-py2.py3-none-any.whl b/thirdparty/Pygments-2.2.0-py2.py3-none-any.whl deleted file mode 100644 index d9075309..00000000 Binary files a/thirdparty/Pygments-2.2.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/Pygments-2.2.0-py2.py3-none-any.whl.ABOUT b/thirdparty/Pygments-2.2.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 05dd3ea9..00000000 --- a/thirdparty/Pygments-2.2.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,27 +0,0 @@ -about_resource: Pygments-2.2.0-py2.py3-none-any.whl -attribute: true -checksum_md5: ce67fc58b51ffd29a2de8b97fcda274a -checksum_sha1: 18dd2c8aa095be731733771e9bdef04e5e3b9436 -contact: georg@python.org -copyright: Copyright by the Pygments team -description: Pygments is a generic syntax highlighter suitable for use in code hosting, - forums, wikis or other applications that need to prettify source code. -download_url: https://pypi.python.org/packages/02/ee/b6e02dc6529e82b75bb06823ff7d005b141037cb1416b10c6f00fc419dca/Pygments-2.2.0-py2.py3-none-any.whl#md5=ce67fc58b51ffd29a2de8b97fcda274a -homepage_url: http://pygments.org/ -license_expression: bsd-simplified AND apache-2.0 -licenses: -- file: apache-2.0.LICENSE - key: apache-2.0 - name: Apache License 2.0 -- file: bsd-simplified.LICENSE - key: bsd-simplified - name: BSD-2-Clause -name: Pygments -notice_file: Pygments-2.2.0-py2.py3-none-any.whl.NOTICE -notice_url: https://bitbucket.org/birkenfeld/pygments-main/src/7941677dc77d4f2bf0bbd6140ade85a9454b8b80/LICENSE?at=default&fileviewer=file-view-default -owner: Pocoo Team -owner_url: http://www.pocoo.org/ -track_changes: true -vcs_url: hg+http://bitbucket.org/birkenfeld/pygments-main -version: 2.2.0 - diff --git a/thirdparty/Pygments-2.2.0-py2.py3-none-any.whl.NOTICE b/thirdparty/Pygments-2.2.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index a369ccea..00000000 --- a/thirdparty/Pygments-2.2.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,40 +0,0 @@ -Copyright (c) 2006-2017 by the respective authors (see AUTHORS file). -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -# Copyright 2012 Nokia Siemens Networks Oyj -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. \ No newline at end of file diff --git a/thirdparty/SPARQLWrapper-1.8.0-cp27-none-any.whl b/thirdparty/SPARQLWrapper-1.8.0-cp27-none-any.whl deleted file mode 100644 index 1e32f159..00000000 Binary files a/thirdparty/SPARQLWrapper-1.8.0-cp27-none-any.whl and /dev/null differ diff --git a/thirdparty/SPARQLWrapper-1.8.0-py3-none-any.whl b/thirdparty/SPARQLWrapper-1.8.0-py3-none-any.whl deleted file mode 100644 index 048a613d..00000000 Binary files a/thirdparty/SPARQLWrapper-1.8.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/SPARQLWrapper-1.8.0.tar.gz b/thirdparty/SPARQLWrapper-1.8.0.tar.gz deleted file mode 100644 index 8cd38b1d..00000000 Binary files a/thirdparty/SPARQLWrapper-1.8.0.tar.gz and /dev/null differ diff --git a/thirdparty/SPARQLWrapper.ABOUT b/thirdparty/SPARQLWrapper.ABOUT deleted file mode 100644 index ea9c0c14..00000000 --- a/thirdparty/SPARQLWrapper.ABOUT +++ /dev/null @@ -1,13 +0,0 @@ -about_resource: SPARQLWrapper-1.8.0-cp27-none-any.whl -name: SPARQLWrapper -version: 1.8.0 -home_url: http://rdflib.github.io/sparqlwrapper/ -download_url: https://pypi.python.org/packages/03/69/3a625d5315a85174c4a0ab9b9afc0018c21a618117de141dc53e14d5de97/SPARQLWrapper-1.8.0.tar.gz#md5=9541c7d6f01ed2a98efb4b86bbc982e8 -authors: Ivan Herman, Sergio Fernández, Carlos Tejo Alonso, Alexey Zakhlestin -owner: World Wide Web Consortium Foundation CTIC -copyright: Copyright (c) 2002-2015, RDFLib Team - -vcs_url: git+https://github.com/rdflib/sparqlwrapper.git - -license_expression: w3c -license_file: SPARQLWrapper.LICENSE diff --git a/thirdparty/SPARQLWrapper.LICENSE b/thirdparty/SPARQLWrapper.LICENSE deleted file mode 100644 index a490ad4c..00000000 --- a/thirdparty/SPARQLWrapper.LICENSE +++ /dev/null @@ -1,39 +0,0 @@ -SPARQL Python Wrapper is released under the W3C® SOFTWARE NOTICE AND LICENSE. - -This work (and included software, documentation such as READMEs, or other related -items) is being provided by the copyright holders under the following license. By -obtaining, using and/or copying this work, you (the licensee) agree that you have -read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, with -or without modification, for any purpose and without fee or royalty is hereby -granted, provided that you include the following on ALL copies of the software and -documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - - 2. Any pre-existing intellectual property disclaimers, notices, or terms and - conditions. If none exist, the W3C Software Short Notice should be included - (hypertext is preferred, text is permitted) within the body of any redistributed - or derivative code. - - 3. Notice of any changes or modifications to the files, including the date changes - were made. (We recommend you provide URIs to the location from which the code is - derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE -OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. - -See also http://www.w3.org/Consortium/Legal/copyright-software for further details \ No newline at end of file diff --git a/thirdparty/aboutcode_toolkit-3.2.1-py2.py3-none-any.whl b/thirdparty/aboutcode_toolkit-3.2.1-py2.py3-none-any.whl deleted file mode 100644 index 7115eaa8..00000000 Binary files a/thirdparty/aboutcode_toolkit-3.2.1-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/aboutcode_toolkit-3.2.1-py2.py3-none-any.whl.ABOUT b/thirdparty/aboutcode_toolkit-3.2.1-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 43952400..00000000 --- a/thirdparty/aboutcode_toolkit-3.2.1-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,16 +0,0 @@ -about_resource: aboutcode_toolkit-3.2.1-py2.py3-none-any.whl -contact: http://www.nexb.com/contactus.html -copyright: Copyright (c) nexB Inc. -description: AboutCode Toolkit is a tool to process ABOUT files. An ABOUT file provides - a simple way to document the provenance (origin and license) 'about' a software - component. This is a small text file stored in the codebase side-by-side with the - documented software component. -download_url: https://pypi.python.org/packages/11/7c/07b565c8a66f8846dab007ad80e31078f15034981dcb7c5e26dd985e3f4a/aboutcode_toolkit-3.0.2-py2.py3-none-any.whl#md5=7423e283e7c50979313f225065a5fea5 -homepage_url: https://aboutcode.org -license_expression: apache-2.0 -name: AboutCode toolkit -owner: nexB -owner_url: http://www.nexb.com/ -version: 3.2.1 -notes: this is not an official 3.2.1 build instead this is an advanced patch - from develop branch of aboutcode-toolkit at b9c1d985a96b6acb6fc52199050e75141bcbe12d diff --git a/thirdparty/afl-2.1.LICENSE b/thirdparty/afl-2.1.LICENSE deleted file mode 100644 index b9cd2f01..00000000 --- a/thirdparty/afl-2.1.LICENSE +++ /dev/null @@ -1,48 +0,0 @@ -The Academic Free License -v. 2.1 - -This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work: - -Licensed under the Academic Free License version 2.1 - -1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following: - -a) to reproduce the Original Work in copies; - -b) to prepare derivative works ("Derivative Works") based upon the Original Work; - -c) to distribute copies of the Original Work and Derivative Works to the public; - -d) to perform the Original Work publicly; and - -e) to display the Original Work publicly. - -2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works. - -3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work. - -4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license. - -5) This section intentionally omitted. - -6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. - -7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer. - -8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. - -9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions. - -10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. - -11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License. - -12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. - -13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. - -14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. - -This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner. \ No newline at end of file diff --git a/thirdparty/apache-2.0.LICENSE b/thirdparty/apache-2.0.LICENSE deleted file mode 100644 index f49a4e16..00000000 --- a/thirdparty/apache-2.0.LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/thirdparty/apipkg-1.5-py2.py3-none-any.whl b/thirdparty/apipkg-1.5-py2.py3-none-any.whl deleted file mode 100644 index 744c0706..00000000 Binary files a/thirdparty/apipkg-1.5-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/apipkg-1.5-py2.py3-none-any.whl.ABOUT b/thirdparty/apipkg-1.5-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 7f3c1f50..00000000 --- a/thirdparty/apipkg-1.5-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,21 +0,0 @@ -about_resource: apipkg-1.5-py2.py3-none-any.whl -name: apipkg -version: '1.5' -download_url: https://files.pythonhosted.org/packages/67/08/4815a09603fc800209431bec5b8bd2acf2f95abdfb558a44a42507fb94da/apipkg-1.5-py2.py3-none-any.whl -description: With apipkg you can control the exported namespace of a python package and greatly - reduce the number of imports for your users. -homepage_url: https://github.com/pytest-dev/apipkg -license_expression: mit -copyright: Copyright (c) Holger Krekel -notice_file: apipkg-1.5-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: pytest-dev -owner_url: https://github.com/pytest-dev -contact: pytest-dev@python.org -checksum_md5: 2eccec16980e44cc8051b63cddff2df0 -checksum_sha1: 1e0df1d216243e4cb8bffd21e7ab851d0a629c49 -package_url: pkg:pypi/apipkg@1.5 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/apipkg-1.5-py2.py3-none-any.whl.NOTICE b/thirdparty/apipkg-1.5-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 2a3a54d0..00000000 --- a/thirdparty/apipkg-1.5-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2009 Holger Krekel - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. \ No newline at end of file diff --git a/thirdparty/artistic-1.0.LICENSE b/thirdparty/artistic-1.0.LICENSE deleted file mode 100644 index 3565ea99..00000000 --- a/thirdparty/artistic-1.0.LICENSE +++ /dev/null @@ -1,47 +0,0 @@ -Preamble - -The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. - -Definitions: - -"Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. -"Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder. -"Copyright Holder" is whoever is named in the copyright or copyrights for the package. -"You" is you, if you're thinking about copying or distributing this Package. -"Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) -"Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. -1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. - -2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. - -3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: - -a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. - -b) use the modified Package only within your corporation or organization. - -c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. - -d) make other distribution arrangements with the Copyright Holder. - -4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: - -a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. - -b) accompany the distribution with the machine-readable source of the Package with your modifications. - -c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. - -d) make other distribution arrangements with the Copyright Holder. - -5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. - -6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package. - -7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package. - -8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. - -9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. - -The End \ No newline at end of file diff --git a/thirdparty/atomicwrites-1.3.0-py2.py3-none-any.whl b/thirdparty/atomicwrites-1.3.0-py2.py3-none-any.whl deleted file mode 100644 index 2e7b8146..00000000 Binary files a/thirdparty/atomicwrites-1.3.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/atomicwrites-1.3.0-py2.py3-none-any.whl.ABOUT b/thirdparty/atomicwrites-1.3.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 6bee281f..00000000 --- a/thirdparty/atomicwrites-1.3.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: atomicwrites-1.3.0-py2.py3-none-any.whl -name: atomicwrites -version: 1.3.0 -download_url: https://files.pythonhosted.org/packages/52/90/6155aa926f43f2b2a22b01be7241be3bfd1ceaf7d0b3267213e8127d41f4/atomicwrites-1.3.0-py2.py3-none-any.whl -description: Atomic file writes. -homepage_url: https://github.com/untitaker/python-atomicwrites -license_expression: mit -copyright: Copyright (c) Markus Unterwaditzer -notice_file: atomicwrites-1.3.0-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: Markus Unterwaditzer -vcs_repository: https://github.com/untitaker/python-atomicwrites -checksum_md5: 793e602b383d2f4a86d3c410053c0ccd -checksum_sha1: e0572a3957ffca523a22057db79cec4c4c3b9700 -package_url: pkg:pypi/atomicwrites@1.3.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/atomicwrites-1.3.0-py2.py3-none-any.whl.NOTICE b/thirdparty/atomicwrites-1.3.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 156f403b..00000000 --- a/thirdparty/atomicwrites-1.3.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Markus Unterwaditzer - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/thirdparty/attrs-19.1.0-py2.py3-none-any.whl b/thirdparty/attrs-19.1.0-py2.py3-none-any.whl deleted file mode 100644 index 716cdd40..00000000 Binary files a/thirdparty/attrs-19.1.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/attrs-19.1.0-py2.py3-none-any.whl.ABOUT b/thirdparty/attrs-19.1.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index d59fac28..00000000 --- a/thirdparty/attrs-19.1.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: attrs-19.1.0-py2.py3-none-any.whl -name: attrs -version: '19.1.0' -download_url: https://files.pythonhosted.org/packages/23/96/d828354fa2dbdf216eaa7b7de0db692f12c234f7ef888cc14980ef40d1d2/attrs-19.1.0-py2.py3-none-any.whl -description: | - attrs is the Python package that will bring back the joy of writing classes by relieving you from the drudgery of implementing object protocols (aka dunder methods). - - Its main goal is to help you to write concise and correct software without slowing down your code. -homepage_url: http://attrs.org -license_expression: mit -copyright: Copyright (c) Hynek Schlawack -notice_file: attrs-19.1.0-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: Hynek Schlawack -owner_url: http://attrs.org -checksum_md5: 853dff18dd0f6cf4e9abc357e9df6e17 -checksum_sha1: 3c51cf72c896083a04baf26a2e2f848ab8b2ac2b -package_url: pkg:pypi/attrs@19.1.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/attrs-19.1.0-py2.py3-none-any.whl.NOTICE b/thirdparty/attrs-19.1.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 7c3aee5d..00000000 --- a/thirdparty/attrs-19.1.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Hynek Schlawack - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/thirdparty/backports.csv-1.0.6-py2.py3-none-any.whl b/thirdparty/backports.csv-1.0.6-py2.py3-none-any.whl deleted file mode 100644 index 5d2dc9b1..00000000 Binary files a/thirdparty/backports.csv-1.0.6-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/backports.csv.ABOUT b/thirdparty/backports.csv.ABOUT deleted file mode 100644 index 8d76d1fb..00000000 --- a/thirdparty/backports.csv.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -about_resource: backports.csv-1.0.6-py2.py3-none-any.whl -version: 1.0.6 -download_url: https://files.pythonhosted.org/packages/71/f7/5db9136de67021a6dce4eefbe50d46aa043e59ebb11c83d4ecfeb47b686e/backports.csv-1.0.6-py2.py3-none-any.whl - -name: backports.csv -homepage_url: https://github.com/ryanhiebert/backports.csv -owner: Ryan Hiebert - -notes: backports.csv is a backport of the csv module from Python 3. - Because of this fact, it is released under the same license as Python. - -license: python -license_file: python.LICENSE - -vcs_url: git+https://github.com/ryanhiebert/backports.csv.git diff --git a/thirdparty/backports.functools_lru_cache-1.5-py2.py3-none-any.whl b/thirdparty/backports.functools_lru_cache-1.5-py2.py3-none-any.whl deleted file mode 100644 index 01bbd24a..00000000 Binary files a/thirdparty/backports.functools_lru_cache-1.5-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/backports.functools_lru_cache-1.5-py2.py3-none-any.whl.ABOUT b/thirdparty/backports.functools_lru_cache-1.5-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 4e1b0889..00000000 --- a/thirdparty/backports.functools_lru_cache-1.5-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -name: backports.functools_lru_cache -version: 1.5 -about_resource: backports.functools_lru_cache-1.5-py2.py3-none-any.whl -download_url: https://files.pythonhosted.org/packages/03/8e/2424c0e65c4a066e28f539364deee49b6451f8fcd4f718fefa50cc3dcf48/backports.functools_lru_cache-1.5-py2.py3-none-any.whl -license_expression: mit -copyright: Copyright (c) Jason R. Coombs -attribute: yes -checksum_md5: 5a93b4dac0cc414ceff28ff678713e31 -checksum_sha1: 6a06188cd4e155b036e44fd96f7928372620d7c2 -package_url: pkg:pypi/backports.functools-lru-cache@1.5 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/backports.os-0.1.1-py2-none-any.whl b/thirdparty/backports.os-0.1.1-py2-none-any.whl deleted file mode 100644 index 7fe9e12c..00000000 Binary files a/thirdparty/backports.os-0.1.1-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/backports.os-0.1.1-py2-none-any.whl.ABOUT b/thirdparty/backports.os-0.1.1-py2-none-any.whl.ABOUT deleted file mode 100644 index 4e669716..00000000 --- a/thirdparty/backports.os-0.1.1-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: backports.os-0.1.1-py2-none-any.whl -checksum_md5: 3b0fb0e5b3a149e5f81961e8e555f9ed -checksum_sha1: 8e5b77ccefb30d054d718091060d39542179de3d -copyright: |- - Copyright (c) Pi Delport, and Python Software Foundation - Copyright (c) 2010 Bob Ippolito -download_url: https://files.pythonhosted.org/packages/20/c2/193ff30cab747f205535a3a8c24fcc7647dbaf0aa667b7dd580a740b8de4/backports.os-0.1.1-py2-none-any.whl -homepage_url: https://github.com/pjdelport/backports.os -license_expression: python AND mit -notes: the invalid_utf8_indexes() helper is copied from Bob Ippolito pyutf8 package - (pyutf8/ref.py) and is MIT-licensed and originally from https://github.com/etrepum/pyutf8/blob/master/pyutf8/ref.py - -version: 0.1.1 -name: backports.os -license_file: - - backports.os.LICENSE - - python.LICENSE -owner: Pi Delport diff --git a/thirdparty/backports.os.LICENSE b/thirdparty/backports.os.LICENSE deleted file mode 100644 index 11ea7ab7..00000000 --- a/thirdparty/backports.os.LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) Pi Delport, and Python Software Foundation -Licensed under the Python license - -Also contains code: -Copyright (c) 2010 Bob Ippolito - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/thirdparty/banal-0.3.3-py2.py3-none-any.whl b/thirdparty/banal-0.3.3-py2.py3-none-any.whl deleted file mode 100644 index d064ded4..00000000 Binary files a/thirdparty/banal-0.3.3-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/banal-0.3.3-py2.py3-none-any.whl.ABOUT b/thirdparty/banal-0.3.3-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 51bf5530..00000000 --- a/thirdparty/banal-0.3.3-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -about_resource: banal-0.3.3-py2.py3-none-any.whl -checksum_md5: 1957f80d006cb498de5809ee4a42c36e -checksum_sha1: cbd94514af3374e625400ba1358bd21f8ef37d6e -contact: friedrich@pudo.org -copyright: Copyright (c) Friedrich Lindenberg -description: Commons of banal micro-functions for Python. -download_url: https://pypi.python.org/packages/99/6c/91f34b023f51598ad3f0f52e259ae59af0ef7e836d73abeca4ddf61e70ea/banal-0.3.3-py2.py3-none-any.whl -homepage_url: https://github.com/pudo/banal -license_expression: mit -name: banal -owner: Friedrich Lindenberg -owner_url: http://pudo.org/ -vcs_url: https://github.com/pudo/banal -version: 0.3.3 -license_file: mit.LICENSE diff --git a/thirdparty/beautifulsoup4-4.7.1-py2-none-any.whl b/thirdparty/beautifulsoup4-4.7.1-py2-none-any.whl deleted file mode 100644 index b3860664..00000000 Binary files a/thirdparty/beautifulsoup4-4.7.1-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/beautifulsoup4-4.7.1-py2-none-any.whl.ABOUT b/thirdparty/beautifulsoup4-4.7.1-py2-none-any.whl.ABOUT deleted file mode 100644 index 8a6082f1..00000000 --- a/thirdparty/beautifulsoup4-4.7.1-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,21 +0,0 @@ -about_resource: beautifulsoup4-4.7.1-py2-none-any.whl -name: beautifulsoup4 -version: 4.7.1 -download_url: https://files.pythonhosted.org/packages/8b/0e/048a2f88bc4be5e3697df9dc1f7b9d5c9c75be62676feeeb91d2e896c5ea/beautifulsoup4-4.7.1-py2-none-any.whl -description: Beautiful Soup parses anything you give it, and does the tree traversal stuff for - you. -homepage_url: http://www.crummy.com/software/BeautifulSoup/bs4 -license_expression: mit -copyright: | - Copyright (c) Leonard Richardson - Copyright (c) James Graham and other contributors -notice_file: beautifulsoup4-4.7.1-py2-none-any.whl.NOTICE -attribute: yes -owner: Beautiful Soup -checksum_md5: 5475bce6027c3d8450c8e28ef87e4ef5 -checksum_sha1: 1825c282bda94e7c34b4b8434b4e46404e99d24c -package_url: pkg:pypi/beautifulsoup4@4.7.1 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/beautifulsoup4-4.7.1-py2-none-any.whl.NOTICE b/thirdparty/beautifulsoup4-4.7.1-py2-none-any.whl.NOTICE deleted file mode 100644 index 8ece2eba..00000000 --- a/thirdparty/beautifulsoup4-4.7.1-py2-none-any.whl.NOTICE +++ /dev/null @@ -1,48 +0,0 @@ -Beautiful Soup is made available under the MIT license: - - Copyright (c) Leonard Richardson - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - -Beautiful Soup incorporates code from the html5lib library, which is -also made available under the MIT license. Copyright (c) 2006-2013 -James Graham and other contributors - -Copyright (c) 2006-2013 James Graham and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/beautifulsoup4-4.7.1-py3-none-any.whl b/thirdparty/beautifulsoup4-4.7.1-py3-none-any.whl deleted file mode 100644 index 268df07b..00000000 Binary files a/thirdparty/beautifulsoup4-4.7.1-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/beautifulsoup4-4.7.1-py3-none-any.whl.ABOUT b/thirdparty/beautifulsoup4-4.7.1-py3-none-any.whl.ABOUT deleted file mode 100644 index ab5180a8..00000000 --- a/thirdparty/beautifulsoup4-4.7.1-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,16 +0,0 @@ -name: beautifulsoup4 -version: 4.7.1 -about_resource: beautifulsoup4-4.7.1-py3-none-any.whl -download_url: https://files.pythonhosted.org/packages/1d/5d/3260694a59df0ec52f8b4883f5d23b130bc237602a1411fa670eae12351e/beautifulsoup4-4.7.1-py3-none-any.whl#sha256=034740f6cb549b4e932ae1ab975581e6103ac8f942200a0e9759065984391858 -license_expression: mit -copyright: | - Copyright (c) Leonard Richardson - Copyright (c) James Graham and other contributors - Copyright (c) Isaac Muse -attribute: yes -checksum_md5: d1d6d1be4f8080ce7e3406449ba541ce -checksum_sha1: e85fa7c27e4428a53f6dff7478d7c4263cfd9a11 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/beautifulsoup4.LICENSE b/thirdparty/beautifulsoup4.LICENSE deleted file mode 100644 index 33124522..00000000 --- a/thirdparty/beautifulsoup4.LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Beautiful Soup is made available under the MIT license: - - Copyright (c) 2004-2017 Leonard Richardson - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - -Beautiful Soup incorporates code from the html5lib library, which is -also made available under the MIT license. Copyright (c) 2006-2013 -James Graham and other contributors \ No newline at end of file diff --git a/thirdparty/binaryornot-0.4.4-py2.py3-none-any.whl b/thirdparty/binaryornot-0.4.4-py2.py3-none-any.whl deleted file mode 100644 index 14d5caf8..00000000 Binary files a/thirdparty/binaryornot-0.4.4-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/binaryornot-0.4.4-py2.py3-none-any.whl.ABOUT b/thirdparty/binaryornot-0.4.4-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index c03dc6dd..00000000 --- a/thirdparty/binaryornot-0.4.4-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,16 +0,0 @@ -about_resource: binaryornot-0.4.4-py2.py3-none-any.whl -checksum_md5: 7a69d00f3c384693c9616c3381c411a3 -checksum_sha1: 883e593d653c2af84fc1dc8f5f27aeb1ff590f76 -copyright: Copyright (c) Audrey Roy -description: Ultra-lightweight pure Python package to check if a file is binary or - text. -download_url: https://files.pythonhosted.org/packages/24/7e/f7b6f453e6481d1e233540262ccbfcf89adcd43606f44a028d7f5fae5eb2/binaryornot-0.4.4-py2.py3-none-any.whl -homepage_url: https://github.com/audreyr/binaryornot -license_expression: bsd-new -name: BinaryOrNot -license_file: binaryornot.LICENSE -notice_url: https://github.com/audreyr/binaryornot/blob/master/LICENSE -owner: Audrey Roy Greenfeld -owner_url: https://github.com/audreyr -vcs_url: https://github.com/audreyr/binaryornot.git -version: 0.4.4 \ No newline at end of file diff --git a/thirdparty/binaryornot.LICENSE b/thirdparty/binaryornot.LICENSE deleted file mode 100644 index 8f99afaa..00000000 --- a/thirdparty/binaryornot.LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2013, Audrey Roy -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of BinaryOrNot nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/bitarray-0.8.1-cp27-cp27m-linux_x86_64.whl b/thirdparty/bitarray-0.8.1-cp27-cp27m-linux_x86_64.whl deleted file mode 100644 index 5dc56f39..00000000 Binary files a/thirdparty/bitarray-0.8.1-cp27-cp27m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/bitarray-0.8.1-cp27-cp27m-macosx_10_9_intel.whl b/thirdparty/bitarray-0.8.1-cp27-cp27m-macosx_10_9_intel.whl deleted file mode 100644 index 170bd407..00000000 Binary files a/thirdparty/bitarray-0.8.1-cp27-cp27m-macosx_10_9_intel.whl and /dev/null differ diff --git a/thirdparty/bitarray-0.8.1-cp27-cp27m-macosx_10_9_intel.whl.ABOUT b/thirdparty/bitarray-0.8.1-cp27-cp27m-macosx_10_9_intel.whl.ABOUT deleted file mode 100644 index c75ea52f..00000000 --- a/thirdparty/bitarray-0.8.1-cp27-cp27m-macosx_10_9_intel.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: bitarray-0.8.1-cp27-cp27m-macosx_10_9_intel.whl -attribute: true -contact: ilanschnell@gmail.com -copyright: Copyright (c) Ilan Schnell and others -description: efficient arrays of booleans for Python -download_url: https://files.pythonhosted.org/packages/0a/da/9f61d28a20c42b4963334efacfd257c85150ede96d0cd2509b37da69da47/bitarray-0.8.1.tar.gz -homepage_url: https://github.com/ilanschnell/bitarray -license_expression: python -licenses: -- file: python.LICENSE - key: python - name: Python Software Foundation License v2 -name: BitArray-Python -notice_file: bitarray-0.8.1.tar.gz.NOTICE -owner: Ilan Schnell -owner_url: https://github.com/ilanschnell -track_changes: true -version: 0.8.1 diff --git a/thirdparty/bitarray-0.8.1-cp27-cp27m-win32.whl b/thirdparty/bitarray-0.8.1-cp27-cp27m-win32.whl deleted file mode 100644 index 2b34ebaa..00000000 Binary files a/thirdparty/bitarray-0.8.1-cp27-cp27m-win32.whl and /dev/null differ diff --git a/thirdparty/bitarray-0.8.1-cp27-cp27m-win32.whl.ABOUT b/thirdparty/bitarray-0.8.1-cp27-cp27m-win32.whl.ABOUT deleted file mode 100644 index ffc397db..00000000 --- a/thirdparty/bitarray-0.8.1-cp27-cp27m-win32.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: bitarray-0.8.1-cp27-cp27m-win32.whl -attribute: true -contact: ilanschnell@gmail.com -copyright: Copyright (c) Ilan Schnell and others -description: efficient arrays of booleans for Python -download_url: https://files.pythonhosted.org/packages/0a/da/9f61d28a20c42b4963334efacfd257c85150ede96d0cd2509b37da69da47/bitarray-0.8.1.tar.gz -homepage_url: https://github.com/ilanschnell/bitarray -license_expression: python -licenses: -- file: python.LICENSE - key: python - name: Python Software Foundation License v2 -name: BitArray-Python -notice_file: bitarray-0.8.1.tar.gz.NOTICE -owner: Ilan Schnell -owner_url: https://github.com/ilanschnell -track_changes: true -version: 0.8.1 diff --git a/thirdparty/bitarray-0.8.1-cp27-cp27m-win_amd64.whl b/thirdparty/bitarray-0.8.1-cp27-cp27m-win_amd64.whl deleted file mode 100644 index 661be0fd..00000000 Binary files a/thirdparty/bitarray-0.8.1-cp27-cp27m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/bitarray-0.8.1-cp27-cp27m-win_amd64.whl.ABOUT b/thirdparty/bitarray-0.8.1-cp27-cp27m-win_amd64.whl.ABOUT deleted file mode 100644 index a7790307..00000000 --- a/thirdparty/bitarray-0.8.1-cp27-cp27m-win_amd64.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: bitarray-0.8.1-cp27-cp27m-win_amd64.whl -attribute: true -contact: ilanschnell@gmail.com -copyright: Copyright (c) Ilan Schnell and others -description: efficient arrays of booleans for Python -download_url: https://files.pythonhosted.org/packages/0a/da/9f61d28a20c42b4963334efacfd257c85150ede96d0cd2509b37da69da47/bitarray-0.8.1.tar.gz -homepage_url: https://github.com/ilanschnell/bitarray -license_expression: python -licenses: -- file: python.LICENSE - key: python - name: Python Software Foundation License v2 -name: BitArray-Python -notice_file: bitarray-0.8.1.tar.gz.NOTICE -owner: Ilan Schnell -owner_url: https://github.com/ilanschnell -track_changes: true -version: 0.8.1 diff --git a/thirdparty/bitarray-0.8.1-cp27-cp27mu-manylinux1_x86_64.whl b/thirdparty/bitarray-0.8.1-cp27-cp27mu-manylinux1_x86_64.whl deleted file mode 100644 index 8fe7f5e4..00000000 Binary files a/thirdparty/bitarray-0.8.1-cp27-cp27mu-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/bitarray-0.8.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT b/thirdparty/bitarray-0.8.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT deleted file mode 100644 index d7c971b5..00000000 --- a/thirdparty/bitarray-0.8.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: bitarray-0.8.1-cp27-cp27mu-manylinux1_x86_64.whl -attribute: true -contact: ilanschnell@gmail.com -copyright: Copyright (c) Ilan Schnell and others -description: efficient arrays of booleans for Python -download_url: https://files.pythonhosted.org/packages/0a/da/9f61d28a20c42b4963334efacfd257c85150ede96d0cd2509b37da69da47/bitarray-0.8.1.tar.gz -homepage_url: https://github.com/ilanschnell/bitarray -license_expression: python -licenses: -- file: python.LICENSE - key: python - name: Python Software Foundation License v2 -name: BitArray-Python -notice_file: bitarray-0.8.1.tar.gz.NOTICE -owner: Ilan Schnell -owner_url: https://github.com/ilanschnell -track_changes: true -version: 0.8.1 diff --git a/thirdparty/bitarray-0.8.1-cp36-cp36m-linux_x86_64.whl b/thirdparty/bitarray-0.8.1-cp36-cp36m-linux_x86_64.whl deleted file mode 100644 index 7d07c7fa..00000000 Binary files a/thirdparty/bitarray-0.8.1-cp36-cp36m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/bitarray-0.8.1-cp36-cp36m-win32.whl b/thirdparty/bitarray-0.8.1-cp36-cp36m-win32.whl deleted file mode 100644 index 74cb9034..00000000 Binary files a/thirdparty/bitarray-0.8.1-cp36-cp36m-win32.whl and /dev/null differ diff --git a/thirdparty/bitarray-0.8.1.tar.gz b/thirdparty/bitarray-0.8.1.tar.gz deleted file mode 100644 index 911373ba..00000000 Binary files a/thirdparty/bitarray-0.8.1.tar.gz and /dev/null differ diff --git a/thirdparty/bitarray-0.8.1.tar.gz.ABOUT b/thirdparty/bitarray-0.8.1.tar.gz.ABOUT deleted file mode 100644 index 19c31b54..00000000 --- a/thirdparty/bitarray-0.8.1.tar.gz.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: bitarray-0.8.1.tar.gz -attribute: true -checksum_md5: 3825184f54f4d93508a28031b4c65d3b -checksum_sha1: cfdde3a6584eb5e94d479771644aa6ba9948310f -contact: ilanschnell@gmail.com -copyright: Copyright (c) Ilan Schnell and others -description: efficient arrays of booleans for Python -download_url: https://files.pythonhosted.org/packages/0a/da/9f61d28a20c42b4963334efacfd257c85150ede96d0cd2509b37da69da47/bitarray-0.8.1.tar.gz -homepage_url: https://github.com/ilanschnell/bitarray -license_expression: python -licenses: -- file: python.LICENSE - key: python - name: Python Software Foundation License v2 -name: BitArray-Python -notice_file: bitarray-0.8.1.tar.gz.NOTICE -owner: Ilan Schnell -owner_url: https://github.com/ilanschnell -track_changes: true -version: 0.8.1 diff --git a/thirdparty/bitarray-0.8.1.tar.gz.NOTICE b/thirdparty/bitarray-0.8.1.tar.gz.NOTICE deleted file mode 100644 index 9f45e931..00000000 --- a/thirdparty/bitarray-0.8.1.tar.gz.NOTICE +++ /dev/null @@ -1,4 +0,0 @@ -bitarray is written and maintained by -Ilan Schnell - -See the AUTHORS file for additional contributors. \ No newline at end of file diff --git a/thirdparty/boolean.py-3.6-py2.py3-none-any.whl b/thirdparty/boolean.py-3.6-py2.py3-none-any.whl deleted file mode 100644 index b1f55798..00000000 Binary files a/thirdparty/boolean.py-3.6-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/boolean.py-3.6-py2.py3-none-any.whl.ABOUT b/thirdparty/boolean.py-3.6-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index a0507008..00000000 --- a/thirdparty/boolean.py-3.6-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: boolean.py-3.6-py2.py3-none-any.whl -attribute: true -checksum_md5: da39999eb131b589e84ad935dc4ca642 -checksum_sha1: d31b55e7ad2ee917232b3213afe3ae9678156a9f -copyright: Copyright (c) 2009-2016 Sebastian Kraemer, basti.kr@gmail.com and others -description: Implements boolean algebra in one module. -download_url: https://files.pythonhosted.org/packages/9b/27/d22062a221010e17935237ba4b574cd828238ea02e0765337c238466a512/boolean.py-3.6-py2.py3-none-any.whl -homepage_url: https://github.com/bastikr/boolean.py -license_expression: bsd-simplified -licenses: -- file: bsd-simplified.LICENSE - key: bsd-simplified - name: BSD-2-Clause -name: boolean.py -notice_file: boolean.py-3.6-py2.py3-none-any.whl.NOTICE -notice_url: https://github.com/bastikr/boolean.py/blob/master/LICENSE.txt -owner: Sebastian Kraemer -version: '3.6' diff --git a/thirdparty/boolean.py-3.6-py2.py3-none-any.whl.NOTICE b/thirdparty/boolean.py-3.6-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index b1b5bb34..00000000 --- a/thirdparty/boolean.py-3.6-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2009-2017 Sebastian Kraemer, basti.kr@gmail.com -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/bsd-new.LICENSE b/thirdparty/bsd-new.LICENSE deleted file mode 100644 index 57326dd0..00000000 --- a/thirdparty/bsd-new.LICENSE +++ /dev/null @@ -1,9 +0,0 @@ -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/bsd-simplified.LICENSE b/thirdparty/bsd-simplified.LICENSE deleted file mode 100644 index 804725c7..00000000 --- a/thirdparty/bsd-simplified.LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/bumpversion-0.5.4.dev0-py2.py3-none-any.whl b/thirdparty/bumpversion-0.5.4.dev0-py2.py3-none-any.whl deleted file mode 100644 index 662ed1ef..00000000 Binary files a/thirdparty/bumpversion-0.5.4.dev0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/bumpversion.ABOUT b/thirdparty/bumpversion.ABOUT deleted file mode 100644 index 596177ef..00000000 --- a/thirdparty/bumpversion.ABOUT +++ /dev/null @@ -1,10 +0,0 @@ -about_resource: bumpversion-0.5.4.dev0-py2.py3-none-any.whl -download_url: https://github.com/peritus/bumpversion/archive/00d121468e7e753b8c05f256ea0cfb759b805226.zip -name: bumpversion -version: 0.5.4-dev (00d121468e7) -home_url: https://github.com/peritus/bumpversion -author: Filip Noetzel -author_email: filip+bumpversion@j03.de -license_expression: mit -notice_file: bumpversion.LICENSE -copyright: Copyright (C) 2013-2014 Filip Noetzel diff --git a/thirdparty/bumpversion.LICENSE b/thirdparty/bumpversion.LICENSE deleted file mode 100644 index d33900c5..00000000 --- a/thirdparty/bumpversion.LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (C) 2013-2014 Filip Noetzel - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/thirdparty/bz2file-0.98-py2-none-any.whl b/thirdparty/bz2file-0.98-py2-none-any.whl deleted file mode 100644 index 53364a0c..00000000 Binary files a/thirdparty/bz2file-0.98-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/bz2file-0.98-py2-none-any.whl.ABOUT b/thirdparty/bz2file-0.98-py2-none-any.whl.ABOUT deleted file mode 100644 index 3fa2c619..00000000 --- a/thirdparty/bz2file-0.98-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,21 +0,0 @@ -about_resource: bz2file-0.98-py2-none-any.whl -name: bz2file -version: '0.98' -download_url: https://pypi.python.org/packages/source/b/bz2file/bz2file-0.98.tar.gz#md5=27d6f711ae0db6cfd1eb37f95621dfb5 -description: Read and write bzip2-compressed files. -homepage_url: https://github.com/nvawda/bz2file -license_expression: apache-2.0 -copyright: Copyright (c) Nadeem Vawda -notice_file: bz2file-0.98-py2-none-any.whl.NOTICE -attribute: yes -track_changes: yes -owner: Nadeem Vawda -owner_url: https://github.com/nvawda -contact: nadeem.vawda@gmail.com -checksum_md5: 27d6f711ae0db6cfd1eb37f95621dfb5 -checksum_sha1: 46a66ab968518f258c4fd33f82c030659c910418 -package_url: pkg:pypi/bz2file@0.98 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/bz2file-0.98-py2-none-any.whl.NOTICE b/thirdparty/bz2file-0.98-py2-none-any.whl.NOTICE deleted file mode 100644 index 061ee451..00000000 --- a/thirdparty/bz2file-0.98-py2-none-any.whl.NOTICE +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) Nadeem Vawda \ No newline at end of file diff --git a/thirdparty/bz2file-0.98.tar.gz b/thirdparty/bz2file-0.98.tar.gz deleted file mode 100644 index 8f2e7f3a..00000000 Binary files a/thirdparty/bz2file-0.98.tar.gz and /dev/null differ diff --git a/thirdparty/bz2file-0.98.tar.gz.ABOUT b/thirdparty/bz2file-0.98.tar.gz.ABOUT deleted file mode 100644 index cac94152..00000000 --- a/thirdparty/bz2file-0.98.tar.gz.ABOUT +++ /dev/null @@ -1,21 +0,0 @@ -about_resource: bz2file-0.98.tar.gz -name: bz2file -version: '0.98' -download_url: https://files.pythonhosted.org/packages/61/39/122222b5e85cd41c391b68a99ee296584b2a2d1d233e7ee32b4532384f2d/bz2file-0.98.tar.gz -description: Read and write bzip2-compressed files. -homepage_url: https://github.com/nvawda/bz2file -license_expression: apache-2.0 -copyright: Copyright (c) Nadeem Vawda -notice_file: bz2file-0.98.tar.gz.NOTICE -attribute: yes -track_changes: yes -owner: Nadeem Vawda -owner_url: https://github.com/nvawda -contact: nadeem.vawda@gmail.com -checksum_md5: 27d6f711ae0db6cfd1eb37f95621dfb5 -checksum_sha1: 46a66ab968518f258c4fd33f82c030659c910418 -package_url: pkg:pypi/bz2file@0.98 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/bz2file-0.98.tar.gz.NOTICE b/thirdparty/bz2file-0.98.tar.gz.NOTICE deleted file mode 100644 index 061ee451..00000000 --- a/thirdparty/bz2file-0.98.tar.gz.NOTICE +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) Nadeem Vawda \ No newline at end of file diff --git a/thirdparty/certifi-2018.4.16-py2.py3-none-any.whl b/thirdparty/certifi-2018.4.16-py2.py3-none-any.whl deleted file mode 100644 index 37d13a39..00000000 Binary files a/thirdparty/certifi-2018.4.16-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/certifi-2018.4.16-py2.py3-none-any.whl.ABOUT b/thirdparty/certifi-2018.4.16-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index a37cc023..00000000 --- a/thirdparty/certifi-2018.4.16-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: certifi-2018.4.16-py2.py3-none-any.whl -checksum_md5: 8280b65d50546025140b542904e86c3b -checksum_sha1: 760c62185c36483f7f7b9db7788c699e9c735990 -contact: me@kennethreitz.com -copyright: Kenneth Reitz -description: Certifi is a carefully curated collection of Root Certificates for validating - the trustworthiness of SSL certificates while verifying the identity of TLS hosts. - It has been extracted from the Requests project. -download_url: https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl#sha256=9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0 -homepage_url: https://certifi.io/en/latest/ -license_expression: mpl-2.0 -name: certifi -notice_url: https://certifi.io/en/latest/ -notice_file: certifi-2018.4.16-py2.py3-none-any.whl.NOTICE -license_file: mpl-2.0.LICENSE -owner: Kenneth Reitz -owner_url: https://github.com/kennethreitz -version: 2018.4.16 diff --git a/thirdparty/certifi-2018.4.16-py2.py3-none-any.whl.NOTICE b/thirdparty/certifi-2018.4.16-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index c2fda9a2..00000000 --- a/thirdparty/certifi-2018.4.16-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,21 +0,0 @@ -This package contains a modified version of ca-bundle.crt: - -ca-bundle.crt -- Bundle of CA Root Certificates - -Certificate data from Mozilla as of: Thu Nov 3 19:04:19 2011# -This is a bundle of X.509 certificates of public Certificate Authorities -(CA). These were automatically extracted from Mozilla's root certificates -file (certdata.txt). This file can be found in the mozilla source tree: -http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1# -It contains the certificates in PEM format and therefore -can be directly used with curl / libcurl / php_curl, or with -an Apache+mod_ssl webserver for SSL client authentication. -Just configure this file as the SSLCACertificateFile.# - -***** BEGIN LICENSE BLOCK ***** -This Source Code Form is subject to the terms of the Mozilla Public License, -v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain -one at http://mozilla.org/MPL/2.0/. - -***** END LICENSE BLOCK ***** -@(#) $RCSfile: certdata.txt,v $ $Revision: 1.80 $ $Date: 2011/11/03 15:11:58 $ diff --git a/thirdparty/chardet-3.0.4-py2.py3-none-any.whl b/thirdparty/chardet-3.0.4-py2.py3-none-any.whl deleted file mode 100644 index d276977d..00000000 Binary files a/thirdparty/chardet-3.0.4-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/chardet-3.0.4-py2.py3-none-any.whl.ABOUT b/thirdparty/chardet-3.0.4-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index ebe87bd8..00000000 --- a/thirdparty/chardet-3.0.4-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,16 +0,0 @@ -about_resource: chardet-3.0.4-py2.py3-none-any.whl -checksum_md5: 0004b00caff7bb543a1d0d0bd0185a03 -checksum_sha1: 96faab7de7e9a71b37f22adb64daf2898e967e3e -copyright: Copyright (c) Mark Pilgrim, Netscape Communications Corporation, Dan Blanchard, - Ian Cordasco and others -description: Python 2/3 compatible character encoding detector. -download_url: https://pypi.python.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl#md5=0004b00caff7bb543a1d0d0bd0185a03 -homepage_url: https://github.com/chardet/chardet -license_expression: lgpl-2.1-plus -name: chardet -notice_url: https://github.com/chardet/chardet/blob/3.0.4/LICENSE -owner: chardet Project -owner_url: https://github.com/chardet -vcs_url: https://github.com/chardet/chardet.git -version: 3.0.4 -license_file: lgpl-2.1.LICENSE diff --git a/thirdparty/click-6.7-py2.py3-none-any.whl b/thirdparty/click-6.7-py2.py3-none-any.whl deleted file mode 100644 index 56c7ff34..00000000 Binary files a/thirdparty/click-6.7-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/click-6.7-py2.py3-none-any.whl.ABOUT b/thirdparty/click-6.7-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index dc3870c8..00000000 --- a/thirdparty/click-6.7-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,28 +0,0 @@ -about_resource: click-6.7-py2.py3-none-any.whl -name: click -version: '6.7' -download_url: https://pypi.python.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl#md5=5e7a4e296b3212da2ff11017675d7a4d -description: A simple wrapper around optparse for powerful command line utilities. -homepage_url: http://click.pocoo.org/ -notes: | - contact: armin.ronacher@active-4.com - vcs_tool: git - vcs_repository: https://github.com/pallets/click.git -license_expression: bsd-new AND python -copyright: Copyright (c) 2014 by Armin Ronacher. -notice_file: click-6.7-py2.py3-none-any.whl.NOTICE -attribute: yes -track_changes: yes -owner: Armin Ronacher -owner_url: http://lucumr.pocoo.org/about/ -contact: armin.ronacher@active-4.com -checksum_md5: 5e7a4e296b3212da2ff11017675d7a4d -checksum_sha1: 9490775172e63ba94233d4b201f0e8d78b0cd939 -package_url: pkg:pypi/click@6.7 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: python - name: Python Software Foundation License v2 - file: python.LICENSE diff --git a/thirdparty/click-6.7-py2.py3-none-any.whl.NOTICE b/thirdparty/click-6.7-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 012b628f..00000000 --- a/thirdparty/click-6.7-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,38 +0,0 @@ -Copyright (c) 2014 by Armin Ronacher. - -Click uses parts of optparse written by Gregory P. Ward and maintained by the -Python software foundation. This is limited to code in the parser.py -module: - -Copyright (c) 2001-2006 Gregory P. Ward. All rights reserved. -Copyright (c) 2002-2006 Python Software Foundation. All rights reserved. - -Some rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * The names of the contributors may not be used to endorse or - promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/codecov-2.0.15-py2.py3-none-any.whl b/thirdparty/codecov-2.0.15-py2.py3-none-any.whl deleted file mode 100644 index 06d57b3d..00000000 Binary files a/thirdparty/codecov-2.0.15-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/codecov-2.0.15-py2.py3-none-any.whl.ABOUT b/thirdparty/codecov-2.0.15-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 800a2fa9..00000000 --- a/thirdparty/codecov-2.0.15-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: codecov-2.0.15-py2.py3-none-any.whl -name: codecov-python -version: 2.0.15 -download_url: https://files.pythonhosted.org/packages/8b/28/4c1950a61c3c5786f0f34d643d0d28ec832433c9a7c0bd157690d4eb1d5f/codecov-2.0.15-py2.py3-none-any.whl -description: Python report uploader for Codecov https://codecov.io -homepage_url: https://github.com/codecov/codecov-python -license_expression: apache-2.0 -copyright: Copyright (c) codecov -notice_file: codecov-2.0.15-py2.py3-none-any.whl.NOTICE -attribute: yes -track_changes: yes -owner: codecov -owner_url: https://github.com/codecov -checksum_md5: e628ba7ec9edf77b39ac22823db5e14e -checksum_sha1: 4166b50d3765b3982adbf4b7c0b7ce0213a39c8b -package_url: pkg:pypi/codecov@2.0.15 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/codecov-2.0.15-py2.py3-none-any.whl.NOTICE b/thirdparty/codecov-2.0.15-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index b8e4df44..00000000 --- a/thirdparty/codecov-2.0.15-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) codecov \ No newline at end of file diff --git a/thirdparty/colorama-0.3.9-py2.py3-none-any.whl b/thirdparty/colorama-0.3.9-py2.py3-none-any.whl deleted file mode 100644 index 29b83f06..00000000 Binary files a/thirdparty/colorama-0.3.9-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/colorama.ABOUT b/thirdparty/colorama.ABOUT deleted file mode 100644 index b5bdff9a..00000000 --- a/thirdparty/colorama.ABOUT +++ /dev/null @@ -1,12 +0,0 @@ -about_resource: colorama-0.3.9-py2.py3-none-any.whl -download_url: https://pypi.python.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl#md5=cc0c01c7b3b34d0354d813e9ab26aca3 -version: 0.3.9 - -name: colorama -description: Cross-platform colored terminal text -home_url: https://pypi.python.org/pypi/colorama -owner: Jonathan Hartley -license_expression: bds-new -keywords: color colour terminal text ansi windows crossplatform xplatform -license_file: colorama.LICENSE -copyright: Copyright (c) 2010 Jonathan Hartley \ No newline at end of file diff --git a/thirdparty/colorama.LICENSE b/thirdparty/colorama.LICENSE deleted file mode 100644 index 5f567799..00000000 --- a/thirdparty/colorama.LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2010 Jonathan Hartley -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holders, nor those of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/thirdparty/configparser-3.7.4-py2.py3-none-any.whl b/thirdparty/configparser-3.7.4-py2.py3-none-any.whl deleted file mode 100644 index 546907a5..00000000 Binary files a/thirdparty/configparser-3.7.4-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/configparser-3.7.4-py2.py3-none-any.whl.ABOUT b/thirdparty/configparser-3.7.4-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 8e475e4b..00000000 --- a/thirdparty/configparser-3.7.4-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: configparser-3.7.4-py2.py3-none-any.whl -name: configparser -version: 3.7.4 -download_url: https://files.pythonhosted.org/packages/ba/05/6c96328e92e625fc31445d24d75a2c92ef9ba34fc5b037fe69693c362a0d/configparser-3.7.4-py2.py3-none-any.whl -homepage_url: https://github.com/jaraco/configparser/ -license_expression: mit -copyright: Copyright Jason R. Coombs -attribute: yes -owner: Jason R. Coombs -vcs_repository: https://github.com/jaraco/configparser/ -checksum_md5: 322d8fc6a3c64445d85cf10c4ec8c423 -checksum_sha1: de909ae6b94927853eff742a6cb0c979667c2fc9 -package_url: pkg:pypi/configparser@3.7.4 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/contextlib2-0.5.5-py2.py3-none-any.whl b/thirdparty/contextlib2-0.5.5-py2.py3-none-any.whl deleted file mode 100644 index 13e5ae39..00000000 Binary files a/thirdparty/contextlib2-0.5.5-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/contextlib2.ABOUT b/thirdparty/contextlib2.ABOUT deleted file mode 100644 index bb74056a..00000000 --- a/thirdparty/contextlib2.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: contextlib2-0.5.5-py2.py3-none-any.whl -version: 0.5.5 - -download_url: https://pypi.python.org/packages/a2/71/8273a7eeed0aff6a854237ab5453bc9aa67deb49df4832801c21f0ff3782/contextlib2-0.5.5-py2.py3-none-any.whl - -name: contextlib2 -home_url: https://github.com/ncoghlan/contextlib2 -owner: Nick Goghlan - -license_expression: python -license_file: contextlib2.LICENSE -copyright: Copyright (c) Python contributors - -vcs_url: git+https://github.com/ncoghlan/contextlib2.git diff --git a/thirdparty/contextlib2.LICENSE b/thirdparty/contextlib2.LICENSE deleted file mode 100644 index 5de20277..00000000 --- a/thirdparty/contextlib2.LICENSE +++ /dev/null @@ -1,122 +0,0 @@ - - -A. HISTORY OF THE SOFTWARE -========================== - -contextlib2 is a derivative of the contextlib module distributed by the PSF -as part of the Python standard library. According, it is itself redistributed -under the PSF license (reproduced in full below). As the contextlib module -was added only in Python 2.5, the licenses for earlier Python versions are -not applicable and have not been included. - -Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands -as a successor of a language called ABC. Guido remains Python's -principal author, although it includes many contributions from others. - -In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) -in Reston, Virginia where he released several versions of the -software. - -In May 2000, Guido and the Python core development team moved to -BeOpen.com to form the BeOpen PythonLabs team. In October of the same -year, the PythonLabs team moved to Digital Creations (now Zope -Corporation, see http://www.zope.com). In 2001, the Python Software -Foundation (PSF, see http://www.python.org/psf/) was formed, a -non-profit organization created specifically to own Python-related -Intellectual Property. Zope Corporation is a sponsoring member of -the PSF. - -All Python releases are Open Source (see http://www.opensource.org for -the Open Source Definition). Historically, most, but not all, Python -releases have also been GPL-compatible; the table below summarizes -the various releases that included the contextlib module. - - Release Derived Year Owner GPL- - from compatible? (1) - - 2.5 2.4 2006 PSF yes - 2.5.1 2.5 2007 PSF yes - 2.5.2 2.5.1 2008 PSF yes - 2.5.3 2.5.2 2008 PSF yes - 2.6 2.5 2008 PSF yes - 2.6.1 2.6 2008 PSF yes - 2.6.2 2.6.1 2009 PSF yes - 2.6.3 2.6.2 2009 PSF yes - 2.6.4 2.6.3 2009 PSF yes - 2.6.5 2.6.4 2010 PSF yes - 3.0 2.6 2008 PSF yes - 3.0.1 3.0 2009 PSF yes - 3.1 3.0.1 2009 PSF yes - 3.1.1 3.1 2009 PSF yes - 3.1.2 3.1.1 2010 PSF yes - 3.1.3 3.1.2 2010 PSF yes - 3.1.4 3.1.3 2011 PSF yes - 3.2 3.1 2011 PSF yes - 3.2.1 3.2 2011 PSF yes - 3.2.2 3.2.1 2011 PSF yes - 3.3 3.2 2012 PSF yes - -Footnotes: - -(1) GPL-compatible doesn't mean that we're distributing Python under - the GPL. All Python licenses, unlike the GPL, let you distribute - a modified version without making your changes open source. The - GPL-compatible licenses make it possible to combine Python with - other software that is released under the GPL; the others don't. - -Thanks to the many outside volunteers who have worked under Guido's -direction to make these releases possible. - - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON -=============================================================== - -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -2011 Python Software Foundation; All Rights Reserved" are retained in Python -alone or in any derivative version prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. diff --git a/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_10_x86_64.whl b/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_10_x86_64.whl deleted file mode 100644 index cf239055..00000000 Binary files a/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_10_x86_64.whl and /dev/null differ diff --git a/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_10_x86_64.whl.ABOUT b/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_10_x86_64.whl.ABOUT deleted file mode 100644 index c2ee56ba..00000000 --- a/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_10_x86_64.whl.ABOUT +++ /dev/null @@ -1,11 +0,0 @@ -about_resource: coverage-4.4.1-cp27-cp27m-macosx_10_10_x86_64.whl - -download_url: https://pypi.python.org/packages/36/db/690ee79312bb60f121c0da1c973856ddb751afe09cc10caec1452208eaf4/coverage-4.4.1.tar.gz#md5=4c4d997cb32be4703f1fde54e6cd1b1c -version: 4.4.1 - -name: coverage -home_url: https://coverage.readthedocs.io -owner: Ned Batchelder and others -license_expression: apache-2.0 -license_file: apache-2.0.LICENSE -copyright: Copyright (c) Ned Batchelder and others diff --git a/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_12_intel.whl b/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_12_intel.whl deleted file mode 100644 index a363dd97..00000000 Binary files a/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_12_intel.whl and /dev/null differ diff --git a/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_12_intel.whl.ABOUT b/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_12_intel.whl.ABOUT deleted file mode 100644 index ba7d89f2..00000000 --- a/thirdparty/coverage-4.4.1-cp27-cp27m-macosx_10_12_intel.whl.ABOUT +++ /dev/null @@ -1,10 +0,0 @@ -about_resource: coverage-4.4.1-cp27-cp27m-macosx_10_12_intel.whl -download_url: https://pypi.python.org/packages/27/7d/a4c959bd6086f3d45cedbf2b7952f3dbbced42ad30e4079eeebb43e7061f/coverage-4.4.1-cp27-cp27m-macosx_10_12_intel.whl#md5=428602de590d0cb945be2f0ea089c686 -version: 4.4.1 - -name: coverage -home_url: https://coverage.readthedocs.io -owner: Ned Batchelder and others -license_expression: apache-2.0 -license_file: apache-2.0.LICENSE -copyright: Copyright (c) Ned Batchelder and others diff --git a/thirdparty/coverage-4.4.1-cp27-cp27m-win32.whl b/thirdparty/coverage-4.4.1-cp27-cp27m-win32.whl deleted file mode 100644 index af1558df..00000000 Binary files a/thirdparty/coverage-4.4.1-cp27-cp27m-win32.whl and /dev/null differ diff --git a/thirdparty/coverage-4.4.1-cp27-cp27m-win32.whl.ABOUT b/thirdparty/coverage-4.4.1-cp27-cp27m-win32.whl.ABOUT deleted file mode 100644 index e5d07931..00000000 --- a/thirdparty/coverage-4.4.1-cp27-cp27m-win32.whl.ABOUT +++ /dev/null @@ -1,11 +0,0 @@ -about_resource: coverage-4.4.1-cp27-cp27m-win32.whl - -download_url: https://pypi.python.org/packages/8d/3d/a76fda010c7a51273b772852187fcb5acb586f1bc1fcc980d3f82c751fd8/coverage-4.4.1-cp27-cp27m-win32.whl#md5=d221d8fe692e27f24d630ace89d6e6c6 -version: 4.4.1 - -name: coverage -home_url: https://coverage.readthedocs.io -owner: Ned Batchelder and others -license_expression: apache-2.0 -license_file: apache-2.0.LICENSE -copyright: Copyright (c) Ned Batchelder and others diff --git a/thirdparty/coverage-4.4.1-cp27-cp27m-win_amd64.whl b/thirdparty/coverage-4.4.1-cp27-cp27m-win_amd64.whl deleted file mode 100644 index 88a29acb..00000000 Binary files a/thirdparty/coverage-4.4.1-cp27-cp27m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/coverage-4.4.1-cp27-cp27m-win_amd64.whl.ABOUT b/thirdparty/coverage-4.4.1-cp27-cp27m-win_amd64.whl.ABOUT deleted file mode 100644 index ce0b68f3..00000000 --- a/thirdparty/coverage-4.4.1-cp27-cp27m-win_amd64.whl.ABOUT +++ /dev/null @@ -1,11 +0,0 @@ -about_resource: coverage-4.4.1-cp27-cp27m-win_amd64.whl - -download_url: https://pypi.python.org/packages/71/1f/a6c61366e325756f7573c678696586199209e2bb013e946aa33cf66abe93/coverage-4.4.1-cp27-cp27m-win_amd64.whl#md5=dd3f4464ae70cf4881b548d28530721d -version: 4.4.1 - -name: coverage -home_url: https://coverage.readthedocs.io -owner: Ned Batchelder and others -license_expression: apache-2.0 -license_file: apache-2.0.LICENSE -copyright: Copyright (c) Ned Batchelder and others diff --git a/thirdparty/coverage-4.4.1-cp27-cp27mu-manylinux1_x86_64.whl b/thirdparty/coverage-4.4.1-cp27-cp27mu-manylinux1_x86_64.whl deleted file mode 100644 index 48529e01..00000000 Binary files a/thirdparty/coverage-4.4.1-cp27-cp27mu-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/coverage-4.4.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT b/thirdparty/coverage-4.4.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT deleted file mode 100644 index 4a5348f5..00000000 --- a/thirdparty/coverage-4.4.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT +++ /dev/null @@ -1,11 +0,0 @@ -about_resource: coverage-4.4.1-cp27-cp27mu-manylinux1_x86_64.whl - -download_url: https://pypi.python.org/packages/0c/1e/e6184bd25266554d1443393b36163680689e988266550f4560d16e814ba2/coverage-4.4.1-cp27-cp27mu-manylinux1_x86_64.whl -version: 4.4.1 - -name: coverage -home_url: https://coverage.readthedocs.io -owner: Ned Batchelder and others -license_expression: apache-2.0 -license_file: apache-2.0.LICENSE -copyright: Copyright (c) Ned Batchelder and others diff --git a/thirdparty/coverage-4.4.1-py3-none-any.whl b/thirdparty/coverage-4.4.1-py3-none-any.whl deleted file mode 100644 index 7a4f60b9..00000000 Binary files a/thirdparty/coverage-4.4.1-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/coverage-4.4.1.tar.gz b/thirdparty/coverage-4.4.1.tar.gz deleted file mode 100644 index f753db75..00000000 Binary files a/thirdparty/coverage-4.4.1.tar.gz and /dev/null differ diff --git a/thirdparty/coverage-4.4.1.tar.gz.ABOUT b/thirdparty/coverage-4.4.1.tar.gz.ABOUT deleted file mode 100644 index f0cbc2f7..00000000 --- a/thirdparty/coverage-4.4.1.tar.gz.ABOUT +++ /dev/null @@ -1,11 +0,0 @@ -about_resource: coverage-4.4.1.tar.gz - -download_url: https://pypi.python.org/packages/36/db/690ee79312bb60f121c0da1c973856ddb751afe09cc10caec1452208eaf4/coverage-4.4.1.tar.gz#md5=4c4d997cb32be4703f1fde54e6cd1b1c -version: 4.4.1 - -name: coverage -home_url: https://coverage.readthedocs.io -owner: Ned Batchelder and others -license_expression: apache-2.0 -license_file: apache-2.0.LICENSE -copyright: Copyright (c) Ned Batchelder and others diff --git a/thirdparty/dparse-0.4.1-cp36-none-any.whl b/thirdparty/dparse-0.4.1-cp36-none-any.whl deleted file mode 100644 index ade4c2e0..00000000 Binary files a/thirdparty/dparse-0.4.1-cp36-none-any.whl and /dev/null differ diff --git a/thirdparty/dparse-0.4.1-py2-none-any.whl b/thirdparty/dparse-0.4.1-py2-none-any.whl deleted file mode 100644 index 8494e7b7..00000000 Binary files a/thirdparty/dparse-0.4.1-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/dparse-0.4.1-py2-none-any.whl.ABOUT b/thirdparty/dparse-0.4.1-py2-none-any.whl.ABOUT deleted file mode 100644 index 89b605f4..00000000 --- a/thirdparty/dparse-0.4.1-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,11 +0,0 @@ -about_resource: dparse-0.4.1-py2-none-any.whl -copyright: Copyright (c) 2017, Jannis Gebauer -description: A parser for Python dependency files -download_url: https://files.pythonhosted.org/packages/8b/47/15ed57610527be03bd9a3f0853bc5a22f87f6e80cbe59a2608b30f19ed78/dparse-0.4.1-py2-none-any.whl -homepage_url: https://github.com/pyupio/dparse -license_expression: mit -license_file: dparse-0.4.1-py2-none-any.whl.LICENSE -name: dparse -owner: Jannis Gebauer -vcs_url: https://github.com/pyupio/dparse -version: 0.4.1 diff --git a/thirdparty/dparse-0.4.1-py2-none-any.whl.LICENSE b/thirdparty/dparse-0.4.1-py2-none-any.whl.LICENSE deleted file mode 100644 index 49d08568..00000000 --- a/thirdparty/dparse-0.4.1-py2-none-any.whl.LICENSE +++ /dev/null @@ -1,11 +0,0 @@ - -MIT License - -Copyright (c) 2017, Jannis Gebauer - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/thirdparty/dparse-0.4.1.tar.gz b/thirdparty/dparse-0.4.1.tar.gz deleted file mode 100644 index 28e07a6b..00000000 Binary files a/thirdparty/dparse-0.4.1.tar.gz and /dev/null differ diff --git a/thirdparty/execnet-1.6.0-py2.py3-none-any.whl b/thirdparty/execnet-1.6.0-py2.py3-none-any.whl deleted file mode 100644 index 07a51f24..00000000 Binary files a/thirdparty/execnet-1.6.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/execnet-1.6.0-py2.py3-none-any.whl.ABOUT b/thirdparty/execnet-1.6.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index ae94957e..00000000 --- a/thirdparty/execnet-1.6.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: execnet-1.6.0-py2.py3-none-any.whl -name: execnet -version: 1.6.0 -download_url: https://files.pythonhosted.org/packages/77/1a/f69e1f73bc36f55d3273afd1c52936def71ac67d9c5215be3a4ca3a45577/execnet-1.6.0-py2.py3-none-any.whl -description: 'execnet: rapid multi-Python deployment' -homepage_url: http://codespeak.net/execnet -license_expression: mit -copyright: Copyright Holger Krekel and others -notice_file: execnet-1.6.0-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: pytest-dev -owner_url: https://github.com/pytest-dev -contact: pytest-dev@python.org -checksum_md5: 8bda66e49e90be76b5c965a993a10b90 -checksum_sha1: 815af8cee0288c4b212f7e62e9125b463e5517d1 -package_url: pkg:pypi/execnet@1.6.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/execnet-1.6.0-py2.py3-none-any.whl.NOTICE b/thirdparty/execnet-1.6.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 076a15ca..00000000 --- a/thirdparty/execnet-1.6.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright Holger Krekel and others - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. \ No newline at end of file diff --git a/thirdparty/extractcode_7z-9.38.1-py2.py3-none-win32.whl b/thirdparty/extractcode_7z-9.38.1-py2.py3-none-win32.whl deleted file mode 100644 index ee30ffd7..00000000 Binary files a/thirdparty/extractcode_7z-9.38.1-py2.py3-none-win32.whl and /dev/null differ diff --git a/thirdparty/extractcode_7z-9.38.1-py2.py3-none-win_amd64.whl b/thirdparty/extractcode_7z-9.38.1-py2.py3-none-win_amd64.whl deleted file mode 100644 index 06cac9d1..00000000 Binary files a/thirdparty/extractcode_7z-9.38.1-py2.py3-none-win_amd64.whl and /dev/null differ diff --git a/thirdparty/extractcode_7z-9.38.2-py2.py3-none-macosx_10_9_intel.whl b/thirdparty/extractcode_7z-9.38.2-py2.py3-none-macosx_10_9_intel.whl deleted file mode 100644 index 113422f4..00000000 Binary files a/thirdparty/extractcode_7z-9.38.2-py2.py3-none-macosx_10_9_intel.whl and /dev/null differ diff --git a/thirdparty/extractcode_7z-9.38.2-py2.py3-none-manylinux1_x86_64.whl b/thirdparty/extractcode_7z-9.38.2-py2.py3-none-manylinux1_x86_64.whl deleted file mode 100644 index 6d88d87a..00000000 Binary files a/thirdparty/extractcode_7z-9.38.2-py2.py3-none-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-macosx_10_9_intel.whl b/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-macosx_10_9_intel.whl deleted file mode 100644 index 9e6b4a3a..00000000 Binary files a/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-macosx_10_9_intel.whl and /dev/null differ diff --git a/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-manylinux1_x86_64.whl b/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-manylinux1_x86_64.whl deleted file mode 100644 index e09659af..00000000 Binary files a/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-win32.whl b/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-win32.whl deleted file mode 100644 index c957dca0..00000000 Binary files a/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-win32.whl and /dev/null differ diff --git a/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-win_amd64.whl b/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-win_amd64.whl deleted file mode 100644 index e55bbf87..00000000 Binary files a/thirdparty/extractcode_libarchive-3.1.3-py2.py3-none-win_amd64.whl and /dev/null differ diff --git a/thirdparty/fingerprints-0.5.4-py2.py3-none-any.whl b/thirdparty/fingerprints-0.5.4-py2.py3-none-any.whl deleted file mode 100644 index 607fe976..00000000 Binary files a/thirdparty/fingerprints-0.5.4-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/fingerprints-0.5.4-py2.py3-none-any.whl.ABOUT b/thirdparty/fingerprints-0.5.4-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 201be4e8..00000000 --- a/thirdparty/fingerprints-0.5.4-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,16 +0,0 @@ -about_resource: fingerprints-0.5.4-py2.py3-none-any.whl -checksum_md5: fa664311da8cb30cb2db5362645a199f -checksum_sha1: c42267488215f75da1dfd42bc04118e1fecf45c5 -copyright: Copyright (c) 2018 Journalism Development Network, Inc. - Copyright (c) 2016 Friedrich Lindenberg -description: Make it easier to compare and cross-reference the names of companies - and people by applying strong normalisation. -download_url: https://pypi.python.org/packages/93/4a/dace9645dc77040fa16b6b26bad78e0f8a5ff6c124da7eac1609e9dbb850/fingerprints-0.5.4-py2.py3-none-any.whl -homepage_url: https://github.com/alephdata/fingerprints -license_expression: mit -name: fingerprints -owner: Journalism Development Network, Inc. -owner_url: https://www.occrp.org/en/jdn -vcs_url: https://github.com/alephdata/fingerprints -version: 0.5.4 -license_file: fingerprints.LICENSE diff --git a/thirdparty/fingerprints.LICENSE b/thirdparty/fingerprints.LICENSE deleted file mode 100644 index 7e19ab70..00000000 --- a/thirdparty/fingerprints.LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2018 Journalism Development Network, Inc. -Copyright (c) 2016 Friedrich Lindenberg - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/thirdparty/ftfy-4.4.3-py2-none-any.whl b/thirdparty/ftfy-4.4.3-py2-none-any.whl deleted file mode 100644 index 8da4cf0f..00000000 Binary files a/thirdparty/ftfy-4.4.3-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/ftfy-4.4.3.tar.gz.ABOUT b/thirdparty/ftfy-4.4.3.tar.gz.ABOUT deleted file mode 100644 index c70a928c..00000000 --- a/thirdparty/ftfy-4.4.3.tar.gz.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -name: ftfy -version: 4.4.3 -about_resource: ftfy-4.4.3.tar.gz -download_url: https://files.pythonhosted.org/packages/21/5d/9385540977b00df1f3a0c0f07b7e6c15b5e7a3109d7f6ae78a0a764dab22/ftfy-4.4.3.tar.gz -license_expression: mit -copyright: Copyright (c) Rob Speer (rob@luminoso.com) -attribute: yes -checksum_md5: 9b5cf81002f0a385526f209bd5e39005 -checksum_sha1: 5afd8f328ca1870a6423dc1540b477a64fb92bc8 -package_url: pkg:pypi/ftfy@4.4.3 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/ftfy-5.5.1-py3-none-any.whl b/thirdparty/ftfy-5.5.1-py3-none-any.whl deleted file mode 100644 index c15b09cc..00000000 Binary files a/thirdparty/ftfy-5.5.1-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/ftfy-5.5.1-py3-none-any.whl.ABOUT b/thirdparty/ftfy-5.5.1-py3-none-any.whl.ABOUT deleted file mode 100644 index 8d89b047..00000000 --- a/thirdparty/ftfy-5.5.1-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -name: ftfy -version: 5.5.1 -about_resource: ftfy-5.5.1-py3-none-any.whl -download_url: https://files.pythonhosted.org/packages/8f/86/df789c5834f15ae1ca53a8d4c1fc4788676c2e32112f6a786f2625d9c6e6/ftfy-5.5.1-py3-none-any.whl -license_expression: mit -copyright: Copyright (c) Robyn Speer (rspeer@luminoso.com) -attribute: yes -checksum_md5: 9b9716f707a0984f97f61569831da556 -checksum_sha1: 4b7a7c9bb0f5f3f2d9e1dd8564ea1e2681df815e -package_url: pkg:pypi/ftfy@5.5.1 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/funcsigs-1.0.2-py2.py3-none-any.whl b/thirdparty/funcsigs-1.0.2-py2.py3-none-any.whl deleted file mode 100644 index ec5973f4..00000000 Binary files a/thirdparty/funcsigs-1.0.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/funcsigs-1.0.2-py2.py3-none-any.whl.ABOUT b/thirdparty/funcsigs-1.0.2-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 712c4985..00000000 --- a/thirdparty/funcsigs-1.0.2-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,23 +0,0 @@ -about_resource: funcsigs-1.0.2-py2.py3-none-any.whl -attribute: true -checksum_md5: 701d58358171f34b6d1197de2923a35a -checksum_sha1: 8a601c541be194ae91f7b70075aa67d2a678ddbd -copyright: Copyright 2013 Aaron Iles -description: funcsigs is a backport of the PEP 362 function signature features from - Python 3.3's inspect module. The backport is compatible with Python 2.6, 2.7 as - well as 3.3 and up. 3.2 was supported by version 0.4, but with setuptools and - pip no longer supporting 3.2, we cannot make any statement about 3.2 compatibility. -download_url: https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl -homepage_url: http://funcsigs.readthedocs.org/ -license_expression: apache-2.0 -licenses: -- file: apache-2.0.LICENSE - key: apache-2.0 - name: Apache License 2.0 -name: funcsigs -notice_file: funcsigs-1.0.2-py2.py3-none-any.whl.NOTICE -notice_url: https://github.com/testing-cabal/funcsigs/blob/master/LICENSE -owner: testing-cabal -owner_url: https://github.com/testing-cabal -track_changes: true -version: 1.0.2 diff --git a/thirdparty/funcsigs-1.0.2-py2.py3-none-any.whl.NOTICE b/thirdparty/funcsigs-1.0.2-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 4906f96a..00000000 --- a/thirdparty/funcsigs-1.0.2-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2013 Aaron Iles - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file diff --git a/thirdparty/future-0.16.0-cp36-none-any.whl b/thirdparty/future-0.16.0-cp36-none-any.whl deleted file mode 100644 index f42e4f96..00000000 Binary files a/thirdparty/future-0.16.0-cp36-none-any.whl and /dev/null differ diff --git a/thirdparty/future-0.16.0-py2-none-any.whl b/thirdparty/future-0.16.0-py2-none-any.whl deleted file mode 100644 index 9fc39765..00000000 Binary files a/thirdparty/future-0.16.0-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/future-0.16.0-py2-none-any.whl.ABOUT b/thirdparty/future-0.16.0-py2-none-any.whl.ABOUT deleted file mode 100644 index f3ec8c3e..00000000 --- a/thirdparty/future-0.16.0-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,75 +0,0 @@ -about_resource: future-0.16.0-py2-none-any.whl - -attribute: true - -copyright: | - Copyright (c) 2013-2016 Python Charmers Pty Ltd, Australia - Copyright: (c) 2013-2016, Ed Schofield - Copyright (c) Python Software Foundation and contributors (multiple backports) - Copyright (c) Jack Diederich (2to3 fixers) - Copyright (c) Daniel Neuhäuser (2to3 fixers) - Copyright (c) 2013 Damian Avila (2to3 fixers) - Copyright (c) 2010 Armin Ronacher (Flask and 2to3 fixers) - Copyright (c) Armin Ronacher (python modernize https://github.com/python-modernize/python-modernize ) - Copyright (c) 2011 Ryan Kelly (magicsuper backport https://github.com/rfk/magicsuper) - Copyright (c) Dan Crosta (xrange https://github.com/dcrosta/xrange) - Copyright (c) 2006 Google, Inc. (lib2to3, part of the Python standard library) - Copyright (c) 2009-2010 Joseph Amenta (lib3to2 (which includes part of lib2to3 https://bitbucket.org/amentajo/lib3to2/) - Copyright (c) Django Software Foundation and individual contributors. (https://github.com/django/django/ - Copyright (c) 2009 Jinja Team. (https://github.com/pallets/jinja) - Copyright (c) 2010-2017 Benjamin Peterson (https://github.com/benjaminp/six) - Copyright (c) Jeff Tratner (raise_with_traceback and _raise https://github.com/PythonCharmers/python-future/commits?author=jtratner - Copyright (c) Varriount https://github.com/Varriount - Copyright (c) 2012 Vinay Sajip (https://bitbucket.org/vinay.sajip/uprefix/) - Copyright (c) IPython Development Team. (https://ipython.org/) - Copyright (c) 2000 Luke Kenneth Casson Leighton - Copyright (c) 1999-2002 Secret Labs AB. Copyright (c) 1999-2002 by Fredrik Lundh." - Copyright (c) 2000 Timothy O'Malley - Copyright (c) 2000 Bastian Kleineidam (robotparser) - Copyright (c) 2015 Association of Universities for Research in Astronomy (AURA) - Copyright (c) Victor Stinner (surrogateescape) - Copyright (c) Raymond Hettinger (ordereddict, counter) - Copyright (c) Benjamin Peterson (pandas comapt) - -description: python-future is the missing compatibility layer between Python 2 and - Python 3. It allows you to use a single, clean Python 3.x-compatible codebase - to support both Python 2 and Python 3 with minimal overhead. -download_url: https://pypi.python.org/packages/00/2b/8d082ddfed935f3608cc61140df6dcbf0edea1bc3ab52fb6c29ae3e81e85/future-0.16.0.tar.gz#md5=3e8e88a2bda48d54b1da7634d04760d7 -homepage_url: http://python-future.org/ -license_expression: mit AND bsd-new AND python AND apache-2.0 AND bsd-simplified AND - historical AND public-domain AND (python OR gpl-2.0) -licenses: -- file: apache-2.0.LICENSE - key: apache-2.0 - name: Apache License 2.0 -- file: bsd-simplified.LICENSE - key: bsd-simplified - name: BSD-2-Clause -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -- file: gpl-2.0.LICENSE - key: gpl-2.0 - name: GNU General Public License 2.0 -- file: historical.LICENSE - key: historical - name: Historical Permission Notice and Disclaimer -- file: mit.LICENSE - key: mit - name: MIT License -- file: public-domain.LICENSE - key: public-domain - name: Public Domain -- file: python.LICENSE - key: python - name: Python Software Foundation License v2 - -name: python-future -vcs_url: git+https://github.com/PythonCharmers/python-future.git -notice_file: future-0.16.0-py2-none-any.whl.NOTICE -notice_url: https://github.com/PythonCharmers/python-future/blob/master/LICENSE.txt -owner: Python Charmers -owner_url: http://python-future.org/ -redistribute: true -track_changes: true -version: 0.16.0 diff --git a/thirdparty/future-0.16.0-py2-none-any.whl.NOTICE b/thirdparty/future-0.16.0-py2-none-any.whl.NOTICE deleted file mode 100644 index e47dddaf..00000000 --- a/thirdparty/future-0.16.0-py2-none-any.whl.NOTICE +++ /dev/null @@ -1,545 +0,0 @@ -Copyright (c) 2013-2016 Python Charmers Pty Ltd, Australia - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -The backported super() and range() functions are derived from Ryan Kelly’s magicsuper module and Dan Crosta’s xrange module. -The futurize and pasteurize scripts use lib2to3, lib3to2, and parts of Armin Ronacher’s python-modernize code. -The python_2_unicode_compatible decorator is from Django. The implements_iterator and with_metaclass decorators are from Jinja2. -The exec_ function and some others in future.utils are from the six module by Benjamin Peterson. -The raise_ and raise_with_traceback functions were contributed by Jeff Tratner. -A working version of raise_from was contributed by Varriount (GitHub). -Documentation is generated with Sphinx using the sphinx-bootstrap theme. -past.translation is inspired by and borrows some code from Sanjay Vinip’s uprefix module. - - - -https://github.com/rfk/magicsuper -Copyright (c) 2011 Ryan Kelly - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -https://github.com/dcrosta/xrange -Copyright (c) Dan Crosta - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list -of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -Neither the name of the ORGANIZATION nor the names of its contributors may be -used to endorse or promote products derived from this software without specific -prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL {THE COPYRIGHT HOLDER OR CONTRIBUTORS} BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -https://bitbucket.org/amentajo/lib3to2/ -"lib3to2" refers to this project, a significant derivative work of -"lib2to3", which is a part of the Python project, licensed under the Python -Software Foundation License Version 2. - -lib3to2 is Copyright 2009-2010 Joseph Amenta and - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use lib3to2 except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - -https://github.com/python-modernize/python-modernize -Copyright (c) 2011 by Armin Ronacher. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * The names of the contributors may not be used to endorse or - promote products derived from this software without specific - prior written permission. - -Parts of this software package are built on lib2to3 which is -licensed under the PSF license. For more information refer to the -Python license: http://docs.python.org/license.html - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -https://github.com/django/django -Copyright (c) Django Software Foundation and individual contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of Django nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -https://github.com/pallets/jinja/ -Copyright (c) 2009 by the Jinja Team, see AUTHORS for more details. - -Some rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * The names of the contributors may not be used to endorse or - promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -https://github.com/benjaminp/six -Copyright (c) 2010-2017 Benjamin Peterson - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -https://bitbucket.org/vinay.sajip/uprefix/ -Copyright (c) 2012 by Vinay Sajip. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * The name(s) of the copyright holder(s) may not be used to endorse or - promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -newopen.py from IPython py3compat.py -============================= - The IPython licensing terms -============================= - -IPython is licensed under the terms of the Modified BSD License (also known as -New or Revised or 3-Clause BSD), as follows: - -- Copyright (c) 2008-2014, IPython Development Team -- Copyright (c) 2001-2007, Fernando Perez -- Copyright (c) 2001, Janko Hauser -- Copyright (c) 2001, Nathaniel Gray - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -Neither the name of the IPython Development Team nor the names of its -contributors may be used to endorse or promote products derived from this -software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -About the IPython Development Team ----------------------------------- - -Fernando Perez began IPython in 2001 based on code from Janko Hauser - and Nathaniel Gray . Fernando is still -the project lead. - -The IPython Development Team is the set of all contributors to the IPython -project. This includes all of the IPython subprojects. A full list with -details is kept in the documentation directory, in the file -``about/credits.txt``. - -The core team that coordinates development on GitHub can be found here: -https://github.com/ipython/. - -Our Copyright Policy --------------------- - -IPython uses a shared copyright model. Each contributor maintains copyright -over their contributions to IPython. But, it is important to note that these -contributions are typically only changes to the repositories. Thus, the IPython -source code, in its entirety is not the copyright of any single person or -institution. Instead, it is the collective copyright of the entire IPython -Development Team. If individual contributors want to maintain a record of what -changes/contributions they have specific copyright on, they should indicate -their copyright in the commit message of the change, when they commit the -change to one of the IPython repositories. - -With this in mind, the following banner should be used in any source code file -to indicate the copyright and license terms: - -:: - - # Copyright (c) IPython Development Team. - # Distributed under the terms of the Modified BSD License. - - - -xmlrpc client -Copyright (c) 1999-2002 by Secret Labs AB -Copyright (c) 1999-2002 by Fredrik Lundh - -By obtaining, using, and/or copying this software and/or its -associated documentation, you agree that you have read, understood, -and will comply with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and -its associated documentation for any purpose and without fee is -hereby granted, provided that the above copyright notice appears in -all copies, and that both that copyright notice and this permission -notice appear in supporting documentation, and that the name of -Secret Labs AB or the author not be used in advertising or publicity -pertaining to distribution of the software without specific, written -prior permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD -TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- -ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR -BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY -DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS -ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -OF THIS SOFTWARE. - - - -http cookies -Copyright 2000 by Timothy O'Malley - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software -and its documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appear in all -copies and that both that copyright notice and this permission -notice appear in supporting documentation, and that the name of -Timothy O'Malley not be used in advertising or publicity -pertaining to distribution of the software without specific, written -prior permission. - -Timothy O'Malley DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS, IN NO EVENT SHALL Timothy O'Malley BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS -ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - - -robot parser -Copyright (c) 2000 Bastian Kleineidam - - You can choose between two licenses when using this package: - 1) GNU GPLv2 - 2) PSF license for Python 2.2 - - - -Util/py3compat.py : Compatibility code for handling Py3k / Python 2.x - - Written in 2010 by Thorsten Behrens - - =================================================================== - The contents of this file are dedicated to the public domain. To - the extent that dedication to the public domain is not available, - everyone is granted a worldwide, perpetual, royalty-free, - non-exclusive license to exercise all rights associated with the - contents of this file for any purpose whatsoever. - No rights are reserved. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - - - -Pyfits -Copyright (C) 2015 Association of Universities for Research in Astronomy (AURA) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - 3. The name of AURA and its representatives may not be used to - endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - - - -Flask -Copyright (c) 2010 by Armin Ronacher. - -Some rights reserved. - -Redistribution and use in source and binary forms of the theme, with or -without modification, are permitted provided that the following conditions -are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - -* The names of the contributors may not be used to endorse or - promote products derived from this software without specific - prior written permission. - -We kindly ask you to only use these themes in an unmodified manner just -for Flask and Flask-related products, not for unrelated projects. If you -like the visual style and want to use it for your own projects, please -consider making some larger changes to the themes (such as changing -font faces, sizes, colors or margins). - -THIS THEME IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS THEME, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - - -pycrypto_py3compat.py - -Copyright (c) 2010, Thorsten Behrens -The contents of this file are dedicated to the public domain. To the extent -that dedication to the public domain is not available, everyone is granted a -worldwide, perpetual, royalty-free, non-exclusive license to exercise all -rights associated with the contents of this file for any purpose whatsoever. -No rights are reserved. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -surrogateescape.py -https://raw.githubusercontent.com/haypo/misc/a5f90a0ec1c72be6329799a1a84d18575272207d/python/surrogateescape.py - -This code is released under the Python license and the BSD 2-clause license - -Copyright (c) Victor Stinner -Copyright (c) 2013-2016 Python Charmers Pty Ltd, Australia - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -. - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -From IPython's py3compat.py module. License: BSD. \ No newline at end of file diff --git a/thirdparty/gpl-2.0-plus.LICENSE b/thirdparty/gpl-2.0-plus.LICENSE deleted file mode 100644 index d815b29b..00000000 --- a/thirdparty/gpl-2.0-plus.LICENSE +++ /dev/null @@ -1,339 +0,0 @@ -GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. \ No newline at end of file diff --git a/thirdparty/gpl-2.0.LICENSE b/thirdparty/gpl-2.0.LICENSE deleted file mode 100644 index d159169d..00000000 --- a/thirdparty/gpl-2.0.LICENSE +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/thirdparty/gpl-3.0.LICENSE b/thirdparty/gpl-3.0.LICENSE deleted file mode 100644 index 94a9ed02..00000000 --- a/thirdparty/gpl-3.0.LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/thirdparty/historical.LICENSE b/thirdparty/historical.LICENSE deleted file mode 100644 index 8b14b1c3..00000000 --- a/thirdparty/historical.LICENSE +++ /dev/null @@ -1,3 +0,0 @@ -Permission to use, copy, modify and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies[,] [and] that both [that] [the] copyright notice and this permission notice appear in supporting documentation[, and that the name [of] [or ] not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission]. [ makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.] - -[ DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS[,][.] IN NO EVENT SHALL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.] \ No newline at end of file diff --git a/thirdparty/html5lib-0.999999999-py2.py3-none-any.whl b/thirdparty/html5lib-0.999999999-py2.py3-none-any.whl deleted file mode 100644 index 89b1eb87..00000000 Binary files a/thirdparty/html5lib-0.999999999-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/html5lib.ABOUT b/thirdparty/html5lib.ABOUT deleted file mode 100644 index 7bf502ee..00000000 --- a/thirdparty/html5lib.ABOUT +++ /dev/null @@ -1,8 +0,0 @@ -about_resource: html5lib-0.999999999-py2.py3-none-any.whl -name: html5lib -version: 0.999999999 -download_url: https://pypi.python.org/packages/f7/71/a96f36d34394bcfff9fb54bfe0aa72cc5b4ff2f803e5728645aef38f7aee/html5lib-0.999999999-py2.py3-none-any.whl#md5=c94780c55ea28529c39ad19ed372d629 -license_expression: mit -license_file: html5lib.LICENSE -owner: James Graham -home_url: https://github.com/html5lib/html5lib-python diff --git a/thirdparty/html5lib.LICENSE b/thirdparty/html5lib.LICENSE deleted file mode 100644 index c87fa7a0..00000000 --- a/thirdparty/html5lib.LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2006-2013 James Graham and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/thirdparty/idna-2.6-py2.py3-none-any.whl b/thirdparty/idna-2.6-py2.py3-none-any.whl deleted file mode 100644 index 11cb4140..00000000 Binary files a/thirdparty/idna-2.6-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/idna-2.6-py2.py3-none-any.whl.ABOUT b/thirdparty/idna-2.6-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 9322ffc5..00000000 --- a/thirdparty/idna-2.6-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,28 +0,0 @@ -about_resource: idna-2.6-py2.py3-none-any.whl -attribute: true -checksum_md5: 875c4a7b32b4897537d5ea9247b5c79e -checksum_sha1: a75f31778ea0bbf218d7ae085f4f961d004d6ff2 -contact: http://kim.id.au/ -copyright: Copyright (c) 2013-2017, Kim Davies -description: 'Internationalized Domain Names for Python (IDNA 2008 and UTS #46)' -download_url: https://pypi.python.org/packages/27/cc/6dd9a3869f15c2edfab863b992838277279ce92663d334df9ecf5106f5c6/idna-2.6-py2.py3-none-any.whl#md5=875c4a7b32b4897537d5ea9247b5c79e -homepage_url: https://github.com/kjd/idna -license_expression: bsd-new AND python AND unicode -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -- file: python.LICENSE - key: python - name: Python Software Foundation License v2 -- file: unicode.LICENSE - key: unicode - name: Unicode Inc License Agreement -name: idna -notice_file: idna-2.6-py2.py3-none-any.whl.NOTICE -notice_url: https://github.com/kjd/idna/blob/v2.6/LICENSE.rst -owner: Kim Davies -owner_url: https://github.com/kjd -track_changes: true -vcs_url: https://github.com/kjd/idna -version: '2.6' diff --git a/thirdparty/idna-2.6-py2.py3-none-any.whl.NOTICE b/thirdparty/idna-2.6-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 45478d85..00000000 --- a/thirdparty/idna-2.6-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2013-2017, Kim Davies. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - Neither the name of the copyright holder nor the names of the contributors may be used to endorse or promote products derived from this software without specific prior written permission. - THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Portions of the codec implementation and unit tests are derived from the Python standard library, which carries the Python Software Foundation License: - - Copyright (c) 2001-2014 Python Software Foundation; All Rights Reserved - -Portions of the unit tests are derived from the Unicode standard, which is subject to the Unicode, Inc. License Agreement: - - Copyright (c) 1991-2014 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in . - - Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that - - (a) this copyright and permission notice appear with all copies of the Data Files or Software, - - (b) this copyright and permission notice appear in associated documentation, and - - (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified. - - THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. - - Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. \ No newline at end of file diff --git a/thirdparty/importlib_metadata-0.18-py2.py3-none-any.whl b/thirdparty/importlib_metadata-0.18-py2.py3-none-any.whl deleted file mode 100644 index ee68f18d..00000000 Binary files a/thirdparty/importlib_metadata-0.18-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/importlib_metadata-0.18-py2.py3-none-any.whl.ABOUT b/thirdparty/importlib_metadata-0.18-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 76cbdf67..00000000 --- a/thirdparty/importlib_metadata-0.18-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: importlib_metadata-0.18-py2.py3-none-any.whl -name: importlib-metadata -version: '0.18' -download_url: https://files.pythonhosted.org/packages/bd/23/dce4879ec58acf3959580bfe769926ed8198727250c5e395e6785c764a02/importlib_metadata-0.18-py2.py3-none-any.whl -homepage_url: https://gitlab.com/python-devs/importlib_metadata/ -license_expression: apache-2.0 -copyright: copyright Jason R. Coombs, Barry Warsaw -notice_file: importlib_metadata-0.18-py2.py3-none-any.whl.NOTICE -attribute: yes -track_changes: yes -owner: python-devs -owner_url: https://gitlab.com/python-devs -vcs_repository: https://gitlab.com/python-devs/importlib_metadata.git -checksum_md5: 424676f92482daa952f38c817d20558a -checksum_sha1: f447cf203849bfe3616e73d584e07c2eb3640843 -package_url: pkg:pypi/importlib-metadata@0.18 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/importlib_metadata-0.18-py2.py3-none-any.whl.NOTICE b/thirdparty/importlib_metadata-0.18-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 82f17c12..00000000 --- a/thirdparty/importlib_metadata-0.18-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,3 +0,0 @@ -Copyright 2017-2019 Jason R. Coombs, Barry Warsaw - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. \ No newline at end of file diff --git a/thirdparty/intbitset-2.3.0-cp27-cp27m-linux_x86_64.whl b/thirdparty/intbitset-2.3.0-cp27-cp27m-linux_x86_64.whl deleted file mode 100644 index 9ae02bad..00000000 Binary files a/thirdparty/intbitset-2.3.0-cp27-cp27m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/intbitset-2.3.0-cp27-cp27m-macosx_10_9_intel.whl b/thirdparty/intbitset-2.3.0-cp27-cp27m-macosx_10_9_intel.whl deleted file mode 100644 index b33774e5..00000000 Binary files a/thirdparty/intbitset-2.3.0-cp27-cp27m-macosx_10_9_intel.whl and /dev/null differ diff --git a/thirdparty/intbitset-2.3.0-cp27-cp27m-macosx_10_9_intel.whl.ABOUT b/thirdparty/intbitset-2.3.0-cp27-cp27m-macosx_10_9_intel.whl.ABOUT deleted file mode 100644 index 2c76d087..00000000 --- a/thirdparty/intbitset-2.3.0-cp27-cp27m-macosx_10_9_intel.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: intbitset-2.3.0-cp27-cp27m-macosx_10_9_intel.whl -attribute: true -contact: http://public.web.cern.ch/public/en/Contact-en.html -copyright: Copyright (C) 2007, 2008, 2009, 2010, 2011, 2013, 2015, 2016 CERN. -description: Python C-based extension implementing fast integer bit sets -download_url: https://pypi.python.org/packages/6b/02/071198144a273f8d89c28a4be8fa971b60a4d80a60bd4c8f1e9d7223d296/intbitset-2.3.0.tar.gz -homepage_url: https://github.com/inveniosoftware/intbitset -license_expression: lgpl-3.0-plus -licenses: -- file: lgpl-3.0-plus.LICENSE - key: lgpl-3.0-plus - name: GNU Lesser General Public License 3.0 or later -name: intbitset -notice_file: intbitset-2.3.0.tar.gz.NOTICE -owner: CERN - European Organization for Nuclear Research -owner_url: http://public.web.cern.ch/public/ -redistribute: true -track_changes: true -version: 2.3.0 diff --git a/thirdparty/intbitset-2.3.0-cp27-cp27m-win32.whl b/thirdparty/intbitset-2.3.0-cp27-cp27m-win32.whl deleted file mode 100644 index f505da8b..00000000 Binary files a/thirdparty/intbitset-2.3.0-cp27-cp27m-win32.whl and /dev/null differ diff --git a/thirdparty/intbitset-2.3.0-cp27-cp27m-win32.whl.ABOUT b/thirdparty/intbitset-2.3.0-cp27-cp27m-win32.whl.ABOUT deleted file mode 100644 index 26bdbec5..00000000 --- a/thirdparty/intbitset-2.3.0-cp27-cp27m-win32.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: intbitset-2.3.0-cp27-cp27m-win32.whl -attribute: true -contact: http://public.web.cern.ch/public/en/Contact-en.html -copyright: Copyright (C) 2007, 2008, 2009, 2010, 2011, 2013, 2015, 2016 CERN. -description: Python C-based extension implementing fast integer bit sets -download_url: https://pypi.python.org/packages/6b/02/071198144a273f8d89c28a4be8fa971b60a4d80a60bd4c8f1e9d7223d296/intbitset-2.3.0.tar.gz -homepage_url: https://github.com/inveniosoftware/intbitset -license_expression: lgpl-3.0-plus -licenses: -- file: lgpl-3.0-plus.LICENSE - key: lgpl-3.0-plus - name: GNU Lesser General Public License 3.0 or later -name: intbitset -notice_file: intbitset-2.3.0.tar.gz.NOTICE -owner: CERN - European Organization for Nuclear Research -owner_url: http://public.web.cern.ch/public/ -redistribute: true -track_changes: true -version: 2.3.0 diff --git a/thirdparty/intbitset-2.3.0-cp27-cp27m-win_amd64.whl b/thirdparty/intbitset-2.3.0-cp27-cp27m-win_amd64.whl deleted file mode 100644 index dcd3f2ba..00000000 Binary files a/thirdparty/intbitset-2.3.0-cp27-cp27m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/intbitset-2.3.0-cp27-cp27m-win_amd64.whl.ABOUT b/thirdparty/intbitset-2.3.0-cp27-cp27m-win_amd64.whl.ABOUT deleted file mode 100644 index ab5cf23d..00000000 --- a/thirdparty/intbitset-2.3.0-cp27-cp27m-win_amd64.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: intbitset-2.3.0-cp27-cp27m-win_amd64.whl -attribute: true -contact: http://public.web.cern.ch/public/en/Contact-en.html -copyright: Copyright (C) 2007, 2008, 2009, 2010, 2011, 2013, 2015, 2016 CERN. -description: Python C-based extension implementing fast integer bit sets -download_url: https://pypi.python.org/packages/6b/02/071198144a273f8d89c28a4be8fa971b60a4d80a60bd4c8f1e9d7223d296/intbitset-2.3.0.tar.gz -homepage_url: https://github.com/inveniosoftware/intbitset -license_expression: lgpl-3.0-plus -licenses: -- file: lgpl-3.0-plus.LICENSE - key: lgpl-3.0-plus - name: GNU Lesser General Public License 3.0 or later -name: intbitset -notice_file: intbitset-2.3.0.tar.gz.NOTICE -owner: CERN - European Organization for Nuclear Research -owner_url: http://public.web.cern.ch/public/ -redistribute: true -track_changes: true -version: 2.3.0 diff --git a/thirdparty/intbitset-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl b/thirdparty/intbitset-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl deleted file mode 100644 index fc20c97b..00000000 Binary files a/thirdparty/intbitset-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/intbitset-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT b/thirdparty/intbitset-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT deleted file mode 100644 index d70d6f16..00000000 --- a/thirdparty/intbitset-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: intbitset-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl -attribute: true -contact: http://public.web.cern.ch/public/en/Contact-en.html -copyright: Copyright (C) 2007, 2008, 2009, 2010, 2011, 2013, 2015, 2016 CERN. -description: Python C-based extension implementing fast integer bit sets -download_url: https://pypi.python.org/packages/6b/02/071198144a273f8d89c28a4be8fa971b60a4d80a60bd4c8f1e9d7223d296/intbitset-2.3.0.tar.gz -homepage_url: https://github.com/inveniosoftware/intbitset -license_expression: lgpl-3.0-plus -licenses: -- file: lgpl-3.0-plus.LICENSE - key: lgpl-3.0-plus - name: GNU Lesser General Public License 3.0 or later -name: intbitset -notice_file: intbitset-2.3.0.tar.gz.NOTICE -owner: CERN - European Organization for Nuclear Research -owner_url: http://public.web.cern.ch/public/ -redistribute: true -track_changes: true -version: 2.3.0 diff --git a/thirdparty/intbitset-2.3.0-cp36-cp36m-linux_x86_64.whl b/thirdparty/intbitset-2.3.0-cp36-cp36m-linux_x86_64.whl deleted file mode 100644 index 9953649e..00000000 Binary files a/thirdparty/intbitset-2.3.0-cp36-cp36m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/intbitset-2.3.0-cp36-cp36m-win32.whl b/thirdparty/intbitset-2.3.0-cp36-cp36m-win32.whl deleted file mode 100644 index 106ffbce..00000000 Binary files a/thirdparty/intbitset-2.3.0-cp36-cp36m-win32.whl and /dev/null differ diff --git a/thirdparty/intbitset-2.3.0.tar.gz b/thirdparty/intbitset-2.3.0.tar.gz deleted file mode 100644 index 83d62397..00000000 Binary files a/thirdparty/intbitset-2.3.0.tar.gz and /dev/null differ diff --git a/thirdparty/intbitset-2.3.0.tar.gz.ABOUT b/thirdparty/intbitset-2.3.0.tar.gz.ABOUT deleted file mode 100644 index e1276836..00000000 --- a/thirdparty/intbitset-2.3.0.tar.gz.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: intbitset-2.3.0.tar.gz -attribute: true -checksum_md5: 4b6ef2b2b0d442d2ae673355b5c8e1fe -contact: http://public.web.cern.ch/public/en/Contact-en.html -copyright: Copyright (C) 2007, 2008, 2009, 2010, 2011, 2013, 2015, 2016 CERN. -description: Python C-based extension implementing fast integer bit sets -download_url: https://pypi.python.org/packages/6b/02/071198144a273f8d89c28a4be8fa971b60a4d80a60bd4c8f1e9d7223d296/intbitset-2.3.0.tar.gz -homepage_url: https://github.com/inveniosoftware/intbitset -license_expression: lgpl-3.0-plus -licenses: -- file: lgpl-3.0-plus.LICENSE - key: lgpl-3.0-plus - name: GNU Lesser General Public License 3.0 or later -name: intbitset -notice_file: intbitset-2.3.0.tar.gz.NOTICE -owner: CERN - European Organization for Nuclear Research -owner_url: http://public.web.cern.ch/public/ -redistribute: true -track_changes: true -version: 2.3.0 diff --git a/thirdparty/intbitset-2.3.0.tar.gz.NOTICE b/thirdparty/intbitset-2.3.0.tar.gz.NOTICE deleted file mode 100644 index 514fcaed..00000000 --- a/thirdparty/intbitset-2.3.0.tar.gz.NOTICE +++ /dev/null @@ -1,16 +0,0 @@ -# This file is part of Invenio. -# Copyright (C) 2007, 2008, 2009, 2010, 2011, 2013, 2015, 2016 CERN. -# -# Invenio is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License as -# published by the Free Software Foundation; either version 3 of the -# License, or (at your option) any later version. -# -# Invenio is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with Invenio; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA \ No newline at end of file diff --git a/thirdparty/isodate-0.6.0-py2.py3-none-any.whl b/thirdparty/isodate-0.6.0-py2.py3-none-any.whl deleted file mode 100644 index 172a3325..00000000 Binary files a/thirdparty/isodate-0.6.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/isodate-0.6.0-py2.py3-none-any.whl.ABOUT b/thirdparty/isodate-0.6.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 3e1be3c0..00000000 --- a/thirdparty/isodate-0.6.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: isodate-0.6.0-py2.py3-none-any.whl -name: isodate -version: 0.6.0 -download_url: https://files.pythonhosted.org/packages/9b/9f/b36f7774ff5ea8e428fdcfc4bb332c39ee5b9362ddd3d40d9516a55221b2/isodate-0.6.0-py2.py3-none-any.whl -description: ISO 8601 date/time parser -homepage_url: https://github.com/gweis/isodate -license_expression: bsd-new -copyright: Copyright (c) Gerhard Weis -notice_file: isodate-0.6.0-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: Gerhard Weis -owner_url: https://github.com/gweis -checksum_md5: d993beffb0b78627721d9ef1dda4df87 -checksum_sha1: 240cc4206740fafacb74bbf0d0c4ff70e41c8a85 -package_url: pkg:pypi/isodate@0.6.0 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/isodate-0.6.0-py2.py3-none-any.whl.NOTICE b/thirdparty/isodate-0.6.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index a54df00e..00000000 --- a/thirdparty/isodate-0.6.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2009 Gerhard Weis - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the authors nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT \ No newline at end of file diff --git a/thirdparty/jaraco.timing-1.3.2-py2.py3-none-any.whl b/thirdparty/jaraco.timing-1.3.2-py2.py3-none-any.whl deleted file mode 100644 index ad7c1241..00000000 Binary files a/thirdparty/jaraco.timing-1.3.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/jaraco.timing.ABOUT b/thirdparty/jaraco.timing.ABOUT deleted file mode 100644 index edcf9bd0..00000000 --- a/thirdparty/jaraco.timing.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: jaraco.timing-1.3.2-py2.py3-none-any.whl -version: 1.3.2 -download_url: https://pypi.python.org/packages/36/6f/7840605160cdc928504495396c848f3d313056366f83e0e7a10e6a87a016/jaraco.timing-1.3.2-py2.py3-none-any.whl#md5=6e8f81c267ea8eddc1641e9af99a0d57 - -name: jaraco.timing -home_url: https://github.com/jaraco/jaraco.timing -owner: Jason Coombs - -license_expression: mit -license_file: jaraco.timing.LICENSE -copyright: Copyright (c) Jason R. Coombs - -vcs_url: git+https://github.com/jaraco/jaraco.timing.git - diff --git a/thirdparty/jaraco.timing.LICENSE b/thirdparty/jaraco.timing.LICENSE deleted file mode 100644 index 279eb31e..00000000 --- a/thirdparty/jaraco.timing.LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Jason R. Coombs - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/thirdparty/javaproperties-0.5.1-py2.py3-none-any.whl b/thirdparty/javaproperties-0.5.1-py2.py3-none-any.whl deleted file mode 100644 index 7be75301..00000000 Binary files a/thirdparty/javaproperties-0.5.1-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/javaproperties.ABOUT b/thirdparty/javaproperties.ABOUT deleted file mode 100644 index 5f98b91b..00000000 --- a/thirdparty/javaproperties.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: javaproperties-0.5.1-py2.py3-none-any.whl -version: 0.5.1 -download_url: https://files.pythonhosted.org/packages/db/43/58b89453727acdcf07298fe0f037e45b3988e5dcc78af5dce6881d0d2c5e/javaproperties-0.5.1.tar.gz - -name: javaproperties -homepage_url: https://github.com/jwodder/javaproperties - -license_expression: mit -license_file: javaproperties.LICENSE - -vcs_tool: git -vcs_repository: https://github.com/jwodder/javaproperties.git -owner: John Thorvald Wodder II -copyright: Copyright (c) 2016-2018 John Thorvald Wodder II diff --git a/thirdparty/javaproperties.LICENSE b/thirdparty/javaproperties.LICENSE deleted file mode 100644 index 5b0f1769..00000000 --- a/thirdparty/javaproperties.LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016-2018 John Thorvald Wodder II - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/thirdparty/lgpl-2.1.LICENSE b/thirdparty/lgpl-2.1.LICENSE deleted file mode 100644 index d8c9cefe..00000000 --- a/thirdparty/lgpl-2.1.LICENSE +++ /dev/null @@ -1,513 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/thirdparty/lgpl-3.0-plus.LICENSE b/thirdparty/lgpl-3.0-plus.LICENSE deleted file mode 100644 index 5498992e..00000000 --- a/thirdparty/lgpl-3.0-plus.LICENSE +++ /dev/null @@ -1,113 +0,0 @@ -GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked Version". - - The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license document. - - c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked Version. - - e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the library side by side in a single library together with other library -facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and -conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/thirdparty/lgpl-3.0.LICENSE b/thirdparty/lgpl-3.0.LICENSE deleted file mode 100644 index 43848803..00000000 --- a/thirdparty/lgpl-3.0.LICENSE +++ /dev/null @@ -1,165 +0,0 @@ -GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/thirdparty/license_expression-0.99-py2.py3-none-any.whl b/thirdparty/license_expression-0.99-py2.py3-none-any.whl deleted file mode 100644 index de496136..00000000 Binary files a/thirdparty/license_expression-0.99-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/license_expression-0.99-py2.py3-none-any.whl.ABOUT b/thirdparty/license_expression-0.99-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 1deec7a3..00000000 --- a/thirdparty/license_expression-0.99-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: license_expression-0.99-py2.py3-none-any.whl -attribute: true -checksum_md5: cff177fd902ec3ee425fc2db26974aaa -checksum_sha1: 8d89733bf0012122d557b1b8a6c79a70fa742c46 -contact: http://www.nexb.com/contactus.html -copyright: Copyright (c) 2017 nexB Inc. and others. -description: Utility library to parse, normalize and compare License expressions for - Python using a boolean logic engine. For expressions using SPDX or any other license - id scheme. -download_url: https://files.pythonhosted.org/packages/8a/8e/f9786e4f61f5626d34e9a826790035817ff8c6b8100f0bd019a5eed00631/license_expression-0.99-py2.py3-none-any.whl -homepage_url: https://github.com/nexB/license-expression -license_expression: apache-2.0 -license_file: apache-2.0.LICENSE -name: license-expression -notice_file: license_expression-0.99-py2.py3-none-any.whl.NOTICE -notice_url: https://github.com/nexB/license-expression/blob/master/NOTICE -owner: nexB -owner_url: http://www.nexb.com/ -version: '0.99' diff --git a/thirdparty/license_expression-0.99-py2.py3-none-any.whl.NOTICE b/thirdparty/license_expression-0.99-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 8e06419e..00000000 --- a/thirdparty/license_expression-0.99-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,26 +0,0 @@ -Software license -================ - -license-expression is a free software tool from nexB Inc. and others. -Visit https://github.com/nexB/license-expression for support and download. - -Copyright (c) 2016 nexB Inc. and others. All rights reserved. -http://nexb.com and http://aboutcode.org - -This software is licensed under the Apache License version 2.0. - -You may not use this software except in compliance with the License. -You may obtain a copy of the License at: http://apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. - - -Third-party software licenses -============================= - -license-expression embeds third-party free and open source software packages under -various licenses. The origin and license of these packages is documented by .ABOUT -files. The corresponding source code for pre-compiled third-party software is -available in the thirdparty directory. \ No newline at end of file diff --git a/thirdparty/lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl b/thirdparty/lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl deleted file mode 100644 index e7ff903c..00000000 Binary files a/thirdparty/lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl and /dev/null differ diff --git a/thirdparty/lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.ABOUT b/thirdparty/lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.ABOUT deleted file mode 100644 index 1563a665..00000000 --- a/thirdparty/lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.ABOUT +++ /dev/null @@ -1,32 +0,0 @@ -about_resource: lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl -attribute: true -checksum_md5: 008fbecb2e18a03b0d161c196ed704a7 -checksum_sha1: 9eba7b948bf13ccffd9da809ad5b2b1154de2cb1 -copyright: Copyright (c) 2004 Infrae. -description: lxml is the most feature-rich and easy-to-use library for processing - XML and HTML in the Python language. -download_url: https://files.pythonhosted.org/packages/18/95/abf8204fbbc9a01e0e156029cd1ee974237b5798b9e84477df6c4fabfbd2/lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl -homepage_url: http://lxml.de/ -license_expression: bsd-new AND (mit AND gpl-2.0-plus AND zpl-2.0 AND zlib) -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -- file: gpl-2.0-plus.LICENSE - key: gpl-2.0-plus - name: GNU General Public License 2.0 or later -- file: mit.LICENSE - key: mit - name: MIT License -- file: zlib.LICENSE - key: zlib - name: ZLIB License -- file: zpl-2.0.LICENSE - key: zpl-2.0 - name: Zope Public License 2.0 -name: LXML -notice_file: lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.NOTICE -owner: Infrae -redistribute: true -track_changes: true -version: 4.2.1 diff --git a/thirdparty/lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.NOTICE b/thirdparty/lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.NOTICE deleted file mode 100644 index 7e0a151d..00000000 --- a/thirdparty/lxml-4.2.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.NOTICE +++ /dev/null @@ -1,108 +0,0 @@ -lxml is copyright Infrae and distributed under the BSD license (see doc/licenses/BSD.txt), with the following exceptions: - -Some code, such a selftest.py, selftest2.py and src/lxml/_elementpath.py are derived from ElementTree and cElementTree. See doc/licenses/elementtree.txt for the license text. - -The ElementTree / XML Toys Library is -Copyright (c) 1999-2003 by Secret Labs AB -Copyright (c) 1999-2003 by Fredrik Lundh - -By obtaining, using, and/or copying this software and/or its -associated documentation, you agree that you have read, understood, -and will comply with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and its -associated documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appears in all -copies, and that both that copyright notice and this permission notice -appear in supporting documentation, and that the name of Secret Labs -AB or the author not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -test.py, the test-runner script, is GPL and copyright Shuttleworth -Foundation. See doc/licenses/GPL.txt. It is believed the unchanged -inclusion of test.py to run the unit test suite falls under the -"aggregation" clause of the GPL and thus does not affect the license -of the rest of the package. - -# SchoolTool - common information systems platform for school administration -# Copyright (c) 2003 Shuttleworth Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -the doctest.py module is taken from the Python library and falls under -the PSF Python License. - -The isoschematron implementation uses several XSL and RelaxNG resources: - * The (XML syntax) RelaxNG schema for schematron, copyright International - Organization for Standardization (see - src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license - text) - - Copyright (c) International Organization for Standardization 2005. - Permission to copy in any form is granted for use with conforming - SGML systems and applications as defined in ISO 8879, - provided this notice is included in all copies. - - * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation - xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing - Center, Taiwan (see the xsl files here for the license text: - src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) - - Copyright (c) 2000-2008 Rick Jelliffe and Academia Sinica Computing Center, Taiwan - - This software is provided 'as-is', without any express or implied warranty. - In no event will the authors be held liable for any damages arising from - the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it freely, - subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not claim - that you wrote the original software. If you use this software in a product, - an acknowledgment in the product documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - - Implementation of Schematron Validation Report Language from ISO Schematron - ISO/IEC 19757 Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation Schematron - Annex D: Schematron Validation Report Language - - This ISO Standard is available free as a Publicly Available Specification in PDF from ISO. - Also see www.schematron.com for drafts and other information. - - - * The xsd/rng schema schematron extraction xsl transformations are unlicensed - and copyright the respective authors as noted (see - src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and - src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) - - Created by Eddie Robertsson 2002/06/01 and modified by Holger Joukl - based on an original transform by Eddie Robertsson \ No newline at end of file diff --git a/thirdparty/lxml-4.2.1-cp27-cp27m-manylinux1_x86_64.whl b/thirdparty/lxml-4.2.1-cp27-cp27m-manylinux1_x86_64.whl deleted file mode 100644 index f85812d7..00000000 Binary files a/thirdparty/lxml-4.2.1-cp27-cp27m-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/lxml-4.2.1-cp27-cp27m-win32.whl b/thirdparty/lxml-4.2.1-cp27-cp27m-win32.whl deleted file mode 100644 index 922887b9..00000000 Binary files a/thirdparty/lxml-4.2.1-cp27-cp27m-win32.whl and /dev/null differ diff --git a/thirdparty/lxml-4.2.1-cp27-cp27m-win32.whl.ABOUT b/thirdparty/lxml-4.2.1-cp27-cp27m-win32.whl.ABOUT deleted file mode 100644 index 96d700d3..00000000 --- a/thirdparty/lxml-4.2.1-cp27-cp27m-win32.whl.ABOUT +++ /dev/null @@ -1,32 +0,0 @@ -about_resource: lxml-4.2.1-cp27-cp27m-win32.whl -attribute: true -checksum_md5: a36b1ee7cc563fe34862c4e558e95bfe -checksum_sha1: eac1f8032bd5a5352a3ff12b8b2310b496a55e96 -copyright: Copyright (c) 2004 Infrae. -description: lxml is the most feature-rich and easy-to-use library for processing - XML and HTML in the Python language. -download_url: https://files.pythonhosted.org/packages/80/bf/ee35384c4a228831e8445faa68bcaf516ae48b6c89757b1a8f476341ecc0/lxml-4.2.1-cp27-cp27m-win32.whl -homepage_url: http://lxml.de/ -license_expression: bsd-new AND (mit AND gpl-2.0-plus AND zpl-2.0 AND zlib) -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -- file: gpl-2.0-plus.LICENSE - key: gpl-2.0-plus - name: GNU General Public License 2.0 or later -- file: mit.LICENSE - key: mit - name: MIT License -- file: zlib.LICENSE - key: zlib - name: ZLIB License -- file: zpl-2.0.LICENSE - key: zpl-2.0 - name: Zope Public License 2.0 -name: LXML -notice_file: lxml-4.2.1-cp27-cp27m-win32.whl.NOTICE -owner: Infrae -redistribute: true -track_changes: true -version: 4.2.1 diff --git a/thirdparty/lxml-4.2.1-cp27-cp27m-win32.whl.NOTICE b/thirdparty/lxml-4.2.1-cp27-cp27m-win32.whl.NOTICE deleted file mode 100644 index 7e0a151d..00000000 --- a/thirdparty/lxml-4.2.1-cp27-cp27m-win32.whl.NOTICE +++ /dev/null @@ -1,108 +0,0 @@ -lxml is copyright Infrae and distributed under the BSD license (see doc/licenses/BSD.txt), with the following exceptions: - -Some code, such a selftest.py, selftest2.py and src/lxml/_elementpath.py are derived from ElementTree and cElementTree. See doc/licenses/elementtree.txt for the license text. - -The ElementTree / XML Toys Library is -Copyright (c) 1999-2003 by Secret Labs AB -Copyright (c) 1999-2003 by Fredrik Lundh - -By obtaining, using, and/or copying this software and/or its -associated documentation, you agree that you have read, understood, -and will comply with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and its -associated documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appears in all -copies, and that both that copyright notice and this permission notice -appear in supporting documentation, and that the name of Secret Labs -AB or the author not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -test.py, the test-runner script, is GPL and copyright Shuttleworth -Foundation. See doc/licenses/GPL.txt. It is believed the unchanged -inclusion of test.py to run the unit test suite falls under the -"aggregation" clause of the GPL and thus does not affect the license -of the rest of the package. - -# SchoolTool - common information systems platform for school administration -# Copyright (c) 2003 Shuttleworth Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -the doctest.py module is taken from the Python library and falls under -the PSF Python License. - -The isoschematron implementation uses several XSL and RelaxNG resources: - * The (XML syntax) RelaxNG schema for schematron, copyright International - Organization for Standardization (see - src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license - text) - - Copyright (c) International Organization for Standardization 2005. - Permission to copy in any form is granted for use with conforming - SGML systems and applications as defined in ISO 8879, - provided this notice is included in all copies. - - * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation - xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing - Center, Taiwan (see the xsl files here for the license text: - src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) - - Copyright (c) 2000-2008 Rick Jelliffe and Academia Sinica Computing Center, Taiwan - - This software is provided 'as-is', without any express or implied warranty. - In no event will the authors be held liable for any damages arising from - the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it freely, - subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not claim - that you wrote the original software. If you use this software in a product, - an acknowledgment in the product documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - - Implementation of Schematron Validation Report Language from ISO Schematron - ISO/IEC 19757 Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation Schematron - Annex D: Schematron Validation Report Language - - This ISO Standard is available free as a Publicly Available Specification in PDF from ISO. - Also see www.schematron.com for drafts and other information. - - - * The xsd/rng schema schematron extraction xsl transformations are unlicensed - and copyright the respective authors as noted (see - src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and - src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) - - Created by Eddie Robertsson 2002/06/01 and modified by Holger Joukl - based on an original transform by Eddie Robertsson \ No newline at end of file diff --git a/thirdparty/lxml-4.2.1-cp27-cp27m-win_amd64.whl b/thirdparty/lxml-4.2.1-cp27-cp27m-win_amd64.whl deleted file mode 100644 index 8f873cfe..00000000 Binary files a/thirdparty/lxml-4.2.1-cp27-cp27m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/lxml-4.2.1-cp27-cp27m-win_amd64.whl.ABOUT b/thirdparty/lxml-4.2.1-cp27-cp27m-win_amd64.whl.ABOUT deleted file mode 100644 index 7f9e6a75..00000000 --- a/thirdparty/lxml-4.2.1-cp27-cp27m-win_amd64.whl.ABOUT +++ /dev/null @@ -1,32 +0,0 @@ -about_resource: lxml-4.2.1-cp27-cp27m-win_amd64.whl -attribute: true -checksum_md5: b9123b80ec548e3c2766a4d570ce1a10 -checksum_sha1: d271b00d8ed39c747a274666d89e8bac09bd3e03 -copyright: Copyright (c) 2004 Infrae. -description: lxml is the most feature-rich and easy-to-use library for processing - XML and HTML in the Python language. -download_url: https://files.pythonhosted.org/packages/52/7f/aeaa0064809c319078b97bd30a0d7f7ee062df07608fa439029a948a431e/lxml-4.2.1-cp27-cp27m-win_amd64.whl -homepage_url: http://lxml.de/ -license_expression: bsd-new AND (mit AND gpl-2.0-plus AND zpl-2.0 AND zlib) -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -- file: gpl-2.0-plus.LICENSE - key: gpl-2.0-plus - name: GNU General Public License 2.0 or later -- file: mit.LICENSE - key: mit - name: MIT License -- file: zlib.LICENSE - key: zlib - name: ZLIB License -- file: zpl-2.0.LICENSE - key: zpl-2.0 - name: Zope Public License 2.0 -name: LXML -notice_file: lxml-4.2.1-cp27-cp27m-win_amd64.whl.NOTICE -owner: Infrae -redistribute: true -track_changes: true -version: 4.2.1 diff --git a/thirdparty/lxml-4.2.1-cp27-cp27m-win_amd64.whl.NOTICE b/thirdparty/lxml-4.2.1-cp27-cp27m-win_amd64.whl.NOTICE deleted file mode 100644 index 7e0a151d..00000000 --- a/thirdparty/lxml-4.2.1-cp27-cp27m-win_amd64.whl.NOTICE +++ /dev/null @@ -1,108 +0,0 @@ -lxml is copyright Infrae and distributed under the BSD license (see doc/licenses/BSD.txt), with the following exceptions: - -Some code, such a selftest.py, selftest2.py and src/lxml/_elementpath.py are derived from ElementTree and cElementTree. See doc/licenses/elementtree.txt for the license text. - -The ElementTree / XML Toys Library is -Copyright (c) 1999-2003 by Secret Labs AB -Copyright (c) 1999-2003 by Fredrik Lundh - -By obtaining, using, and/or copying this software and/or its -associated documentation, you agree that you have read, understood, -and will comply with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and its -associated documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appears in all -copies, and that both that copyright notice and this permission notice -appear in supporting documentation, and that the name of Secret Labs -AB or the author not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -test.py, the test-runner script, is GPL and copyright Shuttleworth -Foundation. See doc/licenses/GPL.txt. It is believed the unchanged -inclusion of test.py to run the unit test suite falls under the -"aggregation" clause of the GPL and thus does not affect the license -of the rest of the package. - -# SchoolTool - common information systems platform for school administration -# Copyright (c) 2003 Shuttleworth Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -the doctest.py module is taken from the Python library and falls under -the PSF Python License. - -The isoschematron implementation uses several XSL and RelaxNG resources: - * The (XML syntax) RelaxNG schema for schematron, copyright International - Organization for Standardization (see - src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license - text) - - Copyright (c) International Organization for Standardization 2005. - Permission to copy in any form is granted for use with conforming - SGML systems and applications as defined in ISO 8879, - provided this notice is included in all copies. - - * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation - xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing - Center, Taiwan (see the xsl files here for the license text: - src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) - - Copyright (c) 2000-2008 Rick Jelliffe and Academia Sinica Computing Center, Taiwan - - This software is provided 'as-is', without any express or implied warranty. - In no event will the authors be held liable for any damages arising from - the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it freely, - subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not claim - that you wrote the original software. If you use this software in a product, - an acknowledgment in the product documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - - Implementation of Schematron Validation Report Language from ISO Schematron - ISO/IEC 19757 Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation Schematron - Annex D: Schematron Validation Report Language - - This ISO Standard is available free as a Publicly Available Specification in PDF from ISO. - Also see www.schematron.com for drafts and other information. - - - * The xsd/rng schema schematron extraction xsl transformations are unlicensed - and copyright the respective authors as noted (see - src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and - src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) - - Created by Eddie Robertsson 2002/06/01 and modified by Holger Joukl - based on an original transform by Eddie Robertsson \ No newline at end of file diff --git a/thirdparty/lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl b/thirdparty/lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl deleted file mode 100644 index 039f1f8c..00000000 Binary files a/thirdparty/lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT b/thirdparty/lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT deleted file mode 100644 index 8dd592de..00000000 --- a/thirdparty/lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT +++ /dev/null @@ -1,32 +0,0 @@ -about_resource: lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl -attribute: true -checksum_md5: 6a3ce18f3c665260e9ca1edc83df7bdc -checksum_sha1: 94ae6add45360e7dc5630083284c700c1f07a1ad -copyright: Copyright (c) 2004 Infrae. -description: lxml is the most feature-rich and easy-to-use library for processing - XML and HTML in the Python language. -download_url: https://files.pythonhosted.org/packages/57/38/25b2acd2a179cb1900a32ab2daeec2967e511192c9ce0763ce16cece6366/lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl -homepage_url: http://lxml.de/ -license_expression: bsd-new AND (mit AND gpl-2.0-plus AND zpl-2.0 AND zlib) -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -- file: gpl-2.0-plus.LICENSE - key: gpl-2.0-plus - name: GNU General Public License 2.0 or later -- file: mit.LICENSE - key: mit - name: MIT License -- file: zlib.LICENSE - key: zlib - name: ZLIB License -- file: zpl-2.0.LICENSE - key: zpl-2.0 - name: Zope Public License 2.0 -name: LXML -notice_file: lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl.NOTICE -owner: Infrae -redistribute: true -track_changes: true -version: 4.2.1 diff --git a/thirdparty/lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl.NOTICE b/thirdparty/lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl.NOTICE deleted file mode 100644 index 7e0a151d..00000000 --- a/thirdparty/lxml-4.2.1-cp27-cp27mu-manylinux1_x86_64.whl.NOTICE +++ /dev/null @@ -1,108 +0,0 @@ -lxml is copyright Infrae and distributed under the BSD license (see doc/licenses/BSD.txt), with the following exceptions: - -Some code, such a selftest.py, selftest2.py and src/lxml/_elementpath.py are derived from ElementTree and cElementTree. See doc/licenses/elementtree.txt for the license text. - -The ElementTree / XML Toys Library is -Copyright (c) 1999-2003 by Secret Labs AB -Copyright (c) 1999-2003 by Fredrik Lundh - -By obtaining, using, and/or copying this software and/or its -associated documentation, you agree that you have read, understood, -and will comply with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and its -associated documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appears in all -copies, and that both that copyright notice and this permission notice -appear in supporting documentation, and that the name of Secret Labs -AB or the author not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -test.py, the test-runner script, is GPL and copyright Shuttleworth -Foundation. See doc/licenses/GPL.txt. It is believed the unchanged -inclusion of test.py to run the unit test suite falls under the -"aggregation" clause of the GPL and thus does not affect the license -of the rest of the package. - -# SchoolTool - common information systems platform for school administration -# Copyright (c) 2003 Shuttleworth Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -the doctest.py module is taken from the Python library and falls under -the PSF Python License. - -The isoschematron implementation uses several XSL and RelaxNG resources: - * The (XML syntax) RelaxNG schema for schematron, copyright International - Organization for Standardization (see - src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license - text) - - Copyright (c) International Organization for Standardization 2005. - Permission to copy in any form is granted for use with conforming - SGML systems and applications as defined in ISO 8879, - provided this notice is included in all copies. - - * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation - xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing - Center, Taiwan (see the xsl files here for the license text: - src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) - - Copyright (c) 2000-2008 Rick Jelliffe and Academia Sinica Computing Center, Taiwan - - This software is provided 'as-is', without any express or implied warranty. - In no event will the authors be held liable for any damages arising from - the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it freely, - subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not claim - that you wrote the original software. If you use this software in a product, - an acknowledgment in the product documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - - Implementation of Schematron Validation Report Language from ISO Schematron - ISO/IEC 19757 Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation Schematron - Annex D: Schematron Validation Report Language - - This ISO Standard is available free as a Publicly Available Specification in PDF from ISO. - Also see www.schematron.com for drafts and other information. - - - * The xsd/rng schema schematron extraction xsl transformations are unlicensed - and copyright the respective authors as noted (see - src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and - src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) - - Created by Eddie Robertsson 2002/06/01 and modified by Holger Joukl - based on an original transform by Eddie Robertsson \ No newline at end of file diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl b/thirdparty/lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl deleted file mode 100644 index d01fa98e..00000000 Binary files a/thirdparty/lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl and /dev/null differ diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.ABOUT b/thirdparty/lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.ABOUT deleted file mode 100644 index 0c2cb08b..00000000 --- a/thirdparty/lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.ABOUT +++ /dev/null @@ -1,33 +0,0 @@ -about_resource: lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl -name: LXML -version: 4.2.1 -download_url: https://files.pythonhosted.org/packages/a4/7c/0c333ccdaa04628b4df46d36b8a700d7810ffecd1371de796e2403fe9380/lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl -description: lxml is the most feature-rich and easy-to-use library for processing XML and HTML - in the Python language. -homepage_url: http://lxml.de/ -license_expression: bsd-new AND (mit AND gpl-2.0-plus AND zpl-2.0 AND zlib) -copyright: Copyright (c) 2004 Infrae. -notice_file: lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.NOTICE -redistribute: yes -attribute: yes -track_changes: yes -owner: Infrae -checksum_md5: 976e5b7db3a345d7f28eacc587ed8849 -checksum_sha1: 56683dc504bfe4170a39433d710f946eaea2ac26 -package_url: pkg:pypi/lxml@4.2.1 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: gpl-2.0-plus - name: GNU General Public License 2.0 or later - file: gpl-2.0-plus.LICENSE - - key: mit - name: MIT License - file: mit.LICENSE - - key: zlib - name: ZLIB License - file: zlib.LICENSE - - key: zpl-2.0 - name: Zope Public License 2.0 - file: zpl-2.0.LICENSE diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.NOTICE b/thirdparty/lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.NOTICE deleted file mode 100644 index c07d7e85..00000000 --- a/thirdparty/lxml-4.2.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.NOTICE +++ /dev/null @@ -1,108 +0,0 @@ -lxml is copyright Infrae and distributed under the BSD license (see doc/licenses/BSD.txt), with the following exceptions: - -Some code, such a selftest.py, selftest2.py and src/lxml/_elementpath.py are derived from ElementTree and cElementTree. See doc/licenses/elementtree.txt for the license text. - -The ElementTree / XML Toys Library is -Copyright (c) 1999-2003 by Secret Labs AB -Copyright (c) 1999-2003 by Fredrik Lundh - -By obtaining, using, and/or copying this software and/or its -associated documentation, you agree that you have read, understood, -and will comply with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and its -associated documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appears in all -copies, and that both that copyright notice and this permission notice -appear in supporting documentation, and that the name of Secret Labs -AB or the author not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -test.py, the test-runner script, is GPL and copyright Shuttleworth -Foundation. See doc/licenses/GPL.txt. It is believed the unchanged -inclusion of test.py to run the unit test suite falls under the -"aggregation" clause of the GPL and thus does not affect the license -of the rest of the package. - -# SchoolTool - common information systems platform for school administration -# Copyright (c) 2003 Shuttleworth Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -the doctest.py module is taken from the Python library and falls under -the PSF Python License. - -The isoschematron implementation uses several XSL and RelaxNG resources: - * The (XML syntax) RelaxNG schema for schematron, copyright International - Organization for Standardization (see - src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license - text) - - Copyright (c) International Organization for Standardization 2005. - Permission to copy in any form is granted for use with conforming - SGML systems and applications as defined in ISO 8879, - provided this notice is included in all copies. - - * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation - xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing - Center, Taiwan (see the xsl files here for the license text: - src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) - - Copyright (c) 2000-2008 Rick Jelliffe and Academia Sinica Computing Center, Taiwan - - This software is provided 'as-is', without any express or implied warranty. - In no event will the authors be held liable for any damages arising from - the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it freely, - subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not claim - that you wrote the original software. If you use this software in a product, - an acknowledgment in the product documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - - Implementation of Schematron Validation Report Language from ISO Schematron - ISO/IEC 19757 Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation Schematron - Annex D: Schematron Validation Report Language - - This ISO Standard is available free as a Publicly Available Specification in PDF from ISO. - Also see www.schematron.com for drafts and other information. - - - * The xsd/rng schema schematron extraction xsl transformations are unlicensed - and copyright the respective authors as noted (see - src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and - src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) - - Created by Eddie Robertsson 2002/06/01 and modified by Holger Joukl - based on an original transform by Eddie Robertsson \ No newline at end of file diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl b/thirdparty/lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl deleted file mode 100644 index f910721b..00000000 Binary files a/thirdparty/lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl.ABOUT b/thirdparty/lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl.ABOUT deleted file mode 100644 index 6acde670..00000000 --- a/thirdparty/lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl.ABOUT +++ /dev/null @@ -1,33 +0,0 @@ -about_resource: lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl -name: LXML -version: 4.2.1 -download_url: https://files.pythonhosted.org/packages/a7/b9/ccf46cea0f698b40bca2a9c1a44039c336fe1988b82de4f7353be7a8396a/lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl -description: lxml is the most feature-rich and easy-to-use library for processing XML and HTML - in the Python language. -homepage_url: http://lxml.de/ -license_expression: bsd-new AND (mit AND gpl-2.0-plus AND zpl-2.0 AND zlib) -copyright: Copyright (c) 2004 Infrae. -notice_file: lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl.NOTICE -redistribute: yes -attribute: yes -track_changes: yes -owner: Infrae -checksum_md5: 65108508780fdc2e3524545d5bc15fb1 -checksum_sha1: 263843a7233445bfef03c045c9e1c44a1bce7e6b -package_url: pkg:pypi/lxml@4.2.1 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: gpl-2.0-plus - name: GNU General Public License 2.0 or later - file: gpl-2.0-plus.LICENSE - - key: mit - name: MIT License - file: mit.LICENSE - - key: zlib - name: ZLIB License - file: zlib.LICENSE - - key: zpl-2.0 - name: Zope Public License 2.0 - file: zpl-2.0.LICENSE diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl.NOTICE b/thirdparty/lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl.NOTICE deleted file mode 100644 index c07d7e85..00000000 --- a/thirdparty/lxml-4.2.1-cp36-cp36m-manylinux1_x86_64.whl.NOTICE +++ /dev/null @@ -1,108 +0,0 @@ -lxml is copyright Infrae and distributed under the BSD license (see doc/licenses/BSD.txt), with the following exceptions: - -Some code, such a selftest.py, selftest2.py and src/lxml/_elementpath.py are derived from ElementTree and cElementTree. See doc/licenses/elementtree.txt for the license text. - -The ElementTree / XML Toys Library is -Copyright (c) 1999-2003 by Secret Labs AB -Copyright (c) 1999-2003 by Fredrik Lundh - -By obtaining, using, and/or copying this software and/or its -associated documentation, you agree that you have read, understood, -and will comply with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and its -associated documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appears in all -copies, and that both that copyright notice and this permission notice -appear in supporting documentation, and that the name of Secret Labs -AB or the author not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -test.py, the test-runner script, is GPL and copyright Shuttleworth -Foundation. See doc/licenses/GPL.txt. It is believed the unchanged -inclusion of test.py to run the unit test suite falls under the -"aggregation" clause of the GPL and thus does not affect the license -of the rest of the package. - -# SchoolTool - common information systems platform for school administration -# Copyright (c) 2003 Shuttleworth Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -the doctest.py module is taken from the Python library and falls under -the PSF Python License. - -The isoschematron implementation uses several XSL and RelaxNG resources: - * The (XML syntax) RelaxNG schema for schematron, copyright International - Organization for Standardization (see - src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license - text) - - Copyright (c) International Organization for Standardization 2005. - Permission to copy in any form is granted for use with conforming - SGML systems and applications as defined in ISO 8879, - provided this notice is included in all copies. - - * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation - xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing - Center, Taiwan (see the xsl files here for the license text: - src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) - - Copyright (c) 2000-2008 Rick Jelliffe and Academia Sinica Computing Center, Taiwan - - This software is provided 'as-is', without any express or implied warranty. - In no event will the authors be held liable for any damages arising from - the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it freely, - subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not claim - that you wrote the original software. If you use this software in a product, - an acknowledgment in the product documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - - Implementation of Schematron Validation Report Language from ISO Schematron - ISO/IEC 19757 Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation Schematron - Annex D: Schematron Validation Report Language - - This ISO Standard is available free as a Publicly Available Specification in PDF from ISO. - Also see www.schematron.com for drafts and other information. - - - * The xsd/rng schema schematron extraction xsl transformations are unlicensed - and copyright the respective authors as noted (see - src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and - src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) - - Created by Eddie Robertsson 2002/06/01 and modified by Holger Joukl - based on an original transform by Eddie Robertsson \ No newline at end of file diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-win32.whl b/thirdparty/lxml-4.2.1-cp36-cp36m-win32.whl deleted file mode 100644 index 02d23eb5..00000000 Binary files a/thirdparty/lxml-4.2.1-cp36-cp36m-win32.whl and /dev/null differ diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-win32.whl.ABOUT b/thirdparty/lxml-4.2.1-cp36-cp36m-win32.whl.ABOUT deleted file mode 100644 index 9e1bc93d..00000000 --- a/thirdparty/lxml-4.2.1-cp36-cp36m-win32.whl.ABOUT +++ /dev/null @@ -1,33 +0,0 @@ -about_resource: lxml-4.2.1-cp36-cp36m-win32.whl -name: LXML -version: 4.2.1 -download_url: https://files.pythonhosted.org/packages/da/bc/5e159efe6ed7c0fa49e9c476766c330fc4edda5dafaeaf02171f03150169/lxml-4.2.1-cp36-cp36m-win32.whl -description: lxml is the most feature-rich and easy-to-use library for processing XML and HTML - in the Python language. -homepage_url: http://lxml.de/ -license_expression: bsd-new AND (mit AND gpl-2.0-plus AND zpl-2.0 AND zlib) -copyright: Copyright (c) 2004 Infrae. -notice_file: lxml-4.2.1-cp36-cp36m-win32.whl.NOTICE -redistribute: yes -attribute: yes -track_changes: yes -owner: Infrae -checksum_md5: d10800a844d7ebb37ff9a04adb8e7438 -checksum_sha1: 3ae8bf0797399fc4f546a769c7c6ecf8a7fad092 -package_url: pkg:pypi/lxml@4.2.1 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: gpl-2.0-plus - name: GNU General Public License 2.0 or later - file: gpl-2.0-plus.LICENSE - - key: mit - name: MIT License - file: mit.LICENSE - - key: zlib - name: ZLIB License - file: zlib.LICENSE - - key: zpl-2.0 - name: Zope Public License 2.0 - file: zpl-2.0.LICENSE diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-win32.whl.NOTICE b/thirdparty/lxml-4.2.1-cp36-cp36m-win32.whl.NOTICE deleted file mode 100644 index c07d7e85..00000000 --- a/thirdparty/lxml-4.2.1-cp36-cp36m-win32.whl.NOTICE +++ /dev/null @@ -1,108 +0,0 @@ -lxml is copyright Infrae and distributed under the BSD license (see doc/licenses/BSD.txt), with the following exceptions: - -Some code, such a selftest.py, selftest2.py and src/lxml/_elementpath.py are derived from ElementTree and cElementTree. See doc/licenses/elementtree.txt for the license text. - -The ElementTree / XML Toys Library is -Copyright (c) 1999-2003 by Secret Labs AB -Copyright (c) 1999-2003 by Fredrik Lundh - -By obtaining, using, and/or copying this software and/or its -associated documentation, you agree that you have read, understood, -and will comply with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and its -associated documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appears in all -copies, and that both that copyright notice and this permission notice -appear in supporting documentation, and that the name of Secret Labs -AB or the author not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -test.py, the test-runner script, is GPL and copyright Shuttleworth -Foundation. See doc/licenses/GPL.txt. It is believed the unchanged -inclusion of test.py to run the unit test suite falls under the -"aggregation" clause of the GPL and thus does not affect the license -of the rest of the package. - -# SchoolTool - common information systems platform for school administration -# Copyright (c) 2003 Shuttleworth Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -the doctest.py module is taken from the Python library and falls under -the PSF Python License. - -The isoschematron implementation uses several XSL and RelaxNG resources: - * The (XML syntax) RelaxNG schema for schematron, copyright International - Organization for Standardization (see - src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license - text) - - Copyright (c) International Organization for Standardization 2005. - Permission to copy in any form is granted for use with conforming - SGML systems and applications as defined in ISO 8879, - provided this notice is included in all copies. - - * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation - xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing - Center, Taiwan (see the xsl files here for the license text: - src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) - - Copyright (c) 2000-2008 Rick Jelliffe and Academia Sinica Computing Center, Taiwan - - This software is provided 'as-is', without any express or implied warranty. - In no event will the authors be held liable for any damages arising from - the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it freely, - subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not claim - that you wrote the original software. If you use this software in a product, - an acknowledgment in the product documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - - Implementation of Schematron Validation Report Language from ISO Schematron - ISO/IEC 19757 Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation Schematron - Annex D: Schematron Validation Report Language - - This ISO Standard is available free as a Publicly Available Specification in PDF from ISO. - Also see www.schematron.com for drafts and other information. - - - * The xsd/rng schema schematron extraction xsl transformations are unlicensed - and copyright the respective authors as noted (see - src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and - src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) - - Created by Eddie Robertsson 2002/06/01 and modified by Holger Joukl - based on an original transform by Eddie Robertsson \ No newline at end of file diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-win_amd64.whl b/thirdparty/lxml-4.2.1-cp36-cp36m-win_amd64.whl deleted file mode 100644 index 99c923b6..00000000 Binary files a/thirdparty/lxml-4.2.1-cp36-cp36m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-win_amd64.whl.ABOUT b/thirdparty/lxml-4.2.1-cp36-cp36m-win_amd64.whl.ABOUT deleted file mode 100644 index c7dfd924..00000000 --- a/thirdparty/lxml-4.2.1-cp36-cp36m-win_amd64.whl.ABOUT +++ /dev/null @@ -1,33 +0,0 @@ -about_resource: lxml-4.2.1-cp36-cp36m-win_amd64.whl -name: LXML -version: 4.2.1 -download_url: https://files.pythonhosted.org/packages/76/dc/96b0cc4139957c7ff3d62f70edcdba5f9ad4a9a5c8a125b8239ce2117b51/lxml-4.2.1-cp36-cp36m-win_amd64.whl -description: lxml is the most feature-rich and easy-to-use library for processing XML and HTML - in the Python language. -homepage_url: http://lxml.de/ -license_expression: bsd-new AND (mit AND gpl-2.0-plus AND zpl-2.0 AND zlib) -copyright: Copyright (c) 2004 Infrae. -notice_file: lxml-4.2.1-cp36-cp36m-win_amd64.whl.NOTICE -redistribute: yes -attribute: yes -track_changes: yes -owner: Infrae -checksum_md5: a96623c1c5f6a35670a2369f2f2ad50f -checksum_sha1: 7e2feaa7ec09926c5ae6617ee7fedf6c3282a8a3 -package_url: pkg:pypi/lxml@4.2.1 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: gpl-2.0-plus - name: GNU General Public License 2.0 or later - file: gpl-2.0-plus.LICENSE - - key: mit - name: MIT License - file: mit.LICENSE - - key: zlib - name: ZLIB License - file: zlib.LICENSE - - key: zpl-2.0 - name: Zope Public License 2.0 - file: zpl-2.0.LICENSE diff --git a/thirdparty/lxml-4.2.1-cp36-cp36m-win_amd64.whl.NOTICE b/thirdparty/lxml-4.2.1-cp36-cp36m-win_amd64.whl.NOTICE deleted file mode 100644 index c07d7e85..00000000 --- a/thirdparty/lxml-4.2.1-cp36-cp36m-win_amd64.whl.NOTICE +++ /dev/null @@ -1,108 +0,0 @@ -lxml is copyright Infrae and distributed under the BSD license (see doc/licenses/BSD.txt), with the following exceptions: - -Some code, such a selftest.py, selftest2.py and src/lxml/_elementpath.py are derived from ElementTree and cElementTree. See doc/licenses/elementtree.txt for the license text. - -The ElementTree / XML Toys Library is -Copyright (c) 1999-2003 by Secret Labs AB -Copyright (c) 1999-2003 by Fredrik Lundh - -By obtaining, using, and/or copying this software and/or its -associated documentation, you agree that you have read, understood, -and will comply with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and its -associated documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appears in all -copies, and that both that copyright notice and this permission notice -appear in supporting documentation, and that the name of Secret Labs -AB or the author not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -test.py, the test-runner script, is GPL and copyright Shuttleworth -Foundation. See doc/licenses/GPL.txt. It is believed the unchanged -inclusion of test.py to run the unit test suite falls under the -"aggregation" clause of the GPL and thus does not affect the license -of the rest of the package. - -# SchoolTool - common information systems platform for school administration -# Copyright (c) 2003 Shuttleworth Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -the doctest.py module is taken from the Python library and falls under -the PSF Python License. - -The isoschematron implementation uses several XSL and RelaxNG resources: - * The (XML syntax) RelaxNG schema for schematron, copyright International - Organization for Standardization (see - src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license - text) - - Copyright (c) International Organization for Standardization 2005. - Permission to copy in any form is granted for use with conforming - SGML systems and applications as defined in ISO 8879, - provided this notice is included in all copies. - - * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation - xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing - Center, Taiwan (see the xsl files here for the license text: - src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) - - Copyright (c) 2000-2008 Rick Jelliffe and Academia Sinica Computing Center, Taiwan - - This software is provided 'as-is', without any express or implied warranty. - In no event will the authors be held liable for any damages arising from - the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it freely, - subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not claim - that you wrote the original software. If you use this software in a product, - an acknowledgment in the product documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - - Implementation of Schematron Validation Report Language from ISO Schematron - ISO/IEC 19757 Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation Schematron - Annex D: Schematron Validation Report Language - - This ISO Standard is available free as a Publicly Available Specification in PDF from ISO. - Also see www.schematron.com for drafts and other information. - - - * The xsd/rng schema schematron extraction xsl transformations are unlicensed - and copyright the respective authors as noted (see - src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and - src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) - - Created by Eddie Robertsson 2002/06/01 and modified by Holger Joukl - based on an original transform by Eddie Robertsson \ No newline at end of file diff --git a/thirdparty/lxml-4.2.1.tar.gz b/thirdparty/lxml-4.2.1.tar.gz deleted file mode 100644 index 3ca3c430..00000000 Binary files a/thirdparty/lxml-4.2.1.tar.gz and /dev/null differ diff --git a/thirdparty/lxml-4.2.1.tar.gz.ABOUT b/thirdparty/lxml-4.2.1.tar.gz.ABOUT deleted file mode 100644 index 7348d94e..00000000 --- a/thirdparty/lxml-4.2.1.tar.gz.ABOUT +++ /dev/null @@ -1,32 +0,0 @@ -about_resource: lxml-4.2.1.tar.gz -attribute: true -checksum_md5: c266d9062e23b08f66426979a2b36f51 -checksum_sha1: 5ac888d5957f74298fb6daf74778bd91812f7571 -copyright: Copyright (c) 2004 Infrae. -description: lxml is the most feature-rich and easy-to-use library for processing - XML and HTML in the Python language. -download_url: https://files.pythonhosted.org/packages/e8/5d/98f56e274bdf17f2e0d9016d1788ca80d26d8987dcd5e1d9416d86ee0625/lxml-4.2.1.tar.gz -homepage_url: http://lxml.de/ -license_expression: bsd-new AND (mit AND gpl-2.0-plus AND zpl-2.0 AND zlib) -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -- file: gpl-2.0-plus.LICENSE - key: gpl-2.0-plus - name: GNU General Public License 2.0 or later -- file: mit.LICENSE - key: mit - name: MIT License -- file: zlib.LICENSE - key: zlib - name: ZLIB License -- file: zpl-2.0.LICENSE - key: zpl-2.0 - name: Zope Public License 2.0 -name: LXML -notice_file: lxml-4.2.1.tar.gz.NOTICE -owner: Infrae -redistribute: true -track_changes: true -version: 4.2.1 diff --git a/thirdparty/lxml-4.2.1.tar.gz.NOTICE b/thirdparty/lxml-4.2.1.tar.gz.NOTICE deleted file mode 100644 index 7e0a151d..00000000 --- a/thirdparty/lxml-4.2.1.tar.gz.NOTICE +++ /dev/null @@ -1,108 +0,0 @@ -lxml is copyright Infrae and distributed under the BSD license (see doc/licenses/BSD.txt), with the following exceptions: - -Some code, such a selftest.py, selftest2.py and src/lxml/_elementpath.py are derived from ElementTree and cElementTree. See doc/licenses/elementtree.txt for the license text. - -The ElementTree / XML Toys Library is -Copyright (c) 1999-2003 by Secret Labs AB -Copyright (c) 1999-2003 by Fredrik Lundh - -By obtaining, using, and/or copying this software and/or its -associated documentation, you agree that you have read, understood, -and will comply with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and its -associated documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appears in all -copies, and that both that copyright notice and this permission notice -appear in supporting documentation, and that the name of Secret Labs -AB or the author not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -test.py, the test-runner script, is GPL and copyright Shuttleworth -Foundation. See doc/licenses/GPL.txt. It is believed the unchanged -inclusion of test.py to run the unit test suite falls under the -"aggregation" clause of the GPL and thus does not affect the license -of the rest of the package. - -# SchoolTool - common information systems platform for school administration -# Copyright (c) 2003 Shuttleworth Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -the doctest.py module is taken from the Python library and falls under -the PSF Python License. - -The isoschematron implementation uses several XSL and RelaxNG resources: - * The (XML syntax) RelaxNG schema for schematron, copyright International - Organization for Standardization (see - src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license - text) - - Copyright (c) International Organization for Standardization 2005. - Permission to copy in any form is granted for use with conforming - SGML systems and applications as defined in ISO 8879, - provided this notice is included in all copies. - - * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation - xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing - Center, Taiwan (see the xsl files here for the license text: - src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) - - Copyright (c) 2000-2008 Rick Jelliffe and Academia Sinica Computing Center, Taiwan - - This software is provided 'as-is', without any express or implied warranty. - In no event will the authors be held liable for any damages arising from - the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it freely, - subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not claim - that you wrote the original software. If you use this software in a product, - an acknowledgment in the product documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source distribution. - - Implementation of Schematron Validation Report Language from ISO Schematron - ISO/IEC 19757 Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation Schematron - Annex D: Schematron Validation Report Language - - This ISO Standard is available free as a Publicly Available Specification in PDF from ISO. - Also see www.schematron.com for drafts and other information. - - - * The xsd/rng schema schematron extraction xsl transformations are unlicensed - and copyright the respective authors as noted (see - src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and - src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) - - Created by Eddie Robertsson 2002/06/01 and modified by Holger Joukl - based on an original transform by Eddie Robertsson \ No newline at end of file diff --git a/thirdparty/more-itertools-5.0.0.tar.gz b/thirdparty/more-itertools-5.0.0.tar.gz deleted file mode 100644 index 6a4a3aba..00000000 Binary files a/thirdparty/more-itertools-5.0.0.tar.gz and /dev/null differ diff --git a/thirdparty/more-itertools-5.0.0.tar.gz.ABOUT b/thirdparty/more-itertools-5.0.0.tar.gz.ABOUT deleted file mode 100644 index 99266da5..00000000 --- a/thirdparty/more-itertools-5.0.0.tar.gz.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: more-itertools-5.0.0.tar.gz -name: more_itertools -version: 5.0.0 -download_url: https://files.pythonhosted.org/packages/dd/26/30fc0d541d9fdf55faf5ba4b0fd68f81d5bd2447579224820ad525934178/more-itertools-5.0.0.tar.gz -description: More routines for operating on iterables, beyond itertools -homepage_url: https://github.com/erikrose/more-itertools -license_expression: mit -copyright: Copyright (c) Erik Rose -notice_file: more-itertools-5.0.0.tar.gz.NOTICE -notice_url: https://github.com/erikrose/more-itertools/blob/5.0.0/LICENSE -attribute: yes -owner: Erik Rose -owner_url: http://www.grinchcentral.com/ -contact: grinch@grinchcentral.com -vcs_repository: https://github.com/erikrose/more-itertools -checksum_md5: f2ea58aa336ce6c13b7b225b3bbe305d -checksum_sha1: a5c9330ecc3e86b45f6d675ac7405a9d55d0582f -package_url: pkg:pypi/more-itertools@5.0.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/more-itertools-5.0.0.tar.gz.NOTICE b/thirdparty/more-itertools-5.0.0.tar.gz.NOTICE deleted file mode 100644 index 8fb3ba40..00000000 --- a/thirdparty/more-itertools-5.0.0.tar.gz.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Erik Rose - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/thirdparty/more_itertools-4.2.0-py2-none-any.whl b/thirdparty/more_itertools-4.2.0-py2-none-any.whl deleted file mode 100644 index 5a31af74..00000000 Binary files a/thirdparty/more_itertools-4.2.0-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/more_itertools-4.2.0-py2-none-any.whl.ABOUT b/thirdparty/more_itertools-4.2.0-py2-none-any.whl.ABOUT deleted file mode 100644 index 978f978d..00000000 --- a/thirdparty/more_itertools-4.2.0-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: more_itertools-4.2.0-py2-none-any.whl -name: more_itertools -version: 4.2.0 -download_url: https://files.pythonhosted.org/packages/9e/92/d05d8679c3bcaa263169aa47de660080df36d35697855515745657c1ba78/more_itertools-4.2.0-py2-none-any.whl -description: More routines for operating on iterables, beyond itertools -homepage_url: https://github.com/erikrose/more-itertools -license_expression: mit -copyright: Copyright (c) Erik Rose -notice_file: more_itertools-4.2.0-py2-none-any.whl.NOTICE -notice_url: https://github.com/erikrose/more-itertools/blob/4.2.0/LICENSE -attribute: yes -owner: Erik Rose -owner_url: http://www.grinchcentral.com/ -contact: grinch@grinchcentral.com -vcs_repository: https://github.com/erikrose/more-itertools -checksum_md5: 89e95ea35f539a8e82c9a7b6156e4de1 -checksum_sha1: cdd72ea299f10dfec0e903d5a70d64a011f67300 -package_url: pkg:pypi/more-itertools@4.2.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/more_itertools-4.2.0-py2-none-any.whl.NOTICE b/thirdparty/more_itertools-4.2.0-py2-none-any.whl.NOTICE deleted file mode 100644 index 0a523bec..00000000 --- a/thirdparty/more_itertools-4.2.0-py2-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2012 Erik Rose - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/thirdparty/more_itertools-4.2.0-py3-none-any.whl b/thirdparty/more_itertools-4.2.0-py3-none-any.whl deleted file mode 100644 index 0ac0745b..00000000 Binary files a/thirdparty/more_itertools-4.2.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/more_itertools-4.2.0-py3-none-any.whl.ABOUT b/thirdparty/more_itertools-4.2.0-py3-none-any.whl.ABOUT deleted file mode 100644 index b2dcf3b1..00000000 --- a/thirdparty/more_itertools-4.2.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: more_itertools-4.2.0-py3-none-any.whl -name: more_itertools -version: 4.2.0 -download_url: https://files.pythonhosted.org/packages/85/40/90c3b0393e12b9827381004224de8814686e3d7182f9d4182477f600826d/more_itertools-4.2.0-py3-none-any.whl -description: More routines for operating on iterables, beyond itertools -homepage_url: https://github.com/erikrose/more-itertools -license_expression: mit -copyright: Copyright (c) Erik Rose -notice_file: more_itertools-4.2.0-py3-none-any.whl.NOTICE -notice_url: https://github.com/erikrose/more-itertools/blob/4.2.0/LICENSE -attribute: yes -owner: Erik Rose -owner_url: http://www.grinchcentral.com/ -contact: grinch@grinchcentral.com -vcs_repository: https://github.com/erikrose/more-itertools -checksum_md5: 6c3bac88c1996a46a4edc7631883098a -checksum_sha1: 94c95c3b9e2d638284a401f222c455cac6fcf1e4 -package_url: pkg:pypi/more-itertools@4.2.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/more_itertools-4.2.0-py3-none-any.whl.NOTICE b/thirdparty/more_itertools-4.2.0-py3-none-any.whl.NOTICE deleted file mode 100644 index 0a523bec..00000000 --- a/thirdparty/more_itertools-4.2.0-py3-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2012 Erik Rose - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/thirdparty/more_itertools-5.0.0-py2-none-any.whl b/thirdparty/more_itertools-5.0.0-py2-none-any.whl deleted file mode 100644 index e06d63ce..00000000 Binary files a/thirdparty/more_itertools-5.0.0-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/more_itertools-5.0.0-py2-none-any.whl.ABOUT b/thirdparty/more_itertools-5.0.0-py2-none-any.whl.ABOUT deleted file mode 100644 index 3c83a03c..00000000 --- a/thirdparty/more_itertools-5.0.0-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: more_itertools-5.0.0-py2-none-any.whl -name: more_itertools -version: 5.0.0 -download_url: https://files.pythonhosted.org/packages/2f/9d/dcfe59e213093695f108508af1214cf9cd95cc5489e46877ec5cb56369e5/more_itertools-5.0.0-py2-none-any.whl -description: More routines for operating on iterables, beyond itertools -homepage_url: https://github.com/erikrose/more-itertools -license_expression: mit -copyright: Copyright (c) Erik Rose -notice_file: more_itertools-5.0.0-py2-none-any.whl.NOTICE -notice_url: https://github.com/erikrose/more-itertools/blob/5.0.0/LICENSE -attribute: yes -owner: Erik Rose -owner_url: http://www.grinchcentral.com/ -contact: grinch@grinchcentral.com -vcs_repository: https://github.com/erikrose/more-itertools -checksum_md5: df2555ed357ba7edf80440eaca953776 -checksum_sha1: 656ff35bdd3e10c4d4b46f6ac2b9199bef49d040 -package_url: pkg:pypi/more-itertools@5.0.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/more_itertools-5.0.0-py2-none-any.whl.NOTICE b/thirdparty/more_itertools-5.0.0-py2-none-any.whl.NOTICE deleted file mode 100644 index 8fb3ba40..00000000 --- a/thirdparty/more_itertools-5.0.0-py2-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Erik Rose - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/thirdparty/more_itertools-5.0.0-py3-none-any.whl b/thirdparty/more_itertools-5.0.0-py3-none-any.whl deleted file mode 100644 index 5f6a64f2..00000000 Binary files a/thirdparty/more_itertools-5.0.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/more_itertools-5.0.0-py3-none-any.whl.ABOUT b/thirdparty/more_itertools-5.0.0-py3-none-any.whl.ABOUT deleted file mode 100644 index ef9dd3ea..00000000 --- a/thirdparty/more_itertools-5.0.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: more_itertools-5.0.0-py3-none-any.whl -name: more_itertools -version: 5.0.0 -download_url: https://files.pythonhosted.org/packages/a4/a6/42f17d065bda1fac255db13afc94c93dbfb64393eae37c749b4cb0752fc7/more_itertools-5.0.0-py3-none-any.whl -description: More routines for operating on iterables, beyond itertools -homepage_url: https://github.com/erikrose/more-itertools -license_expression: mit -copyright: Copyright (c) Erik Rose -notice_file: more_itertools-5.0.0-py3-none-any.whl.NOTICE -notice_url: https://github.com/erikrose/more-itertools/blob/5.0.0/LICENSE -attribute: yes -owner: Erik Rose -owner_url: http://www.grinchcentral.com/ -contact: grinch@grinchcentral.com -vcs_repository: https://github.com/erikrose/more-itertools -checksum_md5: f1e8d8b0090ec75fc1d81a0857d74ec1 -checksum_sha1: 5720d75d7ae0eb05a0d39b747eb3063f4d7f682a -package_url: pkg:pypi/more-itertools@5.0.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/more_itertools-5.0.0-py3-none-any.whl.NOTICE b/thirdparty/more_itertools-5.0.0-py3-none-any.whl.NOTICE deleted file mode 100644 index 8fb3ba40..00000000 --- a/thirdparty/more_itertools-5.0.0-py3-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Erik Rose - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/thirdparty/mpl-2.0.LICENSE b/thirdparty/mpl-2.0.LICENSE deleted file mode 100644 index 14e2f777..00000000 --- a/thirdparty/mpl-2.0.LICENSE +++ /dev/null @@ -1,373 +0,0 @@ -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/thirdparty/nltk-3.2-py2-none-any.whl b/thirdparty/nltk-3.2-py2-none-any.whl deleted file mode 100644 index bb9e8527..00000000 Binary files a/thirdparty/nltk-3.2-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/nltk-3.2-py2-none-any.whl.ABOUT b/thirdparty/nltk-3.2-py2-none-any.whl.ABOUT deleted file mode 100644 index e6b0fb16..00000000 --- a/thirdparty/nltk-3.2-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,23 +0,0 @@ -about_resource: nltk-3.2-py2-none-any.whl -name: nltk -version: '3.2' -download_url: https://raw.githubusercontent.com/nexB/scancode-toolkit/e2b29a755d7134c90b9662e6135d108a6fa63516/thirdparty/nltk-3.2-py2-none-any.whl -description: NLTK is a leading platform for building Python programs to work with human language - data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as - WordNet, along with a suite of text processing libraries for classification, tokenization, - stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries, - and an active discussion forum. -homepage_url: http://www.nltk.org/ -license_expression: apache-2.0 -copyright: Copyright (c) NLTK contributors -notice_file: nltk-3.2-py2-none-any.whl.NOTICE -notice_url: https://github.com/nltk/nltk/wiki/FAQ -attribute: yes -track_changes: yes -owner: nltk Project -checksum_md5: 0eb13732a726f889873ceafbec8af46a -checksum_sha1: 92a46499b5f8e64e83b4b438d90e78400e281a40 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/nltk-3.2-py2-none-any.whl.NOTICE b/thirdparty/nltk-3.2-py2-none-any.whl.NOTICE deleted file mode 100644 index c8265771..00000000 --- a/thirdparty/nltk-3.2-py2-none-any.whl.NOTICE +++ /dev/null @@ -1 +0,0 @@ -NLTK is open source software. The source code is distributed under the terms of the Apache License Version 2.0. \ No newline at end of file diff --git a/thirdparty/nltk-3.2-py3-none-any.whl b/thirdparty/nltk-3.2-py3-none-any.whl deleted file mode 100644 index 20cc9a0c..00000000 Binary files a/thirdparty/nltk-3.2-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/nltk-3.2-py3-none-any.whl.ABOUT b/thirdparty/nltk-3.2-py3-none-any.whl.ABOUT deleted file mode 100644 index ae5b9a2a..00000000 --- a/thirdparty/nltk-3.2-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,24 +0,0 @@ -about_resource: nltk-3.2-py3-none-any.whl -name: nltk -version: '3.2' -download_url: https://pypi.python.org/packages/source/n/nltk/nltk-3.2.tar.gz -description: NLTK is a leading platform for building Python programs to work with human language - data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as - WordNet, along with a suite of text processing libraries for classification, tokenization, - stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries, - and an active discussion forum. -homepage_url: http://www.nltk.org/ -license_expression: apache-2.0 -copyright: Copyright (c) NLTK contributors -notice_file: nltk-3.2-py3-none-any.whl.NOTICE -notice_url: https://github.com/nltk/nltk/wiki/FAQ -attribute: yes -track_changes: yes -owner: nltk Project -checksum_md5: cec19785ffd176fa6d18ef41a29eb227 -checksum_sha1: cb146331ffee538cf90ec7fc972cc3d50ea67c54 -package_url: pkg:pypi/nltk@3.2 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/nltk-3.2-py3-none-any.whl.NOTICE b/thirdparty/nltk-3.2-py3-none-any.whl.NOTICE deleted file mode 100644 index c8265771..00000000 --- a/thirdparty/nltk-3.2-py3-none-any.whl.NOTICE +++ /dev/null @@ -1 +0,0 @@ -NLTK is open source software. The source code is distributed under the terms of the Apache License Version 2.0. \ No newline at end of file diff --git a/thirdparty/nltk-3.2.tar.gz b/thirdparty/nltk-3.2.tar.gz deleted file mode 100644 index 2aec1dd2..00000000 Binary files a/thirdparty/nltk-3.2.tar.gz and /dev/null differ diff --git a/thirdparty/nltk-3.2.tar.gz.ABOUT b/thirdparty/nltk-3.2.tar.gz.ABOUT deleted file mode 100644 index afcb6c73..00000000 --- a/thirdparty/nltk-3.2.tar.gz.ABOUT +++ /dev/null @@ -1,24 +0,0 @@ -about_resource: nltk-3.2.tar.gz -name: nltk -version: '3.2' -download_url: https://pypi.python.org/packages/source/n/nltk/nltk-3.2.tar.gz -description: NLTK is a leading platform for building Python programs to work with human language - data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as - WordNet, along with a suite of text processing libraries for classification, tokenization, - stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries, - and an active discussion forum. -homepage_url: http://www.nltk.org/ -license_expression: apache-2.0 -copyright: Copyright (c) NLTK contributors -notice_file: nltk-3.2.tar.gz.NOTICE -notice_url: https://github.com/nltk/nltk/wiki/FAQ -attribute: yes -track_changes: yes -owner: nltk Project -checksum_md5: cec19785ffd176fa6d18ef41a29eb227 -checksum_sha1: cb146331ffee538cf90ec7fc972cc3d50ea67c54 -package_url: pkg:pypi/nltk@3.2 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/nltk-3.2.tar.gz.NOTICE b/thirdparty/nltk-3.2.tar.gz.NOTICE deleted file mode 100644 index c8265771..00000000 --- a/thirdparty/nltk-3.2.tar.gz.NOTICE +++ /dev/null @@ -1 +0,0 @@ -NLTK is open source software. The source code is distributed under the terms of the Apache License Version 2.0. \ No newline at end of file diff --git a/thirdparty/normality-0.5.12-py2.py3-none-any.ABOUT b/thirdparty/normality-0.5.12-py2.py3-none-any.ABOUT deleted file mode 100644 index 48e67012..00000000 --- a/thirdparty/normality-0.5.12-py2.py3-none-any.ABOUT +++ /dev/null @@ -1,16 +0,0 @@ -about_resource: normality-0.5.12-py2.py3-none-any.whl -contact: friedrich@pudo.org -copyright: Copyright (c) 2013 Open Knowledge Foundation, Friedrich Lindenberg, Gregor - Aisch -description: A tiny library for Python text normalisation. Useful for ad-hoc text - processing. -download_url: https://github.com/pombredanne/normality/archive/abaabb368e04721f3aa5fe6692664c5e8fbb87e8.zip -homepage_url: https://github.com/pudo/normality -license_expression: mit -name: normality -owner: Friedrich Lindenberg -owner_url: http://pudo.org/ -vcs_url: https://github.com/pudo/normality.git -version: 0.5.1 -license_file: mit.LICENSE -notes: this is an unofficial release from an advanced patch in https://github.com/pudo/normality/pull/4 diff --git a/thirdparty/normality-0.5.12-py2.py3-none-any.whl b/thirdparty/normality-0.5.12-py2.py3-none-any.whl deleted file mode 100644 index eb7ff938..00000000 Binary files a/thirdparty/normality-0.5.12-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/other-permissive.LICENSE b/thirdparty/other-permissive.LICENSE deleted file mode 100644 index 62c219c3..00000000 --- a/thirdparty/other-permissive.LICENSE +++ /dev/null @@ -1 +0,0 @@ -This component contains multiple third-party subcomponents licensed under permissive licenses in the style of MIT, BSD, X11, and/or Apache. \ No newline at end of file diff --git a/thirdparty/packageurl_python-0.8.5-py2.py3-none-any.whl b/thirdparty/packageurl_python-0.8.5-py2.py3-none-any.whl deleted file mode 100644 index f6b9ed18..00000000 Binary files a/thirdparty/packageurl_python-0.8.5-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/packageurl_python-0.8.5-py2.py3-none-any.whl.ABOUT b/thirdparty/packageurl_python-0.8.5-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 79f2eed2..00000000 --- a/thirdparty/packageurl_python-0.8.5-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: packageurl_python-0.8.5-py2.py3-none-any.whl -name: packageurl-python -version: 0.8.5 -download_url: https://files.pythonhosted.org/packages/24/33/1bba8e898fa25b9ef315066bd790620b36af214097e2fcbfb4d34afce524/packageurl_python-0.8.5-py2.py3-none-any.whl#sha256=f7805d41d6d7e285295451deb2d647e3e285fbfd8ed7e87effb1ccf3ad95b340 -description: Python implementation of the package url spec -homepage_url: https://github.com/package-url/packageurl-python -license_expression: mit -copyright: Copyright (c) the purl authors -notice_file: packageurl_python-0.8.5-py2.py3-none-any.whl.NOTICE -notice_url: https://github.com/package-url/packageurl-python/blob/v0.7.0/mit.LICENSE -attribute: yes -owner: the purl authors -owner_url: https://github.com/package-url/purl-spec -checksum_md5: 25dd321a448c9b4864850d7c1d388425 -checksum_sha1: 657790edd40a1bf4be0714d674a13b303ab72841 -package_url: pkg:pypi/packageurl-python@0.8.5 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/packageurl_python-0.8.5-py2.py3-none-any.whl.NOTICE b/thirdparty/packageurl_python-0.8.5-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 0751c2ca..00000000 --- a/thirdparty/packageurl_python-0.8.5-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,18 +0,0 @@ -Copyright (c) the purl authors - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/packaging-19.0-py2.py3-none-any.whl b/thirdparty/packaging-19.0-py2.py3-none-any.whl deleted file mode 100644 index f0383cd3..00000000 Binary files a/thirdparty/packaging-19.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/packaging-19.0-py2.py3-none-any.whl.ABOUT b/thirdparty/packaging-19.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 5fb31f13..00000000 --- a/thirdparty/packaging-19.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,26 +0,0 @@ -about_resource: packaging-19.0-py2.py3-none-any.whl -name: packaging -version: '19.0' -download_url: https://files.pythonhosted.org/packages/91/32/58bc30e646e55eab8b21abf89e353f59c0cc02c417e42929f4a9546e1b1d/packaging-19.0-py2.py3-none-any.whl -description: NLTK is a leading platform for building Python programs to work with human language - data. -homepage_url: https://github.com/pypa/packaging -license_expression: bsd-simplified OR apache-2.0 -copyright: Copyright (c) Donald Stufft and individual contributors. -notice_file: packaging-19.0-py2.py3-none-any.whl.NOTICE -attribute: yes -track_changes: yes -owner: Python Packaging Authority -owner_url: https://www.pypa.io/en/latest/ -contact: distutils-sig@python.org -vcs_repository: https://github.com/pypa/packaging -checksum_md5: 5d7eced24d2cfe7ea57491da74d739cb -checksum_sha1: 5cf81b0df6c74176bc420e0c8de829e59967e9d5 -package_url: pkg:pypi/packaging@19.0 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE - - key: bsd-simplified - name: BSD-2-Clause - file: bsd-simplified.LICENSE diff --git a/thirdparty/packaging-19.0-py2.py3-none-any.whl.NOTICE b/thirdparty/packaging-19.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 55c34271..00000000 --- a/thirdparty/packaging-19.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1 +0,0 @@ -This software is made available under the terms of *either* of the licenses found in LICENSE.APACHE or LICENSE.BSD. Contributions to this software is made under the terms of *both* these licenses. \ No newline at end of file diff --git a/thirdparty/patch-1.16-cp36-none-any.whl b/thirdparty/patch-1.16-cp36-none-any.whl deleted file mode 100644 index 1b719d5a..00000000 Binary files a/thirdparty/patch-1.16-cp36-none-any.whl and /dev/null differ diff --git a/thirdparty/patch-1.16-py2-none-any.whl b/thirdparty/patch-1.16-py2-none-any.whl deleted file mode 100644 index 0c1e87df..00000000 Binary files a/thirdparty/patch-1.16-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/patch-1.16.zip b/thirdparty/patch-1.16.zip deleted file mode 100644 index 61be25fc..00000000 Binary files a/thirdparty/patch-1.16.zip and /dev/null differ diff --git a/thirdparty/patch-1.16.zip.ABOUT b/thirdparty/patch-1.16.zip.ABOUT deleted file mode 100644 index 92c3f7af..00000000 --- a/thirdparty/patch-1.16.zip.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: patch-1.16.zip -name: python-patch -version: '1.16' -download_url: https://files.pythonhosted.org/packages/da/74/0815f03c82f4dc738e2bfc5f8966f682bebcc809f30c8e306e6cc7156a99/patch-1.16.zip -description: Library to parse and apply unified diffs -homepage_url: https://github.com/techtonik/python-patch/ -license_expression: mit -copyright: Copyright (c) 2008-2016 anatoly techtonik -notice_file: patch-1.16.zip.NOTICE -attribute: yes -owner: Anatoly Techtonik -contact: techtonik@gmail.com -checksum_md5: dbcbbd4e45ddd8baeb02bddf663a3176 -checksum_sha1: 87523935eb8a38dda3c4ada9a3719ee9d8f62769 -package_url: pkg:pypi/patch@1.16 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/patch-1.16.zip.NOTICE b/thirdparty/patch-1.16.zip.NOTICE deleted file mode 100644 index 6d3b580c..00000000 --- a/thirdparty/patch-1.16.zip.NOTICE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License ------------ - -Copyright (c) 2008-2016 anatoly techtonik - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/patch.ABOUT b/thirdparty/patch.ABOUT deleted file mode 100644 index b606b0a1..00000000 --- a/thirdparty/patch.ABOUT +++ /dev/null @@ -1,12 +0,0 @@ -about_resource: patch-1.16-py2-none-any.whl -name: python-patch -version: 1.16 -download_url: https://pypi.python.org/packages/da/74/0815f03c82f4dc738e2bfc5f8966f682bebcc809f30c8e306e6cc7156a99/patch-1.16.zip#md5=dbcbbd4e45ddd8baeb02bddf663a3176 -vcs_url: git+https://github.com/techtonik/python-patch/ - -license_expression: mit -license_file: patch.LICENSE - -homepage_url: https://github.com/techtonik/python-patch/ -copyright: Copyright (c) anatoly techtonik -author: anatoly techtonik \ No newline at end of file diff --git a/thirdparty/patch.LICENSE b/thirdparty/patch.LICENSE deleted file mode 100644 index e172f7a1..00000000 --- a/thirdparty/patch.LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License ------------ - -Copyright (c) 2008-2016 anatoly techtonik - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/thirdparty/path.py-11.5.2-py2.py3-none-any.whl b/thirdparty/path.py-11.5.2-py2.py3-none-any.whl deleted file mode 100644 index c0e149b0..00000000 Binary files a/thirdparty/path.py-11.5.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/path.py-11.5.2-py2.py3-none-any.whl.ABOUT b/thirdparty/path.py-11.5.2-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index c7316116..00000000 --- a/thirdparty/path.py-11.5.2-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: path.py-11.5.2-py2.py3-none-any.whl -name: path.py -version: 11.5.2 -download_url: https://files.pythonhosted.org/packages/1e/4a/6e20d9e264d2eb4977b94ee2f189d5c4a4819239ce063027a952014b6670/path.py-11.5.2-py2.py3-none-any.whl -homepage_url: https://github.com/jaraco/path.py -license_expression: mit -copyright: Copyright Jason R. Coombs -attribute: yes -owner: Jason R. Coombs -vcs_repository: https://github.com/jaraco/path.py -checksum_md5: fd1488869206e736711992d7349b5722 -checksum_sha1: bf9c0a7f8bdbe14b69b681253f64806aedd5840c -package_url: pkg:pypi/path.py@11.5.2 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pathlib2-2.3.3-py2.py3-none-any.whl b/thirdparty/pathlib2-2.3.3-py2.py3-none-any.whl deleted file mode 100644 index 1b6adb2e..00000000 Binary files a/thirdparty/pathlib2-2.3.3-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pathlib2-2.3.3-py2.py3-none-any.whl.ABOUT b/thirdparty/pathlib2-2.3.3-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 3f28cc76..00000000 --- a/thirdparty/pathlib2-2.3.3-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,25 +0,0 @@ -about_resource: pathlib2-2.3.3-py2.py3-none-any.whl -name: pathlib2 -version: 2.3.3 -download_url: https://files.pythonhosted.org/packages/2a/46/c696dcf1c7aad917b39b875acdc5451975e3a9b4890dca8329983201c97a/pathlib2-2.3.3-py2.py3-none-any.whl -description: The goal of pathlib2 is to provide a backport of standard pathlib module which - tracks the standard library module, so all the newest features of the standard pathlib can - be used also on older Python versions. -homepage_url: https://github.com/mcmtroffaes/pathlib2/ -license_expression: mit -copyright: | - Copyright (c) Matthias C. M. Troffaes - Copyright (c) Antoine Pitrou and contributors -notice_file: pathlib2-2.3.3-py2.py3-none-any.whl.NOTICE -notice_url: https://github.com/mcmtroffaes/pathlib2/blob/2.3.3/LICENSE.rst -attribute: yes -owner: Matthias C. M. Troffaes -owner_url: https://github.com/mcmtroffaes -vcs_repository: https://github.com/mcmtroffaes/pathlib2 -checksum_md5: 59800988510d40503c3751698cef6853 -checksum_sha1: 2381bc4fe61546eb8974ad1f3b54ac7fbf3052f9 -package_url: pkg:pypi/pathlib2@2.3.3 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pathlib2-2.3.3-py2.py3-none-any.whl.NOTICE b/thirdparty/pathlib2-2.3.3-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index b477873f..00000000 --- a/thirdparty/pathlib2-2.3.3-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,10 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Matthias C. M. Troffaes -Copyright (c) Antoine Pitrou and contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/pdfminer.six-20181108-py2.py3-none-any.whl b/thirdparty/pdfminer.six-20181108-py2.py3-none-any.whl deleted file mode 100644 index 76d2cb22..00000000 Binary files a/thirdparty/pdfminer.six-20181108-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pdfminer.six-20181108-py2.py3-none-any.whl.ABOUT b/thirdparty/pdfminer.six-20181108-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index c66e4537..00000000 --- a/thirdparty/pdfminer.six-20181108-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,27 +0,0 @@ -about_resource: pdfminer.six-20181108-py2.py3-none-any.whl -attribute: true -checksum_md5: 23d44733f43a93eb6077d4239e2b9720 -checksum_sha1: 7a1633ef5233447d583a362622fec8185ef087b1 -contact: pdfminer@goulu.net -copyright: Copyright (c) Yusuke Shinyama and contributors -description: 'PDFMiner.six is a fork of PDFMiner using six for Python 2+3 compatibility - the cmapsrc directory contains Adobe files: This directory contains Adobe CMap - resources. CMaps are required to decode text data written in CJK (Chinese, Japanese, - Korean) language. CMap resources are now available freely from Adobe web site: - http://opensource.adobe.com/wiki/display/cmap/CMap+Resources' -download_url: https://files.pythonhosted.org/packages/8a/fd/6e8746e6965d1a7ea8e97253e3d79e625da5547e8f376f88de5d024bacb9/pdfminer.six-20181108-py2.py3-none-any.whl -homepage_url: https://github.com/pdfminer/pdfminer.six -license_expression: mit AND bsd-new -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -- file: mit.LICENSE - key: mit - name: MIT License -name: pdfminer.six -notice_file: pdfminer.six-20181108-py2.py3-none-any.whl.NOTICE -owner: pdfminer -owner_url: https://github.com/pdfminer -vcs_url: https://github.com/pdfminer/pdfminer.six -version: '20181108' diff --git a/thirdparty/pdfminer.six-20181108-py2.py3-none-any.whl.NOTICE b/thirdparty/pdfminer.six-20181108-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 5faac920..00000000 --- a/thirdparty/pdfminer.six-20181108-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,51 +0,0 @@ -Copyright (c) Yusuke Shinyama and contributors - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -Copyright (c) Adobe Systems Incorporated. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -Neither the name of Adobe Systems Incorporated nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/pefile-2019.4.18-py2-none-any.whl b/thirdparty/pefile-2019.4.18-py2-none-any.whl deleted file mode 100644 index c0ad7a07..00000000 Binary files a/thirdparty/pefile-2019.4.18-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/pefile-2019.4.18-py2-none-any.whl.ABOUT b/thirdparty/pefile-2019.4.18-py2-none-any.whl.ABOUT deleted file mode 100644 index a08c5981..00000000 --- a/thirdparty/pefile-2019.4.18-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,12 +0,0 @@ -name: pefile -version: 2019.4.18 -about_resource: pefile-2019.4.18-py2-none-any.whl -download_url: https://files.pythonhosted.org/packages/36/58/acf7f35859d541985f0a6ea3c34baaefbfaee23642cf11e85fe36453ae77/pefile-2019.4.18.tar.gz -license_expression: mit -copyright: Copyright (c) Ero Carrera -attribute: yes -package_url: pkg:pypi/pefile@2019.4.18 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pefile-2019.4.18-py3-none-any.whl b/thirdparty/pefile-2019.4.18-py3-none-any.whl deleted file mode 100644 index f8f69ef2..00000000 Binary files a/thirdparty/pefile-2019.4.18-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pefile-2019.4.18-py3-none-any.whl.ABOUT b/thirdparty/pefile-2019.4.18-py3-none-any.whl.ABOUT deleted file mode 100644 index a0ecf574..00000000 --- a/thirdparty/pefile-2019.4.18-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,13 +0,0 @@ -name: pefile -version: 2019.4.18 - -about_resource: pefile-2019.4.18-py3-none-any.whl -download_url: https://files.pythonhosted.org/packages/36/58/acf7f35859d541985f0a6ea3c34baaefbfaee23642cf11e85fe36453ae77/pefile-2019.4.18.tar.gz -license_expression: mit -copyright: Copyright (c) Ero Carrera -attribute: yes -package_url: pkg:pypi/pefile@2019.4.18 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pefile-2019.4.18.tar.gz b/thirdparty/pefile-2019.4.18.tar.gz deleted file mode 100644 index 213ec2a8..00000000 Binary files a/thirdparty/pefile-2019.4.18.tar.gz and /dev/null differ diff --git a/thirdparty/pefile-2019.4.18.tar.gz.ABOUT b/thirdparty/pefile-2019.4.18.tar.gz.ABOUT deleted file mode 100644 index 02f92dd1..00000000 --- a/thirdparty/pefile-2019.4.18.tar.gz.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -name: pefile -version: 2019.4.18 - -about_resource: pefile-2019.4.18.tar.gz -download_url: https://files.pythonhosted.org/packages/36/58/acf7f35859d541985f0a6ea3c34baaefbfaee23642cf11e85fe36453ae77/pefile-2019.4.18.tar.gz -license_expression: mit -copyright: Copyright (c) Ero Carrera -attribute: yes -checksum_md5: e328272bc82ddc3170316250e37027ad -checksum_sha1: 4cadf66db1e8640733054f7b2e1920900dfed704 -package_url: pkg:pypi/pefile@2019.4.18 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pip-19.1.1-py2.py3-none-any.whl b/thirdparty/pip-19.1.1-py2.py3-none-any.whl deleted file mode 100644 index 8476c119..00000000 Binary files a/thirdparty/pip-19.1.1-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pip-19.1.1-py2.py3-none-any.whl.ABOUT b/thirdparty/pip-19.1.1-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 3c353b57..00000000 --- a/thirdparty/pip-19.1.1-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,27 +0,0 @@ -about_resource: pip-19.1.1-py2.py3-none-any.whl -name: pip -version: 19.1.1 -download_url: https://files.pythonhosted.org/packages/5c/e0/be401c003291b56efc55aeba6a80ab790d3d4cece2778288d65323009420/pip-19.1.1-py2.py3-none-any.whl#sha256=993134f0475471b91452ca029d4390dc8f298ac63a712814f101cd1b6db46676 -description: A tool for installing and managing Python packages. -homepage_url: http://www.pip-installer.org -license_expression: mit AND bsd-new AND lgpl-2.1 -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -- file: lgpl-2.1.LICENSE - key: lgpl-2.1 - name: GNU Lesser General Public License 2.1 -- file: mit.LICENSE - key: mit - name: MIT License -notice_file: pip-19.1.1-py2.py3-none-any.whl.NOTICE -copyright: Copyright (c) 2008-2016 The pip developers (see AUTHORS.txt file) -notice_url: https://github.com/pypa/pip/blob/master/LICENSE.txt -redistribute: yes -attribute: yes -track_changes: yes -owner: The pip developers -owner_url: http://www.pip-installer.org/en/latest/ -checksum_md5: 83dd12cd109aad762bd1a7a2da190f18 -checksum_sha1: 6762db1d273ee0bc278632b5e5f256df956025bf diff --git a/thirdparty/pip-19.1.1-py2.py3-none-any.whl.NOTICE b/thirdparty/pip-19.1.1-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index a7ced4ce..00000000 --- a/thirdparty/pip-19.1.1-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2008-2016 The pip developers (see AUTHORS.txt file) - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/pkginfo-1.5.0.1-py2.py3-none-any.whl b/thirdparty/pkginfo-1.5.0.1-py2.py3-none-any.whl deleted file mode 100644 index fb7cfd7a..00000000 Binary files a/thirdparty/pkginfo-1.5.0.1-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pkginfo-1.5.0.1-py2.py3-none-any.whl.ABOUT b/thirdparty/pkginfo-1.5.0.1-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 39406714..00000000 --- a/thirdparty/pkginfo-1.5.0.1-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: pkginfo-1.5.0.1-py2.py3-none-any.whl -description: Query metadatdata from sdists / bdists / installed packages. -download_url: https://files.pythonhosted.org/packages/e6/d5/451b913307b478c49eb29084916639dc53a88489b993530fed0a66bab8b9/pkginfo-1.5.0.1-py2.py3-none-any.whl -homepage_url: https://code.launchpad.net/~tseaver/pkginfo/trunk -license_expression: mit -licenses: -- file: mit.LICENSE - key: mit - name: MIT License -name: pkginfo -notice_file: pkginfo-1.5.0.1-py2.py3-none-any.whl.NOTICE -owner: Tres Seaver -owner_url: https://pypi.org/user/tseaver/ -version: '1.5.0.1' diff --git a/thirdparty/pkginfo-1.5.0.1-py2.py3-none-any.whl.NOTICE b/thirdparty/pkginfo-1.5.0.1-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index b4e391f6..00000000 --- a/thirdparty/pkginfo-1.5.0.1-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2009 Agendaless Consulting, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/thirdparty/pluggy-0.12.0-py2.py3-none-any.whl b/thirdparty/pluggy-0.12.0-py2.py3-none-any.whl deleted file mode 100644 index 50734a08..00000000 Binary files a/thirdparty/pluggy-0.12.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pluggy-0.12.0-py2.py3-none-any.whl.ABOUT b/thirdparty/pluggy-0.12.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 09b82612..00000000 --- a/thirdparty/pluggy-0.12.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: pluggy-0.12.0-py2.py3-none-any.whl -name: pluggy -version: 0.12.0 -download_url: https://files.pythonhosted.org/packages/06/ee/de89e0582276e3551df3110088bf20844de2b0e7df2748406876cc78e021/pluggy-0.12.0-py2.py3-none-any.whl -description: Plugin and hook calling mechanisms for python -homepage_url: https://github.com/pytest-dev/pluggy -license_expression: mit -copyright: Copyright (c) Holger Krekel -notice_file: pluggy-0.12.0-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: pytest-dev -owner_url: https://github.com/pytest-dev -contact: pytest-dev@python.org -checksum_md5: 5c27b54570a48d4ad783eec40f87f930 -checksum_sha1: c3f83d321ed13911660a1e7a98d0c61222c47183 -package_url: pkg:pypi/pluggy@0.12.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pluggy-0.12.0-py2.py3-none-any.whl.NOTICE b/thirdparty/pluggy-0.12.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index ee6f3fff..00000000 --- a/thirdparty/pluggy-0.12.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) holger krekel - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/thirdparty/ply-3.9-py2.py3-none-any.whl b/thirdparty/ply-3.9-py2.py3-none-any.whl deleted file mode 100644 index 90825241..00000000 Binary files a/thirdparty/ply-3.9-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/ply-3.9-py2.py3-none-any.whl.ABOUT b/thirdparty/ply-3.9-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 66491f35..00000000 --- a/thirdparty/ply-3.9-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: ply-3.9-py2.py3-none-any.whl -attribute: true -checksum_md5: c5c5767376eff902617fd9874f0c76b7 -checksum_sha1: 3909910312996082dfa9ca9b5300113636163b66 -copyright: Copyright (c) 2001-2016 David M. Beazley (Dabeaz LLC) -description: PLY (Python Lex-Yacc) is an implementation of lex and yacc parsing tools - for Python. -download_url: https://pypi.python.org/packages/a8/4d/487e12d0478ee0cbb15d6fe9b8916e98fe4e2fce4cc65e4de309209c0b24/ply-3.9.tar.gz#md5=c5c5767376eff902617fd9874f0c76b7 -homepage_url: http://www.dabeaz.com/ply/ -license_expression: bsd-new -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -name: PLY -notes: "vcs_tool: git\r\nvcs_repository: https://github.com/dabeaz/ply.git" -notice_file: ply-3.9-py2.py3-none-any.whl.NOTICE -owner: David Beazley -owner_url: http://www.dabeaz.com/ply/ -version: '3.9' diff --git a/thirdparty/ply-3.9-py2.py3-none-any.whl.NOTICE b/thirdparty/ply-3.9-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index e0c9bbcd..00000000 --- a/thirdparty/ply-3.9-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,26 +0,0 @@ -Copyright (c) 2001-2016 David M. Beazley (Dabeaz LLC) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the David Beazley or Dabeaz LLC may be used to - endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/psutil-5.6.2-cp27-cp27m-linux_x86_64.whl b/thirdparty/psutil-5.6.2-cp27-cp27m-linux_x86_64.whl deleted file mode 100644 index b45fa4b4..00000000 Binary files a/thirdparty/psutil-5.6.2-cp27-cp27m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/psutil-5.6.2-cp27-cp27m-linux_x86_64.whl.ABOUT b/thirdparty/psutil-5.6.2-cp27-cp27m-linux_x86_64.whl.ABOUT deleted file mode 100644 index a5faf57f..00000000 --- a/thirdparty/psutil-5.6.2-cp27-cp27m-linux_x86_64.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: psutil-5.6.2-cp27-cp27m-linux_x86_64.whl -name: psutil -version: 5.6.2 -download_url: https://github.com/nexB/scancode-toolkit/raw/295-tests-and-setup/thirdparty/psutil-5.6.2-cp27-cp27m-linux_x86_64.whl -description: Cross-platform lib for process and system monitoring in Python -homepage_url: https://github.com/giampaolo/psutil -license_expression: bsd-new -copyright: Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola -notice_file: psutil-5.6.2-cp27-cp27m-linux_x86_64.whl.NOTICE -attribute: yes -owner: Giampaolo Rodola -owner_url: https://github.com/giampaolo -vcs_repository: https://github.com/giampaolo/psutil -checksum_md5: 0839d65993707c1cff74b30de21ccf8d -checksum_sha1: 4d3e998a1dce7a80fe54a3996987db652d2dfb12 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/psutil-5.6.2-cp27-cp27m-linux_x86_64.whl.NOTICE b/thirdparty/psutil-5.6.2-cp27-cp27m-linux_x86_64.whl.NOTICE deleted file mode 100644 index 080281b6..00000000 --- a/thirdparty/psutil-5.6.2-cp27-cp27m-linux_x86_64.whl.NOTICE +++ /dev/null @@ -1,27 +0,0 @@ -psutil is distributed under BSD license reproduced below. - -Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola' -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the psutil authors nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/psutil-5.6.2-cp27-none-win32.whl.ABOUT b/thirdparty/psutil-5.6.2-cp27-none-win32.whl.ABOUT deleted file mode 100644 index a282002e..00000000 --- a/thirdparty/psutil-5.6.2-cp27-none-win32.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: psutil-5.6.2-cp27-none-win32.whl -name: psutil -version: 5.6.2 -download_url: https://files.pythonhosted.org/packages/56/8f/1bfb7e563e413f110ee06ac0cf12bb4b27f78e9cf277892d97ba08de4eac/psutil-5.6.2-cp27-none-win32.whl -description: Cross-platform lib for process and system monitoring in Python -homepage_url: https://github.com/giampaolo/psutil -license_expression: bsd-new -copyright: Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola -notice_file: psutil-5.6.2-cp27-none-win32.whl.NOTICE -attribute: yes -owner: Giampaolo Rodola -owner_url: https://github.com/giampaolo -vcs_repository: https://github.com/giampaolo/psutil -checksum_md5: ac340b163ac1196f2330939f7113428d -checksum_sha1: 4975e12b818b30f0ae04bf6a48477d4e122f563c -package_url: pkg:pypi/psutil@5.6.2 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/psutil-5.6.2-cp27-none-win32.whl.NOTICE b/thirdparty/psutil-5.6.2-cp27-none-win32.whl.NOTICE deleted file mode 100644 index 080281b6..00000000 --- a/thirdparty/psutil-5.6.2-cp27-none-win32.whl.NOTICE +++ /dev/null @@ -1,27 +0,0 @@ -psutil is distributed under BSD license reproduced below. - -Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola' -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the psutil authors nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/psutil-5.6.2-cp27-none-win_amd64.whl.ABOUT b/thirdparty/psutil-5.6.2-cp27-none-win_amd64.whl.ABOUT deleted file mode 100644 index 4e6ff4a9..00000000 --- a/thirdparty/psutil-5.6.2-cp27-none-win_amd64.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: psutil-5.6.2-cp27-none-win_amd64.whl -name: psutil -version: 5.6.2 -download_url: https://files.pythonhosted.org/packages/91/3f/2ae9cd04b2ccc5340838383ba638839a498d2613936b7830079f77de2bf1/psutil-5.6.2-cp27-none-win_amd64.whl -description: Cross-platform lib for process and system monitoring in Python -homepage_url: https://github.com/giampaolo/psutil -license_expression: bsd-new -copyright: Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola -notice_file: psutil-5.6.2-cp27-none-win_amd64.whl.NOTICE -attribute: yes -owner: Giampaolo Rodola -owner_url: https://github.com/giampaolo -vcs_repository: https://github.com/giampaolo/psutil -checksum_md5: 75f9188f4fca142a6756af709a55600f -checksum_sha1: b6b3c82644db446cdb4794835fd6ca4f4387c574 -package_url: pkg:pypi/psutil@5.6.2 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/psutil-5.6.2-cp27-none-win_amd64.whl.NOTICE b/thirdparty/psutil-5.6.2-cp27-none-win_amd64.whl.NOTICE deleted file mode 100644 index 080281b6..00000000 --- a/thirdparty/psutil-5.6.2-cp27-none-win_amd64.whl.NOTICE +++ /dev/null @@ -1,27 +0,0 @@ -psutil is distributed under BSD license reproduced below. - -Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola' -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the psutil authors nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/psutil-5.6.2-cp36-cp36m-linux_x86_64.whl b/thirdparty/psutil-5.6.2-cp36-cp36m-linux_x86_64.whl deleted file mode 100644 index c233e2cb..00000000 Binary files a/thirdparty/psutil-5.6.2-cp36-cp36m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/psutil-5.6.2-cp36-cp36m-linux_x86_64.whl.ABOUT b/thirdparty/psutil-5.6.2-cp36-cp36m-linux_x86_64.whl.ABOUT deleted file mode 100644 index 28a3e21a..00000000 --- a/thirdparty/psutil-5.6.2-cp36-cp36m-linux_x86_64.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: psutil-5.6.2-cp36-cp36m-linux_x86_64.whl -name: psutil -version: 5.6.2 -download_url: https://github.com/nexB/scancode-toolkit/raw/295-tests-and-setup/thirdparty/psutil-5.6.2-cp36-cp36m-linux_x86_64.whl -description: Cross-platform lib for process and system monitoring in Python -homepage_url: https://github.com/giampaolo/psutil -license_expression: bsd-new -copyright: Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola -notice_file: psutil-5.6.2-cp36-cp36m-linux_x86_64.whl.NOTICE -attribute: yes -owner: Giampaolo Rodola -owner_url: https://github.com/giampaolo -vcs_repository: https://github.com/giampaolo/psutil -checksum_md5: 6b5f19c8e5c62a190b2035da4fdede21 -checksum_sha1: 6b4228c53a981771216996a8fc0b899cd97b2df7 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/psutil-5.6.2-cp36-cp36m-linux_x86_64.whl.NOTICE b/thirdparty/psutil-5.6.2-cp36-cp36m-linux_x86_64.whl.NOTICE deleted file mode 100644 index 080281b6..00000000 --- a/thirdparty/psutil-5.6.2-cp36-cp36m-linux_x86_64.whl.NOTICE +++ /dev/null @@ -1,27 +0,0 @@ -psutil is distributed under BSD license reproduced below. - -Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola' -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the psutil authors nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/psutil-5.6.2-cp36-cp36m-win32.whl b/thirdparty/psutil-5.6.2-cp36-cp36m-win32.whl deleted file mode 100644 index ff665ccd..00000000 Binary files a/thirdparty/psutil-5.6.2-cp36-cp36m-win32.whl and /dev/null differ diff --git a/thirdparty/psutil-5.6.2-cp36-cp36m-win32.whl.ABOUT b/thirdparty/psutil-5.6.2-cp36-cp36m-win32.whl.ABOUT deleted file mode 100644 index bfae5461..00000000 --- a/thirdparty/psutil-5.6.2-cp36-cp36m-win32.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: psutil-5.6.2-cp36-cp36m-win32.whl -name: psutil -version: 5.6.2 -download_url: https://files.pythonhosted.org/packages/23/2a/0f14e964507adc1732ade6eea3abd92afe34305614515ab856cbccca489a/psutil-5.6.2-cp36-cp36m-win32.whl -description: Cross-platform lib for process and system monitoring in Python -homepage_url: https://github.com/giampaolo/psutil -license_expression: bsd-new -copyright: Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola -notice_file: psutil-5.6.2-cp36-cp36m-win32.whl.NOTICE -attribute: yes -owner: Giampaolo Rodola -owner_url: https://github.com/giampaolo -vcs_repository: https://github.com/giampaolo/psutil -checksum_md5: 72586fc79c29d5c2048f29cf4a709841 -checksum_sha1: 22affecd97db1bb487e5046d8dd8ccb58dc8e787 -package_url: pkg:pypi/psutil@5.6.2 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/psutil-5.6.2-cp36-cp36m-win32.whl.NOTICE b/thirdparty/psutil-5.6.2-cp36-cp36m-win32.whl.NOTICE deleted file mode 100644 index 080281b6..00000000 --- a/thirdparty/psutil-5.6.2-cp36-cp36m-win32.whl.NOTICE +++ /dev/null @@ -1,27 +0,0 @@ -psutil is distributed under BSD license reproduced below. - -Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola' -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the psutil authors nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/psutil-5.6.2-cp36-cp36m-win_amd64.whl b/thirdparty/psutil-5.6.2-cp36-cp36m-win_amd64.whl deleted file mode 100644 index 7065817c..00000000 Binary files a/thirdparty/psutil-5.6.2-cp36-cp36m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/psutil-5.6.2-cp36-cp36m-win_amd64.whl.ABOUT b/thirdparty/psutil-5.6.2-cp36-cp36m-win_amd64.whl.ABOUT deleted file mode 100644 index 0b2c3fcd..00000000 --- a/thirdparty/psutil-5.6.2-cp36-cp36m-win_amd64.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: psutil-5.6.2-cp36-cp36m-win_amd64.whl -name: psutil -version: 5.6.2 -download_url: https://files.pythonhosted.org/packages/62/b0/54effe77128bdd8b62ca10edf38c22dbe5594ad8b34ce31836011949ac0a/psutil-5.6.2-cp36-cp36m-win_amd64.whl -description: Cross-platform lib for process and system monitoring in Python -homepage_url: https://github.com/giampaolo/psutil -license_expression: bsd-new -copyright: Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola -notice_file: psutil-5.6.2-cp36-cp36m-win_amd64.whl.NOTICE -attribute: yes -owner: Giampaolo Rodola -owner_url: https://github.com/giampaolo -vcs_repository: https://github.com/giampaolo/psutil -checksum_md5: f8d7533fff80e0f1f321ee6137665243 -checksum_sha1: 75b1d3325e25c38958bebc5dbfb74b694c204664 -package_url: pkg:pypi/psutil@5.6.2 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/psutil-5.6.2-cp36-cp36m-win_amd64.whl.NOTICE b/thirdparty/psutil-5.6.2-cp36-cp36m-win_amd64.whl.NOTICE deleted file mode 100644 index 080281b6..00000000 --- a/thirdparty/psutil-5.6.2-cp36-cp36m-win_amd64.whl.NOTICE +++ /dev/null @@ -1,27 +0,0 @@ -psutil is distributed under BSD license reproduced below. - -Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola' -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the psutil authors nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/psutil-5.6.2.tar.gz b/thirdparty/psutil-5.6.2.tar.gz deleted file mode 100644 index 2aa32488..00000000 Binary files a/thirdparty/psutil-5.6.2.tar.gz and /dev/null differ diff --git a/thirdparty/psutil-5.6.2.tar.gz.ABOUT b/thirdparty/psutil-5.6.2.tar.gz.ABOUT deleted file mode 100644 index e32074f0..00000000 --- a/thirdparty/psutil-5.6.2.tar.gz.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: psutil-5.6.2.tar.gz -name: psutil -version: 5.6.2 -download_url: https://files.pythonhosted.org/packages/c6/c1/beed5e4eaa1345901b595048fab1c85aee647ea0fc02d9e8bf9aceb81078/psutil-5.6.2.tar.gz -description: Cross-platform lib for process and system monitoring in Python -homepage_url: https://github.com/giampaolo/psutil -license_expression: bsd-new -copyright: Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola -notice_file: psutil-5.6.2.tar.gz.NOTICE -attribute: yes -owner: Giampaolo Rodola -owner_url: https://github.com/giampaolo -vcs_repository: https://github.com/giampaolo/psutil -checksum_md5: 571962acd249bcfbae317884af47c402 -checksum_sha1: c01d48a103196eb513b72d32fbc7cee1ed64a38c -package_url: pkg:pypi/psutil@5.6.2 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/psutil-5.6.2.tar.gz.NOTICE b/thirdparty/psutil-5.6.2.tar.gz.NOTICE deleted file mode 100644 index 080281b6..00000000 --- a/thirdparty/psutil-5.6.2.tar.gz.NOTICE +++ /dev/null @@ -1,27 +0,0 @@ -psutil is distributed under BSD license reproduced below. - -Copyright (c) Jay Loden, Dave Daeschler, Giampaolo Rodola' -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the psutil authors nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/public-domain.LICENSE b/thirdparty/public-domain.LICENSE deleted file mode 100644 index a7a158b9..00000000 --- a/thirdparty/public-domain.LICENSE +++ /dev/null @@ -1 +0,0 @@ -Public Domain \ No newline at end of file diff --git a/thirdparty/publicsuffix2-2.20180921-py2.py3-none-any.whl b/thirdparty/publicsuffix2-2.20180921-py2.py3-none-any.whl deleted file mode 100644 index 66ddf4b5..00000000 Binary files a/thirdparty/publicsuffix2-2.20180921-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/publicsuffix2-2.20180921-py2.py3-none-any.whl.ABOUT b/thirdparty/publicsuffix2-2.20180921-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 63a52851..00000000 --- a/thirdparty/publicsuffix2-2.20180921-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,31 +0,0 @@ -about_resource: publicsuffix2-2.20180921-py2.py3-none-any.whl -attribute: true -checksum_md5: 5337bd506ca48d3068f99f80ef0fbfe9 -checksum_sha1: b7c595bc757380ef8866360331f07bf02dbc82f0 -contact: http://www.nexb.com/contactus.html -copyright: | - Copyright (c) nexB Inc. - Copyright (c) Tomaž Šolc - Copyright (c) David Wilson - Copyright (c) Mozilla -description: A fork of publicsuffix with updated data as "package data" in a wheel - friendly format -download_url: https://files.pythonhosted.org/packages/9f/7e/6fffa68895e7d3a87ba782dcaffa5ef3e825287e33b56e13bb42e4ea2b63/publicsuffix2-2.20180921-py2.py3-none-any.whl -homepage_url: https://github.com/nexB/python-publicsuffix2 -license_expression: mit AND mpl-2.0 -licenses: -- file: mit.LICENSE - key: mit - name: MIT License -- file: mpl-2.0.LICENSE - key: mpl-2.0 - name: Mozilla Public License 2.0 -name: publicsuffix2 -notice_file: publicsuffix2-2.20180921-py2.py3-none-any.whl.NOTICE -notice_url: https://github.com/nexB/python-publicsuffix2/blob/develop/publicsuffix.LICENSE -owner: nexB -owner_url: http://www.nexb.com/ -redistribute: true -track_changes: true -vcs_url: git+https://github.com/nexB/python-publicsuffix2.git -version: '2.20180921' diff --git a/thirdparty/publicsuffix2-2.20180921-py2.py3-none-any.whl.NOTICE b/thirdparty/publicsuffix2-2.20180921-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 7e66b406..00000000 --- a/thirdparty/publicsuffix2-2.20180921-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,35 +0,0 @@ -Copyright (c) 2015 nexB Inc. -This code is based on Tomaž Šolc fork of David Wilson code originally at -https://www.tablix.org/~avian/git/publicsuffix.git - -Copyright (c) 2014 Tomaž Šolc - -Python module included in this distribution is based on the code downloaded -from http://code.google.com/p/python-public-suffix-list/, which is -available under the following license: - -Copyright (c) 2009 David Wilson - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - - -The Public Suffix List vendored in this distribution has been downloaded -from http://publicsuffix.org/public_suffix_list.dat -This data file is licensed under the MPL-2.0 license. -http://mozilla.org/MPL/2.0/ diff --git a/thirdparty/py-1.8.0-py2.py3-none-any.whl b/thirdparty/py-1.8.0-py2.py3-none-any.whl deleted file mode 100644 index dcc5a6cd..00000000 Binary files a/thirdparty/py-1.8.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/py-1.8.0-py2.py3-none-any.whl.ABOUT b/thirdparty/py-1.8.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 925bd385..00000000 --- a/thirdparty/py-1.8.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: py-1.8.0-py2.py3-none-any.whl -name: py -version: 1.8.0 -download_url: https://files.pythonhosted.org/packages/76/bc/394ad449851729244a97857ee14d7cba61ddb268dce3db538ba2f2ba1f0f/py-1.8.0-py2.py3-none-any.whl -description: library with cross-python path, ini-parsing, io, code, log facilities -homepage_url: http://pylib.readthedocs.org/ -license_expression: mit -copyright: Copyright (c) Holger Krekel and others -notice_file: py-1.8.0-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: pytest-dev -owner_url: https://github.com/pytest-dev -contact: pytest-dev@python.org -checksum_md5: daca50cf07cb09cae0469c9f6ea5272a -checksum_sha1: 6839acef734821cb91c2c42a33364ab36c2fe9fc -package_url: pkg:pypi/py@1.8.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/py-1.8.0-py2.py3-none-any.whl.NOTICE b/thirdparty/py-1.8.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index ac1f9de2..00000000 --- a/thirdparty/py-1.8.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Holger Krekel and others - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. \ No newline at end of file diff --git a/thirdparty/py2-ipaddress-3.4.1.tar.gz b/thirdparty/py2-ipaddress-3.4.1.tar.gz deleted file mode 100644 index a16a586e..00000000 Binary files a/thirdparty/py2-ipaddress-3.4.1.tar.gz and /dev/null differ diff --git a/thirdparty/py2-ipaddress-3.4.1.tar.gz.ABOUT b/thirdparty/py2-ipaddress-3.4.1.tar.gz.ABOUT deleted file mode 100644 index fe85c787..00000000 --- a/thirdparty/py2-ipaddress-3.4.1.tar.gz.ABOUT +++ /dev/null @@ -1,27 +0,0 @@ -about_resource: py2-ipaddress-3.4.1.tar.gz -attribute: true -checksum_md5: 47734313c841068e3d5386d048d01c3d -checksum_sha1: 26d0737c3f4d11d831ffa02df4389a428bedf205 -contact: http://www.google.com/intl/en/contact/ -copyright: Copyright (c) Google Inc. and others -description: Python 2.7 backport of the Python 3.3 ipaddress module. Not all 3.3 functionality - is supported, due to the lack of a distinct bytes type in Python 2.7. Nevertheless, - it is quite useful if you're stuck with Python 2.7. -download_url: https://files.pythonhosted.org/packages/06/f2/ff20f2d2fd4757be329c8ecb81e9e7fa3bec0b65445821e3a575410cf194/py2-ipaddress-3.4.1.tar.gz -homepage_url: https://bitbucket.org/kwi/py2-ipaddress -license_expression: python AND public-domain -licenses: -- file: public-domain.LICENSE - key: public-domain - name: Public Domain -- file: python.LICENSE - key: python - name: Python Software Foundation License v2 -name: py2-ipaddress -notes: This is a Python 2.6 backport of the Python 3.4 ipaddress module. -notice_file: py2-ipaddress-3.4.1.tar.gz.NOTICE -owner: Google -owner_url: http://www.google.com/intl/en/about/index.html -track_changes: true -vcs_url: https://bitbucket.org/kwi/py2-ipaddress -version: 3.4.1 diff --git a/thirdparty/py2-ipaddress-3.4.1.tar.gz.NOTICE b/thirdparty/py2-ipaddress-3.4.1.tar.gz.NOTICE deleted file mode 100644 index 2915c1d3..00000000 --- a/thirdparty/py2-ipaddress-3.4.1.tar.gz.NOTICE +++ /dev/null @@ -1,10 +0,0 @@ -License -------- - -The ``ipaddress`` modules (both the original and this backport) are licensed -under the `Python Software Foundation License version 2`__. - -The modifications made for Python 2.6 compatibility are hereby released into -the public domain by the authors. - -__ https://www.python.org/download/releases/3.4.0/license \ No newline at end of file diff --git a/thirdparty/py2_ipaddress-3.4.1-py2-none-any.whl b/thirdparty/py2_ipaddress-3.4.1-py2-none-any.whl deleted file mode 100644 index 34b89a81..00000000 Binary files a/thirdparty/py2_ipaddress-3.4.1-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/py2_ipaddress-3.4.1-py2-none-any.whl.ABOUT b/thirdparty/py2_ipaddress-3.4.1-py2-none-any.whl.ABOUT deleted file mode 100644 index 58b3ce26..00000000 --- a/thirdparty/py2_ipaddress-3.4.1-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,25 +0,0 @@ -about_resource: py2_ipaddress-3.4.1-py2-none-any.whl -attribute: true -contact: http://www.google.com/intl/en/contact/ -copyright: Copyright (c) Google Inc. and others -description: Python 2.7 backport of the Python 3.3 ipaddress module. Not all 3.3 functionality - is supported, due to the lack of a distinct bytes type in Python 2.7. Nevertheless, - it is quite useful if you're stuck with Python 2.7. -download_url: https://files.pythonhosted.org/packages/06/f2/ff20f2d2fd4757be329c8ecb81e9e7fa3bec0b65445821e3a575410cf194/py2-ipaddress-3.4.1.tar.gz -homepage_url: https://bitbucket.org/kwi/py2-ipaddress -license_expression: python AND public-domain -licenses: -- file: public-domain.LICENSE - key: public-domain - name: Public Domain -- file: python.LICENSE - key: python - name: Python Software Foundation License v2 -name: py2-ipaddress -notes: This is a Python 2.6 backport of the Python 3.4 ipaddress module. -notice_file: py2-ipaddress-3.4.1.tar.gz.NOTICE -owner: Google -owner_url: http://www.google.com/intl/en/about/index.html -track_changes: true -vcs_url: https://bitbucket.org/kwi/py2-ipaddress -version: 3.4.1 diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-linux_x86_64.whl b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-linux_x86_64.whl deleted file mode 100644 index 866160e7..00000000 Binary files a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl deleted file mode 100644 index 38c30871..00000000 Binary files a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl and /dev/null differ diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl.ABOUT b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl.ABOUT deleted file mode 100644 index 6e44922c..00000000 --- a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl -name: pyahocorasick -version: 1.4.0 -download_url: https://github.com/nexB/scancode-toolkit/raw/develop/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl -description: Python module (C extension and plain python) implementing Aho-Corasick algorithm -homepage_url: https://github.com/WojciechMula/pyahocorasick -license_expression: bsd-new AND public-domain -copyright: Copyright (c) Wojciech Mula -notice_file: pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl.NOTICE -attribute: yes -owner: Wojciech Mula -owner_url: https://github.com/WojciechMula -vcs_repository: https://github.com/WojciechMula/pyahocorasick -checksum_md5: d428e54ec3f08805f852320a245e4a73 -checksum_sha1: 83fe74cad018c4b58669fb71458c8a0fd828b90c -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: public-domain - name: Public Domain - file: public-domain.LICENSE diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl.NOTICE b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl.NOTICE deleted file mode 100644 index 11370cb8..00000000 --- a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_11_x86_64.whl.NOTICE +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) Wojciech Mula -All rights reserved. - -Redistribution and use in source and binary forms, with or -without modification, are permitted provided that the following -conditions are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. -* Neither the name of the Wojciech Mu_a nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_9_x86_64.macosx_10_10_x86_64.whl b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_9_x86_64.macosx_10_10_x86_64.whl deleted file mode 100644 index 12a1cb5b..00000000 Binary files a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-macosx_10_9_x86_64.macosx_10_10_x86_64.whl and /dev/null differ diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win32.whl b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win32.whl deleted file mode 100644 index 9d6ce340..00000000 Binary files a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win32.whl and /dev/null differ diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win32.whl.ABOUT b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win32.whl.ABOUT deleted file mode 100644 index d4ce1da1..00000000 --- a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win32.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: pyahocorasick-1.4.0-cp27-cp27m-win32.whl -name: pyahocorasick -version: 1.4.0 -download_url: https://github.com/nexB/scancode-toolkit/raw/develop/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win32.whl -description: Python module (C extension and plain python) implementing Aho-Corasick algorithm -homepage_url: https://github.com/WojciechMula/pyahocorasick -license_expression: bsd-new AND public-domain -copyright: Copyright (c) Wojciech Mula -notice_file: pyahocorasick-1.4.0-cp27-cp27m-win32.whl.NOTICE -attribute: yes -owner: Wojciech Mula -owner_url: https://github.com/WojciechMula -vcs_repository: https://github.com/WojciechMula/pyahocorasick -checksum_md5: 4f983a418d3c37ca7f830f63df2aeada -checksum_sha1: c02c01170f64675c611640dd67a9531187561691 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: public-domain - name: Public Domain - file: public-domain.LICENSE diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win32.whl.NOTICE b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win32.whl.NOTICE deleted file mode 100644 index 11370cb8..00000000 --- a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win32.whl.NOTICE +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) Wojciech Mula -All rights reserved. - -Redistribution and use in source and binary forms, with or -without modification, are permitted provided that the following -conditions are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. -* Neither the name of the Wojciech Mu_a nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl deleted file mode 100644 index d5f22e68..00000000 Binary files a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl.ABOUT b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl.ABOUT deleted file mode 100644 index 5c771705..00000000 --- a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl -name: pyahocorasick -version: 1.4.0 -download_url: https://github.com/nexB/scancode-toolkit/raw/develop/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl -description: Python module (C extension and plain python) implementing Aho-Corasick algorithm -homepage_url: https://github.com/WojciechMula/pyahocorasick -license_expression: bsd-new AND public-domain -copyright: Copyright (c) Wojciech Mula -notice_file: pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl.NOTICE -attribute: yes -owner: Wojciech Mula -owner_url: https://github.com/WojciechMula -vcs_repository: https://github.com/WojciechMula/pyahocorasick -checksum_md5: 91ec9b541393c00907b6538a5040b8e1 -checksum_sha1: 6fcc3fa4c401de554467c47ec5a6ce9717fc9bb2 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: public-domain - name: Public Domain - file: public-domain.LICENSE diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl.NOTICE b/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl.NOTICE deleted file mode 100644 index 11370cb8..00000000 --- a/thirdparty/pyahocorasick-1.4.0-cp27-cp27m-win_amd64.whl.NOTICE +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) Wojciech Mula -All rights reserved. - -Redistribution and use in source and binary forms, with or -without modification, are permitted provided that the following -conditions are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. -* Neither the name of the Wojciech Mu_a nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl b/thirdparty/pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl deleted file mode 100644 index f8fc38f8..00000000 Binary files a/thirdparty/pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl.ABOUT b/thirdparty/pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl.ABOUT deleted file mode 100644 index 2f035257..00000000 --- a/thirdparty/pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl -name: pyahocorasick -version: 1.4.0 -download_url: https://github.com/nexB/scancode-toolkit/raw/develop/thirdparty/pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl -description: Python module (C extension and plain python) implementing Aho-Corasick algorithm -homepage_url: https://github.com/WojciechMula/pyahocorasick -license_expression: bsd-new AND public-domain -copyright: Copyright (c) Wojciech Mula -notice_file: pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl.NOTICE -attribute: yes -owner: Wojciech Mula -owner_url: https://github.com/WojciechMula -vcs_repository: https://github.com/WojciechMula/pyahocorasick -checksum_md5: e680344f5520d4449f793569a131e947 -checksum_sha1: 52fe8c007e793047322604fdf2a42c640eafc4cc -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: public-domain - name: Public Domain - file: public-domain.LICENSE diff --git a/thirdparty/pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl.NOTICE b/thirdparty/pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl.NOTICE deleted file mode 100644 index 11370cb8..00000000 --- a/thirdparty/pyahocorasick-1.4.0-cp27-cp27mu-linux_x86_64.whl.NOTICE +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) Wojciech Mula -All rights reserved. - -Redistribution and use in source and binary forms, with or -without modification, are permitted provided that the following -conditions are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. -* Neither the name of the Wojciech Mu_a nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/pyahocorasick-1.4.0-cp36-cp36m-linux_x86_64.whl b/thirdparty/pyahocorasick-1.4.0-cp36-cp36m-linux_x86_64.whl deleted file mode 100644 index 93532feb..00000000 Binary files a/thirdparty/pyahocorasick-1.4.0-cp36-cp36m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/pyahocorasick-1.4.0-cp36-cp36m-macosx_10_9_x86_64.macosx_10_10_x86_64.whl b/thirdparty/pyahocorasick-1.4.0-cp36-cp36m-macosx_10_9_x86_64.macosx_10_10_x86_64.whl deleted file mode 100644 index 24154592..00000000 Binary files a/thirdparty/pyahocorasick-1.4.0-cp36-cp36m-macosx_10_9_x86_64.macosx_10_10_x86_64.whl and /dev/null differ diff --git a/thirdparty/pyahocorasick-1.4.0-cp36-cp36m-win32.whl b/thirdparty/pyahocorasick-1.4.0-cp36-cp36m-win32.whl deleted file mode 100644 index c3fc2100..00000000 Binary files a/thirdparty/pyahocorasick-1.4.0-cp36-cp36m-win32.whl and /dev/null differ diff --git a/thirdparty/pyahocorasick-1.4.0.tar.gz.ABOUT b/thirdparty/pyahocorasick-1.4.0.tar.gz.ABOUT deleted file mode 100644 index d6681748..00000000 --- a/thirdparty/pyahocorasick-1.4.0.tar.gz.ABOUT +++ /dev/null @@ -1,23 +0,0 @@ -about_resource: pyahocorasick-1.4.0.tar.gz -name: pyahocorasick -version: 1.4.0 -download_url: https://files.pythonhosted.org/packages/f4/9f/f0d8e8850e12829eea2e778f1c90e3c53a9a799b7f412082a5d21cd19ae1/pyahocorasick-1.4.0.tar.gz -description: Python module (C extension and plain python) implementing Aho-Corasick algorithm -homepage_url: https://github.com/WojciechMula/pyahocorasick -license_expression: bsd-new AND public-domain -copyright: Copyright (c) Wojciech Mula -notice_file: pyahocorasick-1.4.0.tar.gz.NOTICE -attribute: yes -owner: Wojciech Mula -owner_url: https://github.com/WojciechMula -vcs_repository: https://github.com/WojciechMula/pyahocorasick -checksum_md5: 7ce7a990146bae2095e7e5afd59d1d71 -checksum_sha1: 2e6ee2e53983cb13521b9424c8cee6e5abdd0e48 -package_url: pkg:pypi/pyahocorasick@1.4.0 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: public-domain - name: Public Domain - file: public-domain.LICENSE diff --git a/thirdparty/pyahocorasick-1.4.0.tar.gz.NOTICE b/thirdparty/pyahocorasick-1.4.0.tar.gz.NOTICE deleted file mode 100644 index 11370cb8..00000000 --- a/thirdparty/pyahocorasick-1.4.0.tar.gz.NOTICE +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) Wojciech Mula -All rights reserved. - -Redistribution and use in source and binary forms, with or -without modification, are permitted provided that the following -conditions are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. -* Neither the name of the Wojciech Mu_a nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl b/thirdparty/pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl deleted file mode 100644 index 8196cb31..00000000 Binary files a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl and /dev/null differ diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl.ABOUT b/thirdparty/pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl.ABOUT deleted file mode 100644 index 3063ec7d..00000000 --- a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl.ABOUT +++ /dev/null @@ -1,24 +0,0 @@ -about_resource: pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl -attribute: true -checksum_md5: 4dc4b1af97b8d38d8653b6c7e6a744b4 -checksum_sha1: 1aec160281a2594eee8b5e72b9e8bc87f6619ba1 -copyright: Copyright (c) pycryptodome contributors -description: A self-contained cryptographic library for Python -download_url: https://files.pythonhosted.org/packages/b3/e7/a6977496a8f18788e789047f1a8b7033ffe4d5a5bf591469033127e5d696/pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl -homepage_url: https://github.com/Legrandin/pycryptodome -license_expression: bsd-simplified AND public-domain AND other-permissive -licenses: -- file: bsd-simplified.LICENSE - key: bsd-simplified - name: BSD-2-Clause -- file: other-permissive.LICENSE - key: other-permissive - name: Other Permissive Licenses -- file: public-domain.LICENSE - key: public-domain - name: Public Domain -name: pycryptodome -notice_file: pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl.NOTICE -owner: Helder Eijs -owner_url: https://github.com/Legrandin -version: 3.6.1 diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl.NOTICE b/thirdparty/pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl.NOTICE deleted file mode 100644 index d4da999e..00000000 --- a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl.NOTICE +++ /dev/null @@ -1,76 +0,0 @@ -The source code in PyCryptodome is partially in the public domain -and partially released under the BSD 2-Clause license. - -In either case, there are minimal if no restrictions on the redistribution, -modification and usage of the software. - -Public domain -============= - -All code originating from PyCrypto is free and unencumbered software -released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to - -BSD license -=========== - -All direct contributions to PyCryptodome are released under the following -license. The copyright of each piece belongs to the respective author. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -OCB license -=========== - -The OCB cipher mode is patended in US. The directory Doc/ocb contains three -free licenses for implementors and users. As a general statement, OCB can be -freely used for software not meant for military purposes. Contact your attorney -for further information. - -MPIR license -============ - -When distributed as a Windows wheel, Pycryptodome bundles an unmodified, -binary version of the MPIR library (https://www.mpir.org) which is licensed -under the LGPLv3, a copy of which is available under Doc/mpir. \ No newline at end of file diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-manylinux1_x86_64.whl b/thirdparty/pycryptodome-3.6.1-cp27-cp27m-manylinux1_x86_64.whl deleted file mode 100644 index 91c85676..00000000 Binary files a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win32.whl b/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win32.whl deleted file mode 100644 index 35714f93..00000000 Binary files a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win32.whl and /dev/null differ diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win32.whl.ABOUT b/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win32.whl.ABOUT deleted file mode 100644 index ac1220bf..00000000 --- a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win32.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: pycryptodome-3.6.1-cp27-cp27m-win32.whl -attribute: true -copyright: Copyright (c) pycryptodome contributors -description: A self-contained cryptographic library for Python -download_url: https://files.pythonhosted.org/packages/f9/72/63fc67bf43286a0fe6a377adc68cec30dcb02b862b10d667788bde112741/pycryptodome-3.6.1.tar.gz -homepage_url: https://github.com/Legrandin/pycryptodome -license_expression: bsd-simplified AND public-domain AND other-permissive -licenses: -- file: bsd-simplified.LICENSE - key: bsd-simplified - name: BSD-2-Clause -- file: other-permissive.LICENSE - key: other-permissive - name: Other Permissive Licenses -- file: public-domain.LICENSE - key: public-domain - name: Public Domain -name: pycryptodome -notice_file: pycryptodome-3.6.1.tar.gz.NOTICE -owner: Helder Eijs -owner_url: https://github.com/Legrandin -version: 3.6.1 diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win_amd64.whl b/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win_amd64.whl deleted file mode 100644 index 03fb5e70..00000000 Binary files a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win_amd64.whl.ABOUT b/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win_amd64.whl.ABOUT deleted file mode 100644 index 788876e3..00000000 --- a/thirdparty/pycryptodome-3.6.1-cp27-cp27m-win_amd64.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: pycryptodome-3.6.1-cp27-cp27m-win_amd64.whl -attribute: true -copyright: Copyright (c) pycryptodome contributors -description: A self-contained cryptographic library for Python -download_url: https://files.pythonhosted.org/packages/f9/72/63fc67bf43286a0fe6a377adc68cec30dcb02b862b10d667788bde112741/pycryptodome-3.6.1.tar.gz -homepage_url: https://github.com/Legrandin/pycryptodome -license_expression: bsd-simplified AND public-domain AND other-permissive -licenses: -- file: bsd-simplified.LICENSE - key: bsd-simplified - name: BSD-2-Clause -- file: other-permissive.LICENSE - key: other-permissive - name: Other Permissive Licenses -- file: public-domain.LICENSE - key: public-domain - name: Public Domain -name: pycryptodome -notice_file: pycryptodome-3.6.1.tar.gz.NOTICE -owner: Helder Eijs -owner_url: https://github.com/Legrandin -version: 3.6.1 diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl b/thirdparty/pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl deleted file mode 100644 index 860b3b7b..00000000 Binary files a/thirdparty/pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT b/thirdparty/pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT deleted file mode 100644 index af566562..00000000 --- a/thirdparty/pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl.ABOUT +++ /dev/null @@ -1,24 +0,0 @@ -about_resource: pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl -attribute: true -checksum_md5: dea3a8dc1c845754babda876b0bf3f5e -checksum_sha1: 1166fe3a31b91d2dc97ad71d6977aa4c4f2a5226 -copyright: Copyright (c) pycryptodome contributors -description: A self-contained cryptographic library for Python -download_url: https://files.pythonhosted.org/packages/96/fa/4b1fbf2383b7d2f9f4bf05db79432f698884a8ea32c3220af65508b59e79/pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl -homepage_url: https://github.com/Legrandin/pycryptodome -license_expression: bsd-simplified AND public-domain AND other-permissive -licenses: -- file: bsd-simplified.LICENSE - key: bsd-simplified - name: BSD-2-Clause -- file: other-permissive.LICENSE - key: other-permissive - name: Other Permissive Licenses -- file: public-domain.LICENSE - key: public-domain - name: Public Domain -name: pycryptodome -notice_file: pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl.NOTICE -owner: Helder Eijs -owner_url: https://github.com/Legrandin -version: 3.6.1 diff --git a/thirdparty/pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl.NOTICE b/thirdparty/pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl.NOTICE deleted file mode 100644 index d4da999e..00000000 --- a/thirdparty/pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl.NOTICE +++ /dev/null @@ -1,76 +0,0 @@ -The source code in PyCryptodome is partially in the public domain -and partially released under the BSD 2-Clause license. - -In either case, there are minimal if no restrictions on the redistribution, -modification and usage of the software. - -Public domain -============= - -All code originating from PyCrypto is free and unencumbered software -released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to - -BSD license -=========== - -All direct contributions to PyCryptodome are released under the following -license. The copyright of each piece belongs to the respective author. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -OCB license -=========== - -The OCB cipher mode is patended in US. The directory Doc/ocb contains three -free licenses for implementors and users. As a general statement, OCB can be -freely used for software not meant for military purposes. Contact your attorney -for further information. - -MPIR license -============ - -When distributed as a Windows wheel, Pycryptodome bundles an unmodified, -binary version of the MPIR library (https://www.mpir.org) which is licensed -under the LGPLv3, a copy of which is available under Doc/mpir. \ No newline at end of file diff --git a/thirdparty/pycryptodome-3.6.1-cp36-cp36m-manylinux1_x86_64.whl b/thirdparty/pycryptodome-3.6.1-cp36-cp36m-manylinux1_x86_64.whl deleted file mode 100644 index 1eeb78c1..00000000 Binary files a/thirdparty/pycryptodome-3.6.1-cp36-cp36m-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/pycryptodome-3.6.1-cp36-cp36m-win32.whl b/thirdparty/pycryptodome-3.6.1-cp36-cp36m-win32.whl deleted file mode 100644 index 4778533c..00000000 Binary files a/thirdparty/pycryptodome-3.6.1-cp36-cp36m-win32.whl and /dev/null differ diff --git a/thirdparty/pycryptodome-3.6.1-cp36-cp36m-win_amd64.whl b/thirdparty/pycryptodome-3.6.1-cp36-cp36m-win_amd64.whl deleted file mode 100644 index 1785cca6..00000000 Binary files a/thirdparty/pycryptodome-3.6.1-cp36-cp36m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/pycryptodome-3.6.1.tar.gz b/thirdparty/pycryptodome-3.6.1.tar.gz deleted file mode 100644 index f3dc9b6a..00000000 Binary files a/thirdparty/pycryptodome-3.6.1.tar.gz and /dev/null differ diff --git a/thirdparty/pycryptodome-3.6.1.tar.gz.ABOUT b/thirdparty/pycryptodome-3.6.1.tar.gz.ABOUT deleted file mode 100644 index a701a1ba..00000000 --- a/thirdparty/pycryptodome-3.6.1.tar.gz.ABOUT +++ /dev/null @@ -1,24 +0,0 @@ -about_resource: pycryptodome-3.6.1.tar.gz -attribute: true -checksum_md5: eed64fdb7ac5c91ac218d2bac564cd93 -checksum_sha1: 07a84b4345f475a442c83b29ce01e6cbeac1c5ce -copyright: Copyright (c) pycryptodome contributors -description: A self-contained cryptographic library for Python -download_url: https://files.pythonhosted.org/packages/f9/72/63fc67bf43286a0fe6a377adc68cec30dcb02b862b10d667788bde112741/pycryptodome-3.6.1.tar.gz -homepage_url: https://github.com/Legrandin/pycryptodome -license_expression: bsd-simplified AND public-domain AND other-permissive -licenses: -- file: bsd-simplified.LICENSE - key: bsd-simplified - name: BSD-2-Clause -- file: other-permissive.LICENSE - key: other-permissive - name: Other Permissive Licenses -- file: public-domain.LICENSE - key: public-domain - name: Public Domain -name: pycryptodome -notice_file: pycryptodome-3.6.1.tar.gz.NOTICE -owner: Helder Eijs -owner_url: https://github.com/Legrandin -version: 3.6.1 diff --git a/thirdparty/pycryptodome-3.6.1.tar.gz.NOTICE b/thirdparty/pycryptodome-3.6.1.tar.gz.NOTICE deleted file mode 100644 index d4da999e..00000000 --- a/thirdparty/pycryptodome-3.6.1.tar.gz.NOTICE +++ /dev/null @@ -1,76 +0,0 @@ -The source code in PyCryptodome is partially in the public domain -and partially released under the BSD 2-Clause license. - -In either case, there are minimal if no restrictions on the redistribution, -modification and usage of the software. - -Public domain -============= - -All code originating from PyCrypto is free and unencumbered software -released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to - -BSD license -=========== - -All direct contributions to PyCryptodome are released under the following -license. The copyright of each piece belongs to the respective author. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -OCB license -=========== - -The OCB cipher mode is patended in US. The directory Doc/ocb contains three -free licenses for implementors and users. As a general statement, OCB can be -freely used for software not meant for military purposes. Contact your attorney -for further information. - -MPIR license -============ - -When distributed as a Windows wheel, Pycryptodome bundles an unmodified, -binary version of the MPIR library (https://www.mpir.org) which is licensed -under the LGPLv3, a copy of which is available under Doc/mpir. \ No newline at end of file diff --git a/thirdparty/pymaven_patch-0.2.5-py2.py3-none-any.whl b/thirdparty/pymaven_patch-0.2.5-py2.py3-none-any.whl deleted file mode 100644 index 3828d692..00000000 Binary files a/thirdparty/pymaven_patch-0.2.5-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pymaven_patch-0.2.5-py2.py3-none-any.whl.ABOUT b/thirdparty/pymaven_patch-0.2.5-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 6d8a3e1d..00000000 --- a/thirdparty/pymaven_patch-0.2.5-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: pymaven_patch-0.2.5-py2.py3-none-any.whl -checksum_md5: 3f8db8b90731e2ee9dbe35125766d678 -checksum_sha1: 7aa13f021d5c6b2d1ecce1664a48c03d4996e0f1 -contact: github@sas.com -copyright: Copyright (c) SAS Institute Inc. -description: pymaven is a library for working with maven repositories via python. - pymaven is not intended as a complete replacement of the maven build system, but - instead as a way for python programs to fetch artifacts and artifact dependencies - from maven2 repositories. -download_url: https://files.pythonhosted.org/packages/e2/ca/327608df90c8fd46e8437a1a101ebf3858ccefa1968b1dd2a2821c1b8ba4/pymaven_patch-0.2.5-py2.py3-none-any.whl -homepage_url: https://github.com/sassoftware/pymaven -license_expression: apache-2.0 -name: pymaven_patch -owner: SAS Software -owner_url: https://github.com/sassoftware -version: 0.2.5 -license_file: apache-2.0.LICENSE diff --git a/thirdparty/pyparsing-2.4.0-py2.py3-none-any.whl b/thirdparty/pyparsing-2.4.0-py2.py3-none-any.whl deleted file mode 100644 index a32182a1..00000000 Binary files a/thirdparty/pyparsing-2.4.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pyparsing-2.4.0-py2.py3-none-any.whl.ABOUT b/thirdparty/pyparsing-2.4.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 81adab22..00000000 --- a/thirdparty/pyparsing-2.4.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,21 +0,0 @@ -about_resource: pyparsing-2.4.0-py2.py3-none-any.whl -name: pyparsing -version: 2.4.0 -download_url: https://files.pythonhosted.org/packages/dd/d9/3ec19e966301a6e25769976999bd7bbe552016f0d32b577dc9d63d2e0c49/pyparsing-2.4.0-py2.py3-none-any.whl -description: The pyparsing module is an alternative approach to creating and executing simple - grammars, vs. the traditional lex/yacc approach, or the use of regular expressions. The pyparsing - module provides a library of classes that client code uses to construct the grammar directly - in Python code. -homepage_url: http://pyparsing.wikispaces.com/ -license_expression: mit -copyright: Copyright (c) Paul T. McGuire -notice_file: pyparsing-2.4.0-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: Paul McGuire -checksum_md5: 0a90ca524ce3ba201be4b80e21ae7c3b -checksum_sha1: 854588b2e20826cd322f4e692f9650ae3472ab4f -package_url: pkg:pypi/pyparsing@2.4.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pyparsing-2.4.0-py2.py3-none-any.whl.NOTICE b/thirdparty/pyparsing-2.4.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index f6629709..00000000 --- a/thirdparty/pyparsing-2.4.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) Paul T. McGuire - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/pytest-4.6.3-py2.py3-none-any.whl b/thirdparty/pytest-4.6.3-py2.py3-none-any.whl deleted file mode 100644 index 58e97692..00000000 Binary files a/thirdparty/pytest-4.6.3-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pytest-4.6.3-py2.py3-none-any.whl.ABOUT b/thirdparty/pytest-4.6.3-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 71f61da2..00000000 --- a/thirdparty/pytest-4.6.3-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: pytest-4.6.3-py2.py3-none-any.whl -name: pytest -version: 4.6.3 -download_url: https://files.pythonhosted.org/packages/b3/eb/df264c0b1ff4aaf263375dc09aabd9093364f66060be9b26f3a2c166d558/pytest-4.6.3-py2.py3-none-any.whl -description: 'pytest: simple powerful testing with Python' -homepage_url: http://pytest.org -license_expression: mit -copyright: Copyright (c) Holger Krekel and others -notice_file: pytest-4.6.3-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: pytest-dev -owner_url: https://github.com/pytest-dev -contact: pytest-dev@python.org -checksum_md5: bfa856bfc2cd9a7af22490f68497db57 -checksum_sha1: 101e3ed9be57dd561453721b92e62ddf3c02bd23 -package_url: pkg:pypi/pytest@4.6.3 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pytest-4.6.3-py2.py3-none-any.whl.NOTICE b/thirdparty/pytest-4.6.3-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index bba05fbf..00000000 --- a/thirdparty/pytest-4.6.3-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Holger Krekel and others - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/thirdparty/pytest_cov-2.7.1-py2.py3-none-any.whl b/thirdparty/pytest_cov-2.7.1-py2.py3-none-any.whl deleted file mode 100644 index 210a7a55..00000000 Binary files a/thirdparty/pytest_cov-2.7.1-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pytest_cov-2.7.1-py2.py3-none-any.whl.ABOUT b/thirdparty/pytest_cov-2.7.1-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index b0c42cb0..00000000 --- a/thirdparty/pytest_cov-2.7.1-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,24 +0,0 @@ -about_resource: pytest_cov-2.7.1-py2.py3-none-any.whl -name: pytest-cov -version: 2.7.1 -download_url: https://files.pythonhosted.org/packages/84/7b/73f8522619d1cbb22b9a36f9c54bc5ce5e24648e53cc1bf566477d2d1f2b/pytest_cov-2.7.1-py2.py3-none-any.whl -description: Coverage plugin for pytest. -homepage_url: https://github.com/pytest-dev/pytest-cov -license_expression: mit AND bsd-new -copyright: Copyright (c) Meme Dough and contributors -notice_file: pytest_cov-2.7.1-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: pytest-dev -owner_url: https://github.com/pytest-dev -contact: pytest-dev@python.org -vcs_repository: https://github.com/pytest-dev/pytest-cov -checksum_md5: 9c3adf39cf0b0516d721f2764511c159 -checksum_sha1: 7faf984b0e9135adbef79529b955343902a394b3 -package_url: pkg:pypi/pytest-cov@2.7.1 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pytest_cov-2.7.1-py2.py3-none-any.whl.NOTICE b/thirdparty/pytest_cov-2.7.1-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index f5c6d289..00000000 --- a/thirdparty/pytest_cov-2.7.1-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) Meme Dough - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/pytest_forked-1.0.2-py2.py3-none-any.whl b/thirdparty/pytest_forked-1.0.2-py2.py3-none-any.whl deleted file mode 100644 index 1b1e046a..00000000 Binary files a/thirdparty/pytest_forked-1.0.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pytest_forked-1.0.2-py2.py3-none-any.whl.ABOUT b/thirdparty/pytest_forked-1.0.2-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 0e733d30..00000000 --- a/thirdparty/pytest_forked-1.0.2-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,23 +0,0 @@ -about_resource: pytest_forked-1.0.2-py2.py3-none-any.whl -name: pytest-forked -version: 1.0.2 -download_url: https://files.pythonhosted.org/packages/3f/55/ef92c340e723495dbee91d749903d2b7950b49c501943296257246d7d880/pytest_forked-1.0.2-py2.py3-none-any.whl -description: | - run tests in isolated forked subprocesses - extracted --boxed from pytest-xdist to ensure backward compat -homepage_url: https://github.com/pytest-dev/pytest-forked -license_expression: mit -copyright: Copyright (c) Holger Krekel and contributors -notice_file: pytest_forked-1.0.2-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: pytest-dev -owner_url: https://github.com/pytest-dev -contact: pytest-dev@python.org -vcs_repository: https://github.com/pytest-dev/pytest-forked -checksum_md5: d80c4e26056d72095502b2a726bbab9e -checksum_sha1: 128e1e02a31f51dec8145db123a4028163f04ea2 -package_url: pkg:pypi/pytest-forked@1.0.2 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pytest_forked-1.0.2-py2.py3-none-any.whl.NOTICE b/thirdparty/pytest_forked-1.0.2-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index d3b16844..00000000 --- a/thirdparty/pytest_forked-1.0.2-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Holger Krekel and contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. \ No newline at end of file diff --git a/thirdparty/pytest_rerunfailures-7.0-py2.py3-none-any.whl b/thirdparty/pytest_rerunfailures-7.0-py2.py3-none-any.whl deleted file mode 100644 index 4ee18739..00000000 Binary files a/thirdparty/pytest_rerunfailures-7.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pytest_rerunfailures-7.0-py2.py3-none-any.whl.ABOUT b/thirdparty/pytest_rerunfailures-7.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index a29da166..00000000 --- a/thirdparty/pytest_rerunfailures-7.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,23 +0,0 @@ -about_resource: pytest_rerunfailures-7.0-py2.py3-none-any.whl -name: pytest-rerunfailures -version: '7.0' -download_url: https://files.pythonhosted.org/packages/e5/84/e71ce0c546232f612c35c57f0d30e2a6f4aa1819519cf9ada1e40b6a4c55/pytest_rerunfailures-7.0-py2.py3-none-any.whl -homepage_url: https://github.com/pytest-dev/pytest-rerunfailures -license_expression: mpl-2.0 -copyright: Copyright (c) Leah Klearman and pytest-dev authors -notice_file: pytest_rerunfailures-7.0-py2.py3-none-any.whl.NOTICE -notice_url: https://github.com/pytest-dev/pytest-rerunfailures/blob/master/LICENSE -redistribute: yes -attribute: yes -track_changes: yes -owner: pytest-dev -owner_url: https://github.com/pytest-dev -contact: pytest-dev@python.org -vcs_repository: https://github.com/pytest-dev/pytest-rerunfailures -checksum_md5: 5cdc267b75d762821052d3e1623e073a -checksum_sha1: 733f0784bc41f82b5b49842ec361ca56b6dd174c -package_url: pkg:pypi/pytest-rerunfailures@7.0 -licenses: - - key: mpl-2.0 - name: Mozilla Public License 2.0 - file: mpl-2.0.LICENSE diff --git a/thirdparty/pytest_rerunfailures-7.0-py2.py3-none-any.whl.NOTICE b/thirdparty/pytest_rerunfailures-7.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 41f9e86d..00000000 --- a/thirdparty/pytest_rerunfailures-7.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,3 +0,0 @@ -This Source Code Form is subject to the terms of the Mozilla Public -License, v. 2.0. If a copy of the MPL was not distributed with this -file, You can obtain one at http://mozilla.org/MPL/2.0/. \ No newline at end of file diff --git a/thirdparty/pytest_xdist-1.29.0-py2.py3-none-any.whl b/thirdparty/pytest_xdist-1.29.0-py2.py3-none-any.whl deleted file mode 100644 index 40151f3e..00000000 Binary files a/thirdparty/pytest_xdist-1.29.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pytest_xdist-1.29.0-py2.py3-none-any.whl.ABOUT b/thirdparty/pytest_xdist-1.29.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 56e41148..00000000 --- a/thirdparty/pytest_xdist-1.29.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,21 +0,0 @@ -about_resource: pytest_xdist-1.29.0-py2.py3-none-any.whl -name: pytest-xdist -version: 1.29.0 -download_url: https://files.pythonhosted.org/packages/9f/cc/371b2e6dfbf4e8df07b04e310dd6ea0b3f367e257d1e6cb516b25bc4af1b/pytest_xdist-1.29.0-py2.py3-none-any.whl -description: py.test xdist plugin for distributed testing and loop-on-failing modes -homepage_url: https://github.com/pytest-dev/pytest-xdist -license_expression: mit -copyright: Copyright (c) Holger Krekel and contributors -notice_file: pytest_xdist-1.29.0-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: pytest-dev -owner_url: https://github.com/pytest-dev -contact: pytest-dev@python.org -vcs_repository: https://github.com/pytest-dev/pytest-xdist -checksum_md5: fbc0caa055a8822ef9d753f340e2f27b -checksum_sha1: bddd3f0f1e00e87c85158bc121900ed798fcb10d -package_url: pkg:pypi/pytest-xdist@1.29.0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/pytest_xdist-1.29.0-py2.py3-none-any.whl.NOTICE b/thirdparty/pytest_xdist-1.29.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index d3b16844..00000000 --- a/thirdparty/pytest_xdist-1.29.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Holger Krekel and contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. \ No newline at end of file diff --git a/thirdparty/python.LICENSE b/thirdparty/python.LICENSE deleted file mode 100644 index 81829681..00000000 --- a/thirdparty/python.LICENSE +++ /dev/null @@ -1,192 +0,0 @@ -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python -alone or in any derivative version, provided, however, that PSF's -License Agreement and PSF's notice of copyright, i.e., "Copyright (c) -2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights -Reserved" are retained in Python alone or in any derivative version -prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- - -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - -CNRI OPEN SOURCE LICENSE AGREEMENT (for Python 1.6b1) --------------------------------------------------- - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, -INSTALLING OR OTHERWISE USING PYTHON 1.6, beta 1 SOFTWARE, YOU ARE -DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE -AGREEMENT. - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6, beta 1 -software in source or binary form and its associated documentation, -as released at the www.python.org Internet site on August 4, 2000 -("Python 1.6b1"). - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a non-exclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display -publicly, prepare derivative works, distribute, and otherwise use -Python 1.6b1 alone or in any derivative version, provided, however, -that CNRIs License Agreement is retained in Python 1.6b1, alone or -in any derivative version prepared by Licensee. - -Alternately, in lieu of CNRIs License Agreement, Licensee may -substitute the following text (omitting the quotes): "Python 1.6, -beta 1, is made available subject to the terms and conditions in -CNRIs License Agreement. This Agreement may be located on the -Internet using the following unique, persistent identifier (known -as a handle): 1895.22/1011. This Agreement may also be obtained -from a proxy server on the Internet using the -URL:http://hdl.handle.net/1895.22/1011". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6b1 or any part thereof, and wants to make -the derivative work available to the public as provided herein, -then Licensee hereby agrees to indicate in any such work the nature -of the modifications made to Python 1.6b1. - -4. CNRI is making Python 1.6b1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR -FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6b1 -WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR -LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING PYTHON 1.6b1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY -THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of Virginia, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed -to create any relationship of agency, partnership, or joint venture -between CNRI and Licensee. This License Agreement does not grant -permission to use CNRI trademarks or trade name in a trademark -sense to endorse or promote products or services of Licensee, or -any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6b1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - -ACCEPT - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- - -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. All rights reserved. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/thirdparty/pytz-2018.4-py2.py3-none-any.whl b/thirdparty/pytz-2018.4-py2.py3-none-any.whl deleted file mode 100644 index 53b5bd48..00000000 Binary files a/thirdparty/pytz-2018.4-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/pytz-2018.4-py2.py3-none-any.whl.ABOUT b/thirdparty/pytz-2018.4-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 380bcc3e..00000000 --- a/thirdparty/pytz-2018.4-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: pytz-2018.4-py2.py3-none-any.whl -attribute: true -checksum_md5: 7197560a9a16c83d0cc2edcc7ce5fe97 -checksum_sha1: cb6417ef2cfeb87fc5155404b2850afa6dac507a -contact: stuart@stuartbishop.net -copyright: Copyright (c) 2003-2017 Stuart Bishop -description: World timezone definitions, modern and historical -download_url: https://files.pythonhosted.org/packages/dc/83/15f7833b70d3e067ca91467ca245bae0f6fe56ddc7451aa0dc5606b120f2/pytz-2018.4-py2.py3-none-any.whl#sha256=65ae0c8101309c45772196b21b74c46b2e5d11b6275c45d251b150d5da334555 -homepage_url: http://pythonhosted.org/pytz -license_expression: mit -licenses: -- file: mit.LICENSE - key: mit - name: MIT License -name: pytz -notice_file: pytz-2018.4-py2.py3-none-any.whl.NOTICE -notice_url: https://github.com/stub42/pytz/blob/master/src/LICENSE.txt -owner: Stuart Bishop -owner_url: https://stuartbishop.net/about.html -version: '2018.4' diff --git a/thirdparty/pytz-2018.4-py2.py3-none-any.whl.NOTICE b/thirdparty/pytz-2018.4-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 10f1f854..00000000 --- a/thirdparty/pytz-2018.4-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2003-2017 Stuart Bishop - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/pyyaml.LICENSE b/thirdparty/pyyaml.LICENSE deleted file mode 100644 index 050ced23..00000000 --- a/thirdparty/pyyaml.LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2006 Kirill Simonov - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/thirdparty/rdflib-4.2.1-cp27-none-any.whl b/thirdparty/rdflib-4.2.1-cp27-none-any.whl deleted file mode 100644 index 97e1df91..00000000 Binary files a/thirdparty/rdflib-4.2.1-cp27-none-any.whl and /dev/null differ diff --git a/thirdparty/rdflib-4.2.1-py3-none-any.whl b/thirdparty/rdflib-4.2.1-py3-none-any.whl deleted file mode 100644 index 8af7debf..00000000 Binary files a/thirdparty/rdflib-4.2.1-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/rdflib.ABOUT b/thirdparty/rdflib.ABOUT deleted file mode 100644 index 35040717..00000000 --- a/thirdparty/rdflib.ABOUT +++ /dev/null @@ -1,12 +0,0 @@ -about_resource: rdflib-4.2.1-cp27-none-any.whl -name: rdflib -version: 4.2.1 -home_url: https://github.com/RDFLib/rdflib -download_url: https://pypi.python.org/packages/9d/fa/4198e8d8b444a4ace5c8fd86d128c2faa210a6e281973c8e5e16d978eaf4/rdflib-4.2.1.tar.gz#md5=528adaa10536d14a608507d7831711f5 -owner: RDFLib Team -copyright: Copyright (c) 2002-2015, RDFLib Team - -vcs_url: git+https://github.com/RDFLib/rdflib.git - -license_expression: bsd-new -license_file: rdflib.LICENSE diff --git a/thirdparty/rdflib.LICENSE b/thirdparty/rdflib.LICENSE deleted file mode 100644 index dd49b6ee..00000000 --- a/thirdparty/rdflib.LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -LICENSE AGREEMENT FOR RDFLIB ------------------------------------------------- -Copyright (c) 2002-2015, RDFLib Team -See CONTRIBUTORS and http://github.com/RDFLib/rdflib -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following -disclaimer in the documentation and/or other materials provided -with the distribution. - - * Neither the name of Daniel Krech nor the names of its -contributors may be used to endorse or promote products derived -from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/thirdparty/requests-2.18.4-py2.py3-none-any.whl b/thirdparty/requests-2.18.4-py2.py3-none-any.whl deleted file mode 100644 index cf3bdc07..00000000 Binary files a/thirdparty/requests-2.18.4-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/requests-2.18.4-py2.py3-none-any.whl.ABOUT b/thirdparty/requests-2.18.4-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 2d91685f..00000000 --- a/thirdparty/requests-2.18.4-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: requests-2.18.4-py2.py3-none-any.whl -checksum_md5: eb9be71cc41fd73a51a7c9cd1adde5de -checksum_sha1: 52ccdd6ee808bddd0c6eabc6eda79e79381266df -contact: me@kennethreitz.com -copyright: Copyright (c) 2017 Kenneth Reitz -description: Requests is the only Non-GMO HTTP library for Python, safe for human - consumption. -download_url: https://pypi.python.org/packages/49/df/50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c/requests-2.18.4-py2.py3-none-any.whl#md5=eb9be71cc41fd73a51a7c9cd1adde5de -homepage_url: http://python-requests.org -license_expression: apache-2.0 -name: Requests -owner: Kenneth Reitz -owner_url: https://github.com/kennethreitz -version: 2.18.4 -notice_file: requests.NOTICE -license_file: apache-2.0.LICENSE - -vcs_url: git+https://github.com/kennethreitz/requests.git diff --git a/thirdparty/requests.NOTICE b/thirdparty/requests.NOTICE deleted file mode 100644 index db78ea69..00000000 --- a/thirdparty/requests.NOTICE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2017 Kenneth Reitz - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/thirdparty/saneyaml-0.1-py2.py3-none-any.whl b/thirdparty/saneyaml-0.1-py2.py3-none-any.whl deleted file mode 100644 index c8aa66fa..00000000 Binary files a/thirdparty/saneyaml-0.1-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/saneyaml-0.1-py2.py3-none-any.whl.ABOUT b/thirdparty/saneyaml-0.1-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 1b8d93c0..00000000 --- a/thirdparty/saneyaml-0.1-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: saneyaml-0.1-py2.py3-none-any.whl -attribute: true -checksum_md5: 53509e4f1ee9f6565158163a56513b7c -checksum_sha1: a66920309794ead47711473a21f1c7d003acd005 -contact: http://www.nexb.com/contactus.html -copyright: Copyright (c) nexB Inc. and others. -download_url: https://files.pythonhosted.org/packages/21/13/3d639adcd97fc22cfc4acfd23330cc26f96a85a5b992d93086684e24ac14/saneyaml-0.1-py2.py3-none-any.whl -homepage_url: https://github.com/nexB/saneyaml -license_expression: apache-2.0 -licenses: -- file: apache-2.0.LICENSE - key: apache-2.0 - name: Apache License 2.0 -name: saneyaml -owner: nexB -owner_url: http://www.nexb.com/ -package_url: pkg:pypi/saneyaml@0.1 -track_changes: true -vcs_url: https://github.com/nexB/saneyaml -version: '0.1' diff --git a/thirdparty/scancode_toolkit-3.1.0-py2-none-any.whl b/thirdparty/scancode_toolkit-3.1.0-py2-none-any.whl deleted file mode 100644 index f12ae31f..00000000 Binary files a/thirdparty/scancode_toolkit-3.1.0-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/scandir-1.9.0-cp27-cp27m-linux_x86_64.whl b/thirdparty/scandir-1.9.0-cp27-cp27m-linux_x86_64.whl deleted file mode 100644 index c0ca9b20..00000000 Binary files a/thirdparty/scandir-1.9.0-cp27-cp27m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/scandir-1.9.0-cp27-cp27m-macosx_10_11_x86_64.whl b/thirdparty/scandir-1.9.0-cp27-cp27m-macosx_10_11_x86_64.whl deleted file mode 100644 index aa9d968a..00000000 Binary files a/thirdparty/scandir-1.9.0-cp27-cp27m-macosx_10_11_x86_64.whl and /dev/null differ diff --git a/thirdparty/scandir-1.9.0-cp27-cp27m-macosx_10_11_x86_64.whl.ABOUT b/thirdparty/scandir-1.9.0-cp27-cp27m-macosx_10_11_x86_64.whl.ABOUT deleted file mode 100644 index db999dd7..00000000 --- a/thirdparty/scandir-1.9.0-cp27-cp27m-macosx_10_11_x86_64.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: scandir-1.9.0-cp27-cp27m-macosx_10_11_x86_64.whl -attribute: true -copyright: Copyright (c) Ben Hoyt -download_url: https://files.pythonhosted.org/packages/16/2a/557af1181e6b4e30254d5a6163b18f5053791ca66e251e77ab08887e8fe3/scandir-1.9.0.tar.gz -homepage_url: https://github.com/benhoyt/scandir -license_expression: bsd-new -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -name: scandir -owner: Ben Hoyt -vcs_url: https://github.com/benhoyt/scandir -version: 1.9.0 diff --git a/thirdparty/scandir-1.9.0-cp27-cp27m-win32.whl b/thirdparty/scandir-1.9.0-cp27-cp27m-win32.whl deleted file mode 100644 index fd2f1047..00000000 Binary files a/thirdparty/scandir-1.9.0-cp27-cp27m-win32.whl and /dev/null differ diff --git a/thirdparty/scandir-1.9.0-cp27-cp27m-win32.whl.ABOUT b/thirdparty/scandir-1.9.0-cp27-cp27m-win32.whl.ABOUT deleted file mode 100644 index 37242171..00000000 --- a/thirdparty/scandir-1.9.0-cp27-cp27m-win32.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: scandir-1.9.0-cp27-cp27m-win32.whl -attribute: true -copyright: Copyright (c) Ben Hoyt -download_url: https://files.pythonhosted.org/packages/16/2a/557af1181e6b4e30254d5a6163b18f5053791ca66e251e77ab08887e8fe3/scandir-1.9.0.tar.gz -homepage_url: https://github.com/benhoyt/scandir -license_expression: bsd-new -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -name: scandir -owner: Ben Hoyt -vcs_url: https://github.com/benhoyt/scandir -version: 1.9.0 diff --git a/thirdparty/scandir-1.9.0-cp27-cp27m-win_amd64.whl b/thirdparty/scandir-1.9.0-cp27-cp27m-win_amd64.whl deleted file mode 100644 index 7c718c67..00000000 Binary files a/thirdparty/scandir-1.9.0-cp27-cp27m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/scandir-1.9.0-cp27-cp27m-win_amd64.whl.ABOUT b/thirdparty/scandir-1.9.0-cp27-cp27m-win_amd64.whl.ABOUT deleted file mode 100644 index e1d94e63..00000000 --- a/thirdparty/scandir-1.9.0-cp27-cp27m-win_amd64.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: scandir-1.9.0-cp27-cp27m-win_amd64.whl -attribute: true -copyright: Copyright (c) Ben Hoyt -download_url: https://files.pythonhosted.org/packages/16/2a/557af1181e6b4e30254d5a6163b18f5053791ca66e251e77ab08887e8fe3/scandir-1.9.0.tar.gz -homepage_url: https://github.com/benhoyt/scandir -license_expression: bsd-new -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -name: scandir -owner: Ben Hoyt -vcs_url: https://github.com/benhoyt/scandir -version: 1.9.0 diff --git a/thirdparty/scandir-1.9.0-cp27-cp27mu-linux_x86_64.whl b/thirdparty/scandir-1.9.0-cp27-cp27mu-linux_x86_64.whl deleted file mode 100644 index 02641165..00000000 Binary files a/thirdparty/scandir-1.9.0-cp27-cp27mu-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/scandir-1.9.0-cp27-cp27mu-linux_x86_64.whl.ABOUT b/thirdparty/scandir-1.9.0-cp27-cp27mu-linux_x86_64.whl.ABOUT deleted file mode 100644 index 71015755..00000000 --- a/thirdparty/scandir-1.9.0-cp27-cp27mu-linux_x86_64.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: scandir-1.9.0-cp27-cp27mu-linux_x86_64.whl -attribute: true -copyright: Copyright (c) Ben Hoyt -download_url: https://files.pythonhosted.org/packages/16/2a/557af1181e6b4e30254d5a6163b18f5053791ca66e251e77ab08887e8fe3/scandir-1.9.0.tar.gz -homepage_url: https://github.com/benhoyt/scandir -license_expression: bsd-new -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -name: scandir -owner: Ben Hoyt -vcs_url: https://github.com/benhoyt/scandir -version: 1.9.0 diff --git a/thirdparty/scandir-1.9.0.tar.gz b/thirdparty/scandir-1.9.0.tar.gz deleted file mode 100644 index f134aace..00000000 Binary files a/thirdparty/scandir-1.9.0.tar.gz and /dev/null differ diff --git a/thirdparty/scandir-1.9.0.tar.gz.ABOUT b/thirdparty/scandir-1.9.0.tar.gz.ABOUT deleted file mode 100644 index 1f7b0ef7..00000000 --- a/thirdparty/scandir-1.9.0.tar.gz.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: scandir-1.9.0.tar.gz -attribute: true -checksum_md5: 506c4cc5f38c00b301642a9cb0433910 -checksum_sha1: 64c550daec4ef70aa913e1e046b265ff9914c3e8 -copyright: Copyright (c) Ben Hoyt -download_url: https://files.pythonhosted.org/packages/16/2a/557af1181e6b4e30254d5a6163b18f5053791ca66e251e77ab08887e8fe3/scandir-1.9.0.tar.gz -homepage_url: https://github.com/benhoyt/scandir -license_expression: bsd-new -licenses: -- file: bsd-new.LICENSE - key: bsd-new - name: BSD-3-Clause -name: scandir -owner: Ben Hoyt -vcs_url: https://github.com/benhoyt/scandir -version: 1.9.0 -notes: this is builtin Python3 \ No newline at end of file diff --git a/thirdparty/setuptools-41.0.1-py2.py3-none-any.whl b/thirdparty/setuptools-41.0.1-py2.py3-none-any.whl deleted file mode 100644 index 92836e98..00000000 Binary files a/thirdparty/setuptools-41.0.1-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/setuptools-41.0.1-py2.py3-none-any.whl.ABOUT b/thirdparty/setuptools-41.0.1-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index f799eae5..00000000 --- a/thirdparty/setuptools-41.0.1-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -about_resource: setuptools-41.0.1-py2.py3-none-any.whl -name: setuptools -version: 41.0.1 -download_url: https://files.pythonhosted.org/packages/ec/51/f45cea425fd5cb0b0380f5b0f048ebc1da5b417e48d304838c02d6288a1e/setuptools-41.0.1-py2.py3-none-any.whl#sha256=c7769ce668c7a333d84e17fe8b524b1c45e7ee9f7908ad0a73e1eda7e6a5aebf -description: Easily download, build, install, upgrade, and uninstall Python packages -homepage_url: https://pypi.python.org/pypi/setuptools -license_expression: python AND mit -copyright: Copyright (c) Python Packaging Authority -attribute: yes -track_changes: yes -owner: Python Packaging Authority -owner_url: https://www.pypa.io/en/latest/ -contact: distutils-sig@python.org -checksum_md5: e39fe66ddbbb836c50cd2579e2243423 -checksum_sha1: 1f9778e553692da2dca11db3a5fcc7b0e43a5165 diff --git a/thirdparty/simplejson-3.15.0-cp27-cp27m-linux_x86_64.whl b/thirdparty/simplejson-3.15.0-cp27-cp27m-linux_x86_64.whl deleted file mode 100644 index 18f9d1d1..00000000 Binary files a/thirdparty/simplejson-3.15.0-cp27-cp27m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl b/thirdparty/simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl deleted file mode 100644 index e9bbff61..00000000 Binary files a/thirdparty/simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl and /dev/null differ diff --git a/thirdparty/simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl.ABOUT b/thirdparty/simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl.ABOUT deleted file mode 100644 index 9d163a40..00000000 --- a/thirdparty/simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl.ABOUT +++ /dev/null @@ -1,23 +0,0 @@ -about_resource: simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl -attribute: true -checksum_md5: 9a48b9974a19185663b32e295d476b60 -checksum_sha1: 10b3d3194eafa4481b21d72c05b8ee1e36295780 -contact: bob@redivi.com -copyright: Copyright (c) 2006 Bob Ippolito -description: simplejson is a simple, fast, extensible JSON encoder/decoder for Python -download_url: https://files.pythonhosted.org/packages/63/0c/fc416fb7a3c03f096dedbd3e1a21d5d7628288d1b885cadd70266718f355/simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl -homepage_url: https://github.com/simplejson/simplejson -license_expression: mit OR afl-2.1 -licenses: -- file: afl-2.1.LICENSE - key: afl-2.1 - name: Academic Free License 2.1 -- file: mit.LICENSE - key: mit - name: MIT License -name: simplejson -notice_file: simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl.NOTICE -owner: Bob Ippolito -owner_url: http://bob.ippoli.to/ -vcs_url: https://github.com/simplejson/simplejson -version: 3.15.0 diff --git a/thirdparty/simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl.NOTICE b/thirdparty/simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl.NOTICE deleted file mode 100644 index c7b23e56..00000000 --- a/thirdparty/simplejson-3.15.0-cp27-cp27m-macosx_10_12_x86_64.whl.NOTICE +++ /dev/null @@ -1,79 +0,0 @@ -simplejson is dual-licensed software. It is available under the terms -of the MIT license, or the Academic Free License version 2.1. The full -text of each license agreement is included below. This code is also -licensed to the Python Software Foundation (PSF) under a Contributor -Agreement. - -MIT License -=========== - -Copyright (c) 2006 Bob Ippolito - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Academic Free License v. 2.1 -============================ - -Copyright (c) 2006 Bob Ippolito. All rights reserved. - -This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work: - -Licensed under the Academic Free License version 2.1 - -1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following: - -a) to reproduce the Original Work in copies; - -b) to prepare derivative works ("Derivative Works") based upon the Original Work; - -c) to distribute copies of the Original Work and Derivative Works to the public; - -d) to perform the Original Work publicly; and - -e) to display the Original Work publicly. - -2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works. - -3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work. - -4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license. - -5) This section intentionally omitted. - -6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. - -7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer. - -8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. - -9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions. - -10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. - -11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License. - -12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. - -13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. - -14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. - -This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner. \ No newline at end of file diff --git a/thirdparty/simplejson-3.15.0-cp27-cp27m-win32.whl b/thirdparty/simplejson-3.15.0-cp27-cp27m-win32.whl deleted file mode 100644 index e842c8bd..00000000 Binary files a/thirdparty/simplejson-3.15.0-cp27-cp27m-win32.whl and /dev/null differ diff --git a/thirdparty/simplejson-3.15.0-cp27-cp27m-win32.whl.ABOUT b/thirdparty/simplejson-3.15.0-cp27-cp27m-win32.whl.ABOUT deleted file mode 100644 index 8f5e621d..00000000 --- a/thirdparty/simplejson-3.15.0-cp27-cp27m-win32.whl.ABOUT +++ /dev/null @@ -1,21 +0,0 @@ -about_resource: simplejson-3.15.0-cp27-cp27mu-linux_i686.whl -attribute: true -contact: bob@redivi.com -copyright: Copyright (c) 2006 Bob Ippolito -description: simplejson is a simple, fast, extensible JSON encoder/decoder for Python -download_url: https://files.pythonhosted.org/packages/8b/6c/c512c32124d1d2d67a32ff867bb3cdd5bfa6432660975f7ee753ed7ad886/simplejson-3.15.0.tar.gz -homepage_url: https://github.com/simplejson/simplejson -license_expression: mit OR afl-2.1 -licenses: -- file: afl-2.1.LICENSE - key: afl-2.1 - name: Academic Free License 2.1 -- file: mit.LICENSE - key: mit - name: MIT License -name: simplejson -notice_file: simplejson-3.15.0.tar.gz.NOTICE -owner: Bob Ippolito -owner_url: http://bob.ippoli.to/ -vcs_url: https://github.com/simplejson/simplejson -version: 3.15.0 diff --git a/thirdparty/simplejson-3.15.0-cp27-cp27m-win_amd64.whl b/thirdparty/simplejson-3.15.0-cp27-cp27m-win_amd64.whl deleted file mode 100644 index 4376f509..00000000 Binary files a/thirdparty/simplejson-3.15.0-cp27-cp27m-win_amd64.whl and /dev/null differ diff --git a/thirdparty/simplejson-3.15.0-cp27-cp27m-win_amd64.whl.ABOUT b/thirdparty/simplejson-3.15.0-cp27-cp27m-win_amd64.whl.ABOUT deleted file mode 100644 index 8f5e621d..00000000 --- a/thirdparty/simplejson-3.15.0-cp27-cp27m-win_amd64.whl.ABOUT +++ /dev/null @@ -1,21 +0,0 @@ -about_resource: simplejson-3.15.0-cp27-cp27mu-linux_i686.whl -attribute: true -contact: bob@redivi.com -copyright: Copyright (c) 2006 Bob Ippolito -description: simplejson is a simple, fast, extensible JSON encoder/decoder for Python -download_url: https://files.pythonhosted.org/packages/8b/6c/c512c32124d1d2d67a32ff867bb3cdd5bfa6432660975f7ee753ed7ad886/simplejson-3.15.0.tar.gz -homepage_url: https://github.com/simplejson/simplejson -license_expression: mit OR afl-2.1 -licenses: -- file: afl-2.1.LICENSE - key: afl-2.1 - name: Academic Free License 2.1 -- file: mit.LICENSE - key: mit - name: MIT License -name: simplejson -notice_file: simplejson-3.15.0.tar.gz.NOTICE -owner: Bob Ippolito -owner_url: http://bob.ippoli.to/ -vcs_url: https://github.com/simplejson/simplejson -version: 3.15.0 diff --git a/thirdparty/simplejson-3.15.0-cp27-cp27mu-linux_x86_64.whl b/thirdparty/simplejson-3.15.0-cp27-cp27mu-linux_x86_64.whl deleted file mode 100644 index a3f37788..00000000 Binary files a/thirdparty/simplejson-3.15.0-cp27-cp27mu-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/simplejson-3.15.0-cp27-cp27mu-linux_x86_64.whl.ABOUT b/thirdparty/simplejson-3.15.0-cp27-cp27mu-linux_x86_64.whl.ABOUT deleted file mode 100644 index 27e36b94..00000000 --- a/thirdparty/simplejson-3.15.0-cp27-cp27mu-linux_x86_64.whl.ABOUT +++ /dev/null @@ -1,21 +0,0 @@ -about_resource: simplejson-3.15.0-cp27-cp27mu-linux_x86_64.whl -attribute: true -contact: bob@redivi.com -copyright: Copyright (c) 2006 Bob Ippolito -description: simplejson is a simple, fast, extensible JSON encoder/decoder for Python -download_url: https://files.pythonhosted.org/packages/8b/6c/c512c32124d1d2d67a32ff867bb3cdd5bfa6432660975f7ee753ed7ad886/simplejson-3.15.0.tar.gz -homepage_url: https://github.com/simplejson/simplejson -license_expression: mit OR afl-2.1 -licenses: -- file: afl-2.1.LICENSE - key: afl-2.1 - name: Academic Free License 2.1 -- file: mit.LICENSE - key: mit - name: MIT License -name: simplejson -notice_file: simplejson-3.15.0.tar.gz.NOTICE -owner: Bob Ippolito -owner_url: http://bob.ippoli.to/ -vcs_url: https://github.com/simplejson/simplejson -version: 3.15.0 diff --git a/thirdparty/simplejson-3.15.0-cp36-cp36m-linux_x86_64.whl b/thirdparty/simplejson-3.15.0-cp36-cp36m-linux_x86_64.whl deleted file mode 100644 index 534c0217..00000000 Binary files a/thirdparty/simplejson-3.15.0-cp36-cp36m-linux_x86_64.whl and /dev/null differ diff --git a/thirdparty/simplejson-3.15.0-cp36-cp36m-win32.whl b/thirdparty/simplejson-3.15.0-cp36-cp36m-win32.whl deleted file mode 100644 index 62ceb18e..00000000 Binary files a/thirdparty/simplejson-3.15.0-cp36-cp36m-win32.whl and /dev/null differ diff --git a/thirdparty/simplejson-3.15.0.tar.gz b/thirdparty/simplejson-3.15.0.tar.gz deleted file mode 100644 index b599b3c1..00000000 Binary files a/thirdparty/simplejson-3.15.0.tar.gz and /dev/null differ diff --git a/thirdparty/simplejson-3.15.0.tar.gz.ABOUT b/thirdparty/simplejson-3.15.0.tar.gz.ABOUT deleted file mode 100644 index 0ea25269..00000000 --- a/thirdparty/simplejson-3.15.0.tar.gz.ABOUT +++ /dev/null @@ -1,23 +0,0 @@ -about_resource: simplejson-3.15.0.tar.gz -attribute: true -checksum_md5: db82f51f82ed36b5186b5c164a6034e2 -checksum_sha1: d3acc90e542b933b5cce93b745a05cca94650e13 -contact: bob@redivi.com -copyright: Copyright (c) 2006 Bob Ippolito -description: simplejson is a simple, fast, extensible JSON encoder/decoder for Python -download_url: https://files.pythonhosted.org/packages/8b/6c/c512c32124d1d2d67a32ff867bb3cdd5bfa6432660975f7ee753ed7ad886/simplejson-3.15.0.tar.gz -homepage_url: https://github.com/simplejson/simplejson -license_expression: mit OR afl-2.1 -licenses: -- file: afl-2.1.LICENSE - key: afl-2.1 - name: Academic Free License 2.1 -- file: mit.LICENSE - key: mit - name: MIT License -name: simplejson -notice_file: simplejson-3.15.0.tar.gz.NOTICE -owner: Bob Ippolito -owner_url: http://bob.ippoli.to/ -vcs_url: https://github.com/simplejson/simplejson -version: 3.15.0 diff --git a/thirdparty/simplejson-3.15.0.tar.gz.NOTICE b/thirdparty/simplejson-3.15.0.tar.gz.NOTICE deleted file mode 100644 index c7b23e56..00000000 --- a/thirdparty/simplejson-3.15.0.tar.gz.NOTICE +++ /dev/null @@ -1,79 +0,0 @@ -simplejson is dual-licensed software. It is available under the terms -of the MIT license, or the Academic Free License version 2.1. The full -text of each license agreement is included below. This code is also -licensed to the Python Software Foundation (PSF) under a Contributor -Agreement. - -MIT License -=========== - -Copyright (c) 2006 Bob Ippolito - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Academic Free License v. 2.1 -============================ - -Copyright (c) 2006 Bob Ippolito. All rights reserved. - -This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work: - -Licensed under the Academic Free License version 2.1 - -1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following: - -a) to reproduce the Original Work in copies; - -b) to prepare derivative works ("Derivative Works") based upon the Original Work; - -c) to distribute copies of the Original Work and Derivative Works to the public; - -d) to perform the Original Work publicly; and - -e) to display the Original Work publicly. - -2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works. - -3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work. - -4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license. - -5) This section intentionally omitted. - -6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. - -7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer. - -8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. - -9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions. - -10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. - -11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License. - -12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. - -13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. - -14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. - -This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner. \ No newline at end of file diff --git a/thirdparty/six-1.12.0-py2.py3-none-any.whl b/thirdparty/six-1.12.0-py2.py3-none-any.whl deleted file mode 100644 index 78ba9032..00000000 Binary files a/thirdparty/six-1.12.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/six-1.12.0-py2.py3-none-any.whl.ABOUT b/thirdparty/six-1.12.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index ba0c2ba1..00000000 --- a/thirdparty/six-1.12.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: six-1.12.0-py2.py3-none-any.whl -name: six -version: 1.12.0 -download_url: https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl#sha256=3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c -description: Six is a Python 2 and 3 compatibility library. It provides utility functions for - smoothing over the differences between the Python versions with the goal of writing Python - code that is compatible on both Python versions. -homepage_url: http://bitbucket.org/gutworth/six -license_expression: mit -copyright: Copyright (c) 2010-2011 Benjamin Peterson -notice_url: https://github.com/benjaminp/six/blob/master/LICENSE -attribute: yes -owner: Benjamin Peterson -owner_url: http://www.benjamin-peterson.org/ -contact: benjamin@python.org -checksum_md5: b0dc15d494e2d6e6c19cbbe482e91c5d -checksum_sha1: eb69e52f67f270fa1e362a9dbe64e3f6faaf4252 diff --git a/thirdparty/sortedcontainers-2.0.5-py2.py3-none-any.whl b/thirdparty/sortedcontainers-2.0.5-py2.py3-none-any.whl deleted file mode 100644 index fe6ffb9b..00000000 Binary files a/thirdparty/sortedcontainers-2.0.5-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/sortedcontainers-2.0.5-py2.py3-none-any.whl.ABOUT b/thirdparty/sortedcontainers-2.0.5-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 133252a4..00000000 --- a/thirdparty/sortedcontainers-2.0.5-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -about_resource: sortedcontainers-2.0.5-py2.py3-none-any.whl -name: sortedcontainers -version: 2.0.5 -attribute: true -checksum_md5: 2eded606424a46296617c0df1c3941c4 -checksum_sha1: 76afff25dc697a7b5abd1964d2b8f01761ee6416 -copyright: Copyright (c) Grant Jenks -download_url: https://files.pythonhosted.org/packages/be/e3/a065de5fdd5849450a8a16a52a96c8db5f498f245e7eda06cc6725d04b80/sortedcontainers-2.0.5-py2.py3-none-any.whl -homepage_url: http://www.grantjenks.com/docs/sortedcontainers/ -license_expression: apache-2.0 -licenses: -- file: apache-2.0.LICENSE - key: apache-2.0 - name: Apache License 2.0 -track_changes: true diff --git a/thirdparty/soupsieve-1.9.2-py2.py3-none-any.whl b/thirdparty/soupsieve-1.9.2-py2.py3-none-any.whl deleted file mode 100644 index 230535ae..00000000 Binary files a/thirdparty/soupsieve-1.9.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/soupsieve-1.9.2-py2.py3-none-any.whl.ABOUT b/thirdparty/soupsieve-1.9.2-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 0f7f25ab..00000000 --- a/thirdparty/soupsieve-1.9.2-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -name: soupsieve -version: 1.9.2 -about_resource: soupsieve-1.9.2-py2.py3-none-any.whl -download_url: https://files.pythonhosted.org/packages/35/e3/25079e8911085ab76a6f2facae0771078260c930216ab0b0c44dc5c9bf31/soupsieve-1.9.2-py2.py3-none-any.whl -license_expression: mit -copyright: Copyright (c) Isaac Muse -attribute: yes -checksum_md5: 7a7e8932b3d9aeab02350b80fca6456b -checksum_sha1: cc6112372d5116654e3af61a6f41764732ee84b8 -package_url: pkg:pypi/soupsieve@1.9.2 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/spdx-tools.ABOUT b/thirdparty/spdx-tools.ABOUT deleted file mode 100644 index 7a806ec3..00000000 --- a/thirdparty/spdx-tools.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: spdx_tools-0.5.4-py2.py3-none-any.whl -version: 0.5.4 -download_url: https://pypi.python.org/packages/ed/55/489f189b0516bf70be3830572331da3311ef8713e476af40dccb6ee11b1d/spdx_tools-0.5.4-py2.py3-none-any.whl - -name: spdx-tools -home_url: https://github.com/spdx/tools-python - -license_expression: apache-2.0 -license_file: spdx-tools.LICENSE - -vcs_url: git+https://github.com/spdx/tools-python.git - -owner: Philippe Ombredanne -copyright: Copyright (c) 2014 Ahmed H. Ismail and others diff --git a/thirdparty/spdx-tools.LICENSE b/thirdparty/spdx-tools.LICENSE deleted file mode 100644 index 9c8f3ea0..00000000 --- a/thirdparty/spdx-tools.LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/thirdparty/spdx_tools-0.5.4-py2.py3-none-any.whl b/thirdparty/spdx_tools-0.5.4-py2.py3-none-any.whl deleted file mode 100644 index f2942791..00000000 Binary files a/thirdparty/spdx_tools-0.5.4-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/tempora-1.7-py2.py3-none-any.whl b/thirdparty/tempora-1.7-py2.py3-none-any.whl deleted file mode 100644 index dfe955d2..00000000 Binary files a/thirdparty/tempora-1.7-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/tempora.ABOUT b/thirdparty/tempora.ABOUT deleted file mode 100644 index b7fc354e..00000000 --- a/thirdparty/tempora.ABOUT +++ /dev/null @@ -1,13 +0,0 @@ -about_resource: tempora-1.7-py2.py3-none-any.whl -version: 1.7 -download_url: https://pypi.python.org/packages/49/47/cf763cf33f914a2a48bc2e0d16afc314a2eeb94165131ce1bdde298d97f8/tempora-1.7-py2.py3-none-any.whl - -name: tempora -home_url: https://github.com/jaraco/tempora/ -owner: Jason Coombs - -license_expression: mit -license_file: tempora.LICENSE -copyright: Copyright (c) Jason R. Coombs - -vcs_url: git+https://github.com/jaraco/tempora/.git diff --git a/thirdparty/tempora.LICENSE b/thirdparty/tempora.LICENSE deleted file mode 100644 index 279eb31e..00000000 --- a/thirdparty/tempora.LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Jason R. Coombs - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/thirdparty/text_unidecode-1.2-py2.py3-none-any.whl b/thirdparty/text_unidecode-1.2-py2.py3-none-any.whl deleted file mode 100644 index 02fc859d..00000000 Binary files a/thirdparty/text_unidecode-1.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/text_unidecode-1.2-py2.py3-none-any.whl.ABOUT b/thirdparty/text_unidecode-1.2-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index aa1d5e06..00000000 --- a/thirdparty/text_unidecode-1.2-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: text_unidecode-1.2-py2.py3-none-any.whl -attribute: true -checksum_md5: fde3074c2cb8cb7277d814dba033f835 -checksum_sha1: 30c67c0013c7971132ae6f3a349dfa149b928e36 -contact: kmike84@gmail.com -copyright: Copyright (c) Mikhail Korobov and Sean Burke -description: A basic port of the Perl module "Text::Unidecode" from http://search.cpan.org/~sburke/Text-Unidecode-1.30/lib/Text/Unidecode.pm -download_url: https://pypi.python.org/packages/79/42/d717cc2b4520fb09e45b344b1b0b4e81aa672001dd128c180fabc655c341/text_unidecode-1.2-py2.py3-none-any.whl -homepage_url: https://github.com/kmike/text-unidecode -license_expression: artistic-1.0 -licenses: -- file: artistic-1.0.LICENSE - key: artistic-1.0 - name: Artistic License 1.0 -name: text-unidecode -notice_file: text_unidecode-1.2-py2.py3-none-any.whl.NOTICE -owner: Mikhail Korobov -owner_url: https://github.com/kmike -redistribute: true -track_changes: true -vcs_url: https://github.com/kmike/text-unidecode -version: '1.2' diff --git a/thirdparty/text_unidecode-1.2-py2.py3-none-any.whl.NOTICE b/thirdparty/text_unidecode-1.2-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index bf3a8136..00000000 --- a/thirdparty/text_unidecode-1.2-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,3 +0,0 @@ -Copyright (c) Mikhail Korobov and Sean Burke - -This port is licensed under Artistic License and supports both Python 2.x and 3.x. If you're OK with GPL, use unidecode (it has better memory usage and better transliteration quality). \ No newline at end of file diff --git a/thirdparty/toml-0.10.0-py2.py3-none-any.whl b/thirdparty/toml-0.10.0-py2.py3-none-any.whl deleted file mode 100644 index bcfb2c68..00000000 Binary files a/thirdparty/toml-0.10.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/toml-0.10.0-py2.py3-none-any.whl.ABOUT b/thirdparty/toml-0.10.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 043d787f..00000000 --- a/thirdparty/toml-0.10.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -about_resource: toml-0.10.0-py2.py3-none-any.whl -checksum_md5: 70f2a3ce1fc099c20702b55f44f0b130 -checksum_sha1: 5a6d4ad5089719e4f567997a24da13204db2eb28 -contact: uiri@xqz.ca -copyright: Copyright 2013-2018 William Pearson -description: Python Library for Tom's Obvious, Minimal Language -download_url: https://files.pythonhosted.org/packages/b9/19/5cbd78eac8b1783671c40e34bb0fa83133a06d340a38b55c645076d40094/toml-0.10.0.tar.gz -homepage_url: https://github.com/uiri/toml -license_expression: mit -name: toml -notes: Used for parsing for TOML configuration files. -owner: Willam Pearson -owner_url: https://github.com/uiri -vcs_url: https://github.com/uiri/toml -version: 0.10.0 diff --git a/thirdparty/toml-0.10.0.tar.gz b/thirdparty/toml-0.10.0.tar.gz deleted file mode 100644 index c44def8b..00000000 Binary files a/thirdparty/toml-0.10.0.tar.gz and /dev/null differ diff --git a/thirdparty/toml.LICENSE b/thirdparty/toml.LICENSE deleted file mode 100644 index 32ff3596..00000000 --- a/thirdparty/toml.LICENSE +++ /dev/null @@ -1,26 +0,0 @@ -The MIT License - -Copyright 2013-2018 William Pearson -Copyright 2015-2016 Julien Enselme -Copyright 2016 Google Inc. -Copyright 2017 Samuel Vasko -Copyright 2017 Nate Prewitt -Copyright 2017 Jack Evans - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/thirdparty/typecode_libmagic-5.22.1-py2.py3-none-manylinux1_x86_64.whl b/thirdparty/typecode_libmagic-5.22.1-py2.py3-none-manylinux1_x86_64.whl deleted file mode 100644 index 22dae62f..00000000 Binary files a/thirdparty/typecode_libmagic-5.22.1-py2.py3-none-manylinux1_x86_64.whl and /dev/null differ diff --git a/thirdparty/typecode_libmagic-5.22.1-py2.py3-none-win32.whl b/thirdparty/typecode_libmagic-5.22.1-py2.py3-none-win32.whl deleted file mode 100644 index a9aa0d2e..00000000 Binary files a/thirdparty/typecode_libmagic-5.22.1-py2.py3-none-win32.whl and /dev/null differ diff --git a/thirdparty/typecode_libmagic-5.22.1-py2.py3-none-win_amd64.whl b/thirdparty/typecode_libmagic-5.22.1-py2.py3-none-win_amd64.whl deleted file mode 100644 index 4030c4e2..00000000 Binary files a/thirdparty/typecode_libmagic-5.22.1-py2.py3-none-win_amd64.whl and /dev/null differ diff --git a/thirdparty/typecode_libmagic-5.23.1-py2.py3-none-macosx_10_9_intel.whl b/thirdparty/typecode_libmagic-5.23.1-py2.py3-none-macosx_10_9_intel.whl deleted file mode 100644 index 8aedc52e..00000000 Binary files a/thirdparty/typecode_libmagic-5.23.1-py2.py3-none-macosx_10_9_intel.whl and /dev/null differ diff --git a/thirdparty/typing-3.6.4-py2-none-any.whl b/thirdparty/typing-3.6.4-py2-none-any.whl deleted file mode 100644 index 044f4883..00000000 Binary files a/thirdparty/typing-3.6.4-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/typing-3.6.4-py2-none-any.whl.ABOUT b/thirdparty/typing-3.6.4-py2-none-any.whl.ABOUT deleted file mode 100644 index b84b773b..00000000 --- a/thirdparty/typing-3.6.4-py2-none-any.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: typing-3.6.4-py2-none-any.whl -version: 3.6.4 -name: typing -download_url: https://files.pythonhosted.org/packages/0d/4d/4e5985d075d241d686a1663fa1f88b61d544658d08c1375c7c6aac32afc3/typing-3.6.4-py2-none-any.whl -homepage_url: https://github.com/python/typing -notes: This is a backport of the standard library typing module to Python versions older than - 3.5 -license_expression: python -copyright: Copyright (c) Python Software Foundation -attribute: yes -track_changes: yes -checksum_md5: 30a146b20951154b6f4435a233fe38f8 -checksum_sha1: 98861c53044fa6cc8625b567bb812d39aed08896 -package_url: pkg:pypi/typing@3.6.4 -licenses: - - key: python - name: Python Software Foundation License v2 - file: python.LICENSE diff --git a/thirdparty/typing-3.6.4-py3-none-any.whl b/thirdparty/typing-3.6.4-py3-none-any.whl deleted file mode 100644 index b68e877b..00000000 Binary files a/thirdparty/typing-3.6.4-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/typing-3.6.4-py3-none-any.whl.ABOUT b/thirdparty/typing-3.6.4-py3-none-any.whl.ABOUT deleted file mode 100644 index 2798c0e4..00000000 --- a/thirdparty/typing-3.6.4-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: typing-3.6.4-py3-none-any.whl -version: 3.6.4 -name: typing -download_url: https://files.pythonhosted.org/packages/05/2b/2b05bf1d5a9dd450447c9a5df3e118a465e5d3cb12b73b7220a5064a403f/typing-3.6.4-py3-none-any.whl -homepage_url: https://github.com/python/typing -notes: This is a backport of the standard library typing module to Python versions older than - 3.5 -license_expression: python -copyright: Copyright (c) Python Software Foundation -attribute: yes -track_changes: yes -checksum_md5: 85a16dd012aaa4f0c6943683c8878dee -checksum_sha1: 115a21ab46f0c7f4942aa6dda8a1e25857e51087 -package_url: pkg:pypi/typing@3.6.4 -licenses: - - key: python - name: Python Software Foundation License v2 - file: python.LICENSE diff --git a/thirdparty/unicode-data-software.LICENSE b/thirdparty/unicode-data-software.LICENSE deleted file mode 100644 index 82d29855..00000000 --- a/thirdparty/unicode-data-software.LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -Distributed under the Terms of Use in http://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -the Unicode data files and any associated documentation (the "Data Files") or -Unicode software and any associated documentation (the "Software") to deal in -the Data Files or Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files or -Software are furnished to do so, provided that (a) the above copyright notice(s) -and this permission notice appear with all copies of the Data Files or Software, -(b) both the above copyright notice(s) and this permission notice appear in -associated documentation, and (c) there is clear notice in each modified Data -File or in the Software as well as in the documentation associated with the Data -File(s) or Software that the data or software has been modified. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD -PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR -SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall not be -used in advertising or otherwise to promote the sale, use or other dealings in -these Data Files or Software without prior written authorization of the -copyright holder. - -Unicode and the Unicode logo are trademarks of Unicode, Inc. in the United -States and other countries. All third party trademarks referenced herein are the -property of their respective owners. diff --git a/thirdparty/unicode.LICENSE b/thirdparty/unicode.LICENSE deleted file mode 100644 index 6d0fbca5..00000000 --- a/thirdparty/unicode.LICENSE +++ /dev/null @@ -1,17 +0,0 @@ -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE - - Unicode Data Files include all data files under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/ . Unicode Software includes any source code published in the Unicode Standard or under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/. - - NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE. - - COPYRIGHT AND PERMISSION NOTICE - - Copyright © 1991-2009 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. - - Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that (a) the above copyright notice(s) and this permission notice appear with all copies of the Data Files or Software, (b) both the above copyright notice(s) and this permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified. - - THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. - - Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. - - Unicode and the Unicode logo are trademarks of Unicode, Inc., and may be registered in some jurisdictions. All other trademarks and registered trademarks mentioned herein are the property of their respective owners. diff --git a/thirdparty/unicodecsv-0.14.1-cp36-none-any.whl b/thirdparty/unicodecsv-0.14.1-cp36-none-any.whl deleted file mode 100644 index 764c3266..00000000 Binary files a/thirdparty/unicodecsv-0.14.1-cp36-none-any.whl and /dev/null differ diff --git a/thirdparty/unicodecsv-0.14.1-py2-none-any.whl b/thirdparty/unicodecsv-0.14.1-py2-none-any.whl deleted file mode 100644 index 89193ea5..00000000 Binary files a/thirdparty/unicodecsv-0.14.1-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/unicodecsv.ABOUT b/thirdparty/unicodecsv.ABOUT deleted file mode 100644 index 9f6d1399..00000000 --- a/thirdparty/unicodecsv.ABOUT +++ /dev/null @@ -1,11 +0,0 @@ -about_resource: unicodecsv-0.14.1-py2-none-any.whl -version: 0.14.1 -download_url: https://pypi.python.org/packages/source/u/unicodecsv/unicodecsv-0.14.1.tar.gz#md5=c18ffe8ded29a4f429224877b2b34252 -name: unicodecsv -home_url: https://github.com/jdunck/python-unicodecsv -owner: Jeremy Dunck - -license_expression: bsd-new -license_file: unicodecsv.LICENSE - -vcs_url: git+https://github.com/jdunck/python-unicodecsv.git diff --git a/thirdparty/unicodecsv.LICENSE b/thirdparty/unicodecsv.LICENSE deleted file mode 100644 index 6d004c77..00000000 --- a/thirdparty/unicodecsv.LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -Copyright 2010 Jeremy Dunck. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are -permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this list of - conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, this list - of conditions and the following disclaimer in the documentation and/or other materials - provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY JEREMY DUNCK ``AS IS'' AND ANY EXPRESS OR IMPLIED -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JEREMY DUNCK OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The views and conclusions contained in the software and documentation are those of the -authors and should not be interpreted as representing official policies, either expressed -or implied, of Jeremy Dunck. diff --git a/thirdparty/url-0.1.4.5-py2-none-any.whl b/thirdparty/url-0.1.4.5-py2-none-any.whl deleted file mode 100644 index 1f405282..00000000 Binary files a/thirdparty/url-0.1.4.5-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/url-0.1.4.5-py3-none-any.whl b/thirdparty/url-0.1.4.5-py3-none-any.whl deleted file mode 100644 index e4e0e87e..00000000 Binary files a/thirdparty/url-0.1.4.5-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/url.ABOUT b/thirdparty/url.ABOUT deleted file mode 100644 index 1ec8c167..00000000 --- a/thirdparty/url.ABOUT +++ /dev/null @@ -1,13 +0,0 @@ -about_resource: url-0.1.4.5-py2-none-any.whl -name: url -version: 0.1.4.5 - -download_url: https://github.com/nexB/url-py/archive/v0.1.4.5.tar.gz - -home_url: https://github.com/seomoz/url-py/ -vcs_url: git+https://github.com/seomoz/url-py.git - -owner: SEOmoz, Inc. -license_expression: mit -license_file: url.LICENSE -notes: locally patched to use publixsuffix2 instead \ No newline at end of file diff --git a/thirdparty/url.LICENSE b/thirdparty/url.LICENSE deleted file mode 100644 index 016ca824..00000000 --- a/thirdparty/url.LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (c) 2012-2013 SEOmoz, Inc. -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/thirdparty/urllib3-1.22-py2.py3-none-any.whl b/thirdparty/urllib3-1.22-py2.py3-none-any.whl deleted file mode 100644 index d4464993..00000000 Binary files a/thirdparty/urllib3-1.22-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/urllib3-1.22-py2.py3-none-any.whl.ABOUT b/thirdparty/urllib3-1.22-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 5d45bec9..00000000 --- a/thirdparty/urllib3-1.22-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,20 +0,0 @@ -about_resource: urllib3-1.22-py2.py3-none-any.whl -checksum_md5: 1c11e1c80371cc4e89911071010a98d1 -checksum_sha1: ae6715ae61c34b72d5e0c3241abfb20c2c4d1313 -copyright: Copyright 2008-2016 Andrey Petrov and contributors -description: "urllib3 is a powerful, sanity-friendly HTTP client for Python. Much\ - \ of the Python ecosystem already uses urllib3 and you should too. urllib3 brings\ - \ many critical features that are missing from the Python standard libraries:\r\n\ - \ Thread safety.\r\n Connection pooling.\r\n Client-side SSL/TLS verification.\r\ - \n File uploads with multipart encoding.\r\n Helpers for retrying requests\ - \ and dealing with HTTP redirects.\r\n Support for gzip and deflate encoding.\r\ - \n Proxy support for HTTP and SOCKS.\r\n 100% test coverage." -download_url: https://pypi.python.org/packages/63/cb/6965947c13a94236f6d4b8223e21beb4d576dc72e8130bd7880f600839b8/urllib3-1.22-py2.py3-none-any.whl#md5=1c11e1c80371cc4e89911071010a98d1 -homepage_url: https://github.com/shazow/urllib3 -license_expression: mit -name: urllib3 -notice_file: urllib3.LICENSE -notice_url: https://github.com/shazow/urllib3/blob/master/LICENSE.txt -owner: Andrey Petrov -vcs_url: https://github.com/shazow/urllib3.git -version: '1.22' diff --git a/thirdparty/urllib3.LICENSE b/thirdparty/urllib3.LICENSE deleted file mode 100644 index 1c3283ee..00000000 --- a/thirdparty/urllib3.LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -This is the MIT license: http://www.opensource.org/licenses/mit-license.php - -Copyright 2008-2016 Andrey Petrov and contributors (see CONTRIBUTORS.txt) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this -software and associated documentation files (the "Software"), to deal in the Software -without restriction, including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or -substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE -FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/thirdparty/virtualenv-16.0.0-py2.py3-none-any.whl b/thirdparty/virtualenv-16.0.0-py2.py3-none-any.whl deleted file mode 100644 index 1a906569..00000000 Binary files a/thirdparty/virtualenv-16.0.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/virtualenv-16.0.0-py2.py3-none-any.whl.ABOUT b/thirdparty/virtualenv-16.0.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 791f3f4d..00000000 --- a/thirdparty/virtualenv-16.0.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: virtualenv-16.0.0-py2.py3-none-any.whl -attribute: true -checksum_md5: d9ea4de7dc7830a8deec1a9f59de0a8a -checksum_sha1: dc15dc5965f4ecff4f8a5cbdc7fa3af38d2f03a9 -copyright: "Copyright (c) 2007 Ian Bicking and Contributors\r\nCopyright (c) 2009\ - \ Ian Bicking, The Open Planning Project\r\nCopyright (c) The virtualenv developers" -description: virtualenv is a tool to create isolated Python environments. -download_url: https://files.pythonhosted.org/packages/b6/30/96a02b2287098b23b875bc8c2f58071c35d2efe84f747b64d523721dc2b5/virtualenv-16.0.0-py2.py3-none-any.whl -homepage_url: http://virtualenv.org/ -license_expression: mit -licenses: -- file: mit.LICENSE - key: mit - name: MIT License -name: virtualenv -notice_file: virtualenv-16.0.0-py2.py3-none-any.whl.NOTICE -owner: The virtualenv developers -owner_url: http://www.virtualenv.org/en/latest/ -version: 16.0.0 diff --git a/thirdparty/virtualenv-16.0.0-py2.py3-none-any.whl.NOTICE b/thirdparty/virtualenv-16.0.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 08dd0f29..00000000 --- a/thirdparty/virtualenv-16.0.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2007 Ian Bicking and Contributors -Copyright (c) 2009 Ian Bicking, The Open Planning Project -Copyright (c) 2011-2016 The virtualenv developers - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/virtualenv.py b/thirdparty/virtualenv.py deleted file mode 100644 index cbf41de2..00000000 --- a/thirdparty/virtualenv.py +++ /dev/null @@ -1,2347 +0,0 @@ -#!/usr/bin/env python -"""Create a "virtual" Python installation""" - -import os -import sys - -# If we are running in a new interpreter to create a virtualenv, -# we do NOT want paths from our existing location interfering with anything, -# So we remove this file's directory from sys.path - most likely to be -# the previous interpreter's site-packages. Solves #705, #763, #779 -if os.environ.get('VIRTUALENV_INTERPRETER_RUNNING'): - for path in sys.path[:]: - if os.path.realpath(os.path.dirname(__file__)) == os.path.realpath(path): - sys.path.remove(path) - -import base64 -import codecs -import optparse -import re -import shutil -import logging -import zlib -import errno -import glob -import distutils.spawn -import distutils.sysconfig -import struct -import subprocess -import pkgutil -import tempfile -import textwrap -from distutils.util import strtobool -from os.path import join - -try: - import ConfigParser -except ImportError: - import configparser as ConfigParser - -__version__ = "16.0.0" -virtualenv_version = __version__ # legacy - -if sys.version_info < (2, 7): - print('ERROR: %s' % sys.exc_info()[1]) - print('ERROR: this script requires Python 2.7 or greater.') - sys.exit(101) - -try: - basestring -except NameError: - basestring = str - -py_version = 'python%s.%s' % (sys.version_info[0], sys.version_info[1]) - -is_jython = sys.platform.startswith('java') -is_pypy = hasattr(sys, 'pypy_version_info') -is_win = (sys.platform == 'win32') -is_cygwin = (sys.platform == 'cygwin') -is_darwin = (sys.platform == 'darwin') -abiflags = getattr(sys, 'abiflags', '') - -user_dir = os.path.expanduser('~') -if is_win: - default_storage_dir = os.path.join(user_dir, 'virtualenv') -else: - default_storage_dir = os.path.join(user_dir, '.virtualenv') -default_config_file = os.path.join(default_storage_dir, 'virtualenv.ini') - -if is_pypy: - expected_exe = 'pypy' -elif is_jython: - expected_exe = 'jython' -else: - expected_exe = 'python' - -# Return a mapping of version -> Python executable -# Only provided for Windows, where the information in the registry is used -if not is_win: - def get_installed_pythons(): - return {} -else: - try: - import winreg - except ImportError: - import _winreg as winreg - - def get_installed_pythons(): - try: - python_core = winreg.CreateKey(winreg.HKEY_LOCAL_MACHINE, - "Software\\Python\\PythonCore") - except WindowsError: - # No registered Python installations - return {} - i = 0 - versions = [] - while True: - try: - versions.append(winreg.EnumKey(python_core, i)) - i = i + 1 - except WindowsError: - break - exes = dict() - for ver in versions: - try: - path = winreg.QueryValue(python_core, "%s\\InstallPath" % ver) - except WindowsError: - continue - exes[ver] = join(path, "python.exe") - - winreg.CloseKey(python_core) - - # Add the major versions - # Sort the keys, then repeatedly update the major version entry - # Last executable (i.e., highest version) wins with this approach - for ver in sorted(exes): - exes[ver[0]] = exes[ver] - - return exes - -REQUIRED_MODULES = ['os', 'posix', 'posixpath', 'nt', 'ntpath', 'genericpath', - 'fnmatch', 'locale', 'encodings', 'codecs', - 'stat', 'UserDict', 'readline', 'copy_reg', 'types', - 're', 'sre', 'sre_parse', 'sre_constants', 'sre_compile', - 'zlib'] - -REQUIRED_FILES = ['lib-dynload', 'config'] - -majver, minver = sys.version_info[:2] -if majver == 2: - if minver >= 6: - REQUIRED_MODULES.extend(['warnings', 'linecache', '_abcoll', 'abc']) - if minver >= 7: - REQUIRED_MODULES.extend(['_weakrefset']) -elif majver == 3: - # Some extra modules are needed for Python 3, but different ones - # for different versions. - REQUIRED_MODULES.extend([ - '_abcoll', 'warnings', 'linecache', 'abc', 'io', '_weakrefset', - 'copyreg', 'tempfile', 'random', '__future__', 'collections', - 'keyword', 'tarfile', 'shutil', 'struct', 'copy', 'tokenize', - 'token', 'functools', 'heapq', 'bisect', 'weakref', 'reprlib' - ]) - if minver >= 2: - REQUIRED_FILES[-1] = 'config-%s' % majver - if minver >= 3: - import sysconfig - platdir = sysconfig.get_config_var('PLATDIR') - REQUIRED_FILES.append(platdir) - REQUIRED_MODULES.extend([ - 'base64', '_dummy_thread', 'hashlib', 'hmac', - 'imp', 'importlib', 'rlcompleter' - ]) - if minver >= 4: - REQUIRED_MODULES.extend([ - 'operator', - '_collections_abc', - '_bootlocale', - ]) - if minver >= 6: - REQUIRED_MODULES.extend(['enum']) - -if is_pypy: - # these are needed to correctly display the exceptions that may happen - # during the bootstrap - REQUIRED_MODULES.extend(['traceback', 'linecache']) - - if majver == 3: - # _functools is needed to import locale during stdio initialization and - # needs to be copied on PyPy because it's not built in - REQUIRED_MODULES.append('_functools') - - -class Logger(object): - - """ - Logging object for use in command-line script. Allows ranges of - levels, to avoid some redundancy of displayed information. - """ - - DEBUG = logging.DEBUG - INFO = logging.INFO - NOTIFY = (logging.INFO+logging.WARN)/2 - WARN = WARNING = logging.WARN - ERROR = logging.ERROR - FATAL = logging.FATAL - - LEVELS = [DEBUG, INFO, NOTIFY, WARN, ERROR, FATAL] - - def __init__(self, consumers): - self.consumers = consumers - self.indent = 0 - self.in_progress = None - self.in_progress_hanging = False - - def debug(self, msg, *args, **kw): - self.log(self.DEBUG, msg, *args, **kw) - - def info(self, msg, *args, **kw): - self.log(self.INFO, msg, *args, **kw) - - def notify(self, msg, *args, **kw): - self.log(self.NOTIFY, msg, *args, **kw) - - def warn(self, msg, *args, **kw): - self.log(self.WARN, msg, *args, **kw) - - def error(self, msg, *args, **kw): - self.log(self.ERROR, msg, *args, **kw) - - def fatal(self, msg, *args, **kw): - self.log(self.FATAL, msg, *args, **kw) - - def log(self, level, msg, *args, **kw): - if args: - if kw: - raise TypeError( - "You may give positional or keyword arguments, not both") - args = args or kw - rendered = None - for consumer_level, consumer in self.consumers: - if self.level_matches(level, consumer_level): - if (self.in_progress_hanging - and consumer in (sys.stdout, sys.stderr)): - self.in_progress_hanging = False - sys.stdout.write('\n') - sys.stdout.flush() - if rendered is None: - if args: - rendered = msg % args - else: - rendered = msg - rendered = ' '*self.indent + rendered - if hasattr(consumer, 'write'): - consumer.write(rendered+'\n') - else: - consumer(rendered) - - def start_progress(self, msg): - assert not self.in_progress, ( - "Tried to start_progress(%r) while in_progress %r" - % (msg, self.in_progress)) - if self.level_matches(self.NOTIFY, self._stdout_level()): - sys.stdout.write(msg) - sys.stdout.flush() - self.in_progress_hanging = True - else: - self.in_progress_hanging = False - self.in_progress = msg - - def end_progress(self, msg='done.'): - assert self.in_progress, ( - "Tried to end_progress without start_progress") - if self.stdout_level_matches(self.NOTIFY): - if not self.in_progress_hanging: - # Some message has been printed out since start_progress - sys.stdout.write('...' + self.in_progress + msg + '\n') - sys.stdout.flush() - else: - sys.stdout.write(msg + '\n') - sys.stdout.flush() - self.in_progress = None - self.in_progress_hanging = False - - def show_progress(self): - """If we are in a progress scope, and no log messages have been - shown, write out another '.'""" - if self.in_progress_hanging: - sys.stdout.write('.') - sys.stdout.flush() - - def stdout_level_matches(self, level): - """Returns true if a message at this level will go to stdout""" - return self.level_matches(level, self._stdout_level()) - - def _stdout_level(self): - """Returns the level that stdout runs at""" - for level, consumer in self.consumers: - if consumer is sys.stdout: - return level - return self.FATAL - - def level_matches(self, level, consumer_level): - """ - >>> l = Logger([]) - >>> l.level_matches(3, 4) - False - >>> l.level_matches(3, 2) - True - >>> l.level_matches(slice(None, 3), 3) - False - >>> l.level_matches(slice(None, 3), 2) - True - >>> l.level_matches(slice(1, 3), 1) - True - >>> l.level_matches(slice(2, 3), 1) - False - """ - if isinstance(level, slice): - start, stop = level.start, level.stop - if start is not None and start > consumer_level: - return False - if stop is not None and stop <= consumer_level: - return False - return True - else: - return level >= consumer_level - - @classmethod - def level_for_integer(cls, level): - levels = cls.LEVELS - if level < 0: - return levels[0] - if level >= len(levels): - return levels[-1] - return levels[level] - -# create a silent logger just to prevent this from being undefined -# will be overridden with requested verbosity main() is called. -logger = Logger([(Logger.LEVELS[-1], sys.stdout)]) - -def mkdir(path): - if not os.path.exists(path): - logger.info('Creating %s', path) - os.makedirs(path) - else: - logger.info('Directory %s already exists', path) - -def copyfileordir(src, dest, symlink=True): - if os.path.isdir(src): - shutil.copytree(src, dest, symlink) - else: - shutil.copy2(src, dest) - -def copyfile(src, dest, symlink=True): - if not os.path.exists(src): - # Some bad symlink in the src - logger.warn('Cannot find file %s (bad symlink)', src) - return - if os.path.exists(dest): - logger.debug('File %s already exists', dest) - return - if not os.path.exists(os.path.dirname(dest)): - logger.info('Creating parent directories for %s', os.path.dirname(dest)) - os.makedirs(os.path.dirname(dest)) - if not os.path.islink(src): - srcpath = os.path.abspath(src) - else: - srcpath = os.readlink(src) - if symlink and hasattr(os, 'symlink') and not is_win: - logger.info('Symlinking %s', dest) - try: - os.symlink(srcpath, dest) - except (OSError, NotImplementedError): - logger.info('Symlinking failed, copying to %s', dest) - copyfileordir(src, dest, symlink) - else: - logger.info('Copying to %s', dest) - copyfileordir(src, dest, symlink) - -def writefile(dest, content, overwrite=True): - if not os.path.exists(dest): - logger.info('Writing %s', dest) - with open(dest, 'wb') as f: - f.write(content.encode('utf-8')) - return - else: - with open(dest, 'rb') as f: - c = f.read() - if c != content.encode("utf-8"): - if not overwrite: - logger.notify('File %s exists with different content; not overwriting', dest) - return - logger.notify('Overwriting %s with new content', dest) - with open(dest, 'wb') as f: - f.write(content.encode('utf-8')) - else: - logger.info('Content %s already in place', dest) - -def rmtree(dir): - if os.path.exists(dir): - logger.notify('Deleting tree %s', dir) - shutil.rmtree(dir) - else: - logger.info('Do not need to delete %s; already gone', dir) - -def make_exe(fn): - if hasattr(os, 'chmod'): - oldmode = os.stat(fn).st_mode & 0xFFF # 0o7777 - newmode = (oldmode | 0x16D) & 0xFFF # 0o555, 0o7777 - os.chmod(fn, newmode) - logger.info('Changed mode of %s to %s', fn, oct(newmode)) - -def _find_file(filename, dirs): - for dir in reversed(dirs): - files = glob.glob(os.path.join(dir, filename)) - if files and os.path.isfile(files[0]): - return True, files[0] - return False, filename - -def file_search_dirs(): - here = os.path.dirname(os.path.abspath(__file__)) - dirs = [here, join(here, 'virtualenv_support')] - if os.path.splitext(os.path.dirname(__file__))[0] != 'virtualenv': - # Probably some boot script; just in case virtualenv is installed... - try: - import virtualenv - except ImportError: - pass - else: - dirs.append(os.path.join( - os.path.dirname(virtualenv.__file__), 'virtualenv_support')) - return [d for d in dirs if os.path.isdir(d)] - - -class UpdatingDefaultsHelpFormatter(optparse.IndentedHelpFormatter): - """ - Custom help formatter for use in ConfigOptionParser that updates - the defaults before expanding them, allowing them to show up correctly - in the help listing - """ - def expand_default(self, option): - if self.parser is not None: - self.parser.update_defaults(self.parser.defaults) - return optparse.IndentedHelpFormatter.expand_default(self, option) - - -class ConfigOptionParser(optparse.OptionParser): - """ - Custom option parser which updates its defaults by checking the - configuration files and environmental variables - """ - def __init__(self, *args, **kwargs): - self.config = ConfigParser.RawConfigParser() - self.files = self.get_config_files() - self.config.read(self.files) - optparse.OptionParser.__init__(self, *args, **kwargs) - - def get_config_files(self): - config_file = os.environ.get('VIRTUALENV_CONFIG_FILE', False) - if config_file and os.path.exists(config_file): - return [config_file] - return [default_config_file] - - def update_defaults(self, defaults): - """ - Updates the given defaults with values from the config files and - the environ. Does a little special handling for certain types of - options (lists). - """ - # Then go and look for the other sources of configuration: - config = {} - # 1. config files - config.update(dict(self.get_config_section('virtualenv'))) - # 2. environmental variables - config.update(dict(self.get_environ_vars())) - # Then set the options with those values - for key, val in config.items(): - key = key.replace('_', '-') - if not key.startswith('--'): - key = '--%s' % key # only prefer long opts - option = self.get_option(key) - if option is not None: - # ignore empty values - if not val: - continue - # handle multiline configs - if option.action == 'append': - val = val.split() - else: - option.nargs = 1 - if option.action == 'store_false': - val = not strtobool(val) - elif option.action in ('store_true', 'count'): - val = strtobool(val) - try: - val = option.convert_value(key, val) - except optparse.OptionValueError: - e = sys.exc_info()[1] - print("An error occurred during configuration: %s" % e) - sys.exit(3) - defaults[option.dest] = val - return defaults - - def get_config_section(self, name): - """ - Get a section of a configuration - """ - if self.config.has_section(name): - return self.config.items(name) - return [] - - def get_environ_vars(self, prefix='VIRTUALENV_'): - """ - Returns a generator with all environmental vars with prefix VIRTUALENV - """ - for key, val in os.environ.items(): - if key.startswith(prefix): - yield (key.replace(prefix, '').lower(), val) - - def get_default_values(self): - """ - Overridding to make updating the defaults after instantiation of - the option parser possible, update_defaults() does the dirty work. - """ - if not self.process_default_values: - # Old, pre-Optik 1.5 behaviour. - return optparse.Values(self.defaults) - - defaults = self.update_defaults(self.defaults.copy()) # ours - for option in self._get_all_options(): - default = defaults.get(option.dest) - if isinstance(default, basestring): - opt_str = option.get_opt_string() - defaults[option.dest] = option.check_value(opt_str, default) - return optparse.Values(defaults) - - -def main(): - parser = ConfigOptionParser( - version=virtualenv_version, - usage="%prog [OPTIONS] DEST_DIR", - formatter=UpdatingDefaultsHelpFormatter()) - - parser.add_option( - '-v', '--verbose', - action='count', - dest='verbose', - default=0, - help="Increase verbosity.") - - parser.add_option( - '-q', '--quiet', - action='count', - dest='quiet', - default=0, - help='Decrease verbosity.') - - parser.add_option( - '-p', '--python', - dest='python', - metavar='PYTHON_EXE', - help='The Python interpreter to use, e.g., --python=python3.5 will use the python3.5 ' - 'interpreter to create the new environment. The default is the interpreter that ' - 'virtualenv was installed with (%s)' % sys.executable) - - parser.add_option( - '--clear', - dest='clear', - action='store_true', - help="Clear out the non-root install and start from scratch.") - - parser.set_defaults(system_site_packages=False) - parser.add_option( - '--no-site-packages', - dest='system_site_packages', - action='store_false', - help="DEPRECATED. Retained only for backward compatibility. " - "Not having access to global site-packages is now the default behavior.") - - parser.add_option( - '--system-site-packages', - dest='system_site_packages', - action='store_true', - help="Give the virtual environment access to the global site-packages.") - - parser.add_option( - '--always-copy', - dest='symlink', - action='store_false', - default=True, - help="Always copy files rather than symlinking.") - - parser.add_option( - '--relocatable', - dest='relocatable', - action='store_true', - help='Make an EXISTING virtualenv environment relocatable. ' - 'This fixes up scripts and makes all .pth files relative.') - - parser.add_option( - '--no-setuptools', - dest='no_setuptools', - action='store_true', - help='Do not install setuptools in the new virtualenv.') - - parser.add_option( - '--no-pip', - dest='no_pip', - action='store_true', - help='Do not install pip in the new virtualenv.') - - parser.add_option( - '--no-wheel', - dest='no_wheel', - action='store_true', - help='Do not install wheel in the new virtualenv.') - - default_search_dirs = file_search_dirs() - parser.add_option( - '--extra-search-dir', - dest="search_dirs", - action="append", - metavar='DIR', - default=default_search_dirs, - help="Directory to look for setuptools/pip distributions in. " - "This option can be used multiple times.") - - parser.add_option( - "--download", - dest="download", - default=True, - action="store_true", - help="Download preinstalled packages from PyPI.", - ) - - parser.add_option( - "--no-download", - '--never-download', - dest="download", - action="store_false", - help="Do not download preinstalled packages from PyPI.", - ) - - parser.add_option( - '--prompt', - dest='prompt', - help='Provides an alternative prompt prefix for this environment.') - - parser.add_option( - '--setuptools', - dest='setuptools', - action='store_true', - help="DEPRECATED. Retained only for backward compatibility. This option has no effect.") - - parser.add_option( - '--distribute', - dest='distribute', - action='store_true', - help="DEPRECATED. Retained only for backward compatibility. This option has no effect.") - - parser.add_option( - '--unzip-setuptools', - action='store_true', - help="DEPRECATED. Retained only for backward compatibility. This option has no effect.") - - if 'extend_parser' in globals(): - extend_parser(parser) - - options, args = parser.parse_args() - - global logger - - if 'adjust_options' in globals(): - adjust_options(options, args) - - verbosity = options.verbose - options.quiet - logger = Logger([(Logger.level_for_integer(2 - verbosity), sys.stdout)]) - - if options.python and not os.environ.get('VIRTUALENV_INTERPRETER_RUNNING'): - env = os.environ.copy() - interpreter = resolve_interpreter(options.python) - if interpreter == sys.executable: - logger.warn('Already using interpreter %s' % interpreter) - else: - logger.notify('Running virtualenv with interpreter %s' % interpreter) - env['VIRTUALENV_INTERPRETER_RUNNING'] = 'true' - file = __file__ - if file.endswith('.pyc'): - file = file[:-1] - popen = subprocess.Popen([interpreter, file] + sys.argv[1:], env=env) - raise SystemExit(popen.wait()) - - if not args: - print('You must provide a DEST_DIR') - parser.print_help() - sys.exit(2) - if len(args) > 1: - print('There must be only one argument: DEST_DIR (you gave %s)' % ( - ' '.join(args))) - parser.print_help() - sys.exit(2) - - home_dir = args[0] - - if os.path.exists(home_dir) and os.path.isfile(home_dir): - logger.fatal('ERROR: File already exists and is not a directory.') - logger.fatal('Please provide a different path or delete the file.') - sys.exit(3) - - if os.environ.get('WORKING_ENV'): - logger.fatal('ERROR: you cannot run virtualenv while in a workingenv') - logger.fatal('Please deactivate your workingenv, then re-run this script') - sys.exit(3) - - if 'PYTHONHOME' in os.environ: - logger.warn('PYTHONHOME is set. You *must* activate the virtualenv before using it') - del os.environ['PYTHONHOME'] - - if options.relocatable: - make_environment_relocatable(home_dir) - return - - create_environment(home_dir, - site_packages=options.system_site_packages, - clear=options.clear, - prompt=options.prompt, - search_dirs=options.search_dirs, - download=options.download, - no_setuptools=options.no_setuptools, - no_pip=options.no_pip, - no_wheel=options.no_wheel, - symlink=options.symlink) - if 'after_install' in globals(): - after_install(options, home_dir) - -def call_subprocess(cmd, show_stdout=True, - filter_stdout=None, cwd=None, - raise_on_returncode=True, extra_env=None, - remove_from_env=None, stdin=None): - cmd_parts = [] - for part in cmd: - if len(part) > 45: - part = part[:20]+"..."+part[-20:] - if ' ' in part or '\n' in part or '"' in part or "'" in part: - part = '"%s"' % part.replace('"', '\\"') - if hasattr(part, 'decode'): - try: - part = part.decode(sys.getdefaultencoding()) - except UnicodeDecodeError: - part = part.decode(sys.getfilesystemencoding()) - cmd_parts.append(part) - cmd_desc = ' '.join(cmd_parts) - if show_stdout: - stdout = None - else: - stdout = subprocess.PIPE - logger.debug("Running command %s" % cmd_desc) - if extra_env or remove_from_env: - env = os.environ.copy() - if extra_env: - env.update(extra_env) - if remove_from_env: - for varname in remove_from_env: - env.pop(varname, None) - else: - env = None - try: - proc = subprocess.Popen( - cmd, stderr=subprocess.STDOUT, - stdin=None if stdin is None else subprocess.PIPE, - stdout=stdout, - cwd=cwd, env=env) - except Exception: - e = sys.exc_info()[1] - logger.fatal( - "Error %s while executing command %s" % (e, cmd_desc)) - raise - all_output = [] - if stdout is not None: - if stdin is not None: - proc.stdin.write(stdin) - proc.stdin.close() - - stdout = proc.stdout - encoding = sys.getdefaultencoding() - fs_encoding = sys.getfilesystemencoding() - while 1: - line = stdout.readline() - try: - line = line.decode(encoding) - except UnicodeDecodeError: - line = line.decode(fs_encoding) - if not line: - break - line = line.rstrip() - all_output.append(line) - if filter_stdout: - level = filter_stdout(line) - if isinstance(level, tuple): - level, line = level - logger.log(level, line) - if not logger.stdout_level_matches(level): - logger.show_progress() - else: - logger.info(line) - else: - proc.communicate(stdin) - proc.wait() - if proc.returncode: - if raise_on_returncode: - if all_output: - logger.notify('Complete output from command %s:' % cmd_desc) - logger.notify('\n'.join(all_output) + '\n----------------------------------------') - raise OSError( - "Command %s failed with error code %s" - % (cmd_desc, proc.returncode)) - else: - logger.warn( - "Command %s had error code %s" - % (cmd_desc, proc.returncode)) - -def filter_install_output(line): - if line.strip().startswith('running'): - return Logger.INFO - return Logger.DEBUG - -def find_wheels(projects, search_dirs): - """Find wheels from which we can import PROJECTS. - - Scan through SEARCH_DIRS for a wheel for each PROJECT in turn. Return - a list of the first wheel found for each PROJECT - """ - - wheels = [] - - # Look through SEARCH_DIRS for the first suitable wheel. Don't bother - # about version checking here, as this is simply to get something we can - # then use to install the correct version. - for project in projects: - for dirname in search_dirs: - # This relies on only having "universal" wheels available. - # The pattern could be tightened to require -py2.py3-none-any.whl. - files = glob.glob(os.path.join(dirname, project + '-*.whl')) - if files: - wheels.append(os.path.abspath(files[0])) - break - else: - # We're out of luck, so quit with a suitable error - logger.fatal('Cannot find a wheel for %s' % (project,)) - - return wheels - -def install_wheel(project_names, py_executable, search_dirs=None, - download=False): - if search_dirs is None: - search_dirs = file_search_dirs() - - wheels = find_wheels(['setuptools', 'pip'], search_dirs) - pythonpath = os.pathsep.join(wheels) - - # PIP_FIND_LINKS uses space as the path separator and thus cannot have paths - # with spaces in them. Convert any of those to local file:// URL form. - try: - from urlparse import urljoin - from urllib import pathname2url - except ImportError: - from urllib.parse import urljoin - from urllib.request import pathname2url - def space_path2url(p): - if ' ' not in p: - return p - return urljoin('file:', pathname2url(os.path.abspath(p))) - findlinks = ' '.join(space_path2url(d) for d in search_dirs) - - SCRIPT = textwrap.dedent(""" - import sys - import pkgutil - import tempfile - import os - - try: - from pip._internal import main as _main - cert_data = pkgutil.get_data("pip._vendor.certifi", "cacert.pem") - except ImportError: - from pip import main as _main - cert_data = pkgutil.get_data("pip._vendor.requests", "cacert.pem") - - if cert_data is not None: - cert_file = tempfile.NamedTemporaryFile(delete=False) - cert_file.write(cert_data) - cert_file.close() - else: - cert_file = None - - try: - args = ["install", "--ignore-installed"] - if cert_file is not None: - args += ["--cert", cert_file.name] - args += sys.argv[1:] - - sys.exit(_main(args)) - finally: - if cert_file is not None: - os.remove(cert_file.name) - """).encode("utf8") - - cmd = [py_executable, '-'] + project_names - logger.start_progress('Installing %s...' % (', '.join(project_names))) - logger.indent += 2 - - env = { - "PYTHONPATH": pythonpath, - "JYTHONPATH": pythonpath, # for Jython < 3.x - "PIP_FIND_LINKS": findlinks, - "PIP_USE_WHEEL": "1", - "PIP_ONLY_BINARY": ":all:", - "PIP_USER": "0", - } - - if not download: - env["PIP_NO_INDEX"] = "1" - - try: - call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT) - finally: - logger.indent -= 2 - logger.end_progress() - - -def create_environment(home_dir, site_packages=False, clear=False, - prompt=None, search_dirs=None, download=False, - no_setuptools=False, no_pip=False, no_wheel=False, - symlink=True): - """ - Creates a new environment in ``home_dir``. - - If ``site_packages`` is true, then the global ``site-packages/`` - directory will be on the path. - - If ``clear`` is true (default False) then the environment will - first be cleared. - """ - home_dir, lib_dir, inc_dir, bin_dir = path_locations(home_dir) - - py_executable = os.path.abspath(install_python( - home_dir, lib_dir, inc_dir, bin_dir, - site_packages=site_packages, clear=clear, symlink=symlink)) - - install_distutils(home_dir) - - to_install = [] - - if not no_setuptools: - to_install.append('setuptools') - - if not no_pip: - to_install.append('pip') - - if not no_wheel: - to_install.append('wheel') - - if to_install: - install_wheel( - to_install, - py_executable, - search_dirs, - download=download, - ) - - install_activate(home_dir, bin_dir, prompt) - - install_python_config(home_dir, bin_dir, prompt) - -def is_executable_file(fpath): - return os.path.isfile(fpath) and os.access(fpath, os.X_OK) - -def path_locations(home_dir): - """Return the path locations for the environment (where libraries are, - where scripts go, etc)""" - home_dir = os.path.abspath(home_dir) - # XXX: We'd use distutils.sysconfig.get_python_inc/lib but its - # prefix arg is broken: http://bugs.python.org/issue3386 - if is_win: - # Windows has lots of problems with executables with spaces in - # the name; this function will remove them (using the ~1 - # format): - mkdir(home_dir) - if ' ' in home_dir: - import ctypes - GetShortPathName = ctypes.windll.kernel32.GetShortPathNameW - size = max(len(home_dir)+1, 256) - buf = ctypes.create_unicode_buffer(size) - try: - u = unicode - except NameError: - u = str - ret = GetShortPathName(u(home_dir), buf, size) - if not ret: - print('Error: the path "%s" has a space in it' % home_dir) - print('We could not determine the short pathname for it.') - print('Exiting.') - sys.exit(3) - home_dir = str(buf.value) - lib_dir = join(home_dir, 'Lib') - inc_dir = join(home_dir, 'Include') - bin_dir = join(home_dir, 'Scripts') - if is_jython: - lib_dir = join(home_dir, 'Lib') - inc_dir = join(home_dir, 'Include') - bin_dir = join(home_dir, 'bin') - elif is_pypy: - lib_dir = home_dir - inc_dir = join(home_dir, 'include') - bin_dir = join(home_dir, 'bin') - elif not is_win: - lib_dir = join(home_dir, 'lib', py_version) - inc_dir = join(home_dir, 'include', py_version + abiflags) - bin_dir = join(home_dir, 'bin') - return home_dir, lib_dir, inc_dir, bin_dir - - -def change_prefix(filename, dst_prefix): - prefixes = [sys.prefix] - - if is_darwin: - prefixes.extend(( - os.path.join("/Library/Python", sys.version[:3], "site-packages"), - os.path.join(sys.prefix, "Extras", "lib", "python"), - os.path.join("~", "Library", "Python", sys.version[:3], "site-packages"), - # Python 2.6 no-frameworks - os.path.join("~", ".local", "lib","python", sys.version[:3], "site-packages"), - # System Python 2.7 on OSX Mountain Lion - os.path.join("~", "Library", "Python", sys.version[:3], "lib", "python", "site-packages"))) - - if hasattr(sys, 'real_prefix'): - prefixes.append(sys.real_prefix) - if hasattr(sys, 'base_prefix'): - prefixes.append(sys.base_prefix) - prefixes = list(map(os.path.expanduser, prefixes)) - prefixes = list(map(os.path.abspath, prefixes)) - # Check longer prefixes first so we don't split in the middle of a filename - prefixes = sorted(prefixes, key=len, reverse=True) - filename = os.path.abspath(filename) - # On Windows, make sure drive letter is uppercase - if is_win and filename[0] in 'abcdefghijklmnopqrstuvwxyz': - filename = filename[0].upper() + filename[1:] - for i, prefix in enumerate(prefixes): - if is_win and prefix[0] in 'abcdefghijklmnopqrstuvwxyz': - prefixes[i] = prefix[0].upper() + prefix[1:] - for src_prefix in prefixes: - if filename.startswith(src_prefix): - _, relpath = filename.split(src_prefix, 1) - if src_prefix != os.sep: # sys.prefix == "/" - assert relpath[0] == os.sep - relpath = relpath[1:] - return join(dst_prefix, relpath) - assert False, "Filename %s does not start with any of these prefixes: %s" % \ - (filename, prefixes) - -def copy_required_modules(dst_prefix, symlink): - import imp - - for modname in REQUIRED_MODULES: - if modname in sys.builtin_module_names: - logger.info("Ignoring built-in bootstrap module: %s" % modname) - continue - try: - f, filename, _ = imp.find_module(modname) - except ImportError: - logger.info("Cannot import bootstrap module: %s" % modname) - else: - if f is not None: - f.close() - # special-case custom readline.so on OS X, but not for pypy: - if modname == 'readline' and sys.platform == 'darwin' and not ( - is_pypy or filename.endswith(join('lib-dynload', 'readline.so'))): - dst_filename = join(dst_prefix, 'lib', 'python%s' % sys.version[:3], 'readline.so') - elif modname == 'readline' and sys.platform == 'win32': - # special-case for Windows, where readline is not a - # standard module, though it may have been installed in - # site-packages by a third-party package - pass - else: - dst_filename = change_prefix(filename, dst_prefix) - copyfile(filename, dst_filename, symlink) - if filename.endswith('.pyc'): - pyfile = filename[:-1] - if os.path.exists(pyfile): - copyfile(pyfile, dst_filename[:-1], symlink) - -def copy_tcltk(src, dest, symlink): - """ copy tcl/tk libraries on Windows (issue #93) """ - for libversion in '8.5', '8.6': - for libname in 'tcl', 'tk': - srcdir = join(src, 'tcl', libname + libversion) - destdir = join(dest, 'tcl', libname + libversion) - # Only copy the dirs from the above combinations that exist - if os.path.exists(srcdir) and not os.path.exists(destdir): - copyfileordir(srcdir, destdir, symlink) - - -def subst_path(prefix_path, prefix, home_dir): - prefix_path = os.path.normpath(prefix_path) - prefix = os.path.normpath(prefix) - home_dir = os.path.normpath(home_dir) - if not prefix_path.startswith(prefix): - logger.warn('Path not in prefix %r %r', prefix_path, prefix) - return - return prefix_path.replace(prefix, home_dir, 1) - - -def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear, symlink=True): - """Install just the base environment, no distutils patches etc""" - if sys.executable.startswith(bin_dir): - print('Please use the *system* python to run this script') - return - - if clear: - rmtree(lib_dir) - ## FIXME: why not delete it? - ## Maybe it should delete everything with #!/path/to/venv/python in it - logger.notify('Not deleting %s', bin_dir) - - if hasattr(sys, 'real_prefix'): - logger.notify('Using real prefix %r' % sys.real_prefix) - prefix = sys.real_prefix - elif hasattr(sys, 'base_prefix'): - logger.notify('Using base prefix %r' % sys.base_prefix) - prefix = sys.base_prefix - else: - prefix = sys.prefix - mkdir(lib_dir) - fix_lib64(lib_dir, symlink) - stdlib_dirs = [os.path.dirname(os.__file__)] - if is_win: - stdlib_dirs.append(join(os.path.dirname(stdlib_dirs[0]), 'DLLs')) - elif is_darwin: - stdlib_dirs.append(join(stdlib_dirs[0], 'site-packages')) - if hasattr(os, 'symlink'): - logger.info('Symlinking Python bootstrap modules') - else: - logger.info('Copying Python bootstrap modules') - logger.indent += 2 - try: - # copy required files... - for stdlib_dir in stdlib_dirs: - if not os.path.isdir(stdlib_dir): - continue - for fn in os.listdir(stdlib_dir): - bn = os.path.splitext(fn)[0] - if fn != 'site-packages' and bn in REQUIRED_FILES: - copyfile(join(stdlib_dir, fn), join(lib_dir, fn), symlink) - # ...and modules - copy_required_modules(home_dir, symlink) - finally: - logger.indent -= 2 - # ...copy tcl/tk - if is_win: - copy_tcltk(prefix, home_dir, symlink) - mkdir(join(lib_dir, 'site-packages')) - import site - site_filename = site.__file__ - if site_filename.endswith('.pyc') or site_filename.endswith('.pyo'): - site_filename = site_filename[:-1] - elif site_filename.endswith('$py.class'): - site_filename = site_filename.replace('$py.class', '.py') - site_filename_dst = change_prefix(site_filename, home_dir) - site_dir = os.path.dirname(site_filename_dst) - writefile(site_filename_dst, SITE_PY) - writefile(join(site_dir, 'orig-prefix.txt'), prefix) - site_packages_filename = join(site_dir, 'no-global-site-packages.txt') - if not site_packages: - writefile(site_packages_filename, '') - - if is_pypy or is_win: - stdinc_dir = join(prefix, 'include') - else: - stdinc_dir = join(prefix, 'include', py_version + abiflags) - if os.path.exists(stdinc_dir): - copyfile(stdinc_dir, inc_dir, symlink) - else: - logger.debug('No include dir %s' % stdinc_dir) - - platinc_dir = distutils.sysconfig.get_python_inc(plat_specific=1) - if platinc_dir != stdinc_dir: - platinc_dest = distutils.sysconfig.get_python_inc( - plat_specific=1, prefix=home_dir) - if platinc_dir == platinc_dest: - # Do platinc_dest manually due to a CPython bug; - # not http://bugs.python.org/issue3386 but a close cousin - platinc_dest = subst_path(platinc_dir, prefix, home_dir) - if platinc_dest: - # PyPy's stdinc_dir and prefix are relative to the original binary - # (traversing virtualenvs), whereas the platinc_dir is relative to - # the inner virtualenv and ignores the prefix argument. - # This seems more evolved than designed. - copyfile(platinc_dir, platinc_dest, symlink) - - # pypy never uses exec_prefix, just ignore it - if sys.exec_prefix != prefix and not is_pypy: - if is_win: - exec_dir = join(sys.exec_prefix, 'lib') - elif is_jython: - exec_dir = join(sys.exec_prefix, 'Lib') - else: - exec_dir = join(sys.exec_prefix, 'lib', py_version) - for fn in os.listdir(exec_dir): - copyfile(join(exec_dir, fn), join(lib_dir, fn), symlink) - - if is_jython: - # Jython has either jython-dev.jar and javalib/ dir, or just - # jython.jar - for name in 'jython-dev.jar', 'javalib', 'jython.jar': - src = join(prefix, name) - if os.path.exists(src): - copyfile(src, join(home_dir, name), symlink) - # XXX: registry should always exist after Jython 2.5rc1 - src = join(prefix, 'registry') - if os.path.exists(src): - copyfile(src, join(home_dir, 'registry'), symlink=False) - copyfile(join(prefix, 'cachedir'), join(home_dir, 'cachedir'), - symlink=False) - - mkdir(bin_dir) - py_executable = join(bin_dir, os.path.basename(sys.executable)) - if 'Python.framework' in prefix: - # OS X framework builds cause validation to break - # https://github.com/pypa/virtualenv/issues/322 - if os.environ.get('__PYVENV_LAUNCHER__'): - del os.environ["__PYVENV_LAUNCHER__"] - if re.search(r'/Python(?:-32|-64)*$', py_executable): - # The name of the python executable is not quite what - # we want, rename it. - py_executable = os.path.join( - os.path.dirname(py_executable), 'python') - - logger.notify('New %s executable in %s', expected_exe, py_executable) - pcbuild_dir = os.path.dirname(sys.executable) - pyd_pth = os.path.join(lib_dir, 'site-packages', 'virtualenv_builddir_pyd.pth') - if is_win and os.path.exists(os.path.join(pcbuild_dir, 'build.bat')): - logger.notify('Detected python running from build directory %s', pcbuild_dir) - logger.notify('Writing .pth file linking to build directory for *.pyd files') - writefile(pyd_pth, pcbuild_dir) - else: - pcbuild_dir = None - if os.path.exists(pyd_pth): - logger.info('Deleting %s (not Windows env or not build directory python)' % pyd_pth) - os.unlink(pyd_pth) - - if sys.executable != py_executable: - ## FIXME: could I just hard link? - executable = sys.executable - shutil.copyfile(executable, py_executable) - make_exe(py_executable) - if is_win or is_cygwin: - pythonw = os.path.join(os.path.dirname(sys.executable), 'pythonw.exe') - if os.path.exists(pythonw): - logger.info('Also created pythonw.exe') - shutil.copyfile(pythonw, os.path.join(os.path.dirname(py_executable), 'pythonw.exe')) - python_d = os.path.join(os.path.dirname(sys.executable), 'python_d.exe') - python_d_dest = os.path.join(os.path.dirname(py_executable), 'python_d.exe') - if os.path.exists(python_d): - logger.info('Also created python_d.exe') - shutil.copyfile(python_d, python_d_dest) - elif os.path.exists(python_d_dest): - logger.info('Removed python_d.exe as it is no longer at the source') - os.unlink(python_d_dest) - - # we need to copy the DLL to enforce that windows will load the correct one. - # may not exist if we are cygwin. - if is_pypy: - py_executable_dlls = [ - ( - 'libpypy-c.dll', - 'libpypy_d-c.dll', - ), - ] - else: - py_executable_dlls = [ - ( - 'python%s.dll' % (sys.version_info[0]), - 'python%s_d.dll' % (sys.version_info[0]) - ), - ( - 'python%s%s.dll' % (sys.version_info[0], sys.version_info[1]), - 'python%s%s_d.dll' % (sys.version_info[0], sys.version_info[1]) - ) - ] - - for py_executable_dll, py_executable_dll_d in py_executable_dlls: - pythondll = os.path.join(os.path.dirname(sys.executable), py_executable_dll) - pythondll_d = os.path.join(os.path.dirname(sys.executable), py_executable_dll_d) - pythondll_d_dest = os.path.join(os.path.dirname(py_executable), py_executable_dll_d) - if os.path.exists(pythondll): - logger.info('Also created %s' % py_executable_dll) - shutil.copyfile(pythondll, os.path.join(os.path.dirname(py_executable), py_executable_dll)) - if os.path.exists(pythondll_d): - logger.info('Also created %s' % py_executable_dll_d) - shutil.copyfile(pythondll_d, pythondll_d_dest) - elif os.path.exists(pythondll_d_dest): - logger.info('Removed %s as the source does not exist' % pythondll_d_dest) - os.unlink(pythondll_d_dest) - if is_pypy: - # make a symlink python --> pypy-c - python_executable = os.path.join(os.path.dirname(py_executable), 'python') - if sys.platform in ('win32', 'cygwin'): - python_executable += '.exe' - logger.info('Also created executable %s' % python_executable) - copyfile(py_executable, python_executable, symlink) - - if is_win: - for name in ['libexpat.dll', - 'libeay32.dll', 'ssleay32.dll', 'sqlite3.dll', - 'tcl85.dll', 'tk85.dll']: - src = join(prefix, name) - if os.path.exists(src): - copyfile(src, join(bin_dir, name), symlink) - - for d in sys.path: - if d.endswith('lib_pypy'): - break - else: - logger.fatal('Could not find lib_pypy in sys.path') - raise SystemExit(3) - logger.info('Copying lib_pypy') - copyfile(d, os.path.join(home_dir, 'lib_pypy'), symlink) - - if os.path.splitext(os.path.basename(py_executable))[0] != expected_exe: - secondary_exe = os.path.join(os.path.dirname(py_executable), - expected_exe) - py_executable_ext = os.path.splitext(py_executable)[1] - if py_executable_ext.lower() == '.exe': - # python2.4 gives an extension of '.4' :P - secondary_exe += py_executable_ext - if os.path.exists(secondary_exe): - logger.warn('Not overwriting existing %s script %s (you must use %s)' - % (expected_exe, secondary_exe, py_executable)) - else: - logger.notify('Also creating executable in %s' % secondary_exe) - shutil.copyfile(sys.executable, secondary_exe) - make_exe(secondary_exe) - - if '.framework' in prefix: - if 'Python.framework' in prefix: - logger.debug('MacOSX Python framework detected') - # Make sure we use the embedded interpreter inside - # the framework, even if sys.executable points to - # the stub executable in ${sys.prefix}/bin - # See http://groups.google.com/group/python-virtualenv/ - # browse_thread/thread/17cab2f85da75951 - original_python = os.path.join( - prefix, 'Resources/Python.app/Contents/MacOS/Python') - if 'EPD' in prefix: - logger.debug('EPD framework detected') - original_python = os.path.join(prefix, 'bin/python') - shutil.copy(original_python, py_executable) - - # Copy the framework's dylib into the virtual - # environment - virtual_lib = os.path.join(home_dir, '.Python') - - if os.path.exists(virtual_lib): - os.unlink(virtual_lib) - copyfile( - os.path.join(prefix, 'Python'), - virtual_lib, - symlink) - - # And then change the install_name of the copied python executable - try: - mach_o_change(py_executable, - os.path.join(prefix, 'Python'), - '@executable_path/../.Python') - except: - e = sys.exc_info()[1] - logger.warn("Could not call mach_o_change: %s. " - "Trying to call install_name_tool instead." % e) - try: - call_subprocess( - ["install_name_tool", "-change", - os.path.join(prefix, 'Python'), - '@executable_path/../.Python', - py_executable]) - except: - logger.fatal("Could not call install_name_tool -- you must " - "have Apple's development tools installed") - raise - - if not is_win: - # Ensure that 'python', 'pythonX' and 'pythonX.Y' all exist - py_exe_version_major = 'python%s' % sys.version_info[0] - py_exe_version_major_minor = 'python%s.%s' % ( - sys.version_info[0], sys.version_info[1]) - py_exe_no_version = 'python' - required_symlinks = [ py_exe_no_version, py_exe_version_major, - py_exe_version_major_minor ] - - py_executable_base = os.path.basename(py_executable) - - if py_executable_base in required_symlinks: - # Don't try to symlink to yourself. - required_symlinks.remove(py_executable_base) - - for pth in required_symlinks: - full_pth = join(bin_dir, pth) - if os.path.exists(full_pth): - os.unlink(full_pth) - if symlink: - os.symlink(py_executable_base, full_pth) - else: - copyfile(py_executable, full_pth, symlink) - - cmd = [py_executable, '-c', 'import sys;out=sys.stdout;' - 'getattr(out, "buffer", out).write(sys.prefix.encode("utf-8"))'] - logger.info('Testing executable with %s %s "%s"' % tuple(cmd)) - try: - proc = subprocess.Popen(cmd, - stdout=subprocess.PIPE) - proc_stdout, proc_stderr = proc.communicate() - except OSError: - e = sys.exc_info()[1] - if e.errno == errno.EACCES: - logger.fatal('ERROR: The executable %s could not be run: %s' % (py_executable, e)) - sys.exit(100) - else: - raise e - - proc_stdout = proc_stdout.strip().decode("utf-8") - proc_stdout = os.path.normcase(os.path.abspath(proc_stdout)) - norm_home_dir = os.path.normcase(os.path.abspath(home_dir)) - if hasattr(norm_home_dir, 'decode'): - norm_home_dir = norm_home_dir.decode(sys.getfilesystemencoding()) - if proc_stdout != norm_home_dir: - logger.fatal( - 'ERROR: The executable %s is not functioning' % py_executable) - logger.fatal( - 'ERROR: It thinks sys.prefix is %r (should be %r)' - % (proc_stdout, norm_home_dir)) - logger.fatal( - 'ERROR: virtualenv is not compatible with this system or executable') - if is_win: - logger.fatal( - 'Note: some Windows users have reported this error when they ' - 'installed Python for "Only this user" or have multiple ' - 'versions of Python installed. Copying the appropriate ' - 'PythonXX.dll to the virtualenv Scripts/ directory may fix ' - 'this problem.') - sys.exit(100) - else: - logger.info('Got sys.prefix result: %r' % proc_stdout) - - pydistutils = os.path.expanduser('~/.pydistutils.cfg') - if os.path.exists(pydistutils): - logger.notify('Please make sure you remove any previous custom paths from ' - 'your %s file.' % pydistutils) - ## FIXME: really this should be calculated earlier - - fix_local_scheme(home_dir, symlink) - - if site_packages: - if os.path.exists(site_packages_filename): - logger.info('Deleting %s' % site_packages_filename) - os.unlink(site_packages_filename) - - return py_executable - - -def install_activate(home_dir, bin_dir, prompt=None): - if is_win or is_jython and os._name == 'nt': - files = { - 'activate.bat': ACTIVATE_BAT, - 'deactivate.bat': DEACTIVATE_BAT, - 'activate.ps1': ACTIVATE_PS, - } - - # MSYS needs paths of the form /c/path/to/file - drive, tail = os.path.splitdrive(home_dir.replace(os.sep, '/')) - home_dir_msys = (drive and "/%s%s" or "%s%s") % (drive[:1], tail) - - # Run-time conditional enables (basic) Cygwin compatibility - home_dir_sh = ("""$(if [ "$OSTYPE" "==" "cygwin" ]; then cygpath -u '%s'; else echo '%s'; fi;)""" % - (home_dir, home_dir_msys)) - files['activate'] = ACTIVATE_SH.replace('__VIRTUAL_ENV__', home_dir_sh) - - else: - files = {'activate': ACTIVATE_SH} - - # suppling activate.fish in addition to, not instead of, the - # bash script support. - files['activate.fish'] = ACTIVATE_FISH - - # same for csh/tcsh support... - files['activate.csh'] = ACTIVATE_CSH - - files['activate_this.py'] = ACTIVATE_THIS - - install_files(home_dir, bin_dir, prompt, files) - -def install_files(home_dir, bin_dir, prompt, files): - if hasattr(home_dir, 'decode'): - home_dir = home_dir.decode(sys.getfilesystemencoding()) - vname = os.path.basename(home_dir) - for name, content in files.items(): - content = content.replace('__VIRTUAL_PROMPT__', prompt or '') - content = content.replace('__VIRTUAL_WINPROMPT__', prompt or '(%s)' % vname) - content = content.replace('__VIRTUAL_ENV__', home_dir) - content = content.replace('__VIRTUAL_NAME__', vname) - content = content.replace('__BIN_NAME__', os.path.basename(bin_dir)) - writefile(os.path.join(bin_dir, name), content) - -def install_python_config(home_dir, bin_dir, prompt=None): - if sys.platform == 'win32' or is_jython and os._name == 'nt': - files = {} - else: - files = {'python-config': PYTHON_CONFIG} - install_files(home_dir, bin_dir, prompt, files) - for name, content in files.items(): - make_exe(os.path.join(bin_dir, name)) - -def install_distutils(home_dir): - distutils_path = change_prefix(distutils.__path__[0], home_dir) - mkdir(distutils_path) - ## FIXME: maybe this prefix setting should only be put in place if - ## there's a local distutils.cfg with a prefix setting? - home_dir = os.path.abspath(home_dir) - ## FIXME: this is breaking things, removing for now: - #distutils_cfg = DISTUTILS_CFG + "\n[install]\nprefix=%s\n" % home_dir - writefile(os.path.join(distutils_path, '__init__.py'), DISTUTILS_INIT) - writefile(os.path.join(distutils_path, 'distutils.cfg'), DISTUTILS_CFG, overwrite=False) - -def fix_local_scheme(home_dir, symlink=True): - """ - Platforms that use the "posix_local" install scheme (like Ubuntu with - Python 2.7) need to be given an additional "local" location, sigh. - """ - try: - import sysconfig - except ImportError: - pass - else: - if sysconfig._get_default_scheme() == 'posix_local': - local_path = os.path.join(home_dir, 'local') - if not os.path.exists(local_path): - os.mkdir(local_path) - for subdir_name in os.listdir(home_dir): - if subdir_name == 'local': - continue - copyfile(os.path.abspath(os.path.join(home_dir, subdir_name)), \ - os.path.join(local_path, subdir_name), symlink) - -def fix_lib64(lib_dir, symlink=True): - """ - Some platforms (particularly Gentoo on x64) put things in lib64/pythonX.Y - instead of lib/pythonX.Y. If this is such a platform we'll just create a - symlink so lib64 points to lib - """ - # PyPy's library path scheme is not affected by this. - # Return early or we will die on the following assert. - if is_pypy: - logger.debug('PyPy detected, skipping lib64 symlinking') - return - # Check we have a lib64 library path - if not [p for p in distutils.sysconfig.get_config_vars().values() - if isinstance(p, basestring) and 'lib64' in p]: - return - - logger.debug('This system uses lib64; symlinking lib64 to lib') - - assert os.path.basename(lib_dir) == 'python%s' % sys.version[:3], ( - "Unexpected python lib dir: %r" % lib_dir) - lib_parent = os.path.dirname(lib_dir) - top_level = os.path.dirname(lib_parent) - lib_dir = os.path.join(top_level, 'lib') - lib64_link = os.path.join(top_level, 'lib64') - assert os.path.basename(lib_parent) == 'lib', ( - "Unexpected parent dir: %r" % lib_parent) - if os.path.lexists(lib64_link): - return - if symlink: - os.symlink('lib', lib64_link) - else: - copyfile('lib', lib64_link) - -def resolve_interpreter(exe): - """ - If the executable given isn't an absolute path, search $PATH for the interpreter - """ - # If the "executable" is a version number, get the installed executable for - # that version - orig_exe = exe - python_versions = get_installed_pythons() - if exe in python_versions: - exe = python_versions[exe] - - if os.path.abspath(exe) != exe: - exe = distutils.spawn.find_executable(exe) or exe - if not os.path.exists(exe): - logger.fatal('The path %s (from --python=%s) does not exist' % (exe, orig_exe)) - raise SystemExit(3) - if not is_executable(exe): - logger.fatal('The path %s (from --python=%s) is not an executable file' % (exe, orig_exe)) - raise SystemExit(3) - return exe - -def is_executable(exe): - """Checks a file is executable""" - return os.path.isfile(exe) and os.access(exe, os.X_OK) - -############################################################ -## Relocating the environment: - -def make_environment_relocatable(home_dir): - """ - Makes the already-existing environment use relative paths, and takes out - the #!-based environment selection in scripts. - """ - home_dir, lib_dir, inc_dir, bin_dir = path_locations(home_dir) - activate_this = os.path.join(bin_dir, 'activate_this.py') - if not os.path.exists(activate_this): - logger.fatal( - 'The environment doesn\'t have a file %s -- please re-run virtualenv ' - 'on this environment to update it' % activate_this) - fixup_scripts(home_dir, bin_dir) - fixup_pth_and_egg_link(home_dir) - ## FIXME: need to fix up distutils.cfg - -OK_ABS_SCRIPTS = ['python', 'python%s' % sys.version[:3], - 'activate', 'activate.bat', 'activate_this.py', - 'activate.fish', 'activate.csh'] - -def fixup_scripts(home_dir, bin_dir): - if is_win: - new_shebang_args = ( - '%s /c' % os.path.normcase(os.environ.get('COMSPEC', 'cmd.exe')), - '', '.exe') - else: - new_shebang_args = ('/usr/bin/env', sys.version[:3], '') - - # This is what we expect at the top of scripts: - shebang = '#!%s' % os.path.normcase(os.path.join( - os.path.abspath(bin_dir), 'python%s' % new_shebang_args[2])) - # This is what we'll put: - new_shebang = '#!%s python%s%s' % new_shebang_args - - for filename in os.listdir(bin_dir): - filename = os.path.join(bin_dir, filename) - if not os.path.isfile(filename): - # ignore subdirs, e.g. .svn ones. - continue - lines = None - with open(filename, 'rb') as f: - try: - lines = f.read().decode('utf-8').splitlines() - except UnicodeDecodeError: - # This is probably a binary program instead - # of a script, so just ignore it. - continue - if not lines: - logger.warn('Script %s is an empty file' % filename) - continue - - old_shebang = lines[0].strip() - old_shebang = old_shebang[0:2] + os.path.normcase(old_shebang[2:]) - - if not old_shebang.startswith(shebang): - if os.path.basename(filename) in OK_ABS_SCRIPTS: - logger.debug('Cannot make script %s relative' % filename) - elif lines[0].strip() == new_shebang: - logger.info('Script %s has already been made relative' % filename) - else: - logger.warn('Script %s cannot be made relative (it\'s not a normal script that starts with %s)' - % (filename, shebang)) - continue - logger.notify('Making script %s relative' % filename) - script = relative_script([new_shebang] + lines[1:]) - with open(filename, 'wb') as f: - f.write('\n'.join(script).encode('utf-8')) - - -def relative_script(lines): - "Return a script that'll work in a relocatable environment." - activate = "import os; activate_this=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'activate_this.py'); exec(compile(open(activate_this).read(), activate_this, 'exec'), dict(__file__=activate_this)); del os, activate_this" - # Find the last future statement in the script. If we insert the activation - # line before a future statement, Python will raise a SyntaxError. - activate_at = None - for idx, line in reversed(list(enumerate(lines))): - if line.split()[:3] == ['from', '__future__', 'import']: - activate_at = idx + 1 - break - if activate_at is None: - # Activate after the shebang. - activate_at = 1 - return lines[:activate_at] + ['', activate, ''] + lines[activate_at:] - -def fixup_pth_and_egg_link(home_dir, sys_path=None): - """Makes .pth and .egg-link files use relative paths""" - home_dir = os.path.normcase(os.path.abspath(home_dir)) - if sys_path is None: - sys_path = sys.path - for path in sys_path: - if not path: - path = '.' - if not os.path.isdir(path): - continue - path = os.path.normcase(os.path.abspath(path)) - if not path.startswith(home_dir): - logger.debug('Skipping system (non-environment) directory %s' % path) - continue - for filename in os.listdir(path): - filename = os.path.join(path, filename) - if filename.endswith('.pth'): - if not os.access(filename, os.W_OK): - logger.warn('Cannot write .pth file %s, skipping' % filename) - else: - fixup_pth_file(filename) - if filename.endswith('.egg-link'): - if not os.access(filename, os.W_OK): - logger.warn('Cannot write .egg-link file %s, skipping' % filename) - else: - fixup_egg_link(filename) - -def fixup_pth_file(filename): - lines = [] - prev_lines = [] - with open(filename) as f: - prev_lines = f.readlines() - for line in prev_lines: - line = line.strip() - if (not line or line.startswith('#') or line.startswith('import ') - or os.path.abspath(line) != line): - lines.append(line) - else: - new_value = make_relative_path(filename, line) - if line != new_value: - logger.debug('Rewriting path %s as %s (in %s)' % (line, new_value, filename)) - lines.append(new_value) - if lines == prev_lines: - logger.info('No changes to .pth file %s' % filename) - return - logger.notify('Making paths in .pth file %s relative' % filename) - with open(filename, 'w') as f: - f.write('\n'.join(lines) + '\n') - -def fixup_egg_link(filename): - with open(filename) as f: - link = f.readline().strip() - if os.path.abspath(link) != link: - logger.debug('Link in %s already relative' % filename) - return - new_link = make_relative_path(filename, link) - logger.notify('Rewriting link %s in %s as %s' % (link, filename, new_link)) - with open(filename, 'w') as f: - f.write(new_link) - -def make_relative_path(source, dest, dest_is_directory=True): - """ - Make a filename relative, where the filename is dest, and it is - being referred to from the filename source. - - >>> make_relative_path('/usr/share/something/a-file.pth', - ... '/usr/share/another-place/src/Directory') - '../another-place/src/Directory' - >>> make_relative_path('/usr/share/something/a-file.pth', - ... '/home/user/src/Directory') - '../../../home/user/src/Directory' - >>> make_relative_path('/usr/share/a-file.pth', '/usr/share/') - './' - """ - source = os.path.dirname(source) - if not dest_is_directory: - dest_filename = os.path.basename(dest) - dest = os.path.dirname(dest) - dest = os.path.normpath(os.path.abspath(dest)) - source = os.path.normpath(os.path.abspath(source)) - dest_parts = dest.strip(os.path.sep).split(os.path.sep) - source_parts = source.strip(os.path.sep).split(os.path.sep) - while dest_parts and source_parts and dest_parts[0] == source_parts[0]: - dest_parts.pop(0) - source_parts.pop(0) - full_parts = ['..']*len(source_parts) + dest_parts - if not dest_is_directory: - full_parts.append(dest_filename) - if not full_parts: - # Special case for the current directory (otherwise it'd be '') - return './' - return os.path.sep.join(full_parts) - - - -############################################################ -## Bootstrap script creation: - -def create_bootstrap_script(extra_text, python_version=''): - """ - Creates a bootstrap script, which is like this script but with - extend_parser, adjust_options, and after_install hooks. - - This returns a string that (written to disk of course) can be used - as a bootstrap script with your own customizations. The script - will be the standard virtualenv.py script, with your extra text - added (your extra text should be Python code). - - If you include these functions, they will be called: - - ``extend_parser(optparse_parser)``: - You can add or remove options from the parser here. - - ``adjust_options(options, args)``: - You can change options here, or change the args (if you accept - different kinds of arguments, be sure you modify ``args`` so it is - only ``[DEST_DIR]``). - - ``after_install(options, home_dir)``: - - After everything is installed, this function is called. This - is probably the function you are most likely to use. An - example would be:: - - def after_install(options, home_dir): - subprocess.call([join(home_dir, 'bin', 'easy_install'), - 'MyPackage']) - subprocess.call([join(home_dir, 'bin', 'my-package-script'), - 'setup', home_dir]) - - This example immediately installs a package, and runs a setup - script from that package. - - If you provide something like ``python_version='2.5'`` then the - script will start with ``#!/usr/bin/env python2.5`` instead of - ``#!/usr/bin/env python``. You can use this when the script must - be run with a particular Python version. - """ - filename = __file__ - if filename.endswith('.pyc'): - filename = filename[:-1] - with codecs.open(filename, 'r', encoding='utf-8') as f: - content = f.read() - py_exe = 'python%s' % python_version - content = (('#!/usr/bin/env %s\n' % py_exe) - + '## WARNING: This file is generated\n' - + content) - return content.replace('##EXT' 'END##', extra_text) - -##EXTEND## - -def convert(s): - b = base64.b64decode(s.encode('ascii')) - return zlib.decompress(b).decode('utf-8') - -##file site.py -SITE_PY = convert(""" -eJzFPf1z2zaWv/OvwMqToZTKdOJ0e3tO3RsncVrfuYm3yc7m1vXoKAmyWFMkS5C2tTd3f/u9DwAE -+CHb2+6cphNLJPDw8PC+8PAeOhqNTopCZkuxyZd1KoWScblYiyKu1kqs8lJU66Rc7hdxWW3h6eIm -vpZKVLlQWxVhqygInv/GT/BcfF4nyqAA3+K6yjdxlSziNN2KZFPkZSWXYlmXSXYtkiypkjhN/g4t -8iwSz387BsFZJmDmaSJLcStLBXCVyFfiYlut80yM6wLn/DL6Y/xqMhVqUSZFBQ1KjTNQZB1XQSbl -EtCElrUCUiaV3FeFXCSrZGEb3uV1uhRFGi+k+K//4qlR0zAMVL6Rd2tZSpEBMgBTAqwC8YCvSSkW -+VJGQryRixgH4OcNsQKGNsU1U0jGLBdpnl3DnDK5kErF5VaM53VFgAhlscwBpwQwqJI0De7y8kZN -YElpPe7gkYiZPfzJMHvAPHH8LucAjh+z4C9Zcj9l2MA9CK5aM9uUcpXcixjBwk95Lxcz/WycrMQy -Wa2ABlk1wSYBI6BEmswPClqOb/UKfXdAWFmujGEMiShzY35JPaLgrBJxqoBt6wJppAjzd3KexBlQ -I7uF4QAikDToG2eZqMqOQ7MTOQAocR0rkJKNEuNNnGTArD/GC0L7r0m2zO/UhCgAq6XEL7Wq3PmP -ewgArR0CTANcLLOadZYmNzLdTgCBz4B9KVWdVigQy6SUiyovE6kIAKC2FfIekJ6KuJSahMyZRm6n -RH+iSZLhwqKAocDjSyTJKrmuS5IwsUqAc4Er3n/8Sbw7fXN28kHzmAHGMnu9AZwBCi20gxMMIA5q -VR6kOQh0FJzjHxEvlyhk1zg+4NU0OHhwpYMxzL2I2n2cBQey68XVw8AcK1AmNFZA/f4bukzVGujz -Pw+sdxCcDFGFJs7f7tY5yGQWb6RYx8xfyBnBtxrOd1FRrV8DNyiEUwGpFC4OIpggPCCJS7NxnklR -AIulSSYnAVBoTm39VQRW+JBn+7TWLU4ACGWQwUvn2YRGzCRMtAvrNeoL03hLM9NNArvOm7wkxQH8 -ny1IF6VxdkM4KmIo/jaX10mWIULIC0G4F9LA6iYBTlxG4pxakV4wjUTI2otbokjUwEvIdMCT8j7e -FKmcsviibt2tRmgwWQmz1ilzHLSsSL3SqjVT7eW9w+hLi+sIzWpdSgBezz2hW+X5VMxBZxM2Rbxh -8arucuKcoEeeqBPyBLWEvvgdKHqiVL2R9iXyCmgWYqhgladpfgckOwoCIfawkTHKPnPCW3gH/wJc -/DeV1WIdBM5IFrAGhcgPgUIgYBJkprlaI+Fxm2bltpJJMtYUebmUJQ31OGIfMOKPbIxzDT7klTZq -PF1c5XyTVKiS5tpkJmzxsrBi/fia5w3TAMutiGamaUOnDU4vLdbxXBqXZC5XKAl6kV7bZYcxg54x -yRZXYsNWBt4BWWTCFqRfsaDSWVWSnACAwcIXZ0lRp9RIIYOJGAbaFAR/E6NJz7WzBOzNZjlAhcTm -ewH2B3D7O4jR3ToB+iwAAmgY1FKwfPOkKtFBaPRR4Bt905/HB049W2nbxEOu4iTVVj7OgjN6eFqW -JL4LWWCvqSaGghlmFbp21xnQEcV8NBoFgXGHtsp8zVVQldsjYAVhxpnN5nWChm82Q1Ovf6iARxHO -wF43287CAw1hOn0AKjldVmW+wdd2bp9AmcBY2CPYExekZSQ7yB4nvkbyuSq9ME3RdjvsLFAPBRc/ -nb4/+3L6SRyLy0alTdv67ArGPM1iYGuyCMBUrWEbXQYtUfElqPvEezDvxBRgz6g3ia+Mqxp4F1D/ -XNb0Gqax8F4Gpx9O3pyfzv7y6fSn2aezz6eAINgZGezRlNE81uAwqgiEA7hyqSJtX4NOD3rw5uST -fRDMEjX75mtgN3gyvpYVMHE5hhlPRbiJ7xUwaDilphPEsdMALHg4mYjvxOHz568OCVqxLbYADMyu -0xQfzrRFnyXZKg8n1PgXdumPWUlp/+3y6OsrcXwswl/i2zgMwIdqmjJL/Eji9HlbSOhawZ9xriZB -sJQrEL0biQI6fk5+8YQ7wJJAy1zb6V/yJDPvmSvdIUh/jKkH4DCbLdJYKWw8m4VABOrQ84EOETvX -KHVj6Fhs3a4TjQp+SgkLm2GXKf7Tg2I8p36IBqPodjGNQFw3i1hJbkXTh36zGeqs2WysBwRhJokB -h4vVUChME9RZZQJ+LXEe6rC5ylP8ifBRC5AA4tYKtSQukt46RbdxWks1diYFRByPW2RERZso4kdw -UcZgiZulm0za1DQ8A82AfGkOWrRsUQ4/e+DvgLoymzjc6PHei2mGmP477zQIB3A5Q1T3SrWgsHYU -F6cX4tWLw310Z2DPubTU8ZqjhU6yWtqHK1gtIw+MMPcy8uLSZYV6Fp8e7Ya5iezKdFlhpZe4lJv8 -Vi4BW2RgZ5XFT/QGduYwj0UMqwh6nfwBVqHGb4xxH8qzB2lB3wGotyEoZv3N0u9xMEBmChQRb6yJ -1HrXz6awKPPbBJ2N+Va/BFsJyhItpnFsAmfhPCZDkwgaArzgDCl1J0NQh2XNDivhjSDRXiwbxRoR -uHPU1Ff09SbL77IZ74SPUemOJ5Z1UbA082KDZgn2xHuwQoBkDhu7hmgMBVx+gbK1D8jD9GG6QFna -WwAgMPSKtmsOLLPVoynyrhGHRRiT14KEt5ToL9yaIWirZYjhQKK3kX1gtARCgslZBWdVg2YylDXT -DAZ2SOJz3XnEW1AfQIuKEZjNsYbGjQz9Lo9AOYtzVyk5/dAif/nyhdlGrSm+gojNcdLoQqzIWEbF -FgxrAjrBeGQcrSE2uAPnFsDUSrOm2P8k8oK9MVjPCy3b4AfA7q6qiqODg7u7u0hHF/Ly+kCtDv74 -p2+++dML1onLJfEPTMeRFh1qiw7oHXq00bfGAn1nVq7Fj0nmcyPBGkvyysgVRfy+r5NlLo72J1Z/ -Ihc3Zhr/Na4MKJCZGZSpDLQdNRg9U/vPoldqJJ6RdbZtxxP2S7RJtVbMt7rQo8rBEwC/ZZHXaKob -TlDiK7BusENfynl9HdrBPRtpfsBUUU7Hlgf2X14hBj5nGL4ypniGWoLYAi2+Q/qfmG1i8o60hkDy -oonq7J63/VrMEHf5eHm3vqYjNGaGiULuQInwmzxaAG3jruTgR7u2aPcc19Z8PENgLH1gmFc7lmMU -HMIF12LqSp3D1ejxgjTdsWoGBeOqRlDQ4CTOmdoaHNnIEEGid2M2+7ywugXQqRU5NPEBswrQwh2n -Y+3arOB4QsgDx+IlPZHgIh913r3gpa3TlAI6LR71qMKAvYVGO50DX44NgKkYlX8ZcUuzTfnYWhRe -gx5gOceAkMFWHWbCN64PONob9bBTx+oP9WYa94HARRpzLOpR0AnlYx6hVCBNxdjvOcTilrjdwXZa -HGIqs0wk0mpAuNrKo1eodhqmVZKh7nUWKVqkOXjFVisSIzXvfWeB9kH4uM+YaQnUZGjI4TQ6Jm/P -E8BQt8Pw2XWNgQY3DoMYbRJF1g3JtIZ/wK2g+AYFo4CWBM2CeayU+RP7HWTOzld/GWAPS2hkCLfp -kBvSsRgajnm/J5CMOhoDUpABCbvCSK4jq4MUOMxZIE+44bUclG6CESmQM8eCkJoB3Omlt8HBJxGe -gJCEIuT7SslCfCVGsHxtUX2c7v5dudQEIcZOA3IVdPTi2I1sOFGN41aUw2doP75BZyVFDhw8B5fH -DfS7bG6Y1gZdwFn3FbdFCjQyxWFGExfVK0MYN5j8h2OnRUMsM4hhKG8g70jHjDQJ7HJr0LDgBoy3 -5u2x9GM3YoF9x2GuDuXmHvZ/YZmoRa5Cipm0YxfuR3NFlzYW2/NkPoI/3gKMJlceJJnq+AVGWf6B -QUIPetgH3ZsshkWWcXmXZCEpME2/Y39pOnhYUnpG7uATbacOYKIY8Tx4X4KA0NHnAYgTagLYlctQ -abe/C3bnFEcWLncfeW7z5dGrqy5xp0MRHvvpX6rT+6qMFa5WyovGQoGr1TXgqHRhcnG21YeX+nAb -twllrmAXKT5++iKQEBzXvYu3T5t6w/CIzYNz8j4GddBrD5KrNTtiF0AEtSIyykH4dI58PLJPndyO -iT0ByJMYZseiGEiaT/4ROLsWCsbYX24zjKO1VQZ+4PU3X896IqMukt98PXpglBYx+sR+3PIE7cic -VLBrtqWMU3I1nD4UVMwa1rFtignrc9r+aR676vE5NVo29t3fAj8GCobUJfgIL6YN2bpTxY/vTg3C -03ZqB7DObtV89mgRYG+fz3+BHbLSQbXbOEnpXAEmv7+PytVs7jle0a89PEg7FYxDgr79l7p8AdwQ -cjRh0p2OdsZOTMC5ZxdsPkWsuqjs6RyC5gjMywtwjz+HFU6ve+B7Bge/r7p8IiBvTqMeMmpbbIZ4 -wQclhz1K9gnzfvqMf9dZP27mw4L1/zHLF/+cST5hKgaaNh4+rH5iuXbXAHuEeRpwO3e4hd2h+axy -ZZw7VklKPEfd9VzcUboCxVbxpAigLNnv64GDUqoPvd/WZclH16QCC1nu43HsVGCmlvH8ek3Mnjj4 -ICvExDZbUKzayevJ+4Qv1NFnO5Ow2Tf0c+c6NzErmd0mJfQFhTsOf/j442nYb0IwjgudHm9FHu83 -INwnMG6oiRM+pQ9T6Cld/nH10d66+AQ1GQEmIqzJ1iVsJxBs4gj9a/BARMg7sOVjdtyhL9ZycTOT -lDqAbIpdnaD4W3yNmNiMAj//S8UrSmKDmSzSGmnFjjdmH67qbEHnI5UE/0qnCmPqECUEcPhvlcbX -Ykydlxh60txI0anbuNTeZ1HmmJwq6mR5cJ0shfy1jlPc1svVCnDBwyv9KuLhKQIl3nFOAyctKrmo -y6TaAglileuzP0p/cBrOtzzRsYckH/MwATEh4kh8wmnjeybc0pDLBAf8Ew+cJO67sYOTrBDRc3if -5TMcdUY5vlNGqnsuT4+D9gg5ABgBUJj/aKIjd/4bSa/cA0Zac5eoqCU9UrqRhpycMYQynmCkg3/T -T58RXd4awPJ6GMvr3Vhet7G87sXy2sfyejeWrkjgwtqglZGEvsBV+1ijN9/GjTnxMKfxYs3tMPcT -czwBoijMBtvIFKdAe5EtPt8jIKS2nQNnetjkzyScVFrmHALXIJH78RBLb+ZN8rrTmbJxdGeeinFn -h3KI/L4HUUSpYnPqzvK2jKs48uTiOs3nILYW3WkDYCra6UQcK81uZ3OO7rYs1ejiPz//8PEDNkdQ -I5PeQN1wEdGw4FTGz+PyWnWlqdn8FcCO1NJPxKFuGuDeIyNrPMoe//OOMjyQccQdZSjkogAPgLK6 -bDM39ykMW891kpR+zkzOh03HYpRVo2ZSA0Q6ubh4d/L5ZEQhv9H/jlyBMbT1pcPFx7SwDbr+m9vc -Uhz7gFDr2FZj/Nw5ebRuOOJhG2vAdjzf1oPDxxjs3jCBP8t/KqVgSYBQkQ7+PoVQj945/Kb9UIc+ -hhE7yX/uyRo7K/adI3uOi+KIft+xQ3sA/7AT9xgzIIB2ocZmZ9DslVtK35rXHRR1gD7S1/vNe832 -1qu9k/EpaifR4wA6lLXNht0/75yGjZ6S1ZvT788+nJ+9uTj5/IPjAqIr9/HTwaE4/fGLoPwQNGDs -E8WYGlFhJhIYFrfQSSxz+K/GyM+yrjhIDL3enZ/rk5oNlrpg7jPanAiecxqThcZBM45C24c6/wgx -SvUGyakponQdqjnC/dKG61lUrvOjqVRpjs5qrbdeulbM1JTRuXYE0geNXVIwCE4xg1eUxV6ZXWHJ -J4C6zqoHKW2jbWJISkHBTrqAc/5lTle8QCl1hidNZ63oL0MX1/AqUkWawE7udWhlSXfD9JiGcfRD -e8DNePVpQKc7jKwb8qwHsUCr9Trkuen+k4bRfq0Bw4bB3sG8M0npIZSBjcltIsRGfJITynv4apde -r4GCBcODvgoX0TBdArOPYXMt1glsIIAn12B9cZ8AEFor4R8IHDnRAZljdkb4drPc/3OoCeK3/vnn -nuZVme7/TRSwCxKcShT2ENNt/A42PpGMxOnH95OQkaPUXPHnGssDwCGhAKgj7ZS/xCfos7GS6Urn -l/j6AF9oP4Fet7qXsih1937XOEQJeKbG5DU8U4Z+IaZ7WdhTnMqkBRorHyxmWEHopiGYz574tJZp -qvPdz96dn4LviMUYKEF87nYKw3G8BI/QdfIdVzi2QOEBO7wukY1LdGEpyWIZec16g9YoctTby8uw -60SB4W6vThS4jBPloj3GaTMsU04QISvDWphlZdZutUEKu22I4igzzBKzi5ISWH2eAF6mpzFviWCv -hKUeJgLPp8hJVpmMxTRZgB4FlQsKdQpCgsTFekbivDzjGHheKlMGBQ+LbZlcrys83YDOEZVgYPMf -T76cn32gsoTDV43X3cOcU9oJTDmJ5BhTBDHaAV/ctD/kqtmsj2f1K4SB2gf+tF9xdsoxD9Dpx4FF -/NN+xXVox85OkGcACqou2uKBGwCnW5/cNLLAuNp9MH7cFMAGMx8MxSKx7EUnerjz63KibdkyJRT3 -MS+fcICzKmxKmu7spqS1P3qOqwLPuZbj/kbwtk+2zGcOXW86b4aS39xPRwqxJBYw6rb2xzDZYZ2m -ejoOsw1xC21rtY39OXNipU67RYaiDEQcu50nLpP1K2HdnDnQS6PuABPfanSNJPaq8tHP2Uh7GB4m -ltidfYrpSGUsZAQwkiF17U8NPhRaBFAglP07diR3Onl+6M3RsQYPz1HrLrCNP4Ai1Lm4VOORl8CJ -8OVXdhz5FaGFevRIhI6nkskst3li+Llbo1f50p9jrwxQEBPFroyzazlmWFMD8yuf2AMhWNK2Hqkv -k6s+wyLOwDm9H+Dwrlz0H5wY1FqM0Gl3I7dtdeSTBxv0loLsJJgPvozvQPcXdTXmlRw4h+6tpRuG -+jBEzD6Epvr0fRxiOObXcGB9GsC91NCw0MP7deDsktfGOLLWPraqmkL7QnuwixK2ZpWiYxmnONH4 -otYLaAzucWPyR/apThSyv3vqxJyYkAXKg7sgvbmNdINWOGHE5UpcOZpQOnxTTaPfLeWtTMFogJEd -Y7XDL7baYRLZcEpvHthvxu5ie7Htx43eNJgdmXIMRIAKMXoDPbsQanDAFf5Z70Ti7Iac47d/PZuK -tx9+gn/fyI9gQbHmcSr+BqOLt3kJ20ou2qXbFLCAo+L9Yl4rLIwkaHRCwRdPoLd24ZEXT0N0ZYlf -UmIVpMBk2nLDt50AijxBKmRv3ANTLwG/TUFXywk1DmLfWoz0S6TBcI0L1oUc6JbRutqkaCac4Eiz -iJej87O3px8+nUbVPTK2+Tlygid+HhZORx8Nl3gMNhX2yaLGJ1eOv/yDTIsed1nvNU29DO41RQjb -kcLuL/kmjdjuKeISAwai2C7zRYQtgdO5RK+6A/954mwrH7TvnnFFWOOJPjxrnHh8DNQQP7f1zwga -Uh89J+pJCMVzrBXjx9Go3wJPBUW04c/zm7ulGxDXRT80wTamzazHfnerAtdMZw3PchLhdWyXwdSB -pkmsNvOFWx/4MRP6IhRQbnS8IVdxnVZCZrCVor093UgBCt4t6WMJYVZhK0Z1bhSdSe/irXJyj2Il -RjjqiIrq8RyGAoWw9f4xvmEzgLWGouYSaIBOiNK2KXe6qnqxZgnmnRBRryff4C7JXrnJL5rCPChv -jBeN/wrzRG+RMbqWlZ4/PxhPLl82CQ4UjF54Bb2LAoydyyZ7oDGL58+fj8S/Pez0MCpRmuc34I0B -7F5n5ZxeDxhsPTm7Wl2H3ryJgB8Xa3kJD64oaG6f1xlFJHd0pQWR9q+BEeLahJYZTfuWOeZYXcnn -y9yCz6m0wfhLltB1RxhRkqhs9a1RGG0y0kQsCYohjNUiSUKOTsB6bPMaa/Ewuqj5Rd4DxycIZopv -8WCMd9hrdCwpb9Zyj0XnWIwI8IhSyng0KmamajTAc3ax1WjOzrKkaspIXrhnpvoKgMreYqT5SsR3 -KBlmHi1iOGWdHqs2jnW+k0W9jUq+uHTjjK1Z8uuHcAfWBknLVyuDKTw0i7TIZbkw5hRXLFkklQPG -tEM43JkubyLrEwU9KI1AvZNVWFqJtm//YNfFxfQjHR/vm5F01lBlL8TimFCctfIKo6gZn6JPlpCW -b82XCYzygaLZ2hPwxhJ/0LFUrCHw7u1wyxnrTN/HwWkbzSUdAIfugLIK0rKjpyOci8csfGbagVs0 -8EM7c8LtNimrOk5n+tqHGfppM3uervG0ZXA7CzyttwK+fQ6O777O2AfHwSTXID0x49ZUZByLlY5M -RG5lmV+EVeTo5R2yrwQ+BVJmOTP10CZ2dGnZ1Raa6gRHR8UjqK9M8dKAQ26qZjoFJy7mU0pvMuUO -A86zn29JV1eI78T41VQctnY+i2KLNzkBss+Woe+KUTeYihMMMHNs34shvjsW45dT8ccd0KOBAY4O -3RHa+9gWhEEgr66eTMY0mRPZwr4U9of76hxG0PSM4+SqTf4umb4lKv1ri0pcIagTlV+2E5VbYw/u -WzsfH8lwA4pjlcjl/jOFJNRIN7p5mMEJPyyg37M5Wrp2vKmoocK5OWxG7ho96GhE4zbbQUxRulZf -XL+LuoYNp71zwKTJtFIV7S1zmMao0WsRFQDM+o7S8Bve7QLvNSlc/2zwiFUXAViwPREEXenJB2ZN -w0ZQH3QEn6QBHmAUEeJhaqMoXMl6goiEdA8OMdFXrUNsh+N/d+bhEoOho9AOlt98vQtPVzB7izp6 -FnR3pYUnsra8ollu8+kPzHmM0tf1NwmMA6URHXBWzVWV5GYeYfYy30GT2yzmDV4GSSfTaBJT6bpN -vJXmW7/Qj6HYASWTwVqAJ1Wv8CD5lu62PFGU9IZX1Hx9+HJqKoMZkJ7Aq+jVV/oKSOpmLj/wfeyp -3rvBS93vMPoXB1hS+b3tq85uhqZ13LoLyh8spOjZJJpZOjSG6eE6kGbNYoF3JjbEZN/aXgDyHryd -Ofg55vLTHBw22JBGfei6GqOR3iHVNiDAD5uMIcl5VNdGkSLSu4RtSHnuUpxPFgXdq9+CYAgBOX8d -8xt0BeviyIbYjE3Bk8+xm82Jn+qmt+6M7Qka2+om3DV97r9r7rpFYGdukhk6c/frS10a6L7DVrSP -Bhze0IR4VIlEo/H7jYlrB6Y6h6Y/Qq8/SH63E850wKw8BMZk7GC8n9hTY2/M/iZeuN8xIWyfL2R2 -y4l7nY3WtDs2o83xj/EUOPkFn9sbBiijaak5kPdLdMPejHNkZ/L6Ws1ivN1xRptsyufq7J7Mtu09 -Xc4nY7U1uy28tAhAGG7Smbducj0wBuhKvmWa06Gc22kEDU1Jw04WskqWbBL01g7ARRwxpf4mEM9p -xKNUYqBb1WVRwm54pO8i5jydvtTmBqgJ4G1idWNQNz2m+mpaUqyUHGZKkDlO20ryASKwEe+YhtnM -vgNeedFcs5BMLTPIrN7IMq6aK4b8jIAENl3NCFR0jovrhOcaqWxxiYtYYnnDQQoDZPb7V7Cx9DbV -O+5VmFht93h2oh465PuUKxscY2S4OLm31wu611ot6Wpr1zu0zRqus1cqwTKYu/JIR+pYGb/V93fx -HbMcyUf/0uEfkHe38tLPQrfqjL1bi4bzzFUI3Qub8MYAMs599zB2OKB742JrA2zH9/WFZZSOhznQ -2FJR++S9CqcZbdJEkDBh9IEIkl8U8MQIkgf/kREkfWsmGBqNj9YDvWUCD4SaWD24V1A2jAB9ZkAk -PMBuXWBoTOXYTbovcpXcj+yF0qwrnUo+Yx6QI7t3kxEIvmpSuRnK3lVwuyJIvnTR4+/PP745OSda -zC5O3v7HyfeUlIXHJS1b9egQW5bvM7X3vfRvN9ymE2n6Bm+w7bkhlmuYNITO+04OQg+E/nq1vgVt -KzL39VCHTt1PtxMgvnvaLahDKrsXcscv0zUmbvpMK0870E85qdb8cjITzCNzUsfi0JzEmffN4YmW -0U5seWjhnPTWrjrR/qq+BXQg7j2xSda0Anhmgvxlj0xMxYwNzLOD0v7ffFBmOFYbmht0QAoX0rnJ -kS5xZFCV//8TKUHZxbi3Y0dxau/mpnZ8PKTspfN49ruQkSGIV+436s7PFfalTAeoEASs8PQ9hYyI -0X/6QNWmHzxT4nKfCov3Udlc2V+4Ztq5/WuCSQaVve9LcYISH7NC41WduokDtk+nAzl9dBqVr5xK -FtB8B0DnRjwVsDf6S6wQ51sRwsZRu2SYHEt01Jf1Ocij3XSwN7R6IfaHyk7dskshXg43XLYqO3WP -Q+6hHuihalPc51hgzNIcqicV3xFkPs4UdMGX53zgGbre9sPX28uXR/ZwAfkdXzuKhLLJRo5hv3Sy -MXdeKul0J2Ypp5Suh3s1JySsW1w5UNknGNrbdEpSBvY/Js+BIY289/0hM9PDu3p/1MbUst4RTEmM -n6kJTcsp4tG42yeT7nQbtdUFwgVJjwDSUYEAC8F0dKOTILrlLO/xC70bnNd0Ha97whQ6UkHJYj5H -cA/j+zX4tbtTIfGjujOKpj83aHOgXnIQbvYduNXEC4UMm4T21Bs+GHABuCa7v//LR/TvpjHa7oe7 -/Grb6lVvHSD7spj5iplBLRKZxxEYGdCbY9LWWC5hBB2voWno6DJUMzfkC3T8KJsWL9umDQY5szPt -AVijEPwfucjncQ== -""") - -##file activate.sh -ACTIVATE_SH = convert(""" -eJytVd9v2kAMfs9fYQLq2m4MscdNVKMqEkgtVIQxbeuUHolpTgsXdHehpT/+9/mSEBJS2MOaB0ji -z77P9menDpOAK5jzEGERKw0zhFihD/dcB2CrKJYewoyLFvM0XzGNNpzOZbSAGVPBqVWHdRSDx4SI -NMhYANfgc4meDteW5ePGC45P4MkCumKhUENzDsu1H3lw1vJx1RJxGMKns6O2lWDqINGgotAHFCsu -I7FAoWHFJGezEFWGqsEvaD5C42naHb93X+A3+elYCgVaxgh8DmQAys9HL2SS0mIaWBgm7mTN/O3G -kzu6vHCng/HkW/fSve5O+hTOpnhfQAcoEry5jKVjNypoO0fgwzKSOgHm79KUK06Jfc7/RebHpD8a -9kdXvT2UcnuFWG6p0stNB0mWUUQ1q3uiGRVEMfXHR03dTuQATPjwqIIPcB9wL4CArRAY/ZHJixYL -Y9YBtcAoLQtFevOoI9QaHcEdMSAB0d08kuZhyUiSmav6CPCdVBnFOjNrLu6yMCWgKRA0TInBC5i4 -QwX3JG/mm581GKnSsSSxJTFHf9MAKr8w5T/vOv1mUurn5/zlT6fvTntjZzAaNl9rQ5JkU5KIc0GX -inagwU57T2eddqWlTrvaS6d9sImZeUMkhWysveF0m37NcGub9Dpgi0j4qGiOzATjDr06OBjOYQOo -7RBoGtNm9Denv1i0LVI7lxJDXLHSSBeWRflsyyqw7diuW3h0XdvK6lBMyaoMG1UyHdTsoYBuue75 -YOgOu1c91/2cwYpznPPeDoQpGL2xSm09NKp7BsvQ2hnT3aMs07lUnskpxewvBk73/LLnXo9HV9eT -ijB3hWBO2ygoiWg/bKuZxqCCQq0DD3vkWIVvI2KosIw+vqW1gIItEG5KJb+xb09g65ktwYKgTc51 -uGJ/EFQs0ayEWLCQM5V9N4g+1+8UbXOJzF8bqhKtIqIwicWvzNFROZJlpfD8A7Vc044R0FxkcezG -VzsV75usvTdYef+57v5n1b225qhXfwEmxHEs -""") - -##file activate.fish -ACTIVATE_FISH = convert(""" -eJyFVVFv2zYQftevuMoOnBS1gr0WGIZ08RADSRw4boBhGGhGOsUcKFIjKbUu9uN7lC2JsrXWDzZM -fnf38e6+uwlsdsJCLiRCUVkHrwiVxYy+hHqDbQKvQl3z1ImaO0xyYXdbeP9FuJ1QwMFUSnmcP4dL -2DlXfry+9v/sDqVMUl3AFVi0Vmj1PokmcKtBaecNQTjIhMHUyX0SRXmlKIpWkGEbDuYZzBZfCVcL -4youUdVQ6AyBqwwMusoocBrcDsmpKbgEQgijVYHKJbMI6DMhoEUHWmbhLdTcCP4q0TYokYNDev5c -QTxlq/tb9rJcbz7f3LOnm81d3GD8x3uav30FfwrnwCEOYRyAKot+FvXPzd3q8W71sBiJ3d2dMugu -fsxjCPsBmz+Wz3fsab16eNqw1ctivV7eBnwm8EzeuQIsSrcHqVMqwHbqq8/aarKSO+oYKhKXUn9p -SmWw0DVBdQ7bBlwaTR62bc+1tpaYb5PhUyScu48CRgvDLQbtMrMnMQ6dY5022JDRRrwJxWUfJwwP -ge0YIAVGfcUC1M8s8MxitFZjmR9W64hui7p4fBlWMZ5y81b/9cvfMbz7FWZKq4yOTeW1hbNBEWU+ -b+/ejXMu95lOx696uXb8Go4T+Kw8R2EMSqx5KLkkCkQ+ZBZFbZsHL4OYseAvY3EPO5MYTBuhDZQa -TwPza8Y+LR/Z483Dgjwd4R3f7bTXx9Znkw6T6PAL83/hRD3jNAKFjuEx9NJkq5t+fabLvdvRwbw4 -nEFTzwO6U+q34cvY7fL55tP94tg58XEA/q7LfdPsaUXFoEIMJdHF5iSW0+48CnDQ82G7n3XzAD6q -Bmo5XuOA0NQ67ir7AXJtQhtLKO7XhC0l39PGOBsHPvzBuHUSjoOnA0ldozGC9gZ5rek3+y3ALHO/ -kT7AP379lQZLSnFDLtwWihfYxw4nZd+ZR7myfkI2ZTRCuRxmF/bCzkbhcElvYamW9PbDGrvqPKC0 -+D/uLi/sFcxGjOHylYagZzzsjjhw206RQwrWIwOxS2dnk+40xOjX8bTPegz/gdWVSXuaowNuOLda -wYyNuRPSTcd/B48Ppeg= -""") - -##file activate.csh -ACTIVATE_CSH = convert(""" -eJx1U2FP2zAQ/e5f8TAV3Soo+0zXbYUiDQkKQgVp2ibjJNfFUuIg22nVf885SVFLO3+I7Lt3fr6X -d8eY58ZjYQpCWfuAhFB7yrAyIYf0Ve1SQmLsuU6DWepAw9TnEoOFq0rwdjAUx/hV1Ui1tVWAqy1M -QGYcpaFYx+yVI67LkKwx1UuTEaYGl4X2Bl+zJpAlP/6V2hTDtCq/DYXQhdEeGW040Q/Eb+t9V/e3 -U/V88zh/mtyqh8n8J47G+IKTE3gKZJdoYrK3h5MRU1tGYS83gqNc+3yEgyyP93cP820evHLvr2H8 -kaYB/peoyY7aVHzpJnE9e+6I5Z+ji4GMTNJWNuOQq6MA1N25p8pW9HWdVWlfsNpPDbdxjgpaahuw -1M7opCA/FFu1uwxC7L8KUqmto1KyQe3rx0I0Eovdf7BVe67U5c1MzSZ310pddGheZoFPWyytRkzU -aCA/I+RkBXhFXr5aWV0SxjhUI6jwdAj8kmhPzX7nTfJFkM3MImp2VdVFFq1vLHSU5szYQK4Ri+Jd -xlW2JBtOGcyYVW7SnB3v6RS91g3gKapZ0oWxbHVteYIIq3iv7QeuSrUj6KSqQ+yqsxDj1ivNQxKF -YON10Q+NH/ARS95i5Tuqq2Vxfvc23f/FO6zrtXXmJr+ZtMY9/A15ZXFWtmch2rEQ4g1ryVHH -""") - -##file activate.bat -ACTIVATE_BAT = convert(""" -eJx9Ul9LhEAQfxf8DoOclI/dYyFkaCmcq4gZQTBUrincuZFbff12T133TM+nnd35/Zvxlr7XDFhV -mUZHOVhFlOWP3g4DUriIWoVomYZpNBWUtGpaWgImO191pFkSpzlcmgaI70jVX7n2Qp8tuByg+46O -CMHbMq64T+nmlJt082D1T44muCDk2prgEHF4mdI9RaS/QwSt3zSyIAaftRccvqVTBziD1x/WlPD5 -xd729NDBb8Nr4DU9QNMKsJeH9pkhPedhQsIkDuCDCa6A+NF9IevVFAohkqizdHetg/tkWvPoftWJ -MCqnOxv7/x7Np6yv9P2Ker5dmX8yNyCkkWnbZy3N5LarczlqL8htx2EM9rQ/2H5BvIsIEi8OEG8U -+g8CsNTr -""") - -##file deactivate.bat -DEACTIVATE_BAT = convert(""" -eJyFkN0KgkAUhO8F32EQpHqFQEjQUPAPMaErqVxzId3IrV6/XST/UDx3c86c4WMO5FYysKJQFVVp -CEfqxsnJ9DI7SA25i20fFqs3HO+GYLsDZ7h8GM3xfLHrg1QNvpSX4CWpQGvokZk4uqrQAjXjyElB -a5IjCz0r+2dHcehHCe5MZNmB5R7TdqMqECMptHZh6DN/utb7Zs6Cej8OXYE5J04YOKFvD4GkHuJ0 -pilSd1jG6n87tDZ+BUwUOepI6CGSkFMYWf0ihvT33Qj1A+tCkSI= -""") - -##file activate.ps1 -ACTIVATE_PS = convert(""" -eJylWdmO41hyfW+g/0FTU7C7IXeJIqmtB/3AnZRIStxF2kaBm7gv4ipyMF/mB3+Sf8GXVGVl1tLT -43ECSqR4b5wbETeWE8z/+a///vNCDaN6cYtSf5G1dbNw/IVXNIu6aCvX9xa3qsgWl0IJ/7IYinbh -2nkOVqs2X0TNjz/8eeFFle826fBhQRaLBkD9uviw+LCy3Sbq7Mb/UNbrH3+YNtLcVaB+Xbipb+eL -tly0eVsD/M6u6g8//vC+dquobH5VWU75eMFUdvHb4n02RHlXuHYTFfmHbHCLLLNz70NpN+GrBI4p -1EeSk4FAXaZR88u0vPip8usi7fznt3fvP+OuPnx49/Pil4td+XnzigIAPoqYQH2J8v4z+C+8b98m -Q25t7k76LIK0cOz0V89/MXXx0+Lf6z5q3PA/F+/FIif9uqnaadFf/PzXSXYBfqIb2NeApecJwPzI -dlL/149nnvyoc7KqYfzTAT8v/voUmX7e+3n364tffl/oVaDyswKY/7J18e6bve8Wv9RuUfqfLHmK -/u139Hwx+9ePRep97KKqae30YwmCo2y+0vTz1k+rv7159B3pb1SOGj97Pe8/flfkC1Vn/7xYR4n6 -lypNEGDDV5f7lcjil3S+4++p881Wv6qKyn5GQg1yJwcp4BZ5E+Wt/z1P/umbiHir4J8Xip/eFt6n -9T/9gU9eY+7zUX97Jlmb136ziKrKT/3OzpvP8VX/+MObSP0lL3LvVZlJ9v1b8357jXyw8rXxYPXN -11n4UzJ8G8S/vUbuJ6RPj999DbtS5kys//JusXwrNLnvT99cFlBNwXCe+niRz8JF/ezNr9Pze+H6 -18W7d5PPvozW7+387Zto/v4pL8BvbxTzvIW9KCv/Fj0WzVQb/YXbVlPZWTz3/9vCaRtQbPN/Bb+j -2rUrDxTVD68gfQXu/ZewAFX53U/vf/rD2P3558W7+W79Po1y/xXoX/6RFHyNIoVjgAG4H0RTcAe5 -3bSVv3DSwk2mZYHjFB8zj6fC4sLOFTHJJQrwzFYJgso0ApOoBzFiRzzQKjIQCCbQMIFJGCKqGUyS -8AkjiF2wTwmMEbcEUvq8Nj+X0f4YcCQmYRiOY7eRbAJDqzm1chOoNstbJ8oTBhZQ2NcfgaB6QjLp -U4+SWFjQGCZpyqby8V4JkPGs9eH1BscXIrTG24QxXLIgCLYNsIlxSYLA6SjAeg7HAg4/kpiIB8k9 -TCLm0EM4gKIxEj8IUj2dQeqSxEwYVH88qiRlCLjEYGuNIkJB1BA5dHOZdGAoUFk54WOqEojkuf4Q -Ig3WY+96TDlKLicMC04h0+gDCdYHj0kz2xBDj9ECDU5zJ0tba6RKgXBneewhBG/xJ5m5FX+WSzsn -wnHvKhcOciw9NunZ0BUF0n0IJAcJMdcLqgQb0zP19dl8t9PzmMBjkuIF7KkvHgqEovUPOsY0PBB1 -HCtUUhch83qEJPjQcNQDsgj0cRqx2ZbnnlrlUjE1EX2wFJyyDa/0GLrmKDEFepdWlsbmVU45Wiwt -eFM6mfs4kxg8yc4YmKDy67dniLV5FUeO5AKNPZaOQQ++gh+dXE7dbJ1aTDr7S4WPd8sQoQkDyODg -XnEu/voeKRAXZxB/e2xaJ4LTFLPYEJ15Ltb87I45l+P6OGFA5F5Ix8A4ORV6M1NH1uMuZMnmFtLi -VpYed+gSq9JDBoHc05J4OhKetrk1p0LYiKipxLMe3tYS7c5V7O1KcPU8BJGdLfcswhoFCSGQqJ8f -ThyQKy5EWFtHVuNhvTnkeTc8JMpN5li3buURh0+3ZGuzdwM55kon+8urbintjdQJf9U1D0ah+hNh -i1XNu4fSKbTC5AikGEaj0CYM1dpuli7EoqUt7929f1plxGGNZnixFSFP2qzhlZMonu2bB9OWSqYx -VuHKWNGJI8kqUhMTRtk0vJ5ycZ60JlodlmN3D9XiEj/cG2lSt+WV3OtMgt1Tf4/Z+1BaCus740kx -Nvj78+jMd9tq537Xz/mNFyiHb0HdwHytJ3uQUzKkYhK7wjGtx3oKX43YeYoJVtqDSrCnQFzMemCS -2bPSvP+M4yZFi/iZhAjL4UOeMfa7Ex8HKBqw4umOCPh+imOP6yVTwG2MplB+wtg97olEtykNZ6wg -FJBNXSTJ3g0CCTEEMdUjjcaBDjhJ9fyINXgQVHhA0bjk9lhhhhOGzcqQSxYdj3iIN2xGEOODx4qj -Q2xikJudC1ujCVOtiRwhga5nPdhe1gSa649bLJ0wCuLMcEYIeSy25YcDQHJb95nfowv3rQnin0fE -zIXFkM/EwSGxvCCMgEPNcDp/wph1gMEa8Xd1qAWOwWZ/KhjlqzgisBpDDDXz9Cmov46GYBKHC4zZ -84HJnXoTxyWNBbXV4LK/r+OEwSN45zBp7Cub3gIYIvYlxon5BzDgtPUYfXAMPbENGrI+YVGSeTQ5 -i8NMB5UCcC+YRGIBhgs0xhAGwSgYwywpbu4vpCSTdEKrsy8osXMUnHQYenQHbOBofLCNNTg3CRRj -A1nXY2MZcjnXI+oQ2Zk+561H4CqoW61tbPKv65Y7fqc3TDUF9CA3F3gM0e0JQ0TPADJFJXVzphpr -2FzwAY8apGCju1QGOiUVO5KV6/hKbtgVN6hRVwpRYtu+/OC6w2bCcGzZQ8NCc4WejNEjFxOIgR3o -QqR1ZK0IaUxZ9nbL7GWJIjxBARUhAMnYrq/S0tVOjzlOSYRqeIZxaSaOBX5HSR3MFekOXVdUPbjX -nru61fDwI8HRYPUS7a6Inzq9JLjokU6P6OzT4UCH+Nha+JrU4VqEo4rRHQJhVuulAnvFhYz5NWFT -aS/bKxW6J3e46y4PLagGrCDKcq5B9EmP+s1QMCaxHNeM7deGEV3WPn3CeKjndlygdPyoIcNaL3dd -bdqPs47frcZ3aNWQ2Tk+rjFR01Ul4XnQQB6CSKA+cZusD0CP3F2Ph0e78baybgioepG12luSpFXi -bHbI6rGLDsGEodMObDG7uyxfCeU+1OiyXYk8fnGu0SpbpRoEuWdSUlNi5bd9nBxYqZGrq7Qa7zV+ -VLazLcelzzP9+n6+xUtWx9OVJZW3gk92XGGkstTJ/LreFVFF2feLpXGGuQqq6/1QbWPyhJXIXIMs -7ySVlzMYqoPmnmrobbeauMIxrCr3sM+qs5HpwmmFt7SM3aRNQWpCrmeAXY28EJ9uc966urGKBL9H -18MtDE5OX97GDOHxam11y5LCAzcwtkUu8wqWI1dWgHyxGZdY8mC3lXzbzncLZ2bIUxTD2yW7l9eY -gBUo7uj02ZI3ydUViL7oAVFag37JsjYG8o4Csc5R7SeONGF8yZP+7xxi9scnHvHPcogJ44VH/LMc -Yu6Vn3jEzCFw9Eqq1ENQAW8aqbUwSiAqi+nZ+OkZJKpBL66Bj8z+ATqb/8qDIJUeNRTwrI0YrVmb -9FArKVEbCWUNSi8ipfVv+STgkpSsUhcBg541eeKLoBpLGaiHTNoK0r4nn3tZqrcIULtq20Df+FVQ -Sa0MnWxTugMuzD410sQygF4qdntbswiJMqjs014Irz/tm+pd5oygJ0fcdNbMg165Pqi7EkYGAXcB -dwxioCDA3+BY9+JjuOmJu/xyX2GJtaKSQcOZxyqFzTaa6/ot21sez0BtKjirROKRm2zuai02L0N+ -ULaX8H5P6VwsGPbYOY7sAy5FHBROMrMzFVPYhFHZ7M3ZCZa2hsT4jGow6TGtG8Nje9405uMUjdF4 -PtKQjw6yZOmPUmO8LjFWS4aPCfE011N+l3EdYq09O3iQJ9a01B3KXiMF1WmtZ+l1gmyJ/ibAHZil -vQzdOl6g9PoSJ4TM4ghTnTndEVMOmsSSu+SCVlGCOLQRaw9oLzamSWP62VuxPZ77mZYdfTRGuNBi -KyhZL32S2YckO/tU7y4Bf+QKKibQSKCTDWPUwWaE8yCBeL5FjpbQuAlb53mGX1jptLeRotREbx96 -gnicYz0496dYauCjpTCA4VA0cdLJewzRmZeTwuXWD0talJsSF9J1Pe72nkaHSpULgNeK1+o+9yi0 -YpYwXZyvaZatK2eL0U0ZY6ekZkFPdC8JTF4Yo1ytawNfepqUKEhwznp6HO6+2l7L2R9Q3N49JMIe -Z+ax1mVaWussz98QbNTRPo1xu4W33LJpd9H14dd66ype7UktfEDi3oUTccJ4nODjwBKFxS7lYWiq -XoHu/b7ZVcK5TbRD0F/2GShg2ywwUl07k4LLqhofKxFBNd1grWY+Zt/cPtacBpV9ys2z1moMLrT3 -W0Elrjtt5y/dvDQYtObYS97pqj0eqmwvD3jCPRqamGthLiF0XkgB6IdHLBBwDGPiIDh7oPaRmTrN -tYA/yQKFxRiok+jM6ciJq/ZgiOi5+W4DEmufPEubeSuYJaM3/JHEevM08yJAXUQwb9LS2+8FOfds -FfOe3Bel6EDSjIEIKs4o9tyt67L1ylQlzhe0Q+7ue/bJnWMcD3q6wDSIQi8ThnRM65aqLWesi/ZM -xhHmQvfKBbWcC194IPjbBLYR9JTPITbzwRcu+OSFHDHNSYCLt29sAHO6Gf0h/2UO9Xwvhrjhczyx -Ygz6CqP4IwxQj5694Q1Pe2IR+KF/yy+5PvCL/vgwv5mPp9n4kx7fnY/nmV++410qF/ZVCMyv5nAP -pkeOSce53yJ6ahF4aMJi52by1HcCj9mDT5i+7TF6RoPaLL+cN1hXem2DmX/mdIbeeqwQOLD5lKO/ -6FM4x77w6D5wMx3g0IAfa2D/pgY9a7bFQbinLDPz5dZi9ATIrd0cB5xfC0BfCCZO7TKP0jQ2Meih -nRXhkA3smTAnDN9IW2vA++lsgNuZ2QP0UhqyjUPrDmgfWP2bWWiKA+YiEK7xou8cY0+d3/bk0oHR -QLrq4KzDYF/ljQDmNhBHtkVNuoDey6TTeaD3SHO/Bf4d3IwGdqQp6FuhmwFbmbQBssDXVKDBYOpk -Jy7wxOaSRwr0rDmGbsFdCM+7XU/84JPu3D/gW7QXgzlvbjixn99/8CpWFUQWHFEz/RyXvzNXTTOd -OXLNNFc957Jn/YikNzEpUdRNxXcC6b76ccTwMGoKj5X7c7TvHFgc3Tf4892+5A+iR+D8OaaE6ACe -gdgHcyCoPm/xiDCWP+OZRjpzfj5/2u0i4qQfmIEOsTV9Hw6jZ3Agnh6hiwjDtGYxWvt5TiWEuabN -77YCyRXwO8P8wdzG/8489KwfFBZWI6Vvx76gmlOc03JI1HEfXYZEL4sNFQ3+bqf7e2hdSWQknwKF -ICJjGyDs3fdmnnxubKXebpQYLjPgEt9GTzKkUgTvOoQa1J7N3nv4sR6uvYFLhkXZ+pbCoU3K9bfq -gF7W82tNutRRZExad+k4GYYsCfmEbvizS4jsRr3fdzqjEthpEwm7pmN7OgVzRbrktjrFw1lc0vM8 -V7dyTJ71qlsd7v3KhmHzeJB35pqEOk2pEe5uPeCToNkmedmxcKbIj+MZzjFSsvCmimaMQB1uJJKa -+hoWUi7aEFLvIxKxJavqpggXBIk2hr0608dIgnfG5ZEprqmH0b0YSy6jVXTCuIB+WER4d5BPVy9Q -M4taX0RIlDYxQ2CjBuq78AAcHQf5qoKP8BXHnDnd/+ed5fS+csL4g3eWqECaL+8suy9r8hx7c+4L -EegEWdqAWN1w1NezP34xsxLkvRRI0DRzKOg0U+BKfQY128YlYsbwSczEg2LqKxRmcgiwHdhc9MQJ -IwKQHlgBejWeMGDYYxTOQUiJOmIjJbzIzHH6lAMP+y/fR0v1g4wx4St8fcqTt3gz5wc+xXFZZ3qI -JpXI5iJk7xmNL2tYsDpcqu0375Snd5EKsIvg8u5szTOyZ4v06Ny2TZXRpHUSinh4IFp8Eoi7GINJ -02lPJnS/9jSxolJwp2slPMIEbjleWw3eec4XaetyEnSSqTPRZ9fVA0cPXMqzrPYQQyrRux3LaAh1 -wujbgcObg1nt4iiJ5IMbc/WNPc280I2T4nTkdwG8H6iS5xO2WfsFsruBwf2QkgZlb6w7om2G65Lr -r2Gl4dk63F8rCEHoUJ3fW+pU2Srjlmcbp+JXY3DMifEI22HcHAvT7zzXiMTr7VbUR5a2lZtJkk4k -1heZZFdru8ucCWMTr3Z4eNnjLm7LW7rcN7QjMpxrsCzjxndeyFUX7deIs3PQkgyH8k6luI0uUyLr -va47TBjM4JmNHFzGPcP6BV6cYgQy8VQYZe5GmzZHMxyBYhGiUdekZQ/qwyxC3WGylQGdUpSf9ZCP -a7qPdJd31fPRC0TOgzupO7nLuBGr2A02yuUQwt2KQG31sW8Gd9tQiHq+hPDt4OzJuY4pS8XRsepY -tsd7dVEfJFmc15IYqwHverrpWyS1rFZibDPW1hUUb+85CGUzSBSTK8hpvee/ZxonW51TUXekMy3L -uy25tMTg4mqbSLQQJ+skiQu2toIfBFYrOWql+EQipgfT15P1aq6FDK3xgSjIGWde0BPftYchDTdM -i4QdudHFkN0u6fSKiT09QLv2mtSblt5nNzBR6UReePNs+khE4rHcXuoK21igUKHl1c3MXMgPu7y8 -rKQDxR6N/rffXv+lROXet/9Q+l9I4D1U -""") - -##file distutils-init.py -DISTUTILS_INIT = convert(""" -eJytV1uL4zYUfvevOE0ottuMW9q3gVDa3aUMXXbLMlDKMBiNrSTqOJKRlMxkf33PkXyRbGe7Dw2E -UXTu37lpxLFV2oIyifAncxmOL0xLIfcG+gv80x9VW6maw7o/CANSWWBwFtqeWMPlGY6qPjV8A0bB -C4eKSTgZ5LRgFeyErMEeOBhbN+Ipgeizhjtnhkn7DdyjuNLPoCS0l/ayQTG0djwZC08cLXozeMss -aG5EzQ0IScpnWtHSTXuxByV/QCmxE7y+eS0uxWeoheaVVfqSJHiU7Mhhi6gULbOHorshkrEnKxpT -0n3A8Y8SMpuwZx6aoix3ouFlmW8gHRSkeSJ2g7hU+kiHLDaQw3bmRDaTGfTnty7gPm0FHbIBg9U9 -oh1kZzAFLaue2R6htPCtAda2nGlDSUJ4PZBgCJBGVcwKTAMz/vJiLD+Oin5Z5QlvDPdulC6EsiyE -NFzb7McNTKJzbJqzphx92VKRFY1idenzmq3K0emRcbWBD0ryqc4NZGmKOOOX9Pz5x+/l27tP797c -f/z0d+4NruGNai8uAM0bfsYaw8itFk8ny41jsfpyO+BWlpqfhcG4yxLdi/0tQqoT4a8Vby382mt8 -p7XSo7aWGdPBc+b6utaBmCQ7rQKQoWtAuthQCiold2KfJIPTT8xwg9blPumc+YDZC/wYGdAyHpJk -vUbHbHWAp5No6pK/WhhLEWrFjUwtPEv1Agf8YmnsuXUQYkeZoHm8ogP16gt2uHoxcEMdf2C6pmbw -hUMsWGhanboh4IzzmsIpWs134jVPqD/c74bZHdY69UKKSn/+KfVhxLgUlToemayLMYQOqfEC61bh -cbhwaqoGUzIyZRFHPmau5juaWqwRn3mpWmoEA5nhzS5gog/5jbcFQqOZvmBasZtwYlG93k5GEiyw -buHhMWLjDarEGpMGB2LFs5nIJkhp/nUmZneFaRth++lieJtHepIvKgx6PJqIlD9X2j6pG1i9x3pZ -5bHuCPFiirGHeO7McvoXkz786GaKVzC9DSpnOxJdc4xm6NSVq7lNEnKdVlnpu9BNYoKX2Iq3wvgh -gGEUM66kK6j4NiyoneuPLSwaCWDxczgaolEWpiMyDVDb7dNuLAbriL8ig8mmeju31oNvQdpnvEPC -1vAXbWacGRVrGt/uXN/gU0CDDwgooKRrHfTBb1/s9lYZ8ZqOBU0yLvpuP6+K9hLFsvIjeNhBi0KL -MlOuWRn3FRwx5oHXjl0YImUx0+gLzjGchrgzca026ETmYJzPD+IpuKzNi8AFn048Thd63OdD86M6 -84zE8yQm0VqXdbbgvub2pKVnS76icBGdeTHHXTKspUmr4NYo/furFLKiMdQzFjHJNcdAnMhltBJK -0/IKX3DVFqvPJ2dLE7bDBkH0l/PJ29074+F0CsGYOxsb7U3myTUncYfXqnLLfa6sJybX4g+hmcjO -kMRBfA1JellfRRKJcyRpxdS4rIl6FdmQCWjo/o9Qz7yKffoP4JHjOvABcRn4CZIT2RH4jnxmfpVG -qgLaAvQBNfuO6X0/Ux02nb4FKx3vgP+XnkX0QW9pLy/NsXgdN24dD3LxO2Nwil7Zlc1dqtP3d7/h -kzp1/+7hGBuY4pk0XD/0Ao/oTe/XGrfyM773aB7iUhgkpy+dwAMalxMP0DrBcsVw/6p25+/hobP9 -GBknrWExDhLJ1bwt1NcCNblaFbMKCyvmX0PeRaQ= -""") - -##file distutils.cfg -DISTUTILS_CFG = convert(""" -eJxNj00KwkAMhfc9xYNuxe4Ft57AjYiUtDO1wXSmNJnK3N5pdSEEAu8nH6lxHVlRhtDHMPATA4uH -xJ4EFmGbvfJiicSHFRzUSISMY6hq3GLCRLnIvSTnEefN0FIjw5tF0Hkk9Q5dRunBsVoyFi24aaLg -9FDOlL0FPGluf4QjcInLlxd6f6rqkgPu/5nHLg0cXCscXoozRrP51DRT3j9QNl99AP53T2Q= -""") - -##file activate_this.py -ACTIVATE_THIS = convert(""" -eJyNU01v2zAMvetXEB4K21jnDOstQA4dMGCHbeihlyEIDMWmE62yJEiKE//7kXKdpEWLzYBt8evx -kRSzLPs6wiEoswM8YdMpjUXcq1Dz6RZa1cSiTkJdr86GsoTRHuCotBayiWqQEYGtMCgfD1KjGYBe -5a3p0cRKiEe2NtLAFikftnDco0ko/SFEVgEZ8aRCZDIPY9xbA8pE9M4jfW/B2CjiHq9zbJVZuOQq -siwTIvpxKYCembPAU4Muwi/Z4zfvrZ/MXipKeB8C+qisSZYiWfjJfs+0/MFMdWn1hJcO5U7G/SLa -xVx8zU6VG/PXLXvfsyyzUqjeWR8hjGE+2iCE1W1tQ82hsCJN9dzKaoexyB/uH79TnjwvxcW0ntSb -yZ8jq1Z5Q1UXsyy3gf9nbjTEj7NzQMfCJa/YSmrQ+2D/BqfiOi6sclrGzvoeVivIj8rcfcmnIQRF -7XCyeZI7DFe5/lhlCs5PRf5QW66VXT/NrlQ46oD/D6InkOmi3IQcbhKxAX2g4a+Xd5s3UtCtG2py -m8eg6WYWqR6SL5OjKMGfSrYt/6kxxQtOpeAgj1LXBNmpE2ElmCSIy5H0zFd8gJ924HWijWhb2hRC -6wNEm1QdDZtuSZcEprIUBo/XRNcbQe1OUbQ/r3hPTaPJJDNtFLu8KHV5XoNr3Eo6h6YtOKw8e8yw -VF5PnJ+ts3a9/Mz38RpG/AUSzYUW -""") - -##file python-config -PYTHON_CONFIG = convert(""" -eJyNVV1P2zAUfc+v8ODBiSABxlulTipbO6p1LWqBgVhlhcZpPYUkctzSivHfd6+dpGloGH2Ja/ue -e+65Hz78xNhtf3x90xmw7vCWsRPGLvpDNuz87MKfdKMWSWxZ4ilNpCLZJiuWc66SVFUOZkkcirll -rfxIBAzOMtImDzSVPBRrekwoX/OZu/0r4lm0DHiG60g86u8sjPw5rCyy86NRkB8QuuBRSqfAKESn -3orLTCQxE3GYkC9tYp8fk89OSwNsmXgizrhUtnumeSgeo5GbLUMk49Rv+2nK48Cm/qMwfp333J2/ -dVcAGE0CIQHBsgIeEr4Wij0LtWDLzJ9ze5YEvH2WI6CHTAVcSu9ZCsXtgxu81CIvp6/k4eXsdfo7 -PvDCRD75yi41QitfzlcPp1OI7i/1/iQitqnr0iMgQ+A6wa+IKwwdxyk9IiXNAzgquTFU8NIxAVjM -osm1Zz526e+shQ4hKRVci69nPC3Kw4NQEmkQ65E7OodxorSvxjvpBjQHDmWFIQ1mlmzlS5vedseT -/mgIEsMJ7Lxz2bLAF9M5xeLEhdbHxpWOw0GdkJApMVBRF1y+a0z3c9WZPAXGFcFrJgCIB+024uad -0CrzmEoRa3Ub4swNIHPGf7QDV+2uj2OiFWsChgCwjKqN6rp5izpbH6Wc1O1TclQTP/XVwi6anTr1 -1sbubjZLI1+VptPSdCfwnFBrB1jvebrTA9uUhU2/9gad7xPqeFkaQcnnLbCViZK8d7R1kxzFrIJV -8EaLYmKYpvGVkig+3C5HCXbM1jGCGekiM2pRCVPyRyXYdPf6kcbWEQ36F5V4Gq9N7icNNw+JHwRE -LTgxRXACpvnQv/PuT0xCCAywY/K4hE6Now2qDwaSE5FB+1agsoUveYDepS83qFcF1NufvULD3fTl -g6Hgf7WBt6lzMeiyyWVn3P1WVbwaczHmTzE9A5SyItTVgFYyvs/L/fXlaNgbw8v3azT+0eikVlWD -/vBHbzQumP23uBCjsYdrL9OWARwxs/nuLOzeXbPJTa/Xv6sUmQir5pC1YRLz3eA+CD8Z0XpcW8v9 -MZWF36ryyXXf3yBIz6nzqz8Muyz0m5Qj7OexfYo/Ph3LqvkHUg7AuA== -""") - -MH_MAGIC = 0xfeedface -MH_CIGAM = 0xcefaedfe -MH_MAGIC_64 = 0xfeedfacf -MH_CIGAM_64 = 0xcffaedfe -FAT_MAGIC = 0xcafebabe -BIG_ENDIAN = '>' -LITTLE_ENDIAN = '<' -LC_LOAD_DYLIB = 0xc -maxint = majver == 3 and getattr(sys, 'maxsize') or getattr(sys, 'maxint') - - -class fileview(object): - """ - A proxy for file-like objects that exposes a given view of a file. - Modified from macholib. - """ - - def __init__(self, fileobj, start=0, size=maxint): - if isinstance(fileobj, fileview): - self._fileobj = fileobj._fileobj - else: - self._fileobj = fileobj - self._start = start - self._end = start + size - self._pos = 0 - - def __repr__(self): - return '' % ( - self._start, self._end, self._fileobj) - - def tell(self): - return self._pos - - def _checkwindow(self, seekto, op): - if not (self._start <= seekto <= self._end): - raise IOError("%s to offset %d is outside window [%d, %d]" % ( - op, seekto, self._start, self._end)) - - def seek(self, offset, whence=0): - seekto = offset - if whence == os.SEEK_SET: - seekto += self._start - elif whence == os.SEEK_CUR: - seekto += self._start + self._pos - elif whence == os.SEEK_END: - seekto += self._end - else: - raise IOError("Invalid whence argument to seek: %r" % (whence,)) - self._checkwindow(seekto, 'seek') - self._fileobj.seek(seekto) - self._pos = seekto - self._start - - def write(self, bytes): - here = self._start + self._pos - self._checkwindow(here, 'write') - self._checkwindow(here + len(bytes), 'write') - self._fileobj.seek(here, os.SEEK_SET) - self._fileobj.write(bytes) - self._pos += len(bytes) - - def read(self, size=maxint): - assert size >= 0 - here = self._start + self._pos - self._checkwindow(here, 'read') - size = min(size, self._end - here) - self._fileobj.seek(here, os.SEEK_SET) - bytes = self._fileobj.read(size) - self._pos += len(bytes) - return bytes - - -def read_data(file, endian, num=1): - """ - Read a given number of 32-bits unsigned integers from the given file - with the given endianness. - """ - res = struct.unpack(endian + 'L' * num, file.read(num * 4)) - if len(res) == 1: - return res[0] - return res - - -def mach_o_change(path, what, value): - """ - Replace a given name (what) in any LC_LOAD_DYLIB command found in - the given binary with a new name (value), provided it's shorter. - """ - - def do_macho(file, bits, endian): - # Read Mach-O header (the magic number is assumed read by the caller) - cputype, cpusubtype, filetype, ncmds, sizeofcmds, flags = read_data(file, endian, 6) - # 64-bits header has one more field. - if bits == 64: - read_data(file, endian) - # The header is followed by ncmds commands - for n in range(ncmds): - where = file.tell() - # Read command header - cmd, cmdsize = read_data(file, endian, 2) - if cmd == LC_LOAD_DYLIB: - # The first data field in LC_LOAD_DYLIB commands is the - # offset of the name, starting from the beginning of the - # command. - name_offset = read_data(file, endian) - file.seek(where + name_offset, os.SEEK_SET) - # Read the NUL terminated string - load = file.read(cmdsize - name_offset).decode() - load = load[:load.index('\0')] - # If the string is what is being replaced, overwrite it. - if load == what: - file.seek(where + name_offset, os.SEEK_SET) - file.write(value.encode() + '\0'.encode()) - # Seek to the next command - file.seek(where + cmdsize, os.SEEK_SET) - - def do_file(file, offset=0, size=maxint): - file = fileview(file, offset, size) - # Read magic number - magic = read_data(file, BIG_ENDIAN) - if magic == FAT_MAGIC: - # Fat binaries contain nfat_arch Mach-O binaries - nfat_arch = read_data(file, BIG_ENDIAN) - for n in range(nfat_arch): - # Read arch header - cputype, cpusubtype, offset, size, align = read_data(file, BIG_ENDIAN, 5) - do_file(file, offset, size) - elif magic == MH_MAGIC: - do_macho(file, 32, BIG_ENDIAN) - elif magic == MH_CIGAM: - do_macho(file, 32, LITTLE_ENDIAN) - elif magic == MH_MAGIC_64: - do_macho(file, 64, BIG_ENDIAN) - elif magic == MH_CIGAM_64: - do_macho(file, 64, LITTLE_ENDIAN) - - assert(len(what) >= len(value)) - - with open(path, 'r+b') as f: - do_file(f) - - -if __name__ == '__main__': - main() - -# TODO: -# Copy python.exe.manifest -# Monkeypatch distutils.sysconfig diff --git a/thirdparty/virtualenv.py.ABOUT b/thirdparty/virtualenv.py.ABOUT deleted file mode 100644 index 96161277..00000000 --- a/thirdparty/virtualenv.py.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: virtualenv.py -attribute: true -checksum_md5: e90c0347ea7779ad01fb730f0e0f7845 -checksum_sha1: 8b84034c7e4d825dd8d11e44d61437bb0b05bb6d -copyright: "Copyright (c) 2007 Ian Bicking and Contributors\r\nCopyright (c) 2009\ - \ Ian Bicking, The Open Planning Project\r\nCopyright (c) The virtualenv developers" -description: virtualenv is a tool to create isolated Python environments. -download_url: https://raw.githubusercontent.com/pypa/virtualenv/16.0.0/virtualenv.py -homepage_url: http://virtualenv.org/ -license_expression: mit -licenses: -- file: mit.LICENSE - key: mit - name: MIT License -name: virtualenv -notice_file: virtualenv.py.NOTICE -owner: The virtualenv developers -owner_url: http://www.virtualenv.org/en/latest/ -version: 16.0.0 diff --git a/thirdparty/virtualenv.py.NOTICE b/thirdparty/virtualenv.py.NOTICE deleted file mode 100644 index 08dd0f29..00000000 --- a/thirdparty/virtualenv.py.NOTICE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2007 Ian Bicking and Contributors -Copyright (c) 2009 Ian Bicking, The Open Planning Project -Copyright (c) 2011-2016 The virtualenv developers - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/wcwidth-0.1.7-py2.py3-none-any.whl b/thirdparty/wcwidth-0.1.7-py2.py3-none-any.whl deleted file mode 100644 index 00b3e373..00000000 Binary files a/thirdparty/wcwidth-0.1.7-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/wcwidth-0.1.7-py2.py3-none-any.whl.ABOUT b/thirdparty/wcwidth-0.1.7-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index c6c91324..00000000 --- a/thirdparty/wcwidth-0.1.7-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,23 +0,0 @@ -about_resource: wcwidth-0.1.7-py2.py3-none-any.whl -name: wcwidth -version: 0.1.7 -download_url: https://files.pythonhosted.org/packages/7e/9f/526a6947247599b084ee5232e4f9190a38f398d7300d866af3ab571a5bfe/wcwidth-0.1.7-py2.py3-none-any.whl -homepage_url: https://github.com/jquast/wcwidth/ -license_expression: mit AND other-permissive -copyright: Copyright (c) 2014 Jeff Quast -notice_file: wcwidth-0.1.7-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: Jeff Quast -owner_url: http://jeffquast.com -contact: contact@jeffquast.com -vcs_repository: https://github.com/jquast/wcwidth/ -checksum_md5: 9fb9f073e3560424296f3f2c745beac3 -checksum_sha1: 7f07602e0ac1c2bc240051b519390498a247c761 -package_url: pkg:pypi/wcwidth@0.1.7 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE - - key: other-permissive - name: Other Permissive Licenses - file: other-permissive.LICENSE diff --git a/thirdparty/wcwidth-0.1.7-py2.py3-none-any.whl.NOTICE b/thirdparty/wcwidth-0.1.7-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index bdb16c1e..00000000 --- a/thirdparty/wcwidth-0.1.7-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,29 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Jeff Quast - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -http://www.unicode.org/unicode/reports/tr11/ -Markus Kuhn -- 2007-05-26 (Unicode 5.0) -Permission to use, copy, modify, and distribute this software -for any purpose and without fee is hereby granted. The author -disclaims all warranties with regard to this software. -Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c \ No newline at end of file diff --git a/thirdparty/webencodings-0.5-py2-none-any.whl b/thirdparty/webencodings-0.5-py2-none-any.whl deleted file mode 100644 index 0d4ef3ca..00000000 Binary files a/thirdparty/webencodings-0.5-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/webencodings-0.5-py3-none-any.whl b/thirdparty/webencodings-0.5-py3-none-any.whl deleted file mode 100644 index 9e40b61a..00000000 Binary files a/thirdparty/webencodings-0.5-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/webencodings.ABOUT b/thirdparty/webencodings.ABOUT deleted file mode 100644 index f6a744f0..00000000 --- a/thirdparty/webencodings.ABOUT +++ /dev/null @@ -1,13 +0,0 @@ -about_resource: webencodings-0.5-py2-none-any.whl -name: webencodings -version: 0.5 -home_url: https://github.com/gsnedders/python-webencodings -download_url: https://pypi.python.org/packages/c3/e5/74d05eed73b09752ac3dc4a8a69ae92ffa1ce92fcb03eaa624d1fcd17e33/webencodings-0.5.tar.gz#md5=878714d45241f7970dffd8991d61fff9 -maintainer: Geoffrey Sneddon -owner: Simon Sapin -copyright: Copyright (c) 2012 Simon Sapin and others - -vcs_url: git+https://github.com/gsnedders/python-webencodings.git - -license_expression: bsd-new -license_file: webencodings.LICENSE diff --git a/thirdparty/webencodings.LICENSE b/thirdparty/webencodings.LICENSE deleted file mode 100644 index d1f384ae..00000000 --- a/thirdparty/webencodings.LICENSE +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) 2012 by Simon Sapin. - -Some rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * The names of the contributors may not be used to endorse or - promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/wheel-0.33.4-py2.py3-none-any.whl b/thirdparty/wheel-0.33.4-py2.py3-none-any.whl deleted file mode 100644 index ded10b0c..00000000 Binary files a/thirdparty/wheel-0.33.4-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/wheel-0.33.4-py2.py3-none-any.whl.ABOUT b/thirdparty/wheel-0.33.4-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 81eb7b0b..00000000 --- a/thirdparty/wheel-0.33.4-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: wheel-0.33.4-py2.py3-none-any.whl -name: Wheel -version: 0.33.4 -download_url: https://files.pythonhosted.org/packages/bb/10/44230dd6bf3563b8f227dbf344c908d412ad2ff48066476672f3a72e174e/wheel-0.33.4-py2.py3-none-any.whl#sha256=5e79117472686ac0c4aef5bad5172ea73a1c2d1646b808c35926bd26bdfb0c08 -description: | - A built-package format for Python. A wheel is a ZIP-format archive with a specially formatted filename and the .whl extension. It is designed to contain all the files for a PEP 376 compatible install in a way that is very close to the on-disk format. Many packages will be properly installed with only the "Unpack" step (simply extracting the file onto sys.path), and the unpacked archive preserves enough information to "Spread" (copy data and scripts to their final locations) at any later time. - - The wheel project provides a bdist_wheel command for setuptools (requires setuptools >= 0.8.0). Wheel files can be installed with a newer pip from https://github.com/pypa/pip or with wheel's own command line utility. -homepage_url: https://bitbucket.org/pypa/wheel -license_expression: mit -copyright: copyright (c) 2012-2014 Daniel Holth and contributors. -attribute: yes -owner: Python Packaging Authority -owner_url: https://www.pypa.io/en/latest/ -contact: distutils-sig@python.org -checksum_md5: 197d7aeff764238f757d222bd39605b5 -checksum_sha1: ba33735cdc29113a3f8de1e8f46619f10c69631f diff --git a/thirdparty/wincertstore-0.2-py2.py3-none-any.whl b/thirdparty/wincertstore-0.2-py2.py3-none-any.whl deleted file mode 100644 index d3bde983..00000000 Binary files a/thirdparty/wincertstore-0.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/wincertstore.ABOUT b/thirdparty/wincertstore.ABOUT deleted file mode 100644 index ed134331..00000000 --- a/thirdparty/wincertstore.ABOUT +++ /dev/null @@ -1,13 +0,0 @@ -about_resource: wincertstore-0.2-py2.py3-none-any.whl -version: 0.2 -download_url: https://pypi.python.org/packages/2.7/w/wincertstore/wincertstore-0.2-py2.py3-none-any.whl - -name: wincertstore - -license_expression: python -license_file: wincertstore.LICENSE - -contact: christian@python.org -owner: Christian Heimes -homepage_url: https://bitbucket.org/tiran/wincertstore -description: Python module to extract CA and CRL certs from Windows' cert store (ctypes based). diff --git a/thirdparty/wincertstore.LICENSE b/thirdparty/wincertstore.LICENSE deleted file mode 100644 index 311690c6..00000000 --- a/thirdparty/wincertstore.LICENSE +++ /dev/null @@ -1,49 +0,0 @@ -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python -alone or in any derivative version, provided, however, that PSF's -License Agreement and PSF's notice of copyright, i.e., "Copyright (c) -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; -All Rights Reserved" are retained in Python alone or in any derivative -version prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - diff --git a/thirdparty/xmltodict-0.11.0-py2.py3-none-any.whl b/thirdparty/xmltodict-0.11.0-py2.py3-none-any.whl deleted file mode 100644 index a2697ee2..00000000 Binary files a/thirdparty/xmltodict-0.11.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/xmltodict.ABOUT b/thirdparty/xmltodict.ABOUT deleted file mode 100644 index 33d3a32f..00000000 --- a/thirdparty/xmltodict.ABOUT +++ /dev/null @@ -1,11 +0,0 @@ -about_resource: xmltodict-0.11.0-py2.py3-none-any.whl -download_url: https://pypi.python.org/packages/42/a9/7e99652c6bc619d19d58cdd8c47560730eb5825d43a7e25db2e1d776ceb7/xmltodict-0.11.0-py2.py3-none-any.whl#md5=feb9f31561d6f0f777da1f96552feadc -version: 0.11.0 - -name: xmltodict -home_url: https://github.com/martinblech/xmltodict/ -owner: Martin Blech -dje_license: mit -license_text_file: xmltodict.LICENSE -copyright: Copyright (C) 2012 Martin Blech and individual contributors. -vcs_url: git+https://github.com/martinblech/xmltodict.git diff --git a/thirdparty/xmltodict.LICENSE b/thirdparty/xmltodict.LICENSE deleted file mode 100644 index 20158c2a..00000000 --- a/thirdparty/xmltodict.LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (C) 2012 Martin Blech and individual contributors. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/thirdparty/yg.lockfile-2.2.2-py2.py3-none-any.whl b/thirdparty/yg.lockfile-2.2.2-py2.py3-none-any.whl deleted file mode 100644 index 9b0b632d..00000000 Binary files a/thirdparty/yg.lockfile-2.2.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/yg.lockfile.ABOUT b/thirdparty/yg.lockfile.ABOUT deleted file mode 100644 index f45a19a1..00000000 --- a/thirdparty/yg.lockfile.ABOUT +++ /dev/null @@ -1,13 +0,0 @@ -about_resource: yg.lockfile-2.2.2-py2.py3-none-any.whl -version: 2.2.2 -download_url: https://pypi.python.org/packages/4f/f4/147a7b281816c4023485c1d712edd4afb42cc845b530ef7edf4939d6215d/yg.lockfile-2.2.2-py2.py3-none-any.whl#md5=826d6f9cf46f9740d153c6fa4f56114f - -name: yg.lockfile -home_url: https://github.com/yougov/yg.lockfile -owner: Jason Coombs - -license_expression: mit -license_file: yg.lockfile.LICENSE -copyright: Copyright (c) Jason R. Coombs - -vcs_url: git+https://github.com/yougov/yg.lockfile.git diff --git a/thirdparty/yg.lockfile.LICENSE b/thirdparty/yg.lockfile.LICENSE deleted file mode 100644 index 279eb31e..00000000 --- a/thirdparty/yg.lockfile.LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Jason R. Coombs - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/thirdparty/zc.lockfile-1.2.1-py2-none-any.whl b/thirdparty/zc.lockfile-1.2.1-py2-none-any.whl deleted file mode 100644 index 0030d797..00000000 Binary files a/thirdparty/zc.lockfile-1.2.1-py2-none-any.whl and /dev/null differ diff --git a/thirdparty/zc.lockfile-1.2.1-py3-none-any.whl b/thirdparty/zc.lockfile-1.2.1-py3-none-any.whl deleted file mode 100644 index fbbd1114..00000000 Binary files a/thirdparty/zc.lockfile-1.2.1-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/zc.lockfile.ABOUT b/thirdparty/zc.lockfile.ABOUT deleted file mode 100644 index a043989b..00000000 --- a/thirdparty/zc.lockfile.ABOUT +++ /dev/null @@ -1,13 +0,0 @@ -about_resource: zc.lockfile-1.2.1-py2-none-any.whl -version: 1.2.1 -download_url: https://pypi.python.org/packages/bd/84/0299bbabbc9d3f84f718ba1039cc068030d3ad723c08f82a64337edf901e/zc.lockfile-1.2.1.tar.gz#md5=163f0293d53a84f608f9008d9c0afc60 - -name: zc.lockfile -home_url: https://github.com/zopefoundation/zc.lockfile -owner: Zope Foundation - -license_expression: zpl-2.1 -license_file: zpl-2.1.LICENSE -copyright: Zope Foundation and Contributors - -vcs_url: git+https://github.com/zopefoundation/zc.lockfile.git diff --git a/thirdparty/zipp-0.5.1-py2.py3-none-any.whl b/thirdparty/zipp-0.5.1-py2.py3-none-any.whl deleted file mode 100644 index bbc04dd0..00000000 Binary files a/thirdparty/zipp-0.5.1-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/zlib.LICENSE b/thirdparty/zlib.LICENSE deleted file mode 100644 index f6351b0e..00000000 --- a/thirdparty/zlib.LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/thirdparty/zpl-2.0.LICENSE b/thirdparty/zpl-2.0.LICENSE deleted file mode 100644 index 7d99f89a..00000000 --- a/thirdparty/zpl-2.0.LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -This license has been certified as open source. It has also been designated as GPL compatible by the Free Software Foundation (FSF). - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - 1. Redistributions in source code must retain the above copyright notice, this list of conditions, and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution. - 3. The name Zope Corporation (tm) must not be used to endorse or promote products derived from this software without prior written permission from Zope Corporation. - 4. The right to distribute this software or to use it for any purpose does not give you the right to use Servicemarks (sm) or Trademarks (tm) of Zope Corporation. Use of them is covered in a separate agreement (see http://www.zope.com/Marks). - 5. If any files are modified, you must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. - -Disclaimer - -THIS SOFTWARE IS PROVIDED BY ZOPE CORPORATION ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZOPE CORPORATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -This software consists of contributions made by Zope Corporation and many individuals on behalf of Zope Corporation. Specific attributions are listed in the accompanying credits file. \ No newline at end of file diff --git a/thirdparty/zpl-2.1.LICENSE b/thirdparty/zpl-2.1.LICENSE deleted file mode 100644 index e1f9ad7b..00000000 --- a/thirdparty/zpl-2.1.LICENSE +++ /dev/null @@ -1,44 +0,0 @@ -Zope Public License (ZPL) Version 2.1 - -A copyright notice accompanies this license document that identifies the -copyright holders. - -This license has been certified as open source. It has also been designated as -GPL compatible by the Free Software Foundation (FSF). - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions in source code must retain the accompanying copyright -notice, this list of conditions, and the following disclaimer. - -2. Redistributions in binary form must reproduce the accompanying copyright -notice, this list of conditions, and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Names of the copyright holders must not be used to endorse or promote -products derived from this software without prior written permission from the -copyright holders. - -4. The right to distribute this software or to use it for any purpose does not -give you the right to use Servicemarks (sm) or Trademarks (tm) of the -copyright -holders. Use of them is covered by separate agreement with the copyright -holders. - -5. If any files are modified, you must cause the modified files to carry -prominent notices stating that you changed the files and the date of any -change. - -Disclaimer - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.