Concurrent builds of docker images part 1

This addresses separate input files/directories for
bullseye/trixie container builds.

It does not address container taging.

Change-Id: Ic7351abdd1e307d09fe4f3054ba93ad2e5ff9f62
Signed-off-by: Scott Little <scott.little@windriver.com>
This commit is contained in:
Scott Little
2025-11-26 14:46:23 -05:00
parent 62b916b73a
commit 7730349821
50 changed files with 6793 additions and 54 deletions

View File

@@ -34,7 +34,7 @@ time $MY_REPO/build-tools/build-docker-images/build-stx-images.sh \
--version ${VERSION} \
--stream ${BUILD_STREAM} \
--base ${PRIVATE_REGISTRY}/${PRIVATE_REGISTRY_USERID}/stx-${OS}:${VERSION} \
--wheels http://${HOSTNAME}:${HOST_PORT}/${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/stx-${OS}-${BUILD_STREAM}-wheels.tar \
--wheels http://${HOSTNAME}:${HOST_PORT}/${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/stx-${OS}-${BUILD_STREAM}-wheels.tar \
--user ${PRIVATE_REGISTRY_USERID} \
--registry ${PRIVATE_REGISTRY} \
--push --latest \

View File

@@ -24,7 +24,9 @@ renice -n 10 -p $$
ionice -c 3 -p $$
SUPPORTED_OS_ARGS=( 'debian' )
SUPPORTED_OS_CODENAME_ARGS=('bullseye' 'trixie')
OS= # default: autodetect
OS_CODENAME= # default: autodetect
OS_VERSION= # default: lookup "ARG RELEASE" in Dockerfile
BUILD_STREAM=stable
IMAGE_VERSION=
@@ -52,32 +54,33 @@ Usage:
$(basename $0)
Options:
--os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]})
--os-version: Specify OS version
--version: Specify version for output image
--stream: Build stream, stable or dev (default: stable)
--repo: Software repository, can be specified multiple times
* Debian format: "TYPE [OPTION=VALUE...] URL DISTRO COMPONENTS..."
This will be added to /etc/apt/sources.list as is,
see also sources.list(5) manpage.
--local: Use local build for software repository (cannot be used with --repo)
--push: Push to docker repo
--proxy: Set proxy <URL>:<PORT>
--latest: Add a 'latest' tag when pushing
--latest-tag: Use the provided tag when pushing latest.
--user: Docker repo userid
--registry: Docker registry
--clean: Remove image(s) from local registry
--hostname: build repo host
--os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]})
--os-codename: Specify base OS Codename (valid options: ${SUPPORTED_OS_CODENAME_ARGS[@]})
--os-version: Specify OS version
--version: Specify version for output image
--stream: Build stream, stable or dev (default: stable)
--repo: Software repository, can be specified multiple times
* Debian format: "TYPE [OPTION=VALUE...] URL DISTRO COMPONENTS..."
This will be added to /etc/apt/sources.list as is,
see also sources.list(5) manpage.
--local: Use local build for software repository (cannot be used with --repo)
--push: Push to docker repo
--proxy: Set proxy <URL>:<PORT>
--latest: Add a 'latest' tag when pushing
--latest-tag: Use the provided tag when pushing latest.
--user: Docker repo userid
--registry: Docker registry
--clean: Remove image(s) from local registry
--hostname: build repo host
--attempts <count>
Max attempts, in case of failure (default: 1)
Max attempts, in case of failure (default: 1)
--retry-delay <seconds>
Sleep this many seconds between retries (default: 30)
--config-file:Specify a path to a config file which will specify additional arguments to be passed into the command
Sleep this many seconds between retries (default: 30)
--config-file: Specify a path to a config file which will specify additional arguments to be passed into the command
--cache: Allow docker to use cached filesystem layers when building
CAUTION: this option may ignore locally-generated packages
and is meant for debugging the build scripts.
--cache: Allow docker to use cached filesystem layers when building
CAUTION: this option may ignore locally-generated packages
and is meant for debugging the build scripts.
EOF
}
@@ -127,7 +130,7 @@ function get_args_from_file {
done <"$1"
}
OPTS=$(getopt -o h -l help,os:,os-version:,version:,stream:,release:,repo:,push,proxy:,latest,latest-tag:,user:,registry:,local,clean,cache,hostname:,attempts:,retry-delay:,config-file: -- "$@")
OPTS=$(getopt -o h -l help,os:,os-codename:,os-version:,version:,stream:,release:,repo:,push,proxy:,latest,latest-tag:,user:,registry:,local,clean,cache,hostname:,attempts:,retry-delay:,config-file: -- "$@")
if [ $? -ne 0 ]; then
usage
exit 1
@@ -146,6 +149,10 @@ while true; do
OS=$2
shift 2
;;
--os-codename)
OS_CODENAME=$2
shift 2
;;
--os-version)
OS_VERSION=$2
shift 2
@@ -251,7 +258,31 @@ if [ ${VALID_OS} -ne 0 ]; then
exit 1
fi
SRC_DOCKER_DIR="${MY_SCRIPT_DIR}/stx-${OS}"
if [ -z "$OS_CODENAME" ] ; then
if [[ ! -z "$DEBIAN_DISTRIBUTION" ]]; then
OS_CODENAME="$DEBIAN_DISTRIBUTION"
else
OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)"
fi
if [[ -z "$OS_CODENAME" ]] ; then
echo "Unable to determine OS_CODENAME, please re-run with \`--os-codename' option" >&2
exit 1
fi
fi
VALID_OS_CODENAME=1
for supported_os_codename in ${SUPPORTED_OS_CODENAME_ARGS[@]}; do
if [ "$OS_CODENAME" = "${supported_os_codename}" ]; then
VALID_OS_CODENAME=0
break
fi
done
if [ ${VALID_OS_CODENAME} -ne 0 ]; then
echo "Unsupported OS_CODENAME specified: ${OS_CODENAME}" >&2
echo "Supported OS_CODENAME options: ${SUPPORTED_OS_CODENAME_ARGS[@]}" >&2
exit 1
fi
SRC_DOCKER_DIR="${MY_SCRIPT_DIR}/stx-${OS}-${OS_CODENAME}"
SRC_DOCKERFILE="${SRC_DOCKER_DIR}"/Dockerfile.${BUILD_STREAM}
if [[ -z "$OS_VERSION" ]]; then
OS_VERSION=$(
@@ -268,7 +299,7 @@ if [ -z "${IMAGE_VERSION}" ]; then
IMAGE_VERSION=${OS_VERSION}
fi
DEFAULT_CONFIG_FILE="${DEFAULT_CONFIG_FILE_DIR}/${DEFAULT_CONFIG_FILE_PREFIX}-${OS}-${BUILD_STREAM}.cfg"
DEFAULT_CONFIG_FILE="${DEFAULT_CONFIG_FILE_DIR}/${DEFAULT_CONFIG_FILE_PREFIX}-${OS}-${OS_CODENAME}-${BUILD_STREAM}.cfg"
# Read additional auguments from config file if it exists.
if [[ -z "$CONFIG_FILE" ]] && [[ -f ${DEFAULT_CONFIG_FILE} ]]; then
@@ -296,7 +327,7 @@ else
fi
fi
BUILDDIR=${MY_WORKSPACE}/std/build-images/stx-${OS}
BUILDDIR=${MY_WORKSPACE}/std/build-images/stx-${OS}-${OS_CODENAME}
if [ -d ${BUILDDIR} ]; then
# Leftover from previous build
rm -rf ${BUILDDIR}

View File

@@ -23,7 +23,9 @@ renice -n 10 -p $$
ionice -c 3 -p $$
SUPPORTED_OS_ARGS=('centos' 'debian' 'distroless')
SUPPORTED_OS_CODENAME_ARGS=('bullseye' 'trixie')
OS=
OS_CODENAME=
OS_LABEL=
BUILD_STREAM=stable
IMAGE_VERSION=$(date --utc '+%Y.%m.%d.%H.%M') # Default version, using timestamp
@@ -64,6 +66,7 @@ $(basename $0)
Options:
--os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]})
--os-codename: Specify base OS Codename (valid options: ${SUPPORTED_OS_CODENAME_ARGS[@]})
--os-label: Use this string as part of image tags, log file names and
image record file names, in place of OS, eg:
"--os distroless --os-label debian" would look for
@@ -859,7 +862,7 @@ function build_image {
esac
}
OPTS=$(getopt -o hN -l help,os:,os-label:,version:,release:,stream:,push,http_proxy:,https_proxy:,no_proxy:,user:,registry:,base:,wheels:,wheels-alternate:,wheels-py2:,only:,skip:,prefix:,latest,latest-prefix:,clean,cache,attempts:,retry-delay:,no-pull-base -- "$@")
OPTS=$(getopt -o hN -l help,os:,os-codename:,os-label:,version:,release:,stream:,push,http_proxy:,https_proxy:,no_proxy:,user:,registry:,base:,wheels:,wheels-alternate:,wheels-py2:,only:,skip:,prefix:,latest,latest-prefix:,clean,cache,attempts:,retry-delay:,no-pull-base -- "$@")
if [ $? -ne 0 ]; then
usage
exit 1
@@ -882,6 +885,10 @@ while true; do
OS=$2
shift 2
;;
--os-codename)
OS_CODENAME=$2
shift 2
;;
--os-label)
OS_LABEL=$2
shift 2
@@ -1005,8 +1012,32 @@ if [ ${VALID_OS} -ne 0 ]; then
exit 1
fi
if [ -z "$OS_CODENAME" ] ; then
if [[ ! -z "$DEBIAN_DISTRIBUTION" ]]; then
OS_CODENAME="$DEBIAN_DISTRIBUTION"
else
OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)"
fi
if [[ -z "$OS_CODENAME" ]] ; then
echo "Unable to determine OS_CODENAME, please re-run with \`--os-codename' option" >&2
exit 1
fi
fi
VALID_OS_CODENAME=1
for supported_os_codename in ${SUPPORTED_OS_CODENAME_ARGS[@]}; do
if [ "$OS_CODENAME" = "${supported_os_codename}" ]; then
VALID_OS_CODENAME=0
break
fi
done
if [ ${VALID_OS_CODENAME} -ne 0 ]; then
echo "Unsupported OS_CODENAME specified: ${OS_CODENAME}" >&2
echo "Supported OS_CODENAME options: ${SUPPORTED_OS_CODENAME_ARGS[@]}" >&2
exit 1
fi
if [[ -z "$OS_LABEL" ]] ; then
OS_LABEL="$OS"
OS_LABEL="${OS}-${OS_CODENAME}"
fi
if [ -z "${BASE}" ]; then
@@ -1046,11 +1077,22 @@ function find_image_build_files {
local image_build_inc_file image_build_dir image_build_file
local -A all_labels
for image_build_inc_file in $(find ${GIT_LIST} \! -path "$(git_ctx_root_dir)/do-not-build/*" -maxdepth 1 -name "${OS}_${BUILD_STREAM}_docker_images.inc"); do
for image_build_inc_file in $(find ${GIT_LIST} -maxdepth 1 \! -path "$(git_ctx_root_dir)/do-not-build/*" \
-name "${OS}_${BUILD_STREAM}_docker_images.inc" \
-o -name "${OS}_${OS_CODENAME}_${BUILD_STREAM}_docker_images.inc"); do
basedir=$(dirname ${image_build_inc_file})
for image_build_dir in $(sed -e 's/#.*//' ${image_build_inc_file} | sort -u); do
for image_build_file in ${basedir}/${image_build_dir}/${OS}/*.${BUILD_STREAM}_docker_image; do
final_build_dir="${basedir}/${image_build_dir}/${OS}"
if [ "${OS}" != "centos" ]; then
if [ -d "${final_build_dir}/${OS_CODENAME}" ]; then
final_build_dir="${final_build_dir}/${OS_CODENAME}"
elif [ -d "${final_build_dir}/all" ]; then
final_build_dir="${final_build_dir}/all"
elif [ "${OS_CODENAME}" != "bullseye" ]; then
continue
fi
fi
for image_build_file in ${final_build_dir}/*.${BUILD_STREAM}_docker_image; do
# Make sure image exists
if [[ ! -f "$image_build_file" ]] ; then
echo "ERROR: $image_build_file: file not found" >&2

View File

@@ -0,0 +1,144 @@
# These are overridden by build-stx-debian.sh
ARG DIST=bullseye
ARG RELEASE=11.2
################################################
# ca_certs build stage
################################################
# We need up-to-date SSL certs, otherwise we won't be able to access
# mirror.starlingx.windriver.com; yet the ca-certificates package is
# behind that URL. As a workaround: install ca-certificates from
# upstream debian, then copy the (generated) CA bundle into the.
# main build stage.
FROM debian:${DIST} as ca_certs
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y && \
apt-get -y install --no-install-recommends ca-certificates
################################################
# main build stage
################################################
# Start with an the old-ish bullseye release (11.2), then upgrade --
# to make sure packages that come pre-installed in the debian:XXX image
# are older than anything in StarlingX.
FROM debian:${RELEASE}
ENV DEBIAN_FRONTEND=noninteractive
# Disable upstream debian repos
RUN mv /etc/apt/sources.list /etc/apt/sources.list.disabled
# Install apt repos
COPY apt/debian.sources.list /etc/apt/sources.list.d/debian.list.disabled
COPY apt/stx.sources.list /etc/apt/sources.list.d/stx.list.disabled
COPY apt/stx.preferences /etc/apt/preferences.d/stx
# Install layer-specific binary repositories.
# Note: They are all supposed to be disabled by default, but can be optionally
# enabled if it is necessary to build an image that requires
# dependencies that are in repositories not listed in `stx.sources.list`.
COPY apt/*.layer.sources.list /etc/apt/sources.list.d/
RUN for layer in /etc/apt/sources.list.d/*.layer.sources.list; do \
mv "${layer}" "$(echo "${layer}" | sed s/.layer.sources.list/.list.disabled/)"; \
done
# repo templates:
# /etc/apt/sources.list.d/
# debian.list.disabled - vanilla debian repos
# stx.list.disabled - starlingx binary & build repos
#
# To enable a repo list:
# cp /etc/apt/sources.list.d/$repo_list.disabled \
# /etc/apt/sources.list.d/$repo_list
#
# To disable a repo list:
# rm -f /etc/apt/sources.list.d/$repo_list
#
# By default only stx.list is enabled, which includes only the packages
# built by stx tools, and the binary packages from the curated binary
# download lists (bullseye-base.lst etc).
#
# Enabling the upstream repos ("debian.list") is dangerous because it
# may conflict with packages in stx.list.
#
#
# FIXME: apt evaluates these files in alphabetical order, so stx.list
# comes after debian.list. When the local binary repo contains
# the same package/version as the debian repo, apt will download
# it from debian, regardless of the priority in /etc/apt/preferences.
# We should rename these files to make stx.list sort before
# debian.list. This would affect Loci scripts in
# loci/docker/stx-scripts/
#
#
# Copy CA certs from the "ca_certs" build stage. The bundle file was generated
# by ca-certificates in that stage, and will be re-generated when we install
# that package again in the main stage below. That version may be *older* than
# the certs that we are copying here. We assume ca-certificates is regularly
# updated in stx-tools' package download lists, or it is built by us, and contains
# all the certs we might need during docker images build, such as the intermidate
# cert used by mirror.starlingx.windriver.com .
#
RUN mkdir -p /etc/ssl/certs
COPY --from=ca_certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
#
# Upgrade base packages to versions in managed repos
#
RUN cp -f /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list && \
apt-get -y update && \
apt-get -y upgrade && \
apt-get -y install --no-install-recommends --no-install-suggests \
ca-certificates \
libapache2-mod-wsgi-py3 \
python3-setuptools \
&& \
rm -f /etc/apt/sources.list.d/stx.list && \
apt-get clean && rm -rf /var/lib/apt/lists/*
#
# Enable stx repo only. Packages installs below this point will use
# only the managed locally-built & 3rd-party repos.
#
RUN cp /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list
#
# Install required packages
#
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get install -y \
openssh-client \
python3 \
python3-pip \
python3-wheel \
# FIXME: uncomment once qemu is ported to debian (starlingx/integ)
# qemu-utils \
&& \
apt-get remove -y gcc-9-base && \
# gcc-9-base ends up unused since in bullseye the default gcc is gcc-10
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# FIXME: these packages are not required by most docker images inheriting
# from this image. However these Python modules are not buildable from
# source (ie by pip) on Debian and require patches. Install the patched
# versions as DEB packages to make sure pip dependencies in derived images
# are satisfied.
#
# A better solution would be to omit them here, but install them in each
# project that requires them; or add wheel subpackages to these DEBs.
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get install -y \
python3-thriftpy \
python3-nss \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

View File

@@ -0,0 +1 @@
deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-binary-@LAYER@ @DEBIAN_DISTRIBUTION@ main

View File

@@ -0,0 +1,4 @@
Explanation: Prefer StarlingX repos over anything else
Package: *
Pin: release o=@REPOMGR_ORIGIN@
Pin-Priority: 999

View File

@@ -0,0 +1,3 @@
deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-binary-containers @DEBIAN_DISTRIBUTION@ main
deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-binary @DEBIAN_DISTRIBUTION@ main
deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-build @DEBIAN_DISTRIBUTION@ main

View File

@@ -21,7 +21,9 @@ fi
KEEP_IMAGE=no
KEEP_CONTAINER=no
SUPPORTED_OS_LIST=( 'debian' )
SUPPORTED_OS_CODENAME_ARGS=('bullseye' 'trixie')
OS=
OS_CODENAME=
OS_VERSION=
BUILD_STREAM=stable
HTTP_PROXY=""
@@ -39,6 +41,7 @@ $(basename $0) [ --os <os> ] [ --keep-image ] [ --keep-container ] [ --stream <s
Options:
--os: Override base OS (eg. debian; default: auto)
--os-codename: Override base OS Codename (valid options: ${SUPPORTED_OS_CODENAME_ARGS[@]})
--os-version: Override OS version (default: auto)
--keep-image: Skip deletion of the wheel build image in docker
--keep-container: Skip deletion of container used for the build
@@ -59,7 +62,7 @@ Options:
EOF
}
OPTS=$(getopt -o h -l help,os:,os-version:,keep-image,keep-container,release:,stream:,http_proxy:,https_proxy:,no_proxy:,attempts:,retry-delay:,cache -- "$@")
OPTS=$(getopt -o h -l help,os:,os-codename:,os-version:,keep-image,keep-container,release:,stream:,http_proxy:,https_proxy:,no_proxy:,attempts:,retry-delay:,cache -- "$@")
if [ $? -ne 0 ]; then
usage
exit 1
@@ -78,6 +81,10 @@ while true; do
OS=$2
shift 2
;;
--os-codename)
OS_CODENAME=$2
shift 2
;;
--os-version)
OS_VERSION=$2
shift 2
@@ -141,6 +148,42 @@ if [ -z "$OS" ] ; then
exit 1
fi
fi
VALID_OS=1
for supported_os in ${SUPPORTED_OS_ARGS[@]}; do
if [ "$OS" = "${supported_os}" ]; then
VALID_OS=0
break
fi
done
if [ ${VALID_OS} -ne 0 ]; then
echo "Unsupported OS specified: ${OS}" >&2
echo "Supported OS options: ${SUPPORTED_OS_ARGS[@]}" >&2
exit 1
fi
if [ -z "$OS_CODENAME" ] ; then
if [[ ! -z "$DEBIAN_DISTRIBUTION" ]]; then
OS_CODENAME="$DEBIAN_DISTRIBUTION"
else
OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)"
fi
if [[ -z "$OS_CODENAME" ]] ; then
echo "Unable to determine OS_CODENAME, please re-run with \`--os-codename' option" >&2
exit 1
fi
fi
VALID_OS_CODENAME=1
for supported_os_codename in ${SUPPORTED_OS_CODENAME_ARGS[@]}; do
if [ "$OS_CODENAME" = "${supported_os_codename}" ]; then
VALID_OS_CODENAME=0
break
fi
done
if [ ${VALID_OS_CODENAME} -ne 0 ]; then
echo "Unsupported OS_CODENAME specified: ${OS_CODENAME}" >&2
echo "Supported OS_CODENAME options: ${SUPPORTED_OS_CODENAME_ARGS[@]}" >&2
exit 1
fi
BUILD_IMAGE_NAME="${USER}-$(basename ${MY_WORKSPACE})-wheelbuilder:${OS}-${BUILD_STREAM}"
@@ -148,11 +191,12 @@ BUILD_IMAGE_NAME="${USER}-$(basename ${MY_WORKSPACE})-wheelbuilder:${OS}-${BUILD
# The following will substitute caps with lower case.
BUILD_IMAGE_NAME="${BUILD_IMAGE_NAME,,}"
DOCKER_FILE=${MY_SCRIPT_DIR}/${OS}/Dockerfile
DOCKER_FILE=${MY_SCRIPT_DIR}/${OS}-${OS_CODENAME}/Dockerfile
if [ ! -f ${DOCKER_FILE} ]; then
echo "Unsupported OS specified: ${OS}" >&2
echo "Unsupported OS/CODENAME specified: ${OS}/${OS_CODENAME}" >&2
echo "Supported OS options: ${SUPPORTED_OS_LIST[@]}" >&2
echo "Supported OS CODENAME options: ${SUPPORTED_OS_CODENAME_LIST[@]}" >&2
exit 1
fi
@@ -222,11 +266,11 @@ function prepare_output_dir {
fi
}
DOCKER_BUILD_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/docker
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/base
BUILD_OUTPUT_PATH_PY2=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/base-py2
WHEELS_CFG=${MY_SCRIPT_DIR}/${OS}/${BUILD_STREAM}-wheels.cfg
WHEELS_CFG_PY2=${MY_SCRIPT_DIR}/${OS}/${BUILD_STREAM}-wheels-py2.cfg
DOCKER_BUILD_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/docker
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/base
BUILD_OUTPUT_PATH_PY2=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/base-py2
WHEELS_CFG=${MY_SCRIPT_DIR}/${OS}-${OS_CODENAME}/${BUILD_STREAM}-wheels.cfg
WHEELS_CFG_PY2=${MY_SCRIPT_DIR}/${OS}-${OS_CODENAME}/${BUILD_STREAM}-wheels-py2.cfg
# make sure .cfg files exist
require_file "${WHEELS_CFG}"
@@ -311,7 +355,7 @@ fi
# Create a directory containing docker files
\rm -rf "${DOCKER_BUILD_PATH}"
mkdir -p "${DOCKER_BUILD_PATH}"
\cp -r "${MY_SCRIPT_DIR}/docker-common" "${MY_SCRIPT_DIR}/${OS}" "${DOCKER_BUILD_PATH}" || exit 1
\cp -r "${MY_SCRIPT_DIR}/docker-common" "${MY_SCRIPT_DIR}/${OS}-${OS_CODENAME}" "${DOCKER_BUILD_PATH}" || exit 1
# Replace "@...@" vars in apt/*.in files
if [[ "${OS}" == "debian" ]] ; then
(

View File

@@ -23,7 +23,9 @@ renice -n 10 -p $$
ionice -c 3 -p $$
SUPPORTED_OS_ARGS=( 'debian' )
SUPPORTED_OS_CODENAME_ARGS=('bullseye' 'trixie')
OS=
OS_CODENAME=
OS_VERSION=
BUILD_STREAM=stable
VERSION=$(date --utc '+%Y.%m.%d.%H.%M') # Default version, using timestamp
@@ -71,6 +73,7 @@ $(basename $0)
Options:
--os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]})
--os-codename: Specify base OS Codename (valid options: ${SUPPORTED_OS_CODENAME_ARGS[@]})
--os-version: Specify OS version
--stream: Build stream, stable or dev (default: stable)
--push: Push to docker repo
@@ -92,7 +95,7 @@ Options:
EOF
}
OPTS=$(getopt -o h -l help,os:,os-version:,push,clean,user:,release:,stream:,http_proxy:,https_proxy:,no_proxy:,version:,attempts:,retry-delay:,python2,extra-wheels-dir:,keep-image,cache -- "$@")
OPTS=$(getopt -o h -l help,os:,os-codename:,os-version:,push,clean,user:,release:,stream:,http_proxy:,https_proxy:,no_proxy:,version:,attempts:,retry-delay:,python2,extra-wheels-dir:,keep-image,cache -- "$@")
if [ $? -ne 0 ]; then
usage
exit 1
@@ -111,6 +114,10 @@ while true; do
OS=$2
shift 2
;;
--os-codename)
OS_CODENAME=$2
shift 2
;;
--os-version)
OS_VERSION=$2
shift 2
@@ -208,8 +215,33 @@ if [ ${VALID_OS} -ne 0 ]; then
exit 1
fi
if [ -z "$OS_CODENAME" ] ; then
OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)"
if [[ ! -z "$DEBIAN_DISTRIBUTION" ]]; then
OS_CODENAME="$DEBIAN_DISTRIBUTION"
else
OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)"
fi
if [[ -z "$OS_CODENAME" ]] ; then
echo "Unable to determine OS_CODENAME, please re-run with \`--os-codename' option" >&2
exit 1
fi
fi
VALID_OS_CODENAME=1
for supported_os_codename in ${SUPPORTED_OS_CODENAME_ARGS[@]}; do
if [ "$OS_CODENAME" = "${supported_os_codename}" ]; then
VALID_OS_CODENAME=0
break
fi
done
if [ ${VALID_OS_CODENAME} -ne 0 ]; then
echo "Unsupported OS_CODENAME specified: ${OS_CODENAME}" >&2
echo "Supported OS_CODENAME options: ${SUPPORTED_OS_CODENAME_ARGS[@]}" >&2
exit 1
fi
# Read openstack URLs
OPENSTACK_CFG="${MY_SCRIPT_DIR}/$OS/openstack.cfg"
OPENSTACK_CFG="${MY_SCRIPT_DIR}/${OS}-${OS_CODENAME}/openstack.cfg"
source "$OPENSTACK_CFG" || exit 1
# Set python version-specific variables
@@ -225,7 +257,7 @@ fi
# Build the base wheels and retrieve the StarlingX wheels
declare -a BUILD_BASE_WL_ARGS
BUILD_BASE_WL_ARGS+=(--os ${OS} --stream ${BUILD_STREAM})
BUILD_BASE_WL_ARGS+=(--os ${OS} --os-codename ${OS_CODENAME} --stream ${BUILD_STREAM})
if [ -n "$OS_VERSION" ]; then
BUILD_BASE_WL_ARGS+=(--os-version "${OS_VERSION}")
fi
@@ -255,13 +287,13 @@ if [ $? -ne 0 ]; then
exit 1
fi
${MY_SCRIPT_DIR}/get-stx-wheels.sh --os ${OS} --stream ${BUILD_STREAM}
${MY_SCRIPT_DIR}/get-stx-wheels.sh --os ${OS} --os-codename ${OS_CODENAME} --stream ${BUILD_STREAM}
if [ $? -ne 0 ]; then
echo "Failure running get-stx-wheels.sh" >&2
exit 1
fi
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/tarball${PY_SUFFIX}
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/tarball${PY_SUFFIX}
if [ -d ${BUILD_OUTPUT_PATH} ]; then
# Wipe out the existing dir to ensure there are no stale files
rm -rf ${BUILD_OUTPUT_PATH}
@@ -271,7 +303,7 @@ cd ${BUILD_OUTPUT_PATH}
IMAGE_NAME=stx-${OS}-${BUILD_STREAM}-wheels${PY_SUFFIX}
TARBALL_FNAME=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/${IMAGE_NAME}.tar
TARBALL_FNAME=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/${IMAGE_NAME}.tar
if [ -f ${TARBALL_FNAME} ]; then
rm -f ${TARBALL_FNAME}
fi

View File

@@ -0,0 +1,2 @@
deb [check-valid-until=0] @DEBIAN_SNAPSHOT@ @DEBIAN_DISTRIBUTION@ main
deb [check-valid-until=0] @DEBIAN_SECURITY_SNAPSHOT@ @DEBIAN_DISTRIBUTION@-security main

View File

@@ -0,0 +1,107 @@
# Start with an the old-ish trixie release (13.0), then upgrade --
# to make sure packages that come pre-installed in the debian:XXX image
# are older than anything in StarlingX.
ARG RELEASE=13.0
FROM debian:${RELEASE}
ENV DEBIAN_FRONTEND=noninteractive
ARG BUILD_STREAM=stable
# Install latest ca-certificates
RUN apt-get -y update && \
apt-get -y --no-install-recommends --no-install-suggests install ca-certificates
# Disable upstream debian repos
RUN mv /etc/apt/sources.list /etc/apt/sources.list.disabled
# Install apt repos
COPY debian/apt/debian.sources.list /etc/apt/sources.list.d/debian.list
COPY debian/apt/stx.sources.list /etc/apt/sources.list.d/stx.list
COPY debian/apt/stx.preferences /etc/apt/preferences.d/stx
# Clean apt cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# Upgrade base packages to versions in the managed repos
RUN mv /etc/apt/sources.list.d/debian.list /etc/apt/sources.list.d/debian.list.disabled && \
apt-get -y update && \
apt-get -y upgrade && \
mv /etc/apt/sources.list.d/debian.list.disabled /etc/apt/sources.list.d/debian.list && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# FIXME: disable vanilla trixie repo. Requires all dependent packages
# referenced by apt-get to be added to stx-tools .lst file(s). Otherwise
# we get a "random" set of packages, some from upstream, some from STX.
# We may also get package conflicts between vanilla debian & STX repos.
# Install the necessary packages for building the python modules.
# Some of these are dependencies of the specific modules, and could
# instead be added to the wheels.cfg file in the future.
RUN set -ex ; \
apt-get -y update ; \
apt-get -y --no-install-recommends --no-install-suggests install \
bzip2 \
g++ \
gcc \
git \
libev-dev \
liberasurecode-dev \
libffi-dev \
libkrb5-dev \
libldap2-dev \
libmariadb-dev \
libnss3-dev \
libpcre3-dev \
libpq-dev \
libsasl2-dev \
libsystemd-dev \
libvirt-dev \
libxml2-dev \
libxslt1-dev \
pkg-config \
python3 \
python3-dev \
python3-nss \
python3-pip \
python3-setuptools \
python3-setuptools-scm \
python3-thriftpy \
python3-wheel \
swig \
unzip \
wget \
zip \
; \
# make sure python3-nss is sane \
# the upstream version of it doesn't install pip metadata, but our patched version does
if [ `find /usr/lib/python3/dist-packages -maxdepth 1 -type f -name 'python_nss*.egg-info' -print -quit | wc -l` -eq 0 ] ; then \
echo "python-nss didn't install pip metadata!" >&2 ; \
echo "Did you compile python-nss locally prior to building this docker image?" >&2 ; \
exit 1 ; \
fi
# These are required to build the python lxml module
ENV XML2_CONFIG=/usr/bin/xml2-config XSLT_CONFIG=/usr/bin/xslt-config
# Python2 environment
RUN set -ex ; \
apt-get -y install \
python \
python-dev \
python-setuptools \
; \
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py ; \
python get-pip.py ; \
rm -f get-pip.py
# APT clean up
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Copy local files
COPY docker-common/docker-build-wheel.sh /
COPY debian/${BUILD_STREAM}-wheels.cfg /wheels.cfg
COPY debian/${BUILD_STREAM}-wheels-py2.cfg /wheels-py2.cfg

View File

@@ -0,0 +1,2 @@
deb [check-valid-until=0] @DEBIAN_SNAPSHOT@ @DEBIAN_DISTRIBUTION@ main
deb [check-valid-until=0] @DEBIAN_SECURITY_SNAPSHOT@ @DEBIAN_DISTRIBUTION@-security main

View File

@@ -0,0 +1,7 @@
# See: https://manpages.debian.org/buster/apt/apt_preferences.5.en.html
Explanation: Prefer StarlingX repos over vanilla Debian
Package: *
Pin: origin "@REPOMGR_HOST@"
Pin-Priority: 999

View File

@@ -0,0 +1,3 @@
deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-binary @DEBIAN_DISTRIBUTION@ main
deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-binary-containers @DEBIAN_DISTRIBUTION@ main
deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-build @DEBIAN_DISTRIBUTION@ main

View File

@@ -0,0 +1,6 @@
This directory contains the patched versions of openstack/requirements files:
ussuri/ - openstack/ussuri release
upstream/ - original unpatched versions
global-requirements.txt - patched for Debian/trixie
upper-constraints.txt - patched for Debian/trixie

View File

@@ -0,0 +1,591 @@
abclient # Apache-2.0
alembic!=1.2.0 # MIT
amqp!=2.1.4 # BSD
ansible-runner!=1.3.5 # Apache 2.0
anyjson # BSD
appdirs # MIT License
apscheduler # MIT License
autobahn # MIT License
automaton # Apache-2.0
beautifulsoup4 # MIT
Babel!=2.4.0 # BSD
bcrypt # Apache-2.0
betamax # Apache-2.0
betamax-matchers # Apache-2.0
blockdiag!=2.0.0 # Apache-2.0
boto # MIT
boto3 # Apache-2.0
botocore # Apache-2.0
cassandra-driver!=3.6.0 # Apache-2.0
castellan # Apache-2.0
ceilometermiddleware # Apache-2.0
cachetools # MIT License
cffi # MIT
cliff!=2.9.0,!=2.17.0,<3.0.0;python_version=='2.7' # Apache-2.0
cliff!=2.9.0,!=2.17.0;python_version>='3.6' # Apache-2.0
# NOTE(mordred) python-openstackclient is broken due to bug 1810213
cmd2!=0.8.3,<0.9.0 # MIT
confluent-kafka!=1.4.0 # Apache-2.0
cotyledon # Apache-2.0
construct<2.9 # MIT
PuLP # MIT
contextlib2;python_version<'3.0' # PSF License
croniter # MIT License
cryptography!=2.0 # BSD/Apache-2.0
cursive # Apache-2.0
dataclasses;python_version=='3.6' # Apache-2.0
ddt # MIT
debtcollector<2.0.0;python_version<'3.0' # Apache-2.0
debtcollector;python_version>='3.0' # Apache-2.0
decorator # BSD
defusedxml # PSF
dib-utils # Apache-2.0
diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0
distro # Apache-2.0
Django<2;python_version<'3.0' # BSD
Django<3.0;python_version>='3.0' # BSD
django-compressor # MIT
django-debreach # BSD
django-floppyforms<2 # BSD
django-formtools # BSD
dnspython;python_version=='2.7' # http://www.dnspython.org/LICENSE
dnspython3!=1.13.0,!=1.14.0;python_version>='3.0' # http://www.dnspython.org/LICENSE
# Note(tonyb): We don't actually directly depend on docutils but we pull it in
# indirectly and we needed to blacklist 0.13.1 for problems with
# Sphinx 1.3. This can be now removed once all projects removed it.
docutils # OSI-Approved Open Source, Public Domain
dogpile.cache # BSD
dogtag-pki # LGPLv3+
dulwich!=0.19.3,!=0.19.7 # Apache-2.0
edgegrid-python # Apache-2.0
elasticsearch<3.0.0 # Apache-2.0
enmerkar;python_version>='3.0' # BSD
enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD
# NOTE: New versions of eventlet should not be accepted lightly
# as they have earned a reputation of frequently breaking things.
eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0 # MIT
exabgp!=4.0.6 # BSD
extras # MIT
faker # MIT
falcon # Apache-2.0
Flask!=0.11 # BSD
flask-keystone # Apache-2.0
flask-oslolog # Apache-2.0
Flask-RESTful # BSD
Flask-SQLAlchemy # BSD
fortiosclient # Apache-2.0
futures!=0.17.0;python_version=='2.7' or python_version=='2.6' # PSF
futurist<2.0.0;python_version=='2.7' # Apache-2.0
futurist;python_version>='3.6' # Apache-2.0
funcsigs;python_version=='2.7' or python_version=='2.6' # Apache-2.0
glance-store!=0.29.0 # Apache-2.0
google-api-python-client # Apache-2.0
graphviz!=0.5.0 # MIT License
greenlet!=0.4.14 # MIT
GitPython<2.1.12;python_version<'3.0' # BSD License (3 clause)
GitPython;python_version>='3.0' # BSD License (3 clause)
gunicorn<20.0.0;python_version<'3.0' # MIT
gunicorn;python_version>='3.0' # MIT
happybase!=0.7,!=1.0.0;python_version=='2.7' # MIT
heat-translator # Apache-2.0
horizon # Apache-2.0
httplib2 # MIT
hvac # Apache-2.0
icalendar # BSD
importlib-metadata # Apache-2.0
infinisdk # BSD-3
influxdb!=5.2.0,!=5.2.1,!=5.2.2,!=5.2.3;python_version<'3.0' # MIT
influxdb;python_version>='3.0' # MIT
instack-undercloud # Apache-2.0
ironic-lib # Apache-2.0
ipaddress;python_version<'3.3' # PSF
iso8601 # MIT
jira # BSD License (2 clause)
Jinja2 # BSD License (3 clause)
jmespath # MIT
jsonmodels # BSD License (3 clause)
jsonpatch!=1.20 # BSD
jsonpath-rw<2.0 # Apache-2.0
jsonpath-rw-ext # Apache-2.0
jsonschema # MIT
kazoo # Apache-2.0
keystoneauth1 # Apache-2.0
keystonemiddleware # Apache-2.0
krest # Apache-2.0
kubernetes # Apache-2.0
kuryr-lib # Apache-2.0
packaging # Apache-2.0
pylev # BSD
pypowervm!=1.1.21,!=1.1.22 # Apache-2.0
pyScss!=1.3.5 # MIT License
django-pyscss # BSD License (2 clause)
kombu!=4.0.2 # BSD
ldap3 # LGPLv3
deprecation # Apache-2.0
libvirt-python!=4.1.0,!=4.2.0,<6.0.0;python_version<'3.0' # LGPLv2+
libvirt-python!=4.1.0,!=4.2.0;python_version>='3.0' # LGPLv2+
lxml!=3.7.0 # BSD
Mako # MIT
marathon!=0.9.1 # MIT
metalsmith # Apache-2.0
microversion-parse # Apache-2.0
mistral-lib # Apache-2.0
monasca-common # Apache-2.0
monasca-statsd # Apache-2.0
monotonic;python_version<'3.3' # Apache-2.0
msgpack # Apache-2.0
munch # MIT
murano-pkg-check # Apache-2.0
mypy;python_version>='3.4' # MIT
ndg-httpsclient;python_version<'3.0' # BSD
netaddr # BSD
netifaces!=0.10.0,!=0.10.1 # MIT
netmiko # MIT
network-runner # Apache 2.0
networking-bagpipe # Apache-2.0
networking-bgpvpn # Apache-2.0
networking-l2gw # Apache-2.0
networking-odl # Apache-2.0
networking-sfc # Apache-2.0
# NOTE(fdegir): NetworkX 2.3 dropped support for Python 2
networkx<2.3;python_version<'3.0' # BSD
networkx;python_version>='3.4' # BSD
# NOTE(ralonsoh): neutron-lib 2.0.0 dropped support for Python 2
neutron-lib<2.0.0;python_version=='2.7' # Apache-2.0
neutron-lib;python_version>='3.6' # Apache-2.0
neutron-dynamic-routing # Apache-2.0
neutron-fwaas # Apache-2.0
neutron-lbaas # Apache-2.0
neutron-vpnaas # Apache-2.0
neutron # Apache-2.0
notifier # Apache-2.0
oauth2client!=4.0.0 # Apache-2.0
oauthlib # BSD
octavia-lib # Apache-2.0
openstackdocstheme # Apache-2.0
osc-lib # Apache-2.0
osc-placement # Apache-2.0
oslo.cache!=1.31.1,<2.0.0;python_version<'3.0' # Apache-2.0
oslo.cache!=1.31.1,!=2.1.0;python_version>='3.0' # Apache-2.0
oslo.config!=4.3.0,!=4.4.0,<8.0.0;python_version<'3.0' # Apache-2.0
oslo.config!=4.3.0,!=4.4.0;python_version>='3.0' # Apache-2.0
oslo.concurrency<4.0.0;python_version<'3.0' # Apache-2.0
oslo.concurrency;python_version>='3.0' # Apache-2.0
oslo.context<3.0.0;python_version<'3.0' # Apache-2.0
oslo.context;python_version>='3.0' # Apache-2.0
oslo.db # Apache-2.0
oslo.i18n<4.0.0;python_version=='2.7' # Apache-2.0
oslo.i18n;python_version>='3.6' # Apache-2.0
oslo.limit<1.0.0;python_version=='2.7' # Apache-2.0
oslo.limit;python_version>='3.0' # Apache-2.0
oslo.log<4.0.0;python_version<'3.0' # Apache-2.0
oslo.log;python_version>='3.0' # Apache-2.0
oslo.messaging!=9.0.0 # Apache-2.0
oslo.middleware # Apache-2.0
oslo.policy<3.0.0;python_version=='2.7' # Apache-2.0
oslo.policy!=3.0.0;python_version>='3.6' # Apache-2.0
oslo.privsep<2.0.0;python_version=='2.7' # Apache-2.0
oslo.privsep;python_version>='3.6' # Apache-2.0
oslo.reports<2.0.0;python_version<'3.0' # Apache-2.0
oslo.reports;python_version>='3.6' # Apache-2.0
oslo.rootwrap # Apache-2.0
# NOTE(mriedem): oslo.serialization 2.19.1 is blocked for bug 1593641
oslo.serialization!=2.19.1,<3.0.0;python_version<'3.0' # Apache-2.0
oslo.serialization!=2.19.1;python_version>='3.0' # Apache-2.0
oslo.service!=1.28.1 # Apache-2.0
oslo.upgradecheck<0.4.0;python_version=='2.7' # Apache-2.0
oslo.upgradecheck;python_version>='3.6' # Apache-2.0
# NOTE(lajoskatona): oslo.utils version between 3.39.1 and 3.40.1 excluded due to bug 1812922
oslo.utils!=3.39.1,!=3.40.0,!=3.40.1,<4.0.0;python_version<'3.0' # Apache-2.0
oslo.utils!=3.39.1,!=3.40.0,!=3.40.1;python_version>='3.0' # Apache-2.0
oslo.vmware # Apache-2.0
oslo.versionedobjects<2.0.0;python_version=='2.7' # Apache-2.0
oslo.versionedobjects;python_version>='3.6' # Apache-2.0
osprofiler # Apache-2.0
os-apply-config # Apache-2.0
os-brick!=2.8.0 # Apache-2.0
os-client-config # Apache-2.0
os-collect-config # Apache-2.0
os-dpm # Apache-2.0
os-net-config # Apache-2.0
os-refresh-config # Apache-2.0
os-resource-classes # Apache-2.0
os-service-types # Apache-2.0
os-testr<2.0.0;python_version=='2.7' # Apache-2.0
os-testr;python_version>='3.6' # Apache-2.0
os-traits # Apache-2.0
os-ken<1.0.0;python_version=='2.7' # Apache-2.0
os-ken;python_version>='3.6' # Apache-2.0
os-vif!=1.8.0,!=1.12.0,<2.0.0;python_version=='2.7' # Apache-2.0
os-vif!=1.8.0,!=1.12.0;python_version>='3.6' # Apache-2.0
ovs # Apache-2.0
os-win<5.0.0;python_version=='2.7' # Apache-2.0
os-win;python_version>='3.6' # Apache-2.0
os-xenapi # Apache-2.0
paramiko # LGPLv2.1+
Parsley # MIT
pathlib2 # MIT
passlib # BSD
Paste # MIT
PasteDeploy # MIT
paunch # Apache-2.0
pbr!=2.1.0 # Apache-2.0
pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2 # BSD
pexpect!=3.3 # ISC License
pifpaf # Apache-2.0
pika # BSD
Pillow # PIL License
Pint<0.10;python_version<'3.6' # BSD
Pint;python_version>='3.6' # BSD
pip # MIT
prometheus-client # Apache-2.0
protobuf # BSD License (3 clause)
PrettyTable<0.8 # BSD
psutil # BSD
pyasn1!=0.2.3 # BSD
pyasn1-modules # BSD
pycadf!=2.0.0,<3.0.0;python_version=='2.7' # Apache-2.0
pycadf!=2.0.0;python_version>='3.6' # Apache-2.0
PyECLib # BSD
pyghmi!=1.4.0,!=1.5.11 # Apache-2.0
pyinotify;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT
PyJWT # MIT
pykmip # Apache 2.0 License
python-ldap # PSF
pylxd # Apache-2.0
pymemcache!=1.3.0 # Apache 2.0 License
pymongo!=3.1 # Apache-2.0
PyMySQL # MIT License
pytest # MIT
pytest-django # BSD (3 clause)
pytest-html #MPL-2.0
python-etcd # MIT License
pywbem # LGPLv2.1+
pywinrm # MIT
salt!=2019.2.1,!=2019.2.2 # Apache-2.0
storpool!=5.2.0,!=5.3.0 # Apache-2.0
storpool.spopenstack # Apache-2.0
dfs-sdk # Apache-2.0
tap-as-a-service # Apache-2.0
etcd3 # Apache-2.0
etcd3gw!=0.2.2,!=0.2.3 # Apache-2.0
typing # PSF
voluptuous # BSD License
pydot # MIT License
pydotplus # MIT License
crc16 # LGPLv3+
pyzabbix # LGPL
statsd # MIT
weakrefmethod;python_version=='2.7' # PSF
zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License
opentracing # Apache-2.0
jaeger-client # Apache-2.0
pyngus # Apache-2.0
pyOpenSSL # Apache-2.0
pyparsing # MIT
pyroute2!=0.5.4,!=0.5.5;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
pysnmp # BSD
pystache # MIT
pysaml2!=4.0.3,!=4.0.4,!=4.0.5,!=4.0.5rc1,!=4.1.0,!=4.2.0,!=4.3.0,!=4.4.0,!=4.6.0 # Apache-2.0
# OpenStack clients. None of these should have an upper bound
# as that has implications for testing in the gate.
aodhclient # Apache-2.0
gnocchiclient # Apache-2.0
tricircleclient<1.0.0;python_version=='2.7' # Apache-2.0
tricircleclient;python_version>='3.6' # Apache-2.0
python-barbicanclient # Apache-2.0
python-blazarclient<3.0.0;python_version=='2.7' # Apache-2.0
python-blazarclient;python_version>='3.6' # Apache-2.0
python-ceilometerclient # Apache-2.0
python-cinderclient!=4.0.0,<6.0.0;python_version=='2.7' # Apache-2.0
python-cinderclient!=4.0.0;python_version>='3.6' # Apache-2.0
python-cloudkittyclient<4.0.0;python_version=='2.7' # Apache-2.0
python-cloudkittyclient;python_version>='3.6' # Apache-2.0
python-congressclient<2.0.0;python_version=='2.7' # Apache-2.0
python-congressclient<2000;python_version>='3.6' # Apache-2.0
python-designateclient # Apache-2.0
python-freezerclient<3.0.0;python_version=='2.7' # Apache-2.0
python-freezerclient;python_version>='3.6' # Apache-2.0
python-heatclient<2.0.0;python_version=='2.7' # Apache-2.0
python-heatclient;python_version>='3.6' # Apache-2.0
python-hnvclient # Apache-2.0
python-glanceclient # Apache-2.0
python-glareclient # Apache-2.0
python-ironic-inspector-client # Apache-2.0
python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0,<4.0.0;python_version=='2.7' # Apache-2.0
python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0;python_version>='3.6' # Apache-2.0
python-karborclient # Apache-2.0
python-keystoneclient!=2.1.0 # Apache-2.0
python-kingbirdclient # Apache-2.0
python-magnumclient # Apache-2.0
python-masakariclient # Apache-2.0
python-manilaclient<2.0.0;python_version=='2.7' # Apache-2.0
python-manilaclient;python_version>='3.6' # Apache-2.0
python-mistralclient!=3.2.0,<4.0.0;python_version=='2.7' # Apache-2.0
python-mistralclient!=3.2.0;python_version>='3.6' # Apache-2.0
python-muranoclient<2.0.0;python_version=='2.7' # Apache-2.0
python-muranoclient;python_version>='3.6' # Apache-2.0
python-monascaclient<2.0.0;python_version=='2.7' # Apache-2.0
python-monascaclient;python_version>='3.6' # Apache-2.0
python-neutronclient # Apache-2.0
python-novaclient # Apache-2.0
python-octaviaclient # Apache-2.0
python-openstackclient # Apache-2.0
python-qinlingclient<5.0.0;python_version=='2.7' # Apache-2.0
python-qinlingclient;python_version>='3.6' # Apache-2.0
python-rsdclient # Apache-2.0
python-saharaclient<3.0.0;python_version=='2.7' # Apache-2.0
python-saharaclient;python_version>='3.6' # Apache-2.0
python-searchlightclient<2.0.0;python_version=='2.7' #Apache-2.0
python-searchlightclient;python_version>='3.6' #Apache-2.0
python-senlinclient<2.0.0;python_version=='2.7' # Apache-2.0
python-senlinclient;python_version>='3.6' # Apache-2.0
python-smaugclient # Apache-2.0
python-solumclient<3.0.0;python_version=='2.7' # Apache-2.0
python-solumclient;python_version>='3.6' # Apache-2.0
python-swiftclient # Apache-2.0
python-tackerclient<1.0.0;python_version=='2.7' # Apache-2.0
python-tackerclient;python_version>='3.6' # Apache-2.0
python-troveclient # Apache-2.0
python-vitrageclient<4.0.0;python_version=='2.7' # Apache-2.0
python-vitrageclient;python_version>='3.6' # Apache-2.0
python-watcherclient # Apache-2.0
python-zaqarclient # Apache-2.0
python-zunclient # Apache-2.0
python-magic # MIT
python-memcached # PSF
python-dateutil # BSD
# 2013.6 is the first version of pytz that is PEP 440 compatible.
pytz # MIT
pyudev # LGPLv2.1+
PyYAML # MIT
qpid-python;python_version=='2.7' # Apache-2.0
raven # BSD
reno<3.0.0;python_version<'3.0' # Apache-2.0
reno;python_version>='3.0' # Apache-2.0
requests!=2.20.0 # Apache-2.0
requests-aws # BSD License (3 clause)
requests-kerberos # ISC
requestsexceptions # Apache-2.0
rfc3986 # Apache-2.0
rsd-lib # Apache-2.0
Routes # MIT
rtslib-fb # Apache-2.0
ryu # Apache-2.0
semantic-version # BSD
fasteners!=0.15 # Apache-2.0
scrypt # BSD
simplejson # MIT
six # MIT
scipy # BSD
scikit-learn<=0.20.0;python_version<='3.4' # BSD
scikit-learn;python_version>='3.5' # BSD
setproctitle # BSD
# NOTE(yamahata):
# bug work around of sqlalchemy
# https://bitbucket.org/zzzeek/sqlalchemy/issues/3952/
# The fix which is in git master branch is planned for 1.1.9
SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT
SQLAlchemy-Utils # BSD License
sqlalchemy-migrate # Apache-2.0
sqlalchemy-filters # Apache-2.0
sqlparse # BSD
stevedore # Apache-2.0
storops # Apache-2.0
systemd-python # LGPLv2+
sysv-ipc # BSD License
suds-jurko # LGPLv3+
sympy # BSD
taskflow # Apache-2.0
tempest # Apache-2.0
tooz # Apache-2.0
tosca-parser # Apache-2.0
tripleo-common!=11.3.0 # Apache-2.0
validations-libs # Apache-2.0
urllib3 # MIT
unicodecsv;python_version<'3.0' # BSD
warlock<2 # Apache-2.0
WebOb # MIT
websocket-client # LGPLv2+
websockify # LGPLv3
wheel # MIT
PyMI;sys_platform=='win32' # Apache 2.0 License
wmi;sys_platform=='win32' # MIT
WSME # MIT
xattr;sys_platform!='win32' # MIT
xstatic-angular-uuid # MIT License
xstatic-angular-vis # MIT License
xstatic-filesaver # MIT License
xstatic-js-yaml # MIT License
xstatic-json2yaml # MIT License
XenAPI # LGPL
XStatic # MIT License
XStatic-Angular # MIT License
XStatic-Angular-Bootstrap # MIT License
XStatic-Angular-Gettext # MIT License
XStatic-Angular-lrdragndrop # MIT License
XStatic-Angular-Schema-Form # MIT
XStatic-angular-ui-router # MIT
XStatic-Bootstrap-Datepicker # Apache 2.0 License
XStatic-Bootstrap-SCSS # Apache 2.0 License
XStatic-bootswatch # MIT License
XStatic-D3 # BSD License (3 clause)
XStatic-Dagre # MIT License
XStatic-Dagre-D3 # MIT License
XStatic-Font-Awesome # SIL OFL 1.1 License, MIT License
XStatic-Graphlib # MIT License
XStatic-Hogan # Apache 2.0 License
XStatic-Jasmine # MIT License
XStatic-jQuery<2 # MIT License
XStatic-JQuery-Migrate # MIT License
XStatic-JQuery.quicksearch # MIT License
XStatic-JQuery.TableSorter # MIT License
XStatic-jquery-ui # MIT License
XStatic-JSEncrypt # MIT License
XStatic-lodash # MIT License
XStatic-mdi # SIL OPEN FONT LICENSE Version 1.1
XStatic-moment # MIT License
XStatic-Moment-Timezone # MIT License
XStatic-objectpath # MIT
XStatic-Rickshaw # BSD License (prior)
XStatic-roboto-fontface # Apache 2.0 License
XStatic-smart-table # MIT License
XStatic-Spin # MIT License
XStatic-term.js # MIT License
XStatic-tv4 # MIT
XStatic-Angular-FileUpload # MIT License
yaql # Apache 2.0 License
# NOTE(dtantsur): zeroconf dropped compatibility with Python 2 in version 0.20
zeroconf<0.20;python_version=='2.7' # LGPL
zeroconf;python_version>='3.0' # LGPL
zhmcclient # Apache 2.0 License
# Testing tools below, which are typically in test-requires.txt
bashate<1.0.0;python_version=='2.7' # Apache-2.0
bashate;python_version>='3.6' # Apache-2.0
couchdb # Apache-2.0
coverage!=4.4 # Apache-2.0
demjson # GLGPLv3+
docker # Apache-2.0
django-nose # BSD
doc8 # Apache-2.0
Pygments # BSD license
fixtures # Apache-2.0/BSD
fixtures-git # Apache-2.0
freezegun # Apache-2.0
gabbi # Apache-2.0
kafka-python # Apache-2.0
keyring<19.0.0;python_version=='2.7' # MIT/PSF
keyring;python_version>='3.4' # MIT/PSF
ldappool # MPL
# Do not make mock conditional on Python version: we depend on newer code than
# in [most] releases of the Python std library.
# https://github.com/testing-cabal/mock/issues/487 for 4.0.[0-1] blacklist
mock!=4.0.0,!=4.0.1 # BSD
mox # Apache-2.0
mox3 # Apache-2.0
nodeenv # BSD
nose # LGPL
nose-exclude # LGPL
nosehtmloutput # Apache-2.0
nosexcover # BSD
openstack-doc-tools # Apache-2.0
openstack.nose-plugin # Apache-2.0
openstacksdk # Apache-2.0
os-api-ref # Apache-2.0
oslosphinx # Apache-2.0
oslotest # Apache-2.0
ovsdbapp # Apache-2.0
proboscis # Apache-2.0
psycopg2 # LGPL/ZPL
psycopg2-binary # LGPL/ZPL
purestorage # BSD
pysendfile;sys_platform!='win32' # MIT
python-3parclient # Apache-2.0
python-consul # MIT License
python-subunit # Apache-2.0/BSD
python-pytun # MIT
pyzmq # LGPL+BSD
redis # MIT
hiredis # BSD
requests-mock # Apache-2.0
tenacity # Apache-2.0
retrying!=1.3.0 # Apache-2.0
selenium # Apache-2.0
# While setuptools cannot deal with pre-installed incompatible versions,
# setting a lower bound is not harmful - it makes error messages cleaner. DO
# NOT set an upper bound on setuptools, as that will lead to uninstallable
# situations as progressive releases of projects are done.
# Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951
# Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086
# Cap setuptools to 58.0.0 on python3.5 due to the incompatibility with decorator 3.4.0.
setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<58.0.0;python_version>='3.5' # PSF/ZPL
setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='2.7' # PSF/ZPL
sphinx!=1.6.6,!=1.6.7,<2.0.0;python_version=='2.7' # BSD
sphinx!=1.6.6,!=1.6.7,!=2.1.0,!=3.0.0;python_version>='3.4' # BSD
sphinx-testing # BSD License
sphinxcontrib-actdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-actdiag;python_version>='3.4' # BSD
sphinxcontrib-apidoc # BSD
sphinxcontrib-blockdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-blockdiag;python_version>='3.4' # BSD
sphinxcontrib-httpdomain # BSD
sphinxcontrib-nwdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-nwdiag;python_version>='3.4' # BSD
sphinxcontrib-seqdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-seqdiag;python_version>='3.4' # BSD
sphinxcontrib-pecanwsme # Apache-2.0
sphinxcontrib-fulltoc # Apache-2.0
sphinx-feature-classification # Apache-2.0
sphinxmark # Apache-2.0
sphinxcontrib.datatemplates # BSD License
sphinxcontrib-programoutput # BSD license
sphinxcontrib-svg2pdfconverter # BSD License
stestr!=2.3.0,!=3.0.0 # Apache-2.0
sushy!=1.9.0<3.0.0;python_version=='2.7' # Apache-2.0
sushy!=1.9.0;python_version>='3.6' # Apache-2.0
tabulate # MIT
testrepository # Apache-2.0/BSD
testresources # Apache-2.0/BSD
testscenarios # Apache-2.0/BSD
testtools # MIT
trollius;python_version=='2.7' # Apache-2.0
ujson # BSD
unittest2 # BSD
virtualbmc # Apache-2.0
virtualenv<20.8 # MIT
vmware-nsxlib # Apache-2.0
wrapt # BSD License
WebTest # MIT
Werkzeug # BSD License
whereto # Apache-2.0
xmltodict # MIT
wsgi-intercept # MIT License
xvfbwrapper #license: MIT
zake # Apache-2.0
zuul-sphinx # Apache-2.0
shade # Apache-2.0
sadisplay # BSD
# NOTE(tonyb): Generally adding OpenSatck services isn't allowed but some consumers of ceilometer
# use it like a library so until there is a ceilometer-lib (or similar) this is our best option.
ceilometer # Apache-2.0
# Indirect dependencies that need blocking
# NOTE(bnemec): 1.16.0 introduced a bug that is breaking tooz. 1.18.0 fixes it.
# See https://bugs.launchpad.net/python-tooz/+bug/1808046
grpcio!=1.16.0,!=1.16.1,!=1.17.0,!=1.17.1
# NOTE(dhellmann): We need to include this package for testing the
# release jobs that propose constraint updates, even though it is not
# a real requirement of any of our software.
openstack-release-test
# NOTE(snapiri): This is required for Dragonflow topology visualization
skydive-client # Apache-2.0
# NOTE(anilvenkata): This is required for profiling oslo.service processes
Yappi!=0.98,!=0.99 # MIT
# NOTE(yoctozepto): To avoid repeated breakage (this is a dep of deps)
zipp<2;python_version<'3.6' # MIT
zipp;python_version>='3.6' # MIT
# NOTE(prometheanfire): python3 caps, are not approved for use in OpenStack
gitdb<4.0.0;python_version=='2.7' # BSD
gitdb;python_version>='3.4' # BSD
gitdb2<3.0.0;python_version=='2.7' # BSD
gitdb2;python_version>='3.4' # BSD

View File

@@ -0,0 +1,594 @@
ntlm-auth===1.5.0
voluptuous===0.13.1
chardet===5.0.0
enum-compat===0.0.3
rsa===4.9
restructuredtext-lint===1.4.0
netmiko===4.1.2
sshtunnel===0.4.0
PasteDeploy===2.1.1
typing===3.7.4.3
python-saharaclient===4.1.0
Routes===2.5.1
rtslib-fb===2.1.75
oslo.limit===2.1.0
tzdata===2022.4
smmap===5.0.0
confget===4.1.1
XStatic-Angular-Bootstrap===2.5.0.0
WebOb===1.8.7
sphinxcontrib-actdiag===3.0.0
pecan===1.4.2
ryu===4.34
os-api-ref===2.3.0
python-ldap===3.4.3
oslo.concurrency===5.1.1
websocket-client===1.4.1
osprofiler===3.4.3
os-resource-classes===1.1.0
tabulate===0.9.0
python-ironic-inspector-client===4.9.0
lxml===4.9.1
vintage===0.4.1
ntc-templates===3.1.0
rst2txt===1.1.0
setproctitle===1.3.2
pytest===7.2.0
python-slugify===6.1.2
cursive===0.2.3
oslo.service===3.1.1
django-appconf===1.0.5
sphinxcontrib-nwdiag===2.0.0
rbd-iscsi-client===0.1.8
requests-aws===0.1.8
alabaster===0.7.12
pbr===5.11.1
munch===2.5.0
waiting===1.4.1
attrs===22.1.0
microversion-parse===1.0.1
Pint===0.19.2
oslo.i18n===6.0.0
jsonpath-rw-ext===1.2.2
python-mistralclient===5.0.0
oslo.context===5.1.1
python-senlinclient===3.0.0
rcssmin===1.1.0
pycadf===3.1.1
grpcio===1.49.1
pysendfile===2.0.1
sniffio===1.3.0
fixtures===4.0.1
neutron-lib===3.4.1
XStatic-FileSaver===1.3.2.0
oslo.metrics===0.6.0
storage-interfaces===1.0.4
persist-queue===0.8.0
pystache===0.6.0
XStatic-Font-Awesome===4.7.0.0
nose===1.3.7
nosehtmloutput===0.0.7
waitress===2.1.2
os-refresh-config===13.1.0
pysnmp===4.4.12
Mako===1.2.3
pyScss===1.4.0
sphinxcontrib-htmlhelp===2.0.0
XStatic-jQuery===1.12.4.1
ddt===1.6.0
XStatic-Graphlib===2.1.7.0
pyserial===3.5
moto===3.1.16
infi.dtypes.wwn===0.1.1
python-freezerclient===5.1.0
os-xenapi===0.3.4
python-vitrageclient===4.7.0
nosexcover===1.0.11
krest===1.3.3
psycopg2===2.9.4
networkx===2.8.7
XStatic-Angular===1.8.2.2
pyngus===2.3.1
Pillow===9.2.0
zuul-sphinx===0.6.0
tripleo-common===17.0.0
tripleo-ansible===6.0.0
Tempita===0.5.2
ply===3.11
google-api-core===2.10.2
requests-toolbelt===0.10.0
simplejson===3.17.6
types-paramiko===2.11.6
immutables===0.19
python-swiftclient===4.2.0
pyOpenSSL===22.1.0
monasca-common===3.7.0
zeroconf===0.39.1
scipy===1.9.1
python-gnupg===0.5.0
mypy-extensions===0.4.3
rsd-lib===1.2.0
XStatic-Jasmine===2.4.1.2
googleapis-common-protos===1.56.4
python-glanceclient===4.3.0
jaraco.classes===3.2.3
pyinotify===0.9.6
debtcollector===2.5.0
requests-unixsocket===0.3.0
responses===0.21.0
croniter===1.3.7
horizon===23.1.0
octavia-lib===3.2.0
python-watcherclient===4.1.0
MarkupSafe===2.1.1
pypowervm===1.1.27
ruamel.yaml.clib===0.2.6
doc8===0.11.2
pymongo===4.2.0
python-cloudkittyclient===4.7.0
soupsieve===2.3.2.post1
sqlparse===0.4.3
oslotest===4.5.0
jsonpointer===2.3
defusedxml===0.7.1
netaddr===0.8.0
pyghmi===1.5.53
sphinxcontrib-blockdiag===3.0.0
thrift===0.16.0
gnocchiclient===7.0.7
wcwidth===0.2.5
sphinxcontrib.datatemplates===0.9.1
jsonpath-rw===1.4.0
prettytable===3.4.1
vine===5.0.0
taskflow===5.1.0
traceback2===1.4.0
arrow===1.2.3
semantic-version===2.10.0
async-timeout===4.0.2
virtualbmc===3.0.1
deprecation===2.1.0
SQLAlchemy===1.4.41
pyroute2===0.7.3
google-auth===2.12.0
kazoo===2.9.0
pyspnego===0.6.0
XStatic-roboto-fontface===0.5.0.0
pyudev===0.24.0
eventlet===0.33.1
openstack-doc-tools===3.3.1
oslo.messaging===14.2.1
jira===3.4.1
extras===1.0.0
PyJWT===2.5.0
typing_extensions===4.4.0
XStatic-lodash===4.16.4.2
zVMCloudConnector===1.6.3
paramiko===2.11.0
ifaddr===0.2.0
reno===4.0.0
ncclient===0.6.13
imagesize===1.4.1
pydot===1.4.2
urllib3===1.26.12
graphviz===0.20.1
PyKMIP===0.10.0
whereto===0.4.0
pywbem===1.4.1
python-subunit===1.4.2
tornado===6.2
pycparser===2.21
mock===4.0.3
PyYAML===6.0
beautifulsoup4===4.11.1
os-net-config===16.0.0
ovs===2.17.1.post1
cryptography===38.0.4
httpcore===0.15.0
URLObject===2.4.3
nocasedict===1.0.4
task-core===0.2.1
psycopg2-binary===2.9.4
openstack-release-test===3.3.1
validations-libs===1.8.0
pylxd===2.3.1
pycryptodomex===3.15.0
anyjson===0.3.3
requests-mock===1.10.0
os-apply-config===13.1.0
prometheus-client===0.14.1
oslosphinx===4.18.0
gunicorn===20.1.0
storpool===7.1.0
textfsm===1.1.2
python-3parclient===4.2.12
unittest2===1.1.0
django-compressor===4.1
libvirt-python===8.8.0
python-zunclient===4.6.0
tzlocal===4.2
sphinxcontrib-jsmath===1.0.1
python-novaclient===18.3.0
pact===1.12.0
bcrypt===4.0.0
os-client-config===2.1.0
XStatic-Angular-Gettext===2.4.1.0
Deprecated===1.2.13
h11===0.12.0
Pygments===2.13.0
XStatic-Hogan===2.0.0.3
XStatic-objectpath===1.2.1.0
python-manilaclient===4.4.0
sphinxcontrib-serializinghtml===1.1.5
requests===2.28.1
snowballstemmer===2.2.0
Jinja2===3.1.2
XStatic-Bootstrap-SCSS===3.4.1.0
pyzabbix===1.2.1
ptyprocess===0.7.0
threadloop===1.0.2
amqp===5.1.1
ruamel.yaml===0.17.21
websockify===0.10.0
gssapi===1.8.1
XStatic-JQuery.quicksearch===2.0.3.2
mpmath===1.2.1
python-binary-memcached===0.31.1
django-debreach===2.1.0
sphinx-feature-classification===1.1.0
django-pymemcache===1.0.0
XStatic-JQuery-Migrate===1.2.1.2
pytest-html===3.2.0
appdirs===1.4.4
tinyrpc===1.1.5
google-auth-httplib2===0.1.0
daiquiri===3.2.1
influxdb===5.3.1
funcparserlib===1.0.0
passlib===1.7.4
dib-utils===0.0.11
cliff===4.2.0
os-brick===6.2.2
ansible-runner===2.2.1
pytz-deprecation-shim===0.1.0.post0
scp===0.14.4
python-zaqarclient===2.5.1
lockfile===0.12.2
ldappool===3.0.0
termcolor===2.0.1
joblib===1.2.0
google-api-python-client===2.64.0
castellan===4.1.0
oslo.versionedobjects===3.1.0
ssh-python===0.10.0
enmerkar===0.7.1
webcolors===1.12
aodhclient===3.2.0
autobahn===22.7.1
SQLAlchemy-Utils===0.38.3
retryz===0.1.9
pluggy===1.0.0
coverage===6.5.0
freezegun===1.2.2
toml===0.10.2
pycdlib===1.13.0
pyperclip===1.8.2
cassandra-driver===3.25.0
XStatic-Angular-Schema-Form===0.8.13.0
gabbi===2.4.0
nwdiag===3.0.0
XStatic-bootswatch===3.3.7.0
pytest-xdist===2.5.0
XStatic-JS-Yaml===3.8.1.0
XStatic-term.js===0.0.7.0
oslo.log===5.2.0
nodeenv===1.7.0
gossip===2.4.0
suds-community===1.1.2
importlib-metadata===5.0.0
oslo.middleware===5.1.1
XStatic-mdi===1.6.50.2
django-pyscss===2.0.2
uritemplate===4.1.1
docutils===0.17.1
threadpoolctl===3.1.0
os-ken===2.6.0
ujson===5.5.0
selenium===3.141.0
mypy===0.982
mistral-lib===2.8.0
dogtag-pki===11.2.1
XStatic-Angular-UUID===0.0.4.0
purestorage===1.19.0
sphinxcontrib-seqdiag===3.0.0
os-win===5.9.0
capacity===1.3.14
retrying===1.3.3
XStatic-Dagre===0.6.4.1
platformdirs===2.5.2
pydotplus===2.0.2
boto3===1.24.89
jeepney===0.8.0
stestr===4.0.1
oslo.serialization===5.1.1
warlock===2.0.1
exabgp===4.2.21
sphinxcontrib-httpdomain===1.8.0
metalsmith===1.10.0
s3transfer===0.6.0
text-unidecode===1.3
sphinxcontrib-svg2pdfconverter===1.2.0
murano-pkg-check===0.3.0
oslo.vmware===4.1.1
XStatic-moment===2.8.4.3
autopage===0.5.1
sqlalchemy-migrate===0.13.0
gitdb===4.0.9
python-monascaclient===2.7.0
ldap3===2.9.1
requests-ntlm===1.1.0
sphinx-rtd-theme===0.5.1
automaton===3.1.0
os-service-types===1.7.0
keyring===23.9.3
elementpath===3.0.2
testscenarios===0.5.0
sphinxcontrib-pecanwsme===0.10.0
sadisplay===0.4.9
infinisdk===206.1.2
packaging===21.3
XStatic-Dagre-D3===0.4.17.0
nose-exclude===0.5.0
psutil===5.9.2
py===1.11.0
txaio===22.2.1
elasticsearch===2.4.1
django-nose===1.4.7
asgiref===3.5.2
XStatic-JQuery.TableSorter===2.14.5.2
pifpaf===3.1.5
pysmi===0.3.4
blockdiag===3.0.0
testtools===2.5.0
infi.dtypes.iqn===0.4.0
XStatic-tv4===1.2.7.0
XStatic-JSEncrypt===2.3.1.1
python-cinderclient===9.3.0
keystonemiddleware===10.2.0
django-formtools===2.4
XStatic-Spin===1.2.5.3
tap-as-a-service===11.0.0
os-traits===2.10.0
typepy===1.3.0
SecretStorage===3.3.3
opentracing===2.4.0
XStatic-Rickshaw===1.5.1.0
iso8601===1.1.0
tooz===3.2.0
linecache2===1.0.0
oauth2client===4.1.3
idna===3.4
yamlloader===1.1.0
protobuf===4.21.7
pyhcl===0.4.4
sushy===4.4.2
python-neutronclient===9.0.0
pika===1.3.0
oslo.cache===3.3.1
WebTest===3.0.0
openstack.nose-plugin===0.11
os-collect-config===13.1.0
edgegrid-python===1.3.1
python-qpid-proton===0.37.0
python-octaviaclient===3.4.0
pysaml2===7.2.1
requests-oauthlib===1.3.1
oslo.reports===3.0.0
bitmath===1.3.3.1
ceilometermiddleware===3.1.0
testrepository===0.0.20
sympy===1.11.1
Logbook===1.5.3
PyNaCl===1.5.0
osc-lib===2.7.0
python-consul===1.1.0
more-itertools===8.14.0
seqdiag===3.0.0
numpy===1.23.3
msgpack===1.0.4
Sphinx===4.5.0
oslo.config===9.1.1
openstackdocstheme===3.1.0
osc-placement===4.1.0
zake===0.2.2
python-rsdclient===1.0.2
flux===1.3.5
python-solumclient===3.7.0
krb5===0.4.0
PyMySQL===1.0.2
uhashring===2.1
kubernetes===24.2.0
httplib2===0.20.4
betamax===0.8.1
construct===2.10.68
pytest-metadata===2.0.2
pyparsing===3.0.9
geomet===0.2.1.post1
distlib===0.3.6
XStatic-Moment-Timezone===0.5.22.0
dogpile.cache===1.1.8
python-barbicanclient===5.5.0
salt===3005.1
api-object-schema===2.0.0
WSME===0.11.0
tomli===2.0.1
proboscis===1.2.6.0
oslo.upgradecheck===2.1.1
stevedore===5.0.0
pywinrm===0.4.3
botocore===1.27.89
xmltodict===0.13.0
pyasn1===0.4.8
directord===0.12.0
oslo.rootwrap===7.0.1
Django===3.2.16
pexpect===4.8.0
contextvars===2.4
cmd2===2.4.2
python-json-logger===2.0.4
redis===4.3.4
jmespath===1.0.1
click===8.1.3
XStatic-smart-table===1.4.13.2
kuryr-lib===2.7.0
scrypt===0.8.20
jsonpatch===1.32
python-daemon===2.3.1
types-cryptography===3.3.23
os-testr===3.0.0
cotyledon===1.7.3
xattr===0.9.9
systemd-python===234
python-memcached===1.59
openstacksdk===1.0.1
six===1.16.0
dulwich===0.20.46
dfs-sdk===1.2.27
sentinels===1.0.0
kombu===5.2.4
distro===1.7.0
zstd===1.5.2.6
yaql===2.0.0
requestsexceptions===1.4.0
testresources===2.0.1
falcon===3.1.0
etcd3gw===2.1.0
Flask-RESTful===0.3.9
GitPython===3.1.30
python-ironicclient===5.1.0
XStatic===1.0.2
XStatic-Angular-FileUpload===12.0.4.0
python-openstackclient===6.2.0
pyzmq===21.0.2
nocaselist===1.0.6
oslo.db===12.3.1
simplegeneric===0.8.1
python-pcre===0.7
yappi===1.4.0
mbstrdecoder===1.1.1
abclient===0.2.3
pymemcache===3.5.2
wrapt===1.14.1
oslo.privsep===3.1.0
sphinxcontrib-apidoc===0.3.0
oslo.policy===4.1.1
python-muranoclient===2.6.0
hvac===1.0.2
pyeclib===1.6.1
wsgi-intercept===1.10.0
ndg-httpsclient===0.5.1
pyrsistent===0.18.1
repoze.lru===0.7
rfc3986===1.5.0
tenacity===6.3.1
python-designateclient===5.2.0
future===0.18.3
Paste===3.5.2
pytest-django===4.5.2
jaeger-client===4.8.0
XStatic-Json2yaml===0.1.1.0
boto===2.49.0
os-vif===3.1.1
hyperlink===21.0.2
mitba===1.1.1
python-masakariclient===8.1.0
Werkzeug===2.2.2
pyasn1-modules===0.2.8
APScheduler===3.9.1
monotonic===1.6
xmlschema===2.1.1
python-troveclient===8.1.0
etcd3===0.12.0
cachez===0.1.2
XStatic-Bootstrap-Datepicker===1.4.0.0
CouchDB===1.2
netifaces===0.11.0
cachetools===5.2.0
ws4py===0.5.1
sphinxcontrib-qthelp===1.0.3
keystoneauth1===5.1.2
statsd===3.3.0
XenAPI===2.14
python-keystoneclient===5.1.0
ceilometer===20.0.0
diskimage-builder===3.25.0
heat-translator===2.7.0
python-magnumclient===4.1.0
docker===6.0.0
storops===1.2.11
anyio===3.6.1
XStatic-Angular-lrdragndrop===1.0.2.4
ovsdbapp===2.2.1
aniso8601===9.0.1
rjsmin===1.2.0
icalendar===4.1.0
decorator===5.1.1
DateTimeRange===1.2.0
cffi===1.15.1
python-cyborgclient===2.1.0
futurist===2.4.1
jsonschema===4.16.0
sphinxcontrib-devhelp===1.0.2
python-blazarclient===3.6.0
alembic===1.8.1
execnet===1.9.0
glance-store===4.3.1
sphinxcontrib-programoutput===0.17
storpool.spopenstack===3.1.0
sphinx-testing===1.0.1
dnspython===2.2.1
oauthlib===3.2.1
Babel===2.10.3
logutils===0.3.5
zipp===3.8.1
greenlet===1.1.3
XStatic-Angular-Vis===4.16.0.0
iniconfig===1.1.1
confluent-kafka===1.9.2
xvfbwrapper===0.2.9
tosca-parser===2.8.0
charset-normalizer===2.1.1
Flask===2.2.2
httpx===0.23.0
sqlalchemy-filters===0.12.0
marathon===0.13.0
sphinxcontrib-runcmd===0.2.0
confspirator===0.3.0
fasteners===0.18
sortedcontainers===2.4.0
python-linstor===1.13.0
filelock===3.8.0
python-tackerclient===1.13.0
python-heatclient===3.2.0
kafka-python===2.0.2
oslo.utils===6.1.0
gitdb2===4.0.2
requests-kerberos===0.14.0
itsdangerous===2.1.2
XStatic-jquery-ui===1.13.0.1
monasca-statsd===2.6.0
python-dateutil===2.8.2
virtualenv===20.16.5
colorama===0.4.5
confetti===2.5.3
ironic-lib===5.4.0
pytz===2022.4
pytest-forked===1.4.0
XStatic-D3===3.5.17.0
actdiag===3.0.0
sysv-ipc===1.1.0
sphinxcontrib-applehelp===1.0.2
scikit-learn===1.1.2
pytest-cov===4.0.0
bindep===2.10.

View File

@@ -0,0 +1,522 @@
alembic!=1.2.0,!=1.6.3 # MIT
amqp!=2.1.4,!=5.0.4 # BSD
ansible-runner!=1.3.5 # Apache 2.0
appdirs # MIT License
apscheduler # MIT License
autobahn # MIT License
automaton # Apache-2.0
autopage # Apache-2.0
beautifulsoup4 # MIT
Babel!=2.4.0 # BSD
# NOTE bcrypt is currently pinned at 4.0.1 in upper-constraints due to an issue
# with passlib: https://foss.heptapod.net/python-libs/passlib/-/issues/190
bcrypt==4.0.1 # Apache-2.0
betamax # Apache-2.0
blockdiag!=2.0.0 # Apache-2.0
boto # MIT
boto3 # Apache-2.0
botocore # Apache-2.0
cassandra-driver!=3.6.0 # Apache-2.0
castellan # Apache-2.0
# ceilometermiddleware might not show up with a search of setup.cfg and
# requirements files, but some projects use it via being installed by devstack
ceilometermiddleware # Apache-2.0
cachetools # MIT License
cffi # MIT
cliff!=2.9.0,!=2.17.0 # Apache-2.0
cmd2!=0.8.3 # MIT
confluent-kafka!=1.4.0 # Apache-2.0
confspirator # Apache-2.0
cotyledon # Apache-2.0
construct # MIT
croniter # MIT License
cryptography!=2.0 # BSD/Apache-2.0
cursive # Apache-2.0
datetimerange # MIT
ddt # MIT
debtcollector # Apache-2.0
decorator # BSD
defusedxml # PSF
dib-utils # Apache-2.0
diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0
distro # Apache-2.0
Django<4.3 # BSD
django-compressor # MIT
django-debreach # BSD
django-formtools # BSD
django-pymemcache # Apache-2.0
# eventlet is not compatibile with 2.0.0: https://github.com/eventlet/eventlet/issues/619
dnspython!=2.0.0,!=2.2.0 # http://www.dnspython.org/LICENSE
# Note(tonyb): We don't actually directly depend on docutils but we pull it in
# indirectly and we needed to blacklist 0.13.1 for problems with
# Sphinx 1.3. This can be now removed once all projects removed it.
docutils # OSI-Approved Open Source, Public Domain
dogpile.cache!=0.9.1,!=1.1.7 # BSD
dogtag-pki # LGPLv3+
dulwich!=0.19.3,!=0.19.7 # Apache-2.0
edgegrid-python # Apache-2.0
elasticsearch<3.0.0 # Apache-2.0
enmerkar # BSD
# NOTE: New versions of eventlet should not be accepted lightly
# as they have earned a reputation of frequently breaking things.
eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0,!=0.32.0,!=0.34.1,!=0.34.2,!=0.34.3,!=0.35.0 # MIT
exabgp!=4.0.6 # BSD
extras # MIT
falcon # Apache-2.0
Flask!=0.11 # BSD
Flask-RESTful # BSD
# NOTE(tonyb): funcparserlib is an indirect requirement (via blockdiag).
# There has recently been a 2.0.0a0 release which we'd like to exclude.
# TODO(tonyb): Early in 'D/2024.2' revert this change.
funcparserlib<2 # MIT
futurist # Apache-2.0
glance-store!=0.29.0 # Apache-2.0
google-api-python-client # Apache-2.0
graphviz!=0.5.0 # MIT License
greenlet!=0.4.14 # MIT
GitPython # BSD License (3 clause)
gunicorn # MIT
heat-translator # Apache-2.0
horizon # Apache-2.0
httplib2 # MIT
httpx # BSD
hvac # Apache-2.0
icalendar # BSD
# Do not make importlib-metadata conditional on Python version: we depend on
# newer code than in [most] releases of the Python std library.
importlib-metadata # Apache-2.0
infinisdk # BSD-3
influxdb!=5.3.0 # MIT
influxdb-client # MIT
infoblox-client # Apache-2.0
ironic-lib!=4.6.0 # Apache-2.0
iso8601 # MIT
jira # BSD License (2 clause)
Jinja2 # BSD License (3 clause)
jmespath # MIT
jsonpatch!=1.20 # BSD
jsonpath-rw # Apache-2.0
jsonpath-rw-ext # Apache-2.0
jsonschema # MIT
kazoo # Apache-2.0
keystoneauth1 # Apache-2.0
keystonemiddleware # Apache-2.0
krest # Apache-2.0
kubernetes # Apache-2.0
kuryr-lib # Apache-2.0
packaging!=20.5,!=20.6,!=20.7 # Apache-2.0
pyScss!=1.3.5 # MIT License
django-pyscss # BSD License (2 clause)
kombu!=4.0.2 # BSD
ldap3 # LGPLv3
libvirt-python!=4.1.0,!=4.2.0 # LGPLv2+
lxml!=3.7.0 # BSD
Mako # MIT
marathon!=0.9.1 # MIT
metalsmith # Apache-2.0
microversion-parse # Apache-2.0
mistral-lib # Apache-2.0
monasca-common # Apache-2.0
monasca-statsd # Apache-2.0
msgpack # Apache-2.0
munch # MIT
murano-pkg-check # Apache-2.0
mypy # MIT
ncclient # Apache-2.0
netaddr # BSD
netifaces!=0.10.0,!=0.10.1 # MIT
netmiko # MIT
networking-bagpipe # Apache-2.0
networking-bgpvpn # Apache-2.0
networking-l2gw # Apache-2.0
networking-odl # Apache-2.0
networking-sfc # Apache-2.0
# NOTE(fdegir): NetworkX 2.3 dropped support for Python 2
networkx!=2.8.4 # BSD
# NOTE(ralonsoh): neutron-lib 2.0.0 dropped support for Python 2
neutron-lib # Apache-2.0
neutron-dynamic-routing # Apache-2.0
neutron-fwaas # Apache-2.0
neutron # Apache-2.0
oauth2client!=4.0.0 # Apache-2.0
oauthlib # BSD
octavia-lib # Apache-2.0
openstackdocstheme!=2.1.0,!=2.1.1 # Apache-2.0
osc-lib # Apache-2.0
osc-placement # Apache-2.0
oslo.cache!=1.31.1,!=2.1.0 # Apache-2.0
oslo.config!=4.3.0,!=4.4.0 # Apache-2.0
oslo.concurrency # Apache-2.0
oslo.context # Apache-2.0
oslo.db # Apache-2.0
oslo.i18n # Apache-2.0
oslo.limit # Apache-2.0
oslo.log!=3.44.2,!=4.1.2,!=4.2.0,!=5.0.1,!=5.0.2,!=5.1.0 # Apache-2.0
oslo.messaging!=9.0.0 # Apache-2.0
oslo.metrics # Apache-2.0
oslo.middleware # Apache-2.0
oslo.policy!=3.0.0,!=3.6.1 # Apache-2.0
oslo.privsep # Apache-2.0
oslo.reports # Apache-2.0
oslo.rootwrap # Apache-2.0
# NOTE(mriedem): oslo.serialization 2.19.1 is blocked for bug 1593641
oslo.serialization!=2.19.1 # Apache-2.0
oslo.service!=1.28.1 # Apache-2.0
oslo.upgradecheck # Apache-2.0
# NOTE(lajoskatona): oslo.utils version between 3.39.1 and 3.40.1 excluded due to bug 1812922
oslo.utils!=3.39.1,!=3.40.0,!=3.40.1 # Apache-2.0
oslo.vmware # Apache-2.0
oslo.versionedobjects # Apache-2.0
osprofiler # Apache-2.0
os-apply-config # Apache-2.0
os-brick!=2.8.0 # Apache-2.0
os-client-config # Apache-2.0
os-collect-config # Apache-2.0
os-refresh-config # Apache-2.0
os-resource-classes # Apache-2.0
os-service-types # Apache-2.0
os-testr # Apache-2.0
os-traits # Apache-2.0
os-ken # Apache-2.0
os-vif!=1.8.0,!=1.12.0,!=3.0.0 # Apache-2.0
ovs # Apache-2.0
os-win # Apache-2.0
paramiko!=2.9.0,!=2.9.1 # LGPLv2.1+
passlib # BSD
Paste # MIT
PasteDeploy # MIT
pbr!=2.1.0 # Apache-2.0
pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,!=1.4.0 # BSD
pexpect!=3.3 # ISC License
pifpaf # Apache-2.0
pika # BSD
Pillow # PIL License
Pint # BSD
pip # MIT
platformdirs # MIT License
prometheus-client # Apache-2.0
protobuf # BSD License (3 clause)
PrettyTable!=3.4.0 # BSD
psutil # BSD
pyasn1!=0.2.3 # BSD
pyasn1-modules # BSD
pycadf!=2.0.0 # Apache-2.0
pycdlib # LGPLv2+
PyECLib # BSD
pyghmi!=1.4.0,!=1.5.11 # Apache-2.0
pyinotify;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT
PyJWT # MIT
pykmip # Apache 2.0 License
python-gnupg # BSD License
python-ldap # PSF
pylxd # Apache-2.0
pymemcache!=1.3.0 # Apache 2.0 License
pymongo!=3.1 # Apache-2.0
PyMySQL # MIT License
pytest # MIT
pytest-cov # MIT
pytest-django # BSD (3 clause)
pytest-html #MPL-2.0
pytest-xdist # MIT
pywbem # LGPLv2.1+
pywinrm # MIT
salt!=2019.2.1,!=2019.2.2 # Apache-2.0
sshtunnel # MIT
storpool!=5.2.0,!=5.3.0 # Apache-2.0
storpool.spopenstack # Apache-2.0
dfs-sdk # Apache-2.0
tap-as-a-service # Apache-2.0
etcd3gw!=0.2.2,!=0.2.3,!=0.2.6 # Apache-2.0
typing # PSF
typing-extensions # PSF
voluptuous # BSD License
pydot # MIT License
pydotplus # MIT License
pyzabbix # LGPL
statsd # MIT
zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License
jaeger-client # Apache-2.0
opentelemetry-exporter-otlp # Apache-2.0
opentelemetry-sdk # Apache-2.0
python-linstor # LGPLv3
pyngus # Apache-2.0
pyOpenSSL # Apache-2.0
pyparsing # MIT
pyroute2!=0.5.4,!=0.5.5,!=0.7.1;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
# pysnmp library is not maintained since 4 years, it is
# not recommended to use it, use its fork pysnmp-lextudio instead
# in conjunction with its dependencies pyasn1-lextudio and
# pyasn1-modules-lextudio
pysnmp # BSD
pysnmp-lextudio # BSD
pyasn1-lextudio # BSD
pyasn1-modules-lextudio # BSD
pystache # MIT
pysaml2!=4.0.3,!=4.0.4,!=4.0.5,!=4.0.5rc1,!=4.1.0,!=4.2.0,!=4.3.0,!=4.4.0,!=4.6.0 # Apache-2.0
# OpenStack clients. None of these should have an upper bound
# as that has implications for testing in the gate.
aodhclient # Apache-2.0
gnocchiclient # Apache-2.0
python-barbicanclient # Apache-2.0
python-blazarclient # Apache-2.0
python-cinderclient!=4.0.0 # Apache-2.0
python-cyborgclient # Apache-2.0
python-cloudkittyclient # Apache-2.0
python-designateclient # Apache-2.0
python-freezerclient # Apache-2.0
python-heatclient # Apache-2.0
python-glanceclient # Apache-2.0
python-ironic-inspector-client # Apache-2.0
python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0 # Apache-2.0
python-keystoneclient!=2.1.0 # Apache-2.0
python-magnumclient # Apache-2.0
python-masakariclient # Apache-2.0
python-manilaclient # Apache-2.0
python-mistralclient!=3.2.0 # Apache-2.0
python-muranoclient # Apache-2.0
python-monascaclient # Apache-2.0
python-neutronclient # Apache-2.0
python-novaclient # Apache-2.0
python-observabilityclient # Apache-2.0
python-octaviaclient # Apache-2.0
python-openstackclient # Apache-2.0
python-rsdclient # Apache-2.0
python-saharaclient # Apache-2.0
python-senlinclient # Apache-2.0
python-solumclient # Apache-2.0
python-swiftclient # Apache-2.0
python-tackerclient # Apache-2.0
python-troveclient # Apache-2.0
python-vitrageclient # Apache-2.0
python-watcherclient # Apache-2.0
python-zaqarclient # Apache-2.0
python-zunclient # Apache-2.0
python-memcached # PSF
python-dateutil # BSD
#Only required for sasl/binary protocol
python-binary-memcached # MIT
uhashring # BSD
# 2013.6 is the first version of pytz that is PEP 440 compatible.
pytz # MIT
pyudev # LGPLv2.1+
PyYAML # MIT
rbd-iscsi-client # Apache-2.0
reno # Apache-2.0
requests!=2.20.0,!=2.24.0 # Apache-2.0
requests-aws # BSD License (3 clause)
requests-kerberos # ISC
requestsexceptions # Apache-2.0
rfc3986 # Apache-2.0
rsd-lib # Apache-2.0
Routes # MIT
rtslib-fb # Apache-2.0
rst2txt # BSD
ruamel.yaml # MIT
semantic-version # BSD
# https://github.com/harlowja/fasteners/issues/36
fasteners!=0.15,!=0.16 # Apache-2.0
# https://github.com/holgern/py-scrypt/issues/16
scrypt!=0.8.21 # BSD
simplejson # MIT
six # MIT
scipy # BSD
scikit-learn # BSD
setproctitle # BSD
# NOTE(yamahata):
# bug work around of sqlalchemy
# https://bitbucket.org/zzzeek/sqlalchemy/issues/3952/
# The fix which is in git master branch is planned for 1.1.9
SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT
SQLAlchemy-Utils # BSD License
sqlalchemy-migrate # Apache-2.0
sqlalchemy-filters # Apache-2.0
sqlparse # BSD
stevedore!=3.0.0 # Apache-2.0
storops # Apache-2.0
systemd-python # LGPLv2+
sysv-ipc # BSD License
suds-community # LGPLv3+
sympy # BSD
taskflow # Apache-2.0
tempest # Apache-2.0
tooz # Apache-2.0
tosca-parser # Apache-2.0
urllib3 # MIT
warlock # Apache-2.0
WebOb # MIT
websocket-client # LGPLv2+
websockify # LGPLv3
wheel # MIT
PyMI;sys_platform=='win32' # Apache 2.0 License
wmi;sys_platform=='win32' # MIT
WSME # MIT
xattr;sys_platform!='win32' # MIT
xstatic-angular-uuid # MIT License
xstatic-angular-vis # MIT License
xstatic-filesaver # MIT License
xstatic-js-yaml # MIT License
xstatic-json2yaml # MIT License
XStatic # MIT License
XStatic-Angular # MIT License
XStatic-Angular-Bootstrap # MIT License
XStatic-Angular-Gettext # MIT License
XStatic-Angular-lrdragndrop # MIT License
XStatic-Angular-Schema-Form # MIT
XStatic-Bootstrap-Datepicker # Apache 2.0 License
XStatic-Bootstrap-SCSS # Apache 2.0 License
XStatic-bootswatch # MIT License
XStatic-D3 # BSD License (3 clause)
XStatic-Dagre # MIT License
XStatic-Dagre-D3 # MIT License
XStatic-Font-Awesome<4.8.0 # SIL OFL 1.1 License, MIT License
XStatic-Graphlib # MIT License
XStatic-Hogan # Apache 2.0 License
XStatic-Jasmine # MIT License
XStatic-jQuery # MIT License
XStatic-JQuery-Migrate # MIT License
XStatic-JQuery.quicksearch # MIT License
XStatic-JQuery.TableSorter # MIT License
XStatic-jquery-ui # MIT License
XStatic-JSEncrypt # MIT License
XStatic-lodash # MIT License
XStatic-mdi # SIL OPEN FONT LICENSE Version 1.1
XStatic-moment # MIT License
XStatic-Moment-Timezone # MIT License
XStatic-objectpath # MIT
XStatic-Rickshaw # BSD License (prior)
XStatic-roboto-fontface # Apache 2.0 License
XStatic-smart-table # MIT License
XStatic-Spin # MIT License
XStatic-term.js # MIT License
XStatic-tv4 # MIT
XStatic-Angular-FileUpload # MIT License
yaql # Apache 2.0 License
zeroconf # LGPL
zstd # BSD License (2 clause)
# Testing tools below, which are typically in test-requires.txt
bashate # Apache-2.0
couchdb # Apache-2.0
coverage!=4.4 # Apache-2.0
docker # Apache-2.0
django-nose # BSD
doc8 # Apache-2.0
Pygments # BSD license
fixtures # Apache-2.0/BSD
freezegun # Apache-2.0
# The following issue with urllib3 should be fixed to use gabbi 2.5.0.
# https://github.com/urllib3/urllib3/issues/2534
# Also see https://github.com/cdent/gabbi/issues/309
gabbi<2.5.0 # Apache-2.0
kafka-python # Apache-2.0
keyring # MIT/PSF
ldappool # MPL
# Do not make mock conditional on Python version: we depend on newer code than
# in [most] releases of the Python std library.
# https://github.com/testing-cabal/mock/issues/487 for 4.0.[0-1] blacklist
mock!=4.0.0,!=4.0.1 # BSD
moto # Apache-2.0
nodeenv # BSD
nose # LGPL
nose-exclude # LGPL
nosehtmloutput # Apache-2.0
nosexcover # BSD
openstack-doc-tools # Apache-2.0
openstack.nose-plugin # Apache-2.0
openstacksdk # Apache-2.0
os-api-ref # Apache-2.0
oslosphinx # Apache-2.0
oslotest # Apache-2.0
ovsdbapp # Apache-2.0
proboscis # Apache-2.0
psycopg2 # LGPL/ZPL
psycopg2-binary # LGPL/ZPL
purestorage # BSD
py-pure-client # BSD
pysendfile;sys_platform!='win32' # MIT
python-3parclient # Apache-2.0
python-consul # MIT License
python-subunit # Apache-2.0/BSD
pyzmq # LGPL+BSD
redis!=4.0.0 # MIT
requests-mock # Apache-2.0
tenacity # Apache-2.0
retrying!=1.3.0 # Apache-2.0
selenium<4.0.0 # Apache-2.0
# While setuptools cannot deal with pre-installed incompatible versions,
# setting a lower bound is not harmful - it makes error messages cleaner. DO
# NOT set an upper bound on setuptools, as that will lead to uninstallable
# situations as progressive releases of projects are done.
# Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951
# Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086
# Blacklist setuptools 48.0.0, 49.0.0 due to https://github.com/pypa/setuptools/issues/2232
setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,!=48.0.0,!=49.0.0 # PSF/ZPL
sphinx!=1.6.6,!=1.6.7,!=2.1.0,!=3.0.0,!=3.4.2 # BSD
sphinx-testing # BSD License
sphinxcontrib-actdiag # BSD
sphinxcontrib-apidoc # BSD
sphinxcontrib-blockdiag # BSD
sphinxcontrib-httpdomain # BSD
sphinxcontrib-nwdiag # BSD
sphinxcontrib-seqdiag # BSD
sphinxcontrib-pecanwsme # Apache-2.0
sphinx-feature-classification # Apache-2.0
sphinxcontrib.datatemplates # BSD License
sphinxcontrib-programoutput # BSD license
sphinxcontrib-svg2pdfconverter # BSD License
stestr!=2.3.0,!=3.0.0 # Apache-2.0
sushy!=1.9.0 # Apache-2.0
tabulate # MIT
testrepository # Apache-2.0/BSD
testresources # Apache-2.0/BSD
testscenarios # Apache-2.0/BSD
testtools # MIT
types-paramiko # Apache-2.0
tzdata # MIT
unittest2 # BSD
virtualbmc # Apache-2.0
virtualenv!=16.3.0 # MIT
wrapt # BSD License
WebTest # MIT
Werkzeug!=2.2.0 # BSD License
whereto # Apache-2.0
xmltodict # MIT
wsgi-intercept # MIT License
xvfbwrapper #license: MIT
zake # Apache-2.0
zuul-sphinx # Apache-2.0
sadisplay # BSD
# NOTE(tonyb): Generally adding OpenSatck services isn't allowed but some consumers of ceilometer
# use it like a library so until there is a ceilometer-lib (or similar) this is our best option.
ceilometer # Apache-2.0
# Indirect dependencies that need blocking
# NOTE(bnemec): 1.16.0 introduced a bug that is breaking tooz. 1.18.0 fixes it.
# See https://bugs.launchpad.net/python-tooz/+bug/1808046
grpcio!=1.16.0,!=1.16.1,!=1.17.0,!=1.17.1
textfsm!=1.1.3
# NOTE(dhellmann): We need to include this package for testing the
# release jobs that propose constraint updates, even though it is not
# a real requirement of any of our software.
openstack-release-test
# NOTE(anilvenkata): This is required for profiling oslo.service processes
Yappi!=0.98,!=0.99 # MIT
zipp # MIT
# NOTE(prometheanfire): python3 caps, are not approved for use in OpenStack
gitdb # BSD
gitdb2 # BSD
toml!=0.10.1 # Apache-2.0

View File

@@ -0,0 +1,620 @@
voluptuous===0.14.2
chardet===5.2.0
enum-compat===0.0.3
rsa===4.9
restructuredtext-lint===1.4.0
netmiko===4.1.2
sshtunnel===0.4.0
PasteDeploy===3.1.0
typing===3.7.4.3
python-saharaclient===4.2.0
Routes===2.5.1
rtslib-fb===2.1.76
oslo.limit===2.4.0
tzdata===2024.1
smmap===5.0.1
confget===5.1.2
XStatic-Angular-Bootstrap===2.5.0.0
WebOb===1.8.7
sphinxcontrib-actdiag===3.0.0
pecan===1.5.1
os-api-ref===3.0.0
python-ldap===3.4.4
oslo.concurrency===6.0.0
websocket-client===1.7.0
osprofiler===4.1.0
os-resource-classes===1.1.0
tabulate===0.9.0
python-ironic-inspector-client===5.1.0
lxml===5.1.0
vintage===0.4.1
rst2txt===1.1.0
setproctitle===1.3.3
pytest===8.0.1
python-slugify===8.0.4
cursive===0.2.3
oslo.service===3.4.1
django-appconf===1.0.6
ntc_templates===4.3.0
sphinxcontrib-nwdiag===2.0.0
rbd-iscsi-client===0.1.8
requests-aws===0.1.8
alabaster===0.7.13;python_version=='3.8'
alabaster===0.7.16;python_version>='3.9'
pbr===6.0.0
munch===4.0.0
waiting===1.4.1
attrs===23.2.0
microversion-parse===1.0.1
jwcrypto===1.5.4
Pint===0.21.1;python_version=='3.8'
Pint===0.23;python_version>='3.9'
oslo.i18n===6.3.0
jsonpath-rw-ext===1.2.2
python-mistralclient===5.2.0
oslo.context===5.5.0
python-senlinclient===3.1.0
rcssmin===1.1.1
pycadf===3.1.1
grpcio===1.60.1
pysendfile===2.0.1
sniffio===1.3.0
fixtures===4.1.0
neutron-lib===3.11.1
XStatic-FileSaver===1.3.2.0
oslo.metrics===0.8.0
storage-interfaces===1.0.5
persist-queue===0.8.1
pystache===0.6.5
XStatic-Font-Awesome===4.7.0.0
nose===1.3.7
nosehtmloutput===0.0.7
waitress===3.0.2
os-refresh-config===13.2.0
pysnmp===4.4.12
Mako===1.3.2
pyScss===1.4.0
sphinxcontrib-htmlhelp===2.0.1;python_version=='3.8'
sphinxcontrib-htmlhelp===2.0.5;python_version>='3.9'
XStatic-jQuery===3.5.1.1
ddt===1.7.1
XStatic-Graphlib===2.1.7.0
pyserial===3.5
moto===5.0.1
infi.dtypes.wwn===0.1.1
python-freezerclient===5.2.0
python-vitrageclient===5.0.0
py-pure-client===1.47.0
nosexcover===1.0.11
krest===1.3.6
psycopg2===2.9.9
networkx===3.1;python_version=='3.8'
networkx===3.2.1;python_version>='3.9'
XStatic-Angular===1.8.2.2
pyngus===2.3.1
zuul-sphinx===0.7.0
Tempita===0.5.2
ply===3.11
google-api-core===2.17.1
requests-toolbelt===1.0.0
simplejson===3.19.2
types-paramiko===3.4.0.20240205
immutables===0.20
python-swiftclient===4.5.0
pyOpenSSL===25.1.0
monasca-common===3.8.0
zeroconf===0.131.0
scipy===1.10.1;python_version=='3.8'
scipy===1.12.0;python_version>='3.9'
opentelemetry-exporter-otlp===1.22.0
python-gnupg===0.5.2
mypy-extensions===1.0.0
rsd-lib===1.2.0
XStatic-Jasmine===2.4.1.2
googleapis-common-protos===1.62.0
python-glanceclient===4.5.0
prometheus_client===0.20.0
jaraco.classes===3.3.1
pyinotify===0.9.6
debtcollector===3.0.0
requests-unixsocket===0.3.0
responses===0.25.0
croniter===2.0.1
horizon===24.0.0
octavia-lib===3.5.0
python-watcherclient===4.4.0
MarkupSafe===2.1.5
types-python-dateutil===2.8.19.20240106
ruamel.yaml.clib===0.2.8
doc8===1.1.1
pymongo===4.6.1
python-cloudkittyclient===5.0.0
soupsieve===2.5
sqlparse===0.5.0
oslotest===5.0.0
jsonpointer===2.4
defusedxml===0.7.1
opentelemetry-sdk===1.22.0
netaddr===0.10.1
pyghmi===1.5.67
sphinxcontrib-blockdiag===3.0.0
thrift===0.16.0
gnocchiclient===7.0.8
backoff===2.2.1
wcwidth===0.2.13
sphinxcontrib.datatemplates===0.11.0
jsonpath-rw===1.4.0
prettytable===3.9.0
vine===5.1.0
taskflow===5.6.0
traceback2===1.4.0
arrow===1.3.0
semantic-version===2.10.0
async-timeout===4.0.3;python_version=='3.10'
async-timeout===4.0.3;python_version=='3.8'
async-timeout===4.0.3;python_version=='3.9'
virtualbmc===3.1.0
SQLAlchemy===1.4.51
pyroute2===0.7.12
google-auth===2.28.0
pyasn1-lextudio===1.1.2
kazoo===2.10.0
pyspnego===0.10.2
XStatic-roboto-fontface===0.5.0.0
pyudev===0.24.1
eventlet===0.35.1
openstack-doc-tools===3.3.1
oslo.messaging===14.7.2
jira===3.6.0
extras===1.0.0
PyJWT===2.8.0
typing_extensions===4.9.0
XStatic-lodash===4.16.4.2
zVMCloudConnector===1.6.3
paramiko===3.4.0
ifaddr===0.2.0
reno===4.1.0
ncclient===0.6.15
imagesize===1.4.1
pydot===2.0.0
urllib3===1.26.18
graphviz===0.20.1
PyKMIP===0.10.0
python-observabilityclient===0.1.1
whereto===0.4.0
pywbem===1.6.2
python-subunit===1.4.4
tornado===6.4
pycparser===2.21
mock===5.1.0
PyYAML===6.0.1
beautifulsoup4===4.12.3
ovs===3.1.2
cryptography===44.0.1
httpcore===1.0.3
URLObject===2.4.3
nocasedict===2.0.1
psycopg2-binary===2.9.9
openstack-release-test===5.0.0
pylxd===2.3.2
pycryptodomex===3.20.0
requests-mock===1.11.0
os-apply-config===13.2.0
oslosphinx===4.18.0
gunicorn===21.2.0
storpool===7.3.0
textfsm===1.1.2
python-3parclient===4.2.13
unittest2===1.1.0
django-compressor===4.4
libvirt-python===10.0.0
python-zunclient===5.0.0
tzlocal===5.2
sphinxcontrib-jsmath===1.0.1
python-novaclient===18.6.0
pact===1.12.0
bcrypt===4.0.1
exceptiongroup===1.2.0;python_version=='3.10'
exceptiongroup===1.2.0;python_version=='3.8'
exceptiongroup===1.2.0;python_version=='3.9'
os-client-config===2.1.0
XStatic-Angular-Gettext===2.4.1.0
Deprecated===1.2.14
h11===0.14.0
Pygments===2.17.2
XStatic-Hogan===2.0.0.3
XStatic-objectpath===1.2.1.0
python-manilaclient===4.8.0
sphinxcontrib-serializinghtml===1.1.5;python_version=='3.8'
sphinxcontrib-serializinghtml===1.1.10;python_version>='3.9'
requests===2.31.0
snowballstemmer===2.2.0
Jinja2===3.1.6
XStatic-Bootstrap-SCSS===3.4.1.0
pyzabbix===1.3.1
ptyprocess===0.7.0
threadloop===1.0.2
amqp===5.2.0
ruamel.yaml===0.18.6
websockify===0.11.0
gssapi===1.8.3
XStatic-JQuery.quicksearch===2.0.3.2
mpmath===1.3.0
python-binary-memcached===0.31.2
django-debreach===2.1.0
sphinx-feature-classification===1.1.0
django-pymemcache===1.0.0
XStatic-JQuery-Migrate===3.3.2.1
pytest-html===4.1.1
appdirs===1.4.4
google-auth-httplib2===0.2.0
pkgutil_resolve_name===1.3.10;python_version=='3.8'
daiquiri===3.2.5.1
influxdb===5.3.1
funcparserlib===1.0.1
passlib===1.7.4
dib-utils===0.0.11
cliff===4.6.0
os-brick===6.7.1
ansible-runner===2.3.5
scp===0.14.5
python-zaqarclient===2.7.0
lockfile===0.12.2
ldappool===3.0.0
termcolor===2.4.0
joblib===1.3.2
google-api-python-client===2.118.0
castellan===5.0.0
oslo.versionedobjects===3.3.0
enmerkar===0.7.1
webcolors===1.13
aodhclient===3.5.1
autobahn===23.1.2;python_version=='3.8'
autobahn===23.6.2;python_version>='3.9'
SQLAlchemy-Utils===0.41.1
retryz===0.1.9
pluggy===1.4.0
coverage===7.4.1
freezegun===1.4.0
toml===0.10.2
pycdlib===1.14.0
pyperclip===1.8.2
cassandra-driver===3.29.0
XStatic-Angular-Schema-Form===0.8.13.0
opentelemetry-exporter-otlp-proto-http===1.22.0
gabbi===2.4.0
nwdiag===3.0.0
XStatic-bootswatch===3.3.7.0
pytest-xdist===3.5.0
XStatic-JS-Yaml===3.8.1.0
XStatic-term.js===0.0.7.0
oslo.log===5.5.1
nodeenv===1.8.0
gossip===2.4.0
suds-community===1.1.2
importlib-metadata===6.2.1;python_version=='3.8'
importlib-metadata===6.2.1;python_version=='3.9'
importlib-metadata===6.11.0;python_version>='3.10'
oslo.middleware===6.1.0
XStatic-mdi===1.6.50.2
django-pyscss===2.0.3
uritemplate===4.1.1
docutils===0.20.1
threadpoolctl===3.3.0
os-ken===2.8.1
ujson===5.9.0
selenium===3.141.0
mistral-lib===2.10.0
dogtag-pki===11.2.1
XStatic-Angular-UUID===0.0.4.0
purestorage===1.19.0
sphinxcontrib-seqdiag===3.0.0
os-win===5.9.0
capacity===1.3.14
retrying===1.3.4
XStatic-Dagre===0.6.4.1
platformdirs===4.2.0
pydotplus===2.0.2
boto3===1.34.44
jeepney===0.8.0
stestr===4.1.0
pillow===9.5.0
infoblox-client===0.6.0
pysmi-lextudio===1.1.13
oslo.serialization===5.4.1
warlock===2.0.1
exabgp===4.2.21
sphinxcontrib-httpdomain===1.8.1
metalsmith===2.1.1
s3transfer===0.10.0
text-unidecode===1.3
sphinxcontrib-svg2pdfconverter===1.2.2
murano-pkg-check===0.3.0
oslo.vmware===4.4.0
XStatic-moment===2.8.4.3
autopage===0.5.2
sqlalchemy-migrate===0.13.0
gitdb===4.0.11
python-monascaclient===2.8.0
ldap3===2.9.1
opentelemetry-api===1.22.0
requests-ntlm===1.2.0
automaton===3.2.0
os-service-types===1.7.0
keyring===24.3.0
elementpath===4.2.1
jsonschema-specifications===2023.12.1
testscenarios===0.5.0
sphinxcontrib-pecanwsme===0.11.0
sadisplay===0.4.9
infinisdk===240.1.2
packaging===23.2
opentelemetry-exporter-otlp-proto-grpc===1.22.0
XStatic-Dagre-D3===0.4.17.0
nose-exclude===0.5.0
psutil===5.9.8
txaio===23.1.1
elasticsearch===2.4.1
django-nose===1.4.7
asgiref===3.7.2
XStatic-JQuery.TableSorter===2.14.5.2
pifpaf===3.1.5
pysmi===0.3.4
blockdiag===3.0.0
testtools===2.7.1
infi.dtypes.iqn===0.4.0
XStatic-tv4===1.2.7.0
XStatic-JSEncrypt===2.3.1.1
python-cinderclient===9.5.0
keystonemiddleware===10.6.0
django-formtools===2.5.1
XStatic-Spin===1.2.5.3
tap-as-a-service===13.0.0.0rc1
os-traits===3.0.0
typepy===1.3.2
SecretStorage===3.3.3
opentracing===2.4.0
XStatic-Rickshaw===1.5.1.0
iso8601===2.1.0
tooz===6.2.0
linecache2===1.0.0
oauth2client===4.1.3
idna===3.6
yamlloader===1.3.2
protobuf===4.25.3
sushy===5.0.0
python-neutronclient===11.2.0
pika===1.3.2
oslo.cache===3.7.0
WebTest===3.0.0
openstack.nose-plugin===0.11
os-collect-config===13.2.0
edgegrid-python===1.3.1
python-qpid-proton===0.39.0
python-octaviaclient===3.7.0
pysaml2===7.3.1;python_version=='3.8'
pysaml2===7.4.2;python_version>='3.9'
requests-oauthlib===1.3.1
oslo.reports===3.3.0
pysnmp-lextudio===5.0.33
bitmath===1.3.3.1
ceilometermiddleware===3.3.1
pyasn1-modules-lextudio===0.2.9
testrepository===0.0.20
sympy===1.12
Logbook===1.7.0.post0
PyNaCl===1.5.0
osc-lib===3.0.1
python-consul===1.1.0
more-itertools===10.2.0
seqdiag===3.0.0
numpy===1.24.4;python_version=='3.8'
numpy===1.26.4;python_version>='3.9'
msgpack===1.0.7
Sphinx===7.1.2;python_version=='3.8'
Sphinx===7.2.6;python_version>='3.9'
oslo.config===9.4.0
openstackdocstheme===3.2.0
osc-placement===4.3.0
rpds-py===0.18.0
zake===0.2.2
python-rsdclient===1.0.2
flux===1.3.5
python-solumclient===3.8.0
pysnmpcrypto===0.0.4
krb5===0.5.1
PyMySQL===1.1.1
uhashring===2.3
kubernetes===29.0.0
httplib2===0.22.0
betamax===0.9.0
construct===2.10.70
pytest-metadata===3.1.1
pyparsing===3.1.1
geomet===0.2.1.post1
opentelemetry-exporter-otlp-proto-common===1.22.0
distlib===0.3.8
XStatic-Moment-Timezone===0.5.22.0
dogpile.cache===1.3.1
python-barbicanclient===5.7.0
salt===3006.6
opentelemetry-semantic-conventions===0.43b0
api-object-schema===2.0.0
blinker===1.7.0
WSME===0.12.1
tomli===2.0.1;python_version=='3.10'
tomli===2.0.1;python_version=='3.8'
tomli===2.0.1;python_version=='3.9'
proboscis===1.2.6.0
backports.zoneinfo===0.2.1;python_version=='3.8'
oslo.upgradecheck===2.3.0
stevedore===5.2.0
pywinrm===0.4.3
botocore===1.34.44
xmltodict===0.13.0
pyasn1===0.5.1
oslo.rootwrap===7.2.0
Django===4.2.23
pexpect===4.9.0
contextvars===2.4
cmd2===2.4.3
python-json-logger===2.0.7
redis===5.0.1
jmespath===1.0.1
click===8.1.7
XStatic-smart-table===1.4.13.2
kuryr-lib===3.0.0
scrypt===0.8.20
jsonpatch===1.33
python-daemon===3.0.1
os-testr===3.0.0
cotyledon===1.7.3
xattr===1.1.0
systemd-python===235
python-memcached===1.62
openstacksdk===3.0.0
infi.dtypes.nqn===0.1.0
looseversion===1.3.0
six===1.16.0
dulwich===0.21.7
dfs-sdk===1.2.27
sentinels===1.0.0
kombu===5.3.5
distro===1.9.0
zstd===1.5.5.1
yaql===3.0.0
requestsexceptions===1.4.0
testresources===2.0.1
falcon===3.1.3
tomlkit===0.12.3
etcd3gw===2.4.0
Flask-RESTful===0.3.10
GitPython===3.1.42
python-ironicclient===5.5.0
XStatic===1.0.3
XStatic-Angular-FileUpload===12.2.13.0
python-openstackclient===6.6.1
pyzmq===25.1.2
nocaselist===2.0.0
oslo.db===15.0.0
simplegeneric===0.8.1
python-pcre===0.7
yappi===1.6.0
mbstrdecoder===1.1.3
pymemcache===4.0.0
wrapt===1.16.0
oslo.privsep===3.3.0
sphinxcontrib-apidoc===0.5.0
oslo.policy===4.3.0
python-muranoclient===2.8.0
hvac===2.1.0
pyeclib===1.6.1
wsgi-intercept===1.13.0
ndg-httpsclient===0.5.1
repoze.lru===0.7
rfc3986===2.0.0
tenacity===6.3.1
python-designateclient===6.0.1
future===0.18.3
pytest-cov===4.1.0
reactivex===4.0.4
Paste===3.7.1
pytest-django===4.8.0
jaeger-client===4.8.0
XStatic-Json2yaml===0.1.1.0
boto===2.49.0
os-vif===3.5.0
hyperlink===21.0.0
mitba===1.1.1
python-masakariclient===8.4.0
Werkzeug===3.0.6
pyasn1-modules===0.3.0
APScheduler===3.10.4
xmlschema===2.5.1
python-troveclient===8.4.0
cachez===0.1.2
XStatic-Bootstrap-Datepicker===1.4.0.0
CouchDB===1.2
netifaces===0.11.0
cachetools===5.3.2
ws4py===0.5.1
sphinxcontrib-qthelp===1.0.3;python_version=='3.8'
sphinxcontrib-qthelp===1.0.7;python_version>='3.9'
keystoneauth1===5.6.0
statsd===4.0.1
python-keystoneclient===5.4.0
ceilometer===22.0.0.0rc1
diskimage-builder===3.32.0
heat-translator===3.0.0
python-magnumclient===4.4.0
docker===7.0.0
storops===1.2.11
anyio===4.2.0
XStatic-Angular-lrdragndrop===1.0.2.6
ovsdbapp===2.6.1
aniso8601===9.0.1
rjsmin===1.2.1
icalendar===5.0.11
decorator===5.1.1
DateTimeRange===2.2.0
cffi===1.16.0
python-cyborgclient===2.3.0
futurist===3.0.0
jsonschema===4.19.2
sphinxcontrib-devhelp===1.0.2;python_version=='3.8'
sphinxcontrib-devhelp===1.0.6;python_version>='3.9'
python-blazarclient===4.0.1
alembic===1.9.4
execnet===2.0.2
glance-store===4.7.0
sphinxcontrib-programoutput===0.17
storpool.spopenstack===3.2.0
sphinx-testing===1.0.1
dnspython===2.5.0
oauthlib===3.2.2
Babel===2.14.0
logutils===0.3.5
zipp===3.17.0
greenlet===3.0.3
XStatic-Angular-Vis===4.16.0.0
iniconfig===2.0.0
referencing===0.33.0
confluent-kafka===2.3.0
xvfbwrapper===0.2.9
influxdb-client===1.40.0
tosca-parser===2.10.0
charset-normalizer===3.3.2
Flask===3.0.2
httpx===0.26.0
sqlalchemy-filters===0.13.0
marathon===0.13.0
sphinxcontrib-runcmd===0.2.0
confspirator===0.3.0
fasteners===0.19
sortedcontainers===2.4.0
python-linstor===1.21.0
filelock===3.13.1
python-tackerclient===2.0.0
python-heatclient===3.5.0
kafka-python===2.0.2
oslo.utils===7.1.0
gitdb2===4.0.2
requests-kerberos===0.14.0
itsdangerous===2.1.2
XStatic-jquery-ui===1.13.0.1
monasca-statsd===2.7.0
python-dateutil===2.8.2
virtualenv===20.25.0
colorama===0.4.6
confetti===2.5.3
ironic-lib===6.0.0
pytz===2024.1
opentelemetry-proto===1.22.0
XStatic-D3===3.5.17.0
actdiag===3.0.0
sysv-ipc===1.1.0
sphinxcontrib-applehelp===1.0.4;python_version=='3.8'
sphinxcontrib-applehelp===1.0.8;python_version>='3.9'
scikit-learn===1.3.2;python_version=='3.8'
scikit-learn===1.4.0;python_version>='3.9'

View File

@@ -0,0 +1,604 @@
abclient # Apache-2.0
alembic!=1.2.0 # MIT
amqp!=2.1.4 # BSD
ansible-runner!=1.3.5 # Apache 2.0
anyjson # BSD
appdirs # MIT License
apscheduler # MIT License
autobahn # MIT License
automaton # Apache-2.0
beautifulsoup4 # MIT
Babel!=2.4.0 # BSD
bcrypt # Apache-2.0
betamax # Apache-2.0
betamax-matchers # Apache-2.0
blockdiag!=2.0.0 # Apache-2.0
boto # MIT
boto3 # Apache-2.0
botocore # Apache-2.0
cassandra-driver!=3.6.0 # Apache-2.0
castellan # Apache-2.0
ceilometermiddleware # Apache-2.0
cachetools # MIT License
cffi # MIT
cliff!=2.9.0,!=2.17.0,<3.0.0;python_version=='2.7' # Apache-2.0
cliff!=2.9.0,!=2.17.0;python_version>='3.6' # Apache-2.0
# NOTE(mordred) python-openstackclient is broken due to bug 1810213
cmd2!=0.8.3,<0.9.0 # MIT
confluent-kafka!=1.4.0 # Apache-2.0
cotyledon # Apache-2.0
construct<2.9 # MIT
PuLP # MIT
contextlib2;python_version<'3.0' # PSF License
croniter # MIT License
cryptography!=2.0 # BSD/Apache-2.0
cursive # Apache-2.0
dataclasses;python_version=='3.6' # Apache-2.0
ddt # MIT
debtcollector<2.0.0;python_version<'3.0' # Apache-2.0
debtcollector;python_version>='3.0' # Apache-2.0
decorator # BSD
defusedxml # PSF
dib-utils # Apache-2.0
diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0
distro # Apache-2.0
Django<2;python_version<'3.0' # BSD
Django<3.0;python_version>='3.0' # BSD
django-compressor # MIT
django-debreach # BSD
django-floppyforms<2 # BSD
django-formtools # BSD
dnspython;python_version=='2.7' # http://www.dnspython.org/LICENSE
dnspython3!=1.13.0,!=1.14.0;python_version>='3.0' # http://www.dnspython.org/LICENSE
# Note(tonyb): We don't actually directly depend on docutils but we pull it in
# indirectly and we needed to blacklist 0.13.1 for problems with
# Sphinx 1.3. This can be now removed once all projects removed it.
docutils # OSI-Approved Open Source, Public Domain
dogpile.cache # BSD
dogtag-pki # LGPLv3+
dulwich!=0.19.3,!=0.19.7 # Apache-2.0
edgegrid-python # Apache-2.0
elasticsearch<3.0.0 # Apache-2.0
enmerkar;python_version>='3.0' # BSD
enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD
# NOTE: New versions of eventlet should not be accepted lightly
# as they have earned a reputation of frequently breaking things.
eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0 # MIT
exabgp!=4.0.6 # BSD
extras # MIT
faker # MIT
falcon # Apache-2.0
Flask!=0.11 # BSD
flask-keystone # Apache-2.0
flask-oslolog # Apache-2.0
Flask-RESTful # BSD
Flask-SQLAlchemy # BSD
fortiosclient # Apache-2.0
futures!=0.17.0;python_version=='2.7' or python_version=='2.6' # PSF
futurist<2.0.0;python_version=='2.7' # Apache-2.0
futurist;python_version>='3.6' # Apache-2.0
funcsigs;python_version=='2.7' or python_version=='2.6' # Apache-2.0
glance-store!=0.29.0 # Apache-2.0
google-api-python-client # Apache-2.0
graphviz!=0.5.0 # MIT License
greenlet!=0.4.14 # MIT
GitPython<2.1.12;python_version<'3.0' # BSD License (3 clause)
GitPython;python_version>='3.0' # BSD License (3 clause)
gunicorn<20.0.0;python_version<'3.0' # MIT
gunicorn;python_version>='3.0' # MIT
happybase!=0.7,!=1.0.0;python_version=='2.7' # MIT
heat-translator # Apache-2.0
horizon # Apache-2.0
httplib2 # MIT
hvac # Apache-2.0
icalendar # BSD
importlib-metadata # Apache-2.0
infinisdk # BSD-3
influxdb!=5.2.0,!=5.2.1,!=5.2.2,!=5.2.3;python_version<'3.0' # MIT
influxdb;python_version>='3.0' # MIT
instack-undercloud # Apache-2.0
ironic-lib # Apache-2.0
ipaddress;python_version<'3.3' # PSF
iso8601 # MIT
jira # BSD License (2 clause)
Jinja2 # BSD License (3 clause)
jmespath # MIT
jsonmodels # BSD License (3 clause)
jsonpatch!=1.20 # BSD
jsonpath-rw<2.0 # Apache-2.0
jsonpath-rw-ext # Apache-2.0
jsonschema # MIT
kazoo # Apache-2.0
keystoneauth1 # Apache-2.0
keystonemiddleware # Apache-2.0
krest # Apache-2.0
kubernetes # Apache-2.0
kuryr-lib # Apache-2.0
packaging # Apache-2.0
pylev # BSD
pypowervm!=1.1.21,!=1.1.22 # Apache-2.0
pyScss!=1.3.5 # MIT License
django-pyscss # BSD License (2 clause)
kombu!=4.0.2 # BSD
ldap3 # LGPLv3
deprecation # Apache-2.0
libvirt-python!=4.1.0,!=4.2.0,<6.0.0;python_version<'3.0' # LGPLv2+
libvirt-python!=4.1.0,!=4.2.0;python_version>='3.0' # LGPLv2+
lxml!=3.7.0 # BSD
Mako # MIT
marathon!=0.9.1 # MIT
metalsmith # Apache-2.0
microversion-parse # Apache-2.0
mistral-lib # Apache-2.0
monasca-common # Apache-2.0
monasca-statsd # Apache-2.0
monotonic;python_version<'3.3' # Apache-2.0
msgpack # Apache-2.0
munch # MIT
murano-pkg-check # Apache-2.0
mypy;python_version>='3.4' # MIT
ndg-httpsclient;python_version<'3.0' # BSD
netaddr # BSD
netifaces!=0.10.0,!=0.10.1 # MIT
netmiko # MIT
network-runner # Apache 2.0
networking-bagpipe # Apache-2.0
networking-bgpvpn # Apache-2.0
networking-l2gw # Apache-2.0
networking-odl # Apache-2.0
networking-sfc # Apache-2.0
# NOTE(fdegir): NetworkX 2.3 dropped support for Python 2
networkx<2.3;python_version<'3.0' # BSD
networkx;python_version>='3.4' # BSD
# NOTE(ralonsoh): neutron-lib 2.0.0 dropped support for Python 2
neutron-lib<2.0.0;python_version=='2.7' # Apache-2.0
neutron-lib;python_version>='3.6' # Apache-2.0
neutron-dynamic-routing # Apache-2.0
neutron-fwaas # Apache-2.0
neutron-lbaas # Apache-2.0
neutron-vpnaas # Apache-2.0
neutron # Apache-2.0
notifier # Apache-2.0
oauth2client!=4.0.0 # Apache-2.0
oauthlib # BSD
octavia-lib # Apache-2.0
openstackdocstheme # Apache-2.0
osc-lib # Apache-2.0
osc-placement # Apache-2.0
oslo.cache!=1.31.1,<2.0.0;python_version<'3.0' # Apache-2.0
oslo.cache!=1.31.1,!=2.1.0;python_version>='3.0' # Apache-2.0
oslo.config!=4.3.0,!=4.4.0,<8.0.0;python_version<'3.0' # Apache-2.0
oslo.config!=4.3.0,!=4.4.0;python_version>='3.0' # Apache-2.0
oslo.concurrency<4.0.0;python_version<'3.0' # Apache-2.0
oslo.concurrency;python_version>='3.0' # Apache-2.0
oslo.context<3.0.0;python_version<'3.0' # Apache-2.0
oslo.context;python_version>='3.0' # Apache-2.0
oslo.db # Apache-2.0
oslo.i18n<4.0.0;python_version=='2.7' # Apache-2.0
oslo.i18n;python_version>='3.6' # Apache-2.0
oslo.limit<1.0.0;python_version=='2.7' # Apache-2.0
oslo.limit;python_version>='3.0' # Apache-2.0
oslo.log<4.0.0;python_version<'3.0' # Apache-2.0
oslo.log;python_version>='3.0' # Apache-2.0
oslo.messaging!=9.0.0 # Apache-2.0
oslo.middleware # Apache-2.0
oslo.policy<3.0.0;python_version=='2.7' # Apache-2.0
oslo.policy!=3.0.0;python_version>='3.6' # Apache-2.0
oslo.privsep<2.0.0;python_version=='2.7' # Apache-2.0
oslo.privsep;python_version>='3.6' # Apache-2.0
oslo.reports<2.0.0;python_version<'3.0' # Apache-2.0
oslo.reports;python_version>='3.6' # Apache-2.0
oslo.rootwrap # Apache-2.0
# NOTE(mriedem): oslo.serialization 2.19.1 is blocked for bug 1593641
oslo.serialization!=2.19.1,<3.0.0;python_version<'3.0' # Apache-2.0
oslo.serialization!=2.19.1;python_version>='3.0' # Apache-2.0
oslo.service!=1.28.1 # Apache-2.0
oslo.upgradecheck<0.4.0;python_version=='2.7' # Apache-2.0
oslo.upgradecheck;python_version>='3.6' # Apache-2.0
# NOTE(lajoskatona): oslo.utils version between 3.39.1 and 3.40.1 excluded due to bug 1812922
oslo.utils!=3.39.1,!=3.40.0,!=3.40.1,<4.0.0;python_version<'3.0' # Apache-2.0
oslo.utils!=3.39.1,!=3.40.0,!=3.40.1;python_version>='3.0' # Apache-2.0
oslo.vmware # Apache-2.0
oslo.versionedobjects<2.0.0;python_version=='2.7' # Apache-2.0
oslo.versionedobjects;python_version>='3.6' # Apache-2.0
osprofiler # Apache-2.0
os-apply-config # Apache-2.0
os-brick!=2.8.0 # Apache-2.0
os-client-config # Apache-2.0
os-collect-config # Apache-2.0
os-dpm # Apache-2.0
os-net-config # Apache-2.0
os-refresh-config # Apache-2.0
os-resource-classes # Apache-2.0
os-service-types # Apache-2.0
os-testr<2.0.0;python_version=='2.7' # Apache-2.0
os-testr;python_version>='3.6' # Apache-2.0
os-traits # Apache-2.0
os-ken<1.0.0;python_version=='2.7' # Apache-2.0
os-ken;python_version>='3.6' # Apache-2.0
os-vif!=1.8.0,!=1.12.0,<2.0.0;python_version=='2.7' # Apache-2.0
os-vif!=1.8.0,!=1.12.0;python_version>='3.6' # Apache-2.0
ovs # Apache-2.0
os-win<5.0.0;python_version=='2.7' # Apache-2.0
os-win;python_version>='3.6' # Apache-2.0
os-xenapi # Apache-2.0
paramiko # LGPLv2.1+
Parsley # MIT
pathlib2 # MIT
passlib # BSD
Paste # MIT
PasteDeploy # MIT
paunch # Apache-2.0
pbr!=2.1.0 # Apache-2.0
pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2 # BSD
pexpect!=3.3 # ISC License
pifpaf # Apache-2.0
pika # BSD
Pillow # PIL License
Pint<0.10;python_version<'3.6' # BSD
Pint;python_version>='3.6' # BSD
pip # MIT
prometheus-client # Apache-2.0
protobuf # BSD License (3 clause)
PrettyTable<0.8 # BSD
psutil # BSD
pyasn1!=0.2.3 # BSD
pyasn1-modules # BSD
pycadf!=2.0.0,<3.0.0;python_version=='2.7' # Apache-2.0
pycadf!=2.0.0;python_version>='3.6' # Apache-2.0
PyECLib # BSD
pyghmi!=1.4.0,!=1.5.11 # Apache-2.0
pyinotify;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT
PyJWT # MIT
pykmip # Apache 2.0 License
python-ldap # PSF
pylxd # Apache-2.0
pymemcache!=1.3.0 # Apache 2.0 License
pymongo!=3.1 # Apache-2.0
PyMySQL # MIT License
pytest # MIT
pytest-django # BSD (3 clause)
pytest-html #MPL-2.0
python-etcd # MIT License
pywbem # LGPLv2.1+
pywinrm # MIT
salt!=2019.2.1,!=2019.2.2 # Apache-2.0
storpool!=5.2.0,!=5.3.0 # Apache-2.0
storpool.spopenstack # Apache-2.0
dfs-sdk # Apache-2.0
tap-as-a-service # Apache-2.0
etcd3 # Apache-2.0
etcd3gw!=0.2.2,!=0.2.3 # Apache-2.0
typing # PSF
voluptuous # BSD License
pydot # MIT License
pydotplus # MIT License
crc16 # LGPLv3+
pyzabbix # LGPL
statsd # MIT
weakrefmethod;python_version=='2.7' # PSF
zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License
opentracing # Apache-2.0
jaeger-client # Apache-2.0
pyngus # Apache-2.0
pyOpenSSL # Apache-2.0
pyparsing # MIT
pyroute2!=0.5.4,!=0.5.5;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
pysnmp # BSD
pystache # MIT
pysaml2!=4.0.3,!=4.0.4,!=4.0.5,!=4.0.5rc1,!=4.1.0,!=4.2.0,!=4.3.0,!=4.4.0,!=4.6.0 # Apache-2.0
# OpenStack clients. None of these should have an upper bound
# as that has implications for testing in the gate.
aodhclient # Apache-2.0
gnocchiclient # Apache-2.0
tricircleclient<1.0.0;python_version=='2.7' # Apache-2.0
tricircleclient;python_version>='3.6' # Apache-2.0
python-barbicanclient # Apache-2.0
python-blazarclient<3.0.0;python_version=='2.7' # Apache-2.0
python-blazarclient;python_version>='3.6' # Apache-2.0
python-ceilometerclient # Apache-2.0
python-cinderclient!=4.0.0,<6.0.0;python_version=='2.7' # Apache-2.0
python-cinderclient!=4.0.0;python_version>='3.6' # Apache-2.0
python-cloudkittyclient<4.0.0;python_version=='2.7' # Apache-2.0
python-cloudkittyclient;python_version>='3.6' # Apache-2.0
python-congressclient<2.0.0;python_version=='2.7' # Apache-2.0
python-congressclient<2000;python_version>='3.6' # Apache-2.0
python-designateclient # Apache-2.0
python-freezerclient<3.0.0;python_version=='2.7' # Apache-2.0
python-freezerclient;python_version>='3.6' # Apache-2.0
python-heatclient<2.0.0;python_version=='2.7' # Apache-2.0
python-heatclient;python_version>='3.6' # Apache-2.0
python-hnvclient # Apache-2.0
python-glanceclient # Apache-2.0
python-glareclient # Apache-2.0
python-ironic-inspector-client # Apache-2.0
python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0,<4.0.0;python_version=='2.7' # Apache-2.0
python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0;python_version>='3.6' # Apache-2.0
python-karborclient # Apache-2.0
python-keystoneclient!=2.1.0 # Apache-2.0
python-kingbirdclient # Apache-2.0
python-magnumclient # Apache-2.0
python-masakariclient # Apache-2.0
python-manilaclient<2.0.0;python_version=='2.7' # Apache-2.0
python-manilaclient;python_version>='3.6' # Apache-2.0
python-mistralclient!=3.2.0,<4.0.0;python_version=='2.7' # Apache-2.0
python-mistralclient!=3.2.0;python_version>='3.6' # Apache-2.0
python-muranoclient<2.0.0;python_version=='2.7' # Apache-2.0
python-muranoclient;python_version>='3.6' # Apache-2.0
python-monascaclient<2.0.0;python_version=='2.7' # Apache-2.0
python-monascaclient;python_version>='3.6' # Apache-2.0
python-neutronclient # Apache-2.0
python-novaclient # Apache-2.0
python-octaviaclient # Apache-2.0
python-openstackclient # Apache-2.0
python-qinlingclient<5.0.0;python_version=='2.7' # Apache-2.0
python-qinlingclient;python_version>='3.6' # Apache-2.0
python-rsdclient # Apache-2.0
python-saharaclient<3.0.0;python_version=='2.7' # Apache-2.0
python-saharaclient;python_version>='3.6' # Apache-2.0
python-searchlightclient<2.0.0;python_version=='2.7' #Apache-2.0
python-searchlightclient;python_version>='3.6' #Apache-2.0
python-senlinclient<2.0.0;python_version=='2.7' # Apache-2.0
python-senlinclient;python_version>='3.6' # Apache-2.0
python-smaugclient # Apache-2.0
python-solumclient<3.0.0;python_version=='2.7' # Apache-2.0
python-solumclient;python_version>='3.6' # Apache-2.0
python-swiftclient # Apache-2.0
python-tackerclient<1.0.0;python_version=='2.7' # Apache-2.0
python-tackerclient;python_version>='3.6' # Apache-2.0
python-troveclient # Apache-2.0
python-vitrageclient<4.0.0;python_version=='2.7' # Apache-2.0
python-vitrageclient;python_version>='3.6' # Apache-2.0
python-watcherclient # Apache-2.0
python-zaqarclient # Apache-2.0
python-zunclient # Apache-2.0
python-magic # MIT
python-memcached # PSF
python-dateutil # BSD
# 2013.6 is the first version of pytz that is PEP 440 compatible.
pytz # MIT
pyudev # LGPLv2.1+
PyYAML # MIT
qpid-python;python_version=='2.7' # Apache-2.0
raven # BSD
reno<3.0.0;python_version<'3.0' # Apache-2.0
reno;python_version>='3.0' # Apache-2.0
requests!=2.20.0 # Apache-2.0
requests-aws # BSD License (3 clause)
requests-kerberos # ISC
requestsexceptions # Apache-2.0
rfc3986 # Apache-2.0
rsd-lib # Apache-2.0
Routes # MIT
rtslib-fb # Apache-2.0
ryu # Apache-2.0
semantic-version # BSD
fasteners!=0.15 # Apache-2.0
scrypt # BSD
simplejson # MIT
six # MIT
scipy # BSD
scikit-learn<=0.20.0;python_version<='3.4' # BSD
scikit-learn;python_version>='3.5' # BSD
setproctitle # BSD
# NOTE(yamahata):
# bug work around of sqlalchemy
# https://bitbucket.org/zzzeek/sqlalchemy/issues/3952/
# The fix which is in git master branch is planned for 1.1.9
SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT
SQLAlchemy-Utils # BSD License
sqlalchemy-migrate # Apache-2.0
sqlalchemy-filters # Apache-2.0
sqlparse # BSD
stevedore # Apache-2.0
storops # Apache-2.0
systemd-python # LGPLv2+
sysv-ipc # BSD License
suds-jurko # LGPLv3+
sympy # BSD
taskflow # Apache-2.0
tempest # Apache-2.0
tooz # Apache-2.0
tosca-parser # Apache-2.0
tripleo-common!=11.3.0 # Apache-2.0
validations-libs # Apache-2.0
urllib3 # MIT
unicodecsv;python_version<'3.0' # BSD
warlock<2 # Apache-2.0
WebOb # MIT
websocket-client # LGPLv2+
websockify # LGPLv3
wheel # MIT
PyMI;sys_platform=='win32' # Apache 2.0 License
wmi;sys_platform=='win32' # MIT
WSME # MIT
xattr;sys_platform!='win32' # MIT
xstatic-angular-uuid # MIT License
xstatic-angular-vis # MIT License
xstatic-filesaver # MIT License
xstatic-js-yaml # MIT License
xstatic-json2yaml # MIT License
XenAPI # LGPL
XStatic # MIT License
XStatic-Angular # MIT License
XStatic-Angular-Bootstrap # MIT License
XStatic-Angular-Gettext # MIT License
XStatic-Angular-lrdragndrop # MIT License
XStatic-Angular-Schema-Form # MIT
XStatic-angular-ui-router # MIT
XStatic-Bootstrap-Datepicker # Apache 2.0 License
XStatic-Bootstrap-SCSS # Apache 2.0 License
XStatic-bootswatch # MIT License
XStatic-D3 # BSD License (3 clause)
XStatic-Dagre # MIT License
XStatic-Dagre-D3 # MIT License
XStatic-Font-Awesome # SIL OFL 1.1 License, MIT License
XStatic-Graphlib # MIT License
XStatic-Hogan # Apache 2.0 License
XStatic-Jasmine # MIT License
XStatic-jQuery<2 # MIT License
XStatic-JQuery-Migrate # MIT License
XStatic-JQuery.quicksearch # MIT License
XStatic-JQuery.TableSorter # MIT License
XStatic-jquery-ui # MIT License
XStatic-JSEncrypt # MIT License
XStatic-lodash # MIT License
XStatic-mdi # SIL OPEN FONT LICENSE Version 1.1
XStatic-moment # MIT License
XStatic-Moment-Timezone # MIT License
XStatic-objectpath # MIT
XStatic-Rickshaw # BSD License (prior)
XStatic-roboto-fontface # Apache 2.0 License
XStatic-smart-table # MIT License
XStatic-Spin # MIT License
XStatic-term.js # MIT License
XStatic-tv4 # MIT
XStatic-Angular-FileUpload # MIT License
yaql # Apache 2.0 License
# NOTE(dtantsur): zeroconf dropped compatibility with Python 2 in version 0.20
zeroconf<0.20;python_version=='2.7' # LGPL
zeroconf;python_version>='3.0' # LGPL
zhmcclient # Apache 2.0 License
# Testing tools below, which are typically in test-requires.txt
bashate<1.0.0;python_version=='2.7' # Apache-2.0
bashate;python_version>='3.6' # Apache-2.0
couchdb # Apache-2.0
coverage!=4.4 # Apache-2.0
demjson # GLGPLv3+
docker # Apache-2.0
django-nose # BSD
doc8 # Apache-2.0
Pygments # BSD license
fixtures # Apache-2.0/BSD
fixtures-git # Apache-2.0
freezegun # Apache-2.0
gabbi # Apache-2.0
kafka-python # Apache-2.0
keyring<19.0.0;python_version=='2.7' # MIT/PSF
keyring;python_version>='3.4' # MIT/PSF
ldappool # MPL
# Do not make mock conditional on Python version: we depend on newer code than
# in [most] releases of the Python std library.
# https://github.com/testing-cabal/mock/issues/487 for 4.0.[0-1] blacklist
mock!=4.0.0,!=4.0.1 # BSD
mox # Apache-2.0
mox3 # Apache-2.0
nodeenv # BSD
nose # LGPL
nose-exclude # LGPL
nosehtmloutput # Apache-2.0
nosexcover # BSD
openstack-doc-tools # Apache-2.0
openstack.nose-plugin # Apache-2.0
openstacksdk # Apache-2.0
os-api-ref # Apache-2.0
oslosphinx # Apache-2.0
oslotest # Apache-2.0
ovsdbapp # Apache-2.0
proboscis # Apache-2.0
psycopg2 # LGPL/ZPL
psycopg2-binary # LGPL/ZPL
purestorage # BSD
pysendfile;sys_platform!='win32' # MIT
python-3parclient # Apache-2.0
python-consul # MIT License
python-subunit # Apache-2.0/BSD
python-pytun # MIT
pyzmq # LGPL+BSD
redis # MIT
hiredis # BSD
requests-mock # Apache-2.0
tenacity # Apache-2.0
retrying!=1.3.0 # Apache-2.0
selenium # Apache-2.0
# While setuptools cannot deal with pre-installed incompatible versions,
# setting a lower bound is not harmful - it makes error messages cleaner. DO
# NOT set an upper bound on setuptools, as that will lead to uninstallable
# situations as progressive releases of projects are done.
# Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951
# Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086
# Cap setuptools to 58.0.0 on python3.5 due to the incompatibility with decorator 3.4.0.
setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<58.0.0;python_version>='3.5' # PSF/ZPL
setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='2.7' # PSF/ZPL
sphinx!=1.6.6,!=1.6.7,<2.0.0;python_version=='2.7' # BSD
sphinx!=1.6.6,!=1.6.7,!=2.1.0,!=3.0.0;python_version>='3.4' # BSD
sphinx-testing # BSD License
sphinxcontrib-actdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-actdiag;python_version>='3.4' # BSD
sphinxcontrib-apidoc # BSD
sphinxcontrib-blockdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-blockdiag;python_version>='3.4' # BSD
sphinxcontrib-httpdomain # BSD
sphinxcontrib-nwdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-nwdiag;python_version>='3.4' # BSD
sphinxcontrib-seqdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-seqdiag;python_version>='3.4' # BSD
sphinxcontrib-pecanwsme # Apache-2.0
sphinxcontrib-fulltoc # Apache-2.0
sphinx-feature-classification # Apache-2.0
sphinxmark # Apache-2.0
sphinxcontrib.datatemplates # BSD License
sphinxcontrib-programoutput # BSD license
sphinxcontrib-svg2pdfconverter # BSD License
stestr!=2.3.0,!=3.0.0 # Apache-2.0
sushy!=1.9.0<3.0.0;python_version=='2.7' # Apache-2.0
sushy!=1.9.0;python_version>='3.6' # Apache-2.0
tabulate # MIT
testrepository # Apache-2.0/BSD
testresources # Apache-2.0/BSD
testscenarios # Apache-2.0/BSD
testtools # MIT
trollius;python_version=='2.7' # Apache-2.0
ujson # BSD
unittest2 # BSD
virtualbmc # Apache-2.0
virtualenv<20.8 # MIT
vmware-nsxlib # Apache-2.0
wrapt # BSD License
WebTest # MIT
Werkzeug # BSD License
whereto # Apache-2.0
xmltodict # MIT
wsgi-intercept # MIT License
xvfbwrapper #license: MIT
zake # Apache-2.0
zuul-sphinx # Apache-2.0
shade # Apache-2.0
sadisplay # BSD
# NOTE(tonyb): Generally adding OpenSatck services isn't allowed but some consumers of ceilometer
# use it like a library so until there is a ceilometer-lib (or similar) this is our best option.
ceilometer # Apache-2.0
# Indirect dependencies that need blocking
# NOTE(bnemec): 1.16.0 introduced a bug that is breaking tooz. 1.18.0 fixes it.
# See https://bugs.launchpad.net/python-tooz/+bug/1808046
grpcio!=1.16.0,!=1.16.1,!=1.17.0,!=1.17.1
# NOTE(dhellmann): We need to include this package for testing the
# release jobs that propose constraint updates, even though it is not
# a real requirement of any of our software.
openstack-release-test
# NOTE(snapiri): This is required for Dragonflow topology visualization
skydive-client # Apache-2.0
# NOTE(anilvenkata): This is required for profiling oslo.service processes
Yappi!=0.98,!=0.99 # MIT
# NOTE(yoctozepto): To avoid repeated breakage (this is a dep of deps)
zipp<2;python_version<'3.6' # MIT
zipp;python_version>='3.6' # MIT
# NOTE(prometheanfire): python3 caps, are not approved for use in OpenStack
gitdb<4.0.0;python_version=='2.7' # BSD
gitdb;python_version>='3.4' # BSD
gitdb2<3.0.0;python_version=='2.7' # BSD
gitdb2;python_version>='3.4' # BSD

View File

@@ -0,0 +1,604 @@
abclient # Apache-2.0
alembic!=1.2.0 # MIT
amqp!=2.1.4 # BSD
ansible-runner!=1.3.5 # Apache 2.0
anyjson # BSD
appdirs # MIT License
apscheduler # MIT License
autobahn # MIT License
automaton # Apache-2.0
beautifulsoup4 # MIT
Babel!=2.4.0 # BSD
bcrypt # Apache-2.0
betamax # Apache-2.0
betamax-matchers # Apache-2.0
blockdiag!=2.0.0 # Apache-2.0
boto # MIT
boto3 # Apache-2.0
botocore # Apache-2.0
cassandra-driver!=3.6.0 # Apache-2.0
castellan # Apache-2.0
ceilometermiddleware # Apache-2.0
cachetools # MIT License
cffi # MIT
cliff!=2.9.0,!=2.17.0,<3.0.0;python_version=='2.7' # Apache-2.0
cliff!=2.9.0,!=2.17.0;python_version>='3.6' # Apache-2.0
# NOTE(mordred) python-openstackclient is broken due to bug 1810213
cmd2!=0.8.3,<0.9.0 # MIT
confluent-kafka!=1.4.0 # Apache-2.0
cotyledon # Apache-2.0
construct<2.9 # MIT
PuLP # MIT
contextlib2;python_version<'3.0' # PSF License
croniter # MIT License
cryptography!=2.0 # BSD/Apache-2.0
cursive # Apache-2.0
dataclasses;python_version=='3.6' # Apache-2.0
ddt # MIT
debtcollector<2.0.0;python_version<'3.0' # Apache-2.0
debtcollector;python_version>='3.0' # Apache-2.0
decorator # BSD
defusedxml # PSF
dib-utils # Apache-2.0
diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0
distro # Apache-2.0
Django<2;python_version<'3.0' # BSD
Django<3.0;python_version>='3.0' # BSD
django-compressor # MIT
django-debreach # BSD
django-floppyforms<2 # BSD
django-formtools # BSD
dnspython;python_version=='2.7' # http://www.dnspython.org/LICENSE
dnspython3!=1.13.0,!=1.14.0;python_version>='3.0' # http://www.dnspython.org/LICENSE
# Note(tonyb): We don't actually directly depend on docutils but we pull it in
# indirectly and we needed to blacklist 0.13.1 for problems with
# Sphinx 1.3. This can be now removed once all projects removed it.
docutils # OSI-Approved Open Source, Public Domain
dogpile.cache # BSD
dogtag-pki # LGPLv3+
dulwich!=0.19.3,!=0.19.7 # Apache-2.0
edgegrid-python # Apache-2.0
elasticsearch<3.0.0 # Apache-2.0
enmerkar;python_version>='3.0' # BSD
enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD
# NOTE: New versions of eventlet should not be accepted lightly
# as they have earned a reputation of frequently breaking things.
eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0 # MIT
exabgp!=4.0.6 # BSD
extras # MIT
faker # MIT
falcon # Apache-2.0
Flask!=0.11 # BSD
flask-keystone # Apache-2.0
flask-oslolog # Apache-2.0
Flask-RESTful # BSD
Flask-SQLAlchemy # BSD
fortiosclient # Apache-2.0
futures!=0.17.0;python_version=='2.7' or python_version=='2.6' # PSF
futurist<2.0.0;python_version=='2.7' # Apache-2.0
futurist;python_version>='3.6' # Apache-2.0
funcsigs;python_version=='2.7' or python_version=='2.6' # Apache-2.0
glance-store!=0.29.0 # Apache-2.0
google-api-python-client # Apache-2.0
graphviz!=0.5.0 # MIT License
greenlet!=0.4.14 # MIT
GitPython<2.1.12;python_version<'3.0' # BSD License (3 clause)
GitPython;python_version>='3.0' # BSD License (3 clause)
gunicorn<20.0.0;python_version<'3.0' # MIT
gunicorn;python_version>='3.0' # MIT
happybase!=0.7,!=1.0.0;python_version=='2.7' # MIT
heat-translator # Apache-2.0
horizon # Apache-2.0
httplib2 # MIT
hvac # Apache-2.0
icalendar # BSD
importlib-metadata # Apache-2.0
infinisdk # BSD-3
influxdb!=5.2.0,!=5.2.1,!=5.2.2,!=5.2.3;python_version<'3.0' # MIT
influxdb;python_version>='3.0' # MIT
instack-undercloud # Apache-2.0
ironic-lib # Apache-2.0
ipaddress;python_version<'3.3' # PSF
iso8601 # MIT
jira # BSD License (2 clause)
Jinja2 # BSD License (3 clause)
jmespath # MIT
jsonmodels # BSD License (3 clause)
jsonpatch!=1.20 # BSD
jsonpath-rw<2.0 # Apache-2.0
jsonpath-rw-ext # Apache-2.0
jsonschema # MIT
kazoo # Apache-2.0
keystoneauth1 # Apache-2.0
keystonemiddleware # Apache-2.0
krest # Apache-2.0
kubernetes # Apache-2.0
kuryr-lib # Apache-2.0
packaging # Apache-2.0
pylev # BSD
pypowervm!=1.1.21,!=1.1.22 # Apache-2.0
pyScss!=1.3.5 # MIT License
django-pyscss # BSD License (2 clause)
kombu!=4.0.2 # BSD
ldap3 # LGPLv3
deprecation # Apache-2.0
libvirt-python!=4.1.0,!=4.2.0,<6.0.0;python_version<'3.0' # LGPLv2+
libvirt-python!=4.1.0,!=4.2.0;python_version>='3.0' # LGPLv2+
lxml!=3.7.0 # BSD
Mako # MIT
marathon!=0.9.1 # MIT
metalsmith # Apache-2.0
microversion-parse # Apache-2.0
mistral-lib # Apache-2.0
monasca-common # Apache-2.0
monasca-statsd # Apache-2.0
monotonic;python_version<'3.3' # Apache-2.0
msgpack # Apache-2.0
munch # MIT
murano-pkg-check # Apache-2.0
mypy;python_version>='3.4' # MIT
ndg-httpsclient;python_version<'3.0' # BSD
netaddr # BSD
netifaces!=0.10.0,!=0.10.1 # MIT
netmiko # MIT
network-runner # Apache 2.0
networking-bagpipe # Apache-2.0
networking-bgpvpn # Apache-2.0
networking-l2gw # Apache-2.0
networking-odl # Apache-2.0
networking-sfc # Apache-2.0
# NOTE(fdegir): NetworkX 2.3 dropped support for Python 2
networkx<2.3;python_version<'3.0' # BSD
networkx;python_version>='3.4' # BSD
# NOTE(ralonsoh): neutron-lib 2.0.0 dropped support for Python 2
neutron-lib<2.0.0;python_version=='2.7' # Apache-2.0
neutron-lib;python_version>='3.6' # Apache-2.0
neutron-dynamic-routing # Apache-2.0
neutron-fwaas # Apache-2.0
neutron-lbaas # Apache-2.0
neutron-vpnaas # Apache-2.0
neutron # Apache-2.0
notifier # Apache-2.0
oauth2client!=4.0.0 # Apache-2.0
oauthlib # BSD
octavia-lib # Apache-2.0
openstackdocstheme # Apache-2.0
osc-lib # Apache-2.0
osc-placement # Apache-2.0
oslo.cache!=1.31.1,<2.0.0;python_version<'3.0' # Apache-2.0
oslo.cache!=1.31.1,!=2.1.0;python_version>='3.0' # Apache-2.0
oslo.config!=4.3.0,!=4.4.0,<8.0.0;python_version<'3.0' # Apache-2.0
oslo.config!=4.3.0,!=4.4.0;python_version>='3.0' # Apache-2.0
oslo.concurrency<4.0.0;python_version<'3.0' # Apache-2.0
oslo.concurrency;python_version>='3.0' # Apache-2.0
oslo.context<3.0.0;python_version<'3.0' # Apache-2.0
oslo.context;python_version>='3.0' # Apache-2.0
oslo.db # Apache-2.0
oslo.i18n<4.0.0;python_version=='2.7' # Apache-2.0
oslo.i18n;python_version>='3.6' # Apache-2.0
oslo.limit<1.0.0;python_version=='2.7' # Apache-2.0
oslo.limit;python_version>='3.0' # Apache-2.0
oslo.log<4.0.0;python_version<'3.0' # Apache-2.0
oslo.log;python_version>='3.0' # Apache-2.0
oslo.messaging!=9.0.0 # Apache-2.0
oslo.middleware # Apache-2.0
oslo.policy<3.0.0;python_version=='2.7' # Apache-2.0
oslo.policy!=3.0.0;python_version>='3.6' # Apache-2.0
oslo.privsep<2.0.0;python_version=='2.7' # Apache-2.0
oslo.privsep;python_version>='3.6' # Apache-2.0
oslo.reports<2.0.0;python_version<'3.0' # Apache-2.0
oslo.reports;python_version>='3.6' # Apache-2.0
oslo.rootwrap # Apache-2.0
# NOTE(mriedem): oslo.serialization 2.19.1 is blocked for bug 1593641
oslo.serialization!=2.19.1,<3.0.0;python_version<'3.0' # Apache-2.0
oslo.serialization!=2.19.1;python_version>='3.0' # Apache-2.0
oslo.service!=1.28.1 # Apache-2.0
oslo.upgradecheck<0.4.0;python_version=='2.7' # Apache-2.0
oslo.upgradecheck;python_version>='3.6' # Apache-2.0
# NOTE(lajoskatona): oslo.utils version between 3.39.1 and 3.40.1 excluded due to bug 1812922
oslo.utils!=3.39.1,!=3.40.0,!=3.40.1,<4.0.0;python_version<'3.0' # Apache-2.0
oslo.utils!=3.39.1,!=3.40.0,!=3.40.1;python_version>='3.0' # Apache-2.0
oslo.vmware # Apache-2.0
oslo.versionedobjects<2.0.0;python_version=='2.7' # Apache-2.0
oslo.versionedobjects;python_version>='3.6' # Apache-2.0
osprofiler # Apache-2.0
os-apply-config # Apache-2.0
os-brick!=2.8.0 # Apache-2.0
os-client-config # Apache-2.0
os-collect-config # Apache-2.0
os-dpm # Apache-2.0
os-net-config # Apache-2.0
os-refresh-config # Apache-2.0
os-resource-classes # Apache-2.0
os-service-types # Apache-2.0
os-testr<2.0.0;python_version=='2.7' # Apache-2.0
os-testr;python_version>='3.6' # Apache-2.0
os-traits # Apache-2.0
os-ken<1.0.0;python_version=='2.7' # Apache-2.0
os-ken;python_version>='3.6' # Apache-2.0
os-vif!=1.8.0,!=1.12.0,<2.0.0;python_version=='2.7' # Apache-2.0
os-vif!=1.8.0,!=1.12.0;python_version>='3.6' # Apache-2.0
ovs # Apache-2.0
os-win<5.0.0;python_version=='2.7' # Apache-2.0
os-win;python_version>='3.6' # Apache-2.0
os-xenapi # Apache-2.0
paramiko # LGPLv2.1+
Parsley # MIT
pathlib2 # MIT
passlib # BSD
Paste # MIT
PasteDeploy # MIT
paunch # Apache-2.0
pbr!=2.1.0 # Apache-2.0
pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2 # BSD
pexpect!=3.3 # ISC License
pifpaf # Apache-2.0
pika # BSD
Pillow # PIL License
Pint<0.10;python_version<'3.6' # BSD
Pint;python_version>='3.6' # BSD
pip # MIT
prometheus-client # Apache-2.0
protobuf # BSD License (3 clause)
PrettyTable<0.8 # BSD
psutil # BSD
pyasn1!=0.2.3 # BSD
pyasn1-modules # BSD
pycadf!=2.0.0,<3.0.0;python_version=='2.7' # Apache-2.0
pycadf!=2.0.0;python_version>='3.6' # Apache-2.0
PyECLib # BSD
pyghmi!=1.4.0,!=1.5.11 # Apache-2.0
pyinotify;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT
PyJWT # MIT
pykmip # Apache 2.0 License
python-ldap # PSF
pylxd # Apache-2.0
pymemcache!=1.3.0 # Apache 2.0 License
pymongo!=3.1 # Apache-2.0
PyMySQL # MIT License
pytest # MIT
pytest-django # BSD (3 clause)
pytest-html #MPL-2.0
python-etcd # MIT License
pywbem # LGPLv2.1+
pywinrm # MIT
salt!=2019.2.1,!=2019.2.2 # Apache-2.0
storpool!=5.2.0,!=5.3.0 # Apache-2.0
storpool.spopenstack # Apache-2.0
dfs-sdk # Apache-2.0
tap-as-a-service # Apache-2.0
etcd3 # Apache-2.0
etcd3gw!=0.2.2,!=0.2.3 # Apache-2.0
typing # PSF
voluptuous # BSD License
pydot # MIT License
pydotplus # MIT License
crc16 # LGPLv3+
pyzabbix # LGPL
statsd # MIT
weakrefmethod;python_version=='2.7' # PSF
zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License
opentracing # Apache-2.0
jaeger-client # Apache-2.0
pyngus # Apache-2.0
pyOpenSSL # Apache-2.0
pyparsing # MIT
pyroute2!=0.5.4,!=0.5.5;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
pysnmp # BSD
pystache # MIT
pysaml2!=4.0.3,!=4.0.4,!=4.0.5,!=4.0.5rc1,!=4.1.0,!=4.2.0,!=4.3.0,!=4.4.0,!=4.6.0 # Apache-2.0
# OpenStack clients. None of these should have an upper bound
# as that has implications for testing in the gate.
aodhclient # Apache-2.0
gnocchiclient # Apache-2.0
tricircleclient<1.0.0;python_version=='2.7' # Apache-2.0
tricircleclient;python_version>='3.6' # Apache-2.0
python-barbicanclient # Apache-2.0
python-blazarclient<3.0.0;python_version=='2.7' # Apache-2.0
python-blazarclient;python_version>='3.6' # Apache-2.0
python-ceilometerclient # Apache-2.0
python-cinderclient!=4.0.0,<6.0.0;python_version=='2.7' # Apache-2.0
python-cinderclient!=4.0.0;python_version>='3.6' # Apache-2.0
python-cloudkittyclient<4.0.0;python_version=='2.7' # Apache-2.0
python-cloudkittyclient;python_version>='3.6' # Apache-2.0
python-congressclient<2.0.0;python_version=='2.7' # Apache-2.0
python-congressclient<2000;python_version>='3.6' # Apache-2.0
python-designateclient # Apache-2.0
python-freezerclient<3.0.0;python_version=='2.7' # Apache-2.0
python-freezerclient;python_version>='3.6' # Apache-2.0
python-heatclient<2.0.0;python_version=='2.7' # Apache-2.0
python-heatclient;python_version>='3.6' # Apache-2.0
python-hnvclient # Apache-2.0
python-glanceclient # Apache-2.0
python-glareclient # Apache-2.0
python-ironic-inspector-client # Apache-2.0
python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0,<4.0.0;python_version=='2.7' # Apache-2.0
python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0;python_version>='3.6' # Apache-2.0
python-karborclient # Apache-2.0
python-keystoneclient!=2.1.0 # Apache-2.0
python-kingbirdclient # Apache-2.0
python-magnumclient # Apache-2.0
python-masakariclient # Apache-2.0
python-manilaclient<2.0.0;python_version=='2.7' # Apache-2.0
python-manilaclient;python_version>='3.6' # Apache-2.0
python-mistralclient!=3.2.0,<4.0.0;python_version=='2.7' # Apache-2.0
python-mistralclient!=3.2.0;python_version>='3.6' # Apache-2.0
python-muranoclient<2.0.0;python_version=='2.7' # Apache-2.0
python-muranoclient;python_version>='3.6' # Apache-2.0
python-monascaclient<2.0.0;python_version=='2.7' # Apache-2.0
python-monascaclient;python_version>='3.6' # Apache-2.0
python-neutronclient # Apache-2.0
python-novaclient # Apache-2.0
python-octaviaclient # Apache-2.0
python-openstackclient # Apache-2.0
python-qinlingclient<5.0.0;python_version=='2.7' # Apache-2.0
python-qinlingclient;python_version>='3.6' # Apache-2.0
python-rsdclient # Apache-2.0
python-saharaclient<3.0.0;python_version=='2.7' # Apache-2.0
python-saharaclient;python_version>='3.6' # Apache-2.0
python-searchlightclient<2.0.0;python_version=='2.7' #Apache-2.0
python-searchlightclient;python_version>='3.6' #Apache-2.0
python-senlinclient<2.0.0;python_version=='2.7' # Apache-2.0
python-senlinclient;python_version>='3.6' # Apache-2.0
python-smaugclient # Apache-2.0
python-solumclient<3.0.0;python_version=='2.7' # Apache-2.0
python-solumclient;python_version>='3.6' # Apache-2.0
python-swiftclient # Apache-2.0
python-tackerclient<1.0.0;python_version=='2.7' # Apache-2.0
python-tackerclient;python_version>='3.6' # Apache-2.0
python-troveclient # Apache-2.0
python-vitrageclient<4.0.0;python_version=='2.7' # Apache-2.0
python-vitrageclient;python_version>='3.6' # Apache-2.0
python-watcherclient # Apache-2.0
python-zaqarclient # Apache-2.0
python-zunclient # Apache-2.0
python-magic # MIT
python-memcached # PSF
python-dateutil # BSD
# 2013.6 is the first version of pytz that is PEP 440 compatible.
pytz # MIT
pyudev # LGPLv2.1+
PyYAML # MIT
qpid-python;python_version=='2.7' # Apache-2.0
raven # BSD
reno<3.0.0;python_version<'3.0' # Apache-2.0
reno;python_version>='3.0' # Apache-2.0
requests!=2.20.0 # Apache-2.0
requests-aws # BSD License (3 clause)
requests-kerberos # ISC
requestsexceptions # Apache-2.0
rfc3986 # Apache-2.0
rsd-lib # Apache-2.0
Routes # MIT
rtslib-fb # Apache-2.0
ryu # Apache-2.0
semantic-version # BSD
fasteners!=0.15 # Apache-2.0
scrypt # BSD
simplejson # MIT
six # MIT
scipy # BSD
scikit-learn<=0.20.0;python_version<='3.4' # BSD
scikit-learn;python_version>='3.5' # BSD
setproctitle # BSD
# NOTE(yamahata):
# bug work around of sqlalchemy
# https://bitbucket.org/zzzeek/sqlalchemy/issues/3952/
# The fix which is in git master branch is planned for 1.1.9
SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT
SQLAlchemy-Utils # BSD License
sqlalchemy-migrate # Apache-2.0
sqlalchemy-filters # Apache-2.0
sqlparse # BSD
stevedore # Apache-2.0
storops # Apache-2.0
systemd-python # LGPLv2+
sysv-ipc # BSD License
suds-jurko # LGPLv3+
sympy # BSD
taskflow # Apache-2.0
tempest # Apache-2.0
tooz # Apache-2.0
tosca-parser # Apache-2.0
tripleo-common!=11.3.0 # Apache-2.0
validations-libs # Apache-2.0
urllib3 # MIT
unicodecsv;python_version<'3.0' # BSD
warlock<2 # Apache-2.0
WebOb # MIT
websocket-client # LGPLv2+
websockify # LGPLv3
wheel # MIT
PyMI;sys_platform=='win32' # Apache 2.0 License
wmi;sys_platform=='win32' # MIT
WSME # MIT
xattr;sys_platform!='win32' # MIT
xstatic-angular-uuid # MIT License
xstatic-angular-vis # MIT License
xstatic-filesaver # MIT License
xstatic-js-yaml # MIT License
xstatic-json2yaml # MIT License
XenAPI # LGPL
XStatic # MIT License
XStatic-Angular # MIT License
XStatic-Angular-Bootstrap # MIT License
XStatic-Angular-Gettext # MIT License
XStatic-Angular-lrdragndrop # MIT License
XStatic-Angular-Schema-Form # MIT
XStatic-angular-ui-router # MIT
XStatic-Bootstrap-Datepicker # Apache 2.0 License
XStatic-Bootstrap-SCSS # Apache 2.0 License
XStatic-bootswatch # MIT License
XStatic-D3 # BSD License (3 clause)
XStatic-Dagre # MIT License
XStatic-Dagre-D3 # MIT License
XStatic-Font-Awesome # SIL OFL 1.1 License, MIT License
XStatic-Graphlib # MIT License
XStatic-Hogan # Apache 2.0 License
XStatic-Jasmine # MIT License
XStatic-jQuery<2 # MIT License
XStatic-JQuery-Migrate # MIT License
XStatic-JQuery.quicksearch # MIT License
XStatic-JQuery.TableSorter # MIT License
XStatic-jquery-ui # MIT License
XStatic-JSEncrypt # MIT License
XStatic-lodash # MIT License
XStatic-mdi # SIL OPEN FONT LICENSE Version 1.1
XStatic-moment # MIT License
XStatic-Moment-Timezone # MIT License
XStatic-objectpath # MIT
XStatic-Rickshaw # BSD License (prior)
XStatic-roboto-fontface # Apache 2.0 License
XStatic-smart-table # MIT License
XStatic-Spin # MIT License
XStatic-term.js # MIT License
XStatic-tv4 # MIT
XStatic-Angular-FileUpload # MIT License
yaql # Apache 2.0 License
# NOTE(dtantsur): zeroconf dropped compatibility with Python 2 in version 0.20
zeroconf<0.20;python_version=='2.7' # LGPL
zeroconf;python_version>='3.0' # LGPL
zhmcclient # Apache 2.0 License
# Testing tools below, which are typically in test-requires.txt
bashate<1.0.0;python_version=='2.7' # Apache-2.0
bashate;python_version>='3.6' # Apache-2.0
couchdb # Apache-2.0
coverage!=4.4 # Apache-2.0
demjson # GLGPLv3+
docker # Apache-2.0
django-nose # BSD
doc8 # Apache-2.0
Pygments # BSD license
fixtures # Apache-2.0/BSD
fixtures-git # Apache-2.0
freezegun # Apache-2.0
gabbi # Apache-2.0
kafka-python # Apache-2.0
keyring<19.0.0;python_version=='2.7' # MIT/PSF
keyring;python_version>='3.4' # MIT/PSF
ldappool # MPL
# Do not make mock conditional on Python version: we depend on newer code than
# in [most] releases of the Python std library.
# https://github.com/testing-cabal/mock/issues/487 for 4.0.[0-1] blacklist
mock!=4.0.0,!=4.0.1 # BSD
mox # Apache-2.0
mox3 # Apache-2.0
nodeenv # BSD
nose # LGPL
nose-exclude # LGPL
nosehtmloutput # Apache-2.0
nosexcover # BSD
openstack-doc-tools # Apache-2.0
openstack.nose-plugin # Apache-2.0
openstacksdk # Apache-2.0
os-api-ref # Apache-2.0
oslosphinx # Apache-2.0
oslotest # Apache-2.0
ovsdbapp # Apache-2.0
proboscis # Apache-2.0
psycopg2 # LGPL/ZPL
psycopg2-binary # LGPL/ZPL
purestorage # BSD
pysendfile;sys_platform!='win32' # MIT
python-3parclient # Apache-2.0
python-consul # MIT License
python-subunit # Apache-2.0/BSD
python-pytun # MIT
pyzmq # LGPL+BSD
redis # MIT
hiredis # BSD
requests-mock # Apache-2.0
tenacity # Apache-2.0
retrying!=1.3.0 # Apache-2.0
selenium # Apache-2.0
# While setuptools cannot deal with pre-installed incompatible versions,
# setting a lower bound is not harmful - it makes error messages cleaner. DO
# NOT set an upper bound on setuptools, as that will lead to uninstallable
# situations as progressive releases of projects are done.
# Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951
# Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086
# Cap setuptools to 58.0.0 on python3.5 due to the incompatibility with decorator 3.4.0.
setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<58.0.0;python_version>='3.5' # PSF/ZPL
setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='2.7' # PSF/ZPL
sphinx!=1.6.6,!=1.6.7,<2.0.0;python_version=='2.7' # BSD
sphinx!=1.6.6,!=1.6.7,!=2.1.0,!=3.0.0;python_version>='3.4' # BSD
sphinx-testing # BSD License
sphinxcontrib-actdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-actdiag;python_version>='3.4' # BSD
sphinxcontrib-apidoc # BSD
sphinxcontrib-blockdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-blockdiag;python_version>='3.4' # BSD
sphinxcontrib-httpdomain # BSD
sphinxcontrib-nwdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-nwdiag;python_version>='3.4' # BSD
sphinxcontrib-seqdiag<2.0.0;python_version=='2.7' # BSD
sphinxcontrib-seqdiag;python_version>='3.4' # BSD
sphinxcontrib-pecanwsme # Apache-2.0
sphinxcontrib-fulltoc # Apache-2.0
sphinx-feature-classification # Apache-2.0
sphinxmark # Apache-2.0
sphinxcontrib.datatemplates # BSD License
sphinxcontrib-programoutput # BSD license
sphinxcontrib-svg2pdfconverter # BSD License
stestr!=2.3.0,!=3.0.0 # Apache-2.0
sushy!=1.9.0<3.0.0;python_version=='2.7' # Apache-2.0
sushy!=1.9.0;python_version>='3.6' # Apache-2.0
tabulate # MIT
testrepository # Apache-2.0/BSD
testresources # Apache-2.0/BSD
testscenarios # Apache-2.0/BSD
testtools # MIT
trollius;python_version=='2.7' # Apache-2.0
ujson # BSD
unittest2 # BSD
virtualbmc # Apache-2.0
virtualenv<20.8 # MIT
vmware-nsxlib # Apache-2.0
wrapt # BSD License
WebTest # MIT
Werkzeug # BSD License
whereto # Apache-2.0
xmltodict # MIT
wsgi-intercept # MIT License
xvfbwrapper #license: MIT
zake # Apache-2.0
zuul-sphinx # Apache-2.0
shade # Apache-2.0
sadisplay # BSD
# NOTE(tonyb): Generally adding OpenSatck services isn't allowed but some consumers of ceilometer
# use it like a library so until there is a ceilometer-lib (or similar) this is our best option.
ceilometer # Apache-2.0
# Indirect dependencies that need blocking
# NOTE(bnemec): 1.16.0 introduced a bug that is breaking tooz. 1.18.0 fixes it.
# See https://bugs.launchpad.net/python-tooz/+bug/1808046
grpcio!=1.16.0,!=1.16.1,!=1.17.0,!=1.17.1
# NOTE(dhellmann): We need to include this package for testing the
# release jobs that propose constraint updates, even though it is not
# a real requirement of any of our software.
openstack-release-test
# NOTE(snapiri): This is required for Dragonflow topology visualization
skydive-client # Apache-2.0
# NOTE(anilvenkata): This is required for profiling oslo.service processes
Yappi!=0.98,!=0.99 # MIT
# NOTE(yoctozepto): To avoid repeated breakage (this is a dep of deps)
zipp<2;python_version<'3.6' # MIT
zipp;python_version>='3.6' # MIT
# NOTE(prometheanfire): python3 caps, are not approved for use in OpenStack
gitdb<4.0.0;python_version=='2.7' # BSD
gitdb;python_version>='3.4' # BSD
gitdb2<3.0.0;python_version=='2.7' # BSD
gitdb2;python_version>='3.4' # BSD

View File

@@ -0,0 +1,202 @@
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.

View File

@@ -0,0 +1,13 @@
# This file specifies constraint/requirement URLs for current and python2
# openstack branches
# Current/stable
STABLE_OPENSTACK_REQ_URL="openstack-requirements/caracal"
# Current/experimental (for dev images)
MASTER_OPENSTACK_REQ_URL="https://raw.githubusercontent.com/openstack/requirements/master"
# Python2/stable
STABLE_OPENSTACK_REQ_URL_PY2="openstack-requirements/ussuri"
# Python2/experimental (for dev images)
MASTER_OPENSTACK_REQ_URL_PY2="https://raw.githubusercontent.com/openstack/requirements/stable/train"

View File

@@ -0,0 +1,177 @@
#
# git: wheelname|git|git-source|basedir|branch
# tar: wheelname|tar|wget-source|basedir
# pypi: wheelname|pypi|wget-source
# zip: wheelname|zip|wget-source|basedir
#
# If fix_setup must be called, add |fix_setup at the end of the line
#
# See doc/wheels-cfg.md for more info.
#
abclient-0.2.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/49/eb/091b02c1e36d68927adfb746706e2c80f7e7bfb3f16e3cbcfec2632118ab/abclient-0.2.3.tar.gz|abclient-0.2.3
alembic-1.1.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/9a/0f/a5e8997d58882da8ecd288360dddf133a83145de6480216774923b393422/alembic-1.1.0.tar.gz|alembic-1.1.0
amqplib-1.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/75/b7/8c2429bf8d92354a0118614f9a4d15e53bc69ebedce534284111de5a0102/amqplib-1.0.2.tgz|amqplib-1.0.2
anyjson-0.3.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/c3/4d/d4089e1a3dd25b46bebdb55a992b0797cff657b4477bc32ce28038fdecbc/anyjson-0.3.3.tar.gz|anyjson-0.3.3
backports.ssl_match_hostname-3.7.0.1-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ff/2b/8265224812912bc5b7a607c44bf7b027554e1b9775e9ee0de8032e3de4b2/backports.ssl_match_hostname-3.7.0.1.tar.gz|backports.ssl_match_hostname-3.7.0.1|fix_setup
bottle-0.12.17-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/c4/a5/6bf41779860e9b526772e1b3b31a65a22bd97535572988d16028c5ab617d/bottle-0.12.17.tar.gz|bottle-0.12.17
cassandra_driver-3.19.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/1c/fe/e4df42a3e864b6b7b2c7f6050b66cafc7fba8b46da0dfb9d51867e171a77/cassandra-driver-3.19.0.tar.gz|cassandra-driver-3.19.0
cmd2-0.8.9-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/e9/40/a71caa2aaff10c73612a7106e2d35f693e85b8cf6e37ab0774274bca3cf9/cmd2-0.8.9-py2.py3-none-any.whl
construct-2.8.22-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/e5/c6/3e3aeef38bb0c27364af3d21493d9690c7c3925f298559bca3c48b7c9419/construct-2.8.22.tar.gz|construct-2.8.22
crc16-0.1.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a6/e0/70a44c4385f2b33df82e518005aae16b5c1feaf082c73c0acebe3426fc0a/crc16-0.1.1.tar.gz|crc16-0.1.1|fix_setup
demjson-2.2.4-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/96/67/6db789e2533158963d4af689f961b644ddd9200615b8ce92d6cad695c65a/demjson-2.2.4.tar.gz|demjson-2.2.4|fix_setup
django_floppyforms-1.7.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8c/18/30a9137c7ae279a27ccdeb10f6fe8be18ee98551d01ec030b6cfe8b2d2e2/django-floppyforms-1.7.0.tar.gz|django-floppyforms-1.7.0
django_pyscss-2.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/4b/7f/d771802305184aac6010826f60a0b2ecaa3f57d19ab0e405f0c8db07e809/django-pyscss-2.0.2.tar.gz|django-pyscss-2.0.2
docopt-0.6.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz|docopt-0.6.2
dogpile.cache-0.7.1-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/84/3e/dbf1cfc5228f1d3dca80ef714db2c5aaec5cd9efaf54d7e3daef6bc48b19/dogpile.cache-0.7.1.tar.gz|dogpile.cache-0.7.1
enum_compat-0.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/95/6e/26bdcba28b66126f66cf3e4cd03bcd63f7ae330d29ee68b1f6b623550bfa/enum-compat-0.0.2.tar.gz|enum-compat-0.0.2
etcd3-0.10.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/09/f1/93603a26daf7a993a0acbbcfd32afce8b2fdf30a765d5651571ab635969b/etcd3-0.10.0.tar.gz|etcd3-0.10.0
exabgp-4.1.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/b9/f1/f2417bc82c9caa220fcd369a3b55ac895088bcc8afc262e4bb07d48aa40c/exabgp-4.1.2.tar.gz|exabgp-4.1.2
flask_keystone-0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/1f/ca/3938de8c5f4a3d1c5dd4278bedb9d31d79816feba4d088293c620a366fb1/flask_keystone-0.2.tar.gz|flask_keystone-0.2
flask_oslolog-0.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/a7/62/fec02ce761b548b1289680bb1be1aa0bce2b2c4017d5b31bd6c67c78aef9/flask_oslolog-0.1.tar.gz|flask_oslolog-0.1
fortiosclient-0.0.3-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e9/aa/b2c0705d5e52c8d9af35422d940800b49c562758fbdad3179a6fbf6e92f5/fortiosclient-0.0.3.tar.gz|fortiosclient-0.0.3
frozendict-1.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/4e/55/a12ded2c426a4d2bee73f88304c9c08ebbdbadb82569ebdd6a0c007cfd08/frozendict-1.2.tar.gz|frozendict-1.2
funcparserlib-0.3.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/cb/f7/b4a59c3ccf67c0082546eaeb454da1a6610e924d2e7a2a21f337ecae7b40/funcparserlib-0.3.6.tar.gz|funcparserlib-0.3.6
functools32-3.2.3.post2-py2-none-any.whl|git|https://github.com/MiCHiLU/python-functools32|python-functools32|3.2.3-2|fix_setup
future-0.17.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/90/52/e20466b85000a181e1e144fd8305caf2cf475e2f9674e797b222f8105f5f/future-0.17.1.tar.gz|future-0.17.1
happybase-1.2.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/d1/9c/f5f7bdb5439cda2b7da4e20ac24ec0e2455fd68aade8397f211d2994c39d/happybase-1.2.0.tar.gz|happybase-1.2.0
hiredis-1.0.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9e/e0/c160dbdff032ffe68e4b3c576cba3db22d8ceffc9513ae63368296d1bcc8/hiredis-1.0.0.tar.gz|hiredis-1.0.0
httplib2-0.13.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/78/23/bb9606e87a66fd8c72a2b1a75b049d3859a122bc2648915be845bc44e04f/httplib2-0.13.1.tar.gz|httplib2-0.13.1
itsdangerous-1.1.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl
jaeger_client-4.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/f1/da/569a4f1bc3d0c412c7f903053f09ef62fa10949374ca90bc852b22dd3860/jaeger-client-4.1.0.tar.gz|jaeger-client-4.1.0
jsonpath_rw-1.4.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/71/7c/45001b1f19af8c4478489fbae4fc657b21c4c669d7a5a036a86882581d85/jsonpath-rw-1.4.0.tar.gz|jsonpath-rw-1.4.0
krest-1.3.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/fb/d2/9dbbd3a76f2385041720a0eb51ddab676e688fa8bee8a1489470839616cf/krest-1.3.1.tar.gz|krest-1.3.1
#libvirt_python-4.4.0-cp27-none-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/2b/8d/1160cf34dc3d296896eb5c8f4944439ea368b87d2d2431f58d08d6bdf374/libvirt-python-4.4.0.tar.gz|libvirt-python-4.4.0|fix_setup
logutils-0.3.5-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/49/b2/b57450889bf73da26027f8b995fd5fbfab258ec24ef967e4c1892f7cb121/logutils-0.3.5.tar.gz|logutils-0.3.5|fix_setup
lz4-0.9.0-cp27-cp27mu-linux_x86_64.whl|git|https://github.com/python-lz4/python-lz4|python-lz4|v0.9.0
Mako-1.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/b0/3c/8dcd6883d009f7cae0f3157fb53e9afb05a0d3d33b3db1268ec2e6f4a56b/Mako-1.1.0.tar.gz|Mako-1.1.0
marathon-0.11.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/97/e3/f036af0d94f98d199233faa71b5bcbef8b8e8e634551940d98c95d276e4f/marathon-0.11.0-py2.py3-none-any.whl
MarkupSafe-1.1.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz|MarkupSafe-1.1.1
mox-0.5.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/0c/a1/64740c638cc5fae807022368f4141700518ee343b53eb3e90bf3cc15a4d4/mox-0.5.3.tar.gz|mox-0.5.3|fix_setup
migrate-0.3.8-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/ce/31/1a4cbf8dc0536c55f41072e8ea37b3df1e412262dc731c57e5bb099eb9b2/migrate-0.3.8.tar.gz|migrate-0.3.8
mpmath-1.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/ca/63/3384ebb3b51af9610086b23ea976e6d27d6d97bf140a76a365bd77a3eb32/mpmath-1.1.0.tar.gz|mpmath-1.1.0|fix_setup
msgpack_python-0.4.8-cp27-cp27mu-linux_x86_64.whl|git|https://github.com/msgpack/msgpack-python.git|msgpack-python|0.4.8
munch-2.3.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/68/f4/260ec98ea840757a0da09e0ed8135333d59b8dfebe9752a365b04857660a/munch-2.3.2.tar.gz|munch-2.3.2
ndg_httpsclient-0.5.1-py2-none-any.whl|pypi|https://files.pythonhosted.org/packages/bf/b2/26470fde7ff55169df8e071fb42cb1f83e22bd952520ab2b5c5a5edc2acd/ndg_httpsclient-0.5.1-py2-none-any.whl
netifaces-0.10.9-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/0d/18/fd6e9c71a35b67a73160ec80a49da63d1eed2d2055054cc2995714949132/netifaces-0.10.9.tar.gz|netifaces-0.10.9
networking_sfc-8.0.0.0b2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/6a/a8/0e9bdd1f87dfb50682f23a01f590530ec8fa715e51127cf9f58d1905886c/networking_sfc-8.0.0.0b2-py2.py3-none-any.whl
networkx-2.2-py2.py3-none-any.whl|zip|https://files.pythonhosted.org/packages/f3/f4/7e20ef40b118478191cec0b58c3192f822cace858c19505c7670961b76b2/networkx-2.2.zip|networkx-2.2
neutron_lib-1.29.1-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/6b/dd/548cbb7a936de18aa642372927e409540d8f5d96a2f7650c4d1197845f3c/neutron_lib-1.29.1-py2.py3-none-any.whl
nodeenv-1.3.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/00/6e/ed417bd1ed417ab3feada52d0c89ab0ed87d150f91590badf84273e047c9/nodeenv-1.3.3.tar.gz|nodeenv-1.3.3
nose_exclude-0.5.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/63/cf/90c4be56bf11b7bc8801086d9445baf731aa36b8e8fc5791731e8e604dcd/nose-exclude-0.5.0.tar.gz|nose-exclude-0.5.0
nosehtmloutput-0.0.5-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/0c/f7/6cb16c0b233d3f2d62be38ddb7d7c1bc967188c41575ecf0312e6575730d/nosehtmloutput-0.0.5.tar.gz|nosehtmloutput-0.0.5
openshift-0.8.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/73/ed/c92c0ba23b6c4c8e5542151a1b89cb8ff01f68a72fe68f6c95a28d885ebe/openshift-0.8.6.tar.gz|openshift-0.8.6
openstack.nose_plugin-0.11-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/bc/83/e7c9b9297e1a501d2c2617f98d6176199570e8ee32f0e72669c8852c6c81/openstack.nose_plugin-0.11.tar.gz|openstack.nose_plugin-0.11
opentracing-2.2.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/94/9f/289424136addf621fb4c75624ef9a3a80e8575da3993a87950c57e93217e/opentracing-2.2.0.tar.gz|opentracing-2.2.0
ovs-2.11.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/81/06/387b2159ac073de95e484aa6e2f108a232cd906e350307168843061f899f/ovs-2.11.0.tar.gz|ovs-2.11.0
panko-5.0.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/a9/89/d666e0889d869e41c9b7f87a0a34858b2520782b82e025da84c98e0db8f6/panko-5.0.0.tar.gz|panko-5.0.0
pathlib-1.0.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/ac/aa/9b065a76b9af472437a0059f77e8f962fe350438b927cb80184c32f075eb/pathlib-1.0.1.tar.gz|pathlib-1.0.1|fix_setup
pecan-1.3.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/93/98/889d7615595e894f4f7e4c17d4008c822c8e39e650c8ab390cc6c39b99c4/pecan-1.3.3.tar.gz|pecan-1.3.3
pifpaf-2.2.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/33/dc/4f276c55d94cd73fc1f94e2d23f34b476fea38d240e3e17b837a5749bc9f/pifpaf-2.2.2-py2.py3-none-any.whl
pika_pool-0.1.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/ec/48/50c8f02a3eef4cb824bec50661ec1713040402cc1b2a38954dc977a59c23/pika-pool-0.1.3.tar.gz|pika-pool-0.1.3
Pint-0.9-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/15/9d/bf177ebbc57d25e9e296addc14a1303d1e34d7964af5df428a8332349c42/Pint-0.9-py2.py3-none-any.whl
ply-3.11-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl
positional-1.1.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8c/16/64a4fa0967c486380468dca18867d22ac1c17bba06349e31ace77c7757f7/positional-1.1.2.tar.gz|positional-1.1.2
prettytable-0.7.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/e0/a1/36203205f77ccf98f3c6cf17cf068c972e6458d7e58509ca66da949ca347/prettytable-0.7.2.tar.gz|prettytable-0.7.2
proboscis-1.2.6.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/3c/c8/c187818ab8d0faecdc3c16c1e0b2e522f3b38570f0fb91dcae21662019d0/proboscis-1.2.6.0.tar.gz|proboscis-1.2.6.0
psutil-5.6.3-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/1c/ca/5b8c1fe032a458c2c4bcbe509d1401dca9dda35c7fc46b36bb81c2834740/psutil-5.6.3.tar.gz|psutil-5.6.3
psycopg2-2.8.3-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/5c/1c/6997288da181277a0c29bc39a5f9143ff20b8c99f2a7d059cfb55163e165/psycopg2-2.8.3.tar.gz|psycopg2-2.8.3
PuLP-1.6.10-py2-none-any.whl|zip|https://files.pythonhosted.org/packages/2d/33/3ae6d9d2ac8c7068937af6372fd8828ac605e62a8b17106fe57110930d38/PuLP-1.6.10.zip|PuLP-1.6.10
pycparser-2.19-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz|pycparser-2.19
pycrypto-2.6.1-cp27-cp27mu-linux_x86_64.whl|git|https://github.com/dlitz/pycrypto|pycrypto|v2.6.1|fix_setup
pycryptodomex-3.9.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e4/90/a01cafbbad7466491e3a630bf1d734294a32ff1b10e7429e9a4e8478669e/pycryptodomex-3.9.0.tar.gz|pycryptodomex-3.9.0
pydot-1.4.1-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/33/d1/b1479a770f66d962f545c2101630ce1d5592d90cb4f083d38862e93d16d2/pydot-1.4.1-py2.py3-none-any.whl
pydotplus-2.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/60/bf/62567830b700d9f6930e9ab6831d6ba256f7b0b730acb37278b0ccdffacf/pydotplus-2.0.2.tar.gz|pydotplus-2.0.2
pyeclib-1.6.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/aa/d6/ca6bba5e66fc7a9810a995b17a3675492da2bec405806d8ac3db18cfd93b/pyeclib-1.6.0.tar.gz|pyeclib-1.6.0|fix_setup
pyinotify-0.9.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/e3/c0/fd5b18dde17c1249658521f69598f3252f11d9d7a980c5be8619970646e1/pyinotify-0.9.6.tar.gz|pyinotify-0.9.6
pykerberos-1.2.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9a/b8/1ec56b6fa8a2e2a81420bd3d90e70b59fc83f6b857fb2c2c37accddc8be3/pykerberos-1.2.1.tar.gz|pykerberos-1.2.1
PyKMIP-0.9.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/24/b2/258332aea85163f49a187337e8c85ee4529eb499b84fe0a6fe2d1a9c8d25/PyKMIP-0.9.1.tar.gz|PyKMIP-0.9.1
pylxd-2.2.10-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/49/9a/eba58646721ffbff40dc41571b13c9528fdc4e26a82252318c997cdbe26a/pylxd-2.2.10.tar.gz|pylxd-2.2.10
pyngus-2.3.0-py2-none-any.whl|zip|https://files.pythonhosted.org/packages/58/b1/336b8f64e7e4efa9b95027af71e02cd4cfacca8f919345badb852381878a/pyngus-2.3.0.zip|pyngus-2.3.0
pyperclip-1.7.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/2d/0f/4eda562dffd085945d57c2d9a5da745cfb5228c02bc90f2c74bbac746243/pyperclip-1.7.0.tar.gz|pyperclip-1.7.0
pyroute2-0.5.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/f6/80/16a604075345f0c253537d55e5c5282a37c61a1fc8ee0fcc42d1fd2a0739/pyroute2-0.5.6.tar.gz|pyroute2-0.5.6|fix_setup
pyrsistent-0.15.4-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/b9/66/b2638d96a2d128b168d0dba60fdc77b7800a9b4a5340cefcc5fc4eae6295/pyrsistent-0.15.4.tar.gz|pyrsistent-0.15.4
pyScss-1.3.4-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/1d/4a/221ae7561c8f51c4f28b2b172366ccd0820b14bb947350df82428dfce381/pyScss-1.3.4.tar.gz|pyScss-1.3.4
pysendfile-2.0.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/cd/3f/4aa268afd0252f06b3b487c296a066a01ddd4222a46b7a3748599c8fc8c3/pysendfile-2.0.1.tar.gz|pysendfile-2.0.1
pystache-0.5.4-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/d6/fd/eb8c212053addd941cc90baac307c00ac246ac3fce7166b86434c6eae963/pystache-0.5.4.tar.gz|pystache-0.5.4
python_cinderclient-4.3.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/f1/09/760c454c5bf67509d7f8479d583a3e84411f51ec2a1942aea3741a49b090/python_cinderclient-4.3.0-py2.py3-none-any.whl
python_consul-1.1.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/3f/d0/59bc5f1c6c4d4b498c41d8ce7052ee9e9d68be19e16038a55252018a6c4d/python_consul-1.1.0-py2.py3-none-any.whl
python_editor-1.0.4-py2-none-any.whl|pypi|https://files.pythonhosted.org/packages/55/a0/3c0ba1c10f2ca381645dd46cb7afbb73fddc8de9f957e1f9e726a846eabc/python_editor-1.0.4-py2-none-any.whl
python_etcd-0.4.5-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/a1/da/616a4d073642da5dd432e5289b7c1cb0963cc5dde23d1ecb8d726821ab41/python-etcd-0.4.5.tar.gz|python-etcd-0.4.5
python_ldap-3.2.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/ea/93/596f875e003c770447f4b99267820a0c769dd2dc3ae3ed19afe460fcbad0/python-ldap-3.2.0.tar.gz|python-ldap-3.2.0
python_memcached-1.59-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/f5/90/19d3908048f70c120ec66a39e61b92c253e834e6e895cd104ce5e46cbe53/python_memcached-1.59-py2.py3-none-any.whl
#python_nss-1.0.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/6b/29/629098e34951c358b1f04f13a70b3590eb0cf2df817d945bd05c4169d71b/python-nss-1.0.1.tar.bz2|python-nss-1.0.1|fix_setup
python_pcre-0.7-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9d/af/61435bd163f01fe3709fca9b1f79e4978d8089ee671d2e004fc85e10de29/python-pcre-0.7.tar.gz|python-pcre-0.7|fix_setup
python_pytun-2.3.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/52/a4/a062106c739eac79c8160fcf5779ebc84afc1c38b016ab216ed1e6da69b6/python-pytun-2.3.0.tar.gz|python-pytun-2.3.0|fix_setup
python_qpid_proton-0.28.0-cp27-cp27mu-linux_x86_64.whl|zip|https://files.pythonhosted.org/packages/96/35/2c86d844aec1acdfe7778966994aa270fcf03f076df393003bd4fc07dfa9/python-qpid-proton-0.28.0.zip|python-qpid-proton-0.28.0|fix_setup
python_string_utils-0.6.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/5d/13/216f2d4a71307f5a4e5782f1f59e6e8e5d6d6c00eaadf9f92aeccfbb900c/python-string-utils-0.6.0.tar.gz|python-string-utils-0.6.0|fix_setup
pyudev-0.21.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/bc/a2/31a07829acea8e70a28c247f43fa5d981229ae0f9edfeddedf52de00709b/pyudev-0.21.0.tar.gz|pyudev-0.21.0
PyYAML-5.1.2-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e3/e8/b3212641ee2718d556df0f23f78de8303f068fe29cdaa7a91018849582fe/PyYAML-5.1.2.tar.gz|PyYAML-5.1.2
pyzabbix-0.7.5-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/11/ad/24e19d0cf16d05b7ee19f337f02058ee9b760649171865469ccceef83027/pyzabbix-0.7.5.tar.gz|pyzabbix-0.7.5
qpid_python-1.36.0.post1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/2a/33/026ac50a29a85d5d54dd7784a98d624f6142cb07ce185ed268ef9bd3b6dc/qpid-python-1.36.0-1.tar.gz|qpid-python-1.36.0-1|fix_setup
rcssmin-1.0.6-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e2/5f/852be8aa80d1c24de9b030cdb6532bc7e7a1c8461554f6edbe14335ba890/rcssmin-1.0.6.tar.gz|rcssmin-1.0.6|fix_setup
repoze.lru-0.7-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz|repoze.lru-0.7
requests_aws-0.1.8-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/5e/2f/4da17752036c04cf4c9af7a2da0d41ef2205043f1c61008006475aa24b8b/requests-aws-0.1.8.tar.gz|requests-aws-0.1.8
restructuredtext_lint-1.3.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/62/76/bd8760de759fb74d7863e6935200af101cb128a7de008741a4e22341d03c/restructuredtext_lint-1.3.0.tar.gz|restructuredtext_lint-1.3.0
retrying-1.3.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/44/ef/beae4b4ef80902f22e3af073397f079c96969c69b2c7d52a57ea9ae61c9d/retrying-1.3.3.tar.gz|retrying-1.3.3
rfc3986-1.4.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/78/be/7b8b99fd74ff5684225f50dd0e865393d2265656ef3b4ba9eaaaffe622b8/rfc3986-1.4.0-py2.py3-none-any.whl
rjsmin-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl|pypi|https://files.pythonhosted.org/packages/c3/8e/079b7cc3a0fc9934ab05d868a00183c7aafd90b5d6138313d98ac2b9f666/rjsmin-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl
rtslib_fb-2.1.69-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/fc/1a/77a26207bdad13cc39b93d874b3a1b04e5a0b0332fb716e4d654537bacdb/rtslib-fb-2.1.69.tar.gz|rtslib-fb-2.1.69
scandir-1.10.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/df/f5/9c052db7bd54d0cbf1bc0bb6554362bba1012d03e5888950a4f5c5dadc4e/scandir-1.10.0.tar.gz|scandir-1.10.0
scrypt-0.8.13-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/80/3d/141eb80e754b86f6c25a2ffaf6c3af3acdb65a3e3700829a05ab0c5d965d/scrypt-0.8.13.tar.gz|scrypt-0.8.13
SecretStorage-2.3.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/a5/a5/0830cfe34a4cfd0d1c3c8b614ede1edb2aaf999091ac8548dd19cb352e79/SecretStorage-2.3.1.tar.gz|SecretStorage-2.3.1
setproctitle-1.1.10-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz|setproctitle-1.1.10
simplegeneric-0.8.1-py2-none-any.whl|zip|https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip|simplegeneric-0.8.1
simplejson-3.16.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e3/24/c35fb1c1c315fc0fffe61ea00d3f88e85469004713dab488dee4f35b0aff/simplejson-3.16.0.tar.gz|simplejson-3.16.0
skydive_client-0.5.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/e4/68/78a246619d9b16bb226562c155f18f798283f86db8f01a89c30b97ac7a27/skydive-client-0.5.0.tar.gz|skydive-client-0.5.0
smmap2-2.0.5-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/55/d2/866d45e3a121ee15a1dc013824d58072fd5c7799c9c34d01378eb262ca8f/smmap2-2.0.5-py2.py3-none-any.whl
sphinxcontrib_fulltoc-1.2.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8e/a6/d1297db9b75650681e5429e92e13df139ee6b64303ff1b2eea4ebd32c0a9/sphinxcontrib-fulltoc-1.2.0.tar.gz|sphinxcontrib-fulltoc-1.2.0
sphinxcontrib_pecanwsme-0.10.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/75/2b/105d07f47485ecf774cd80b881c29e148182b72a3a60596abdd016c87fce/sphinxcontrib-pecanwsme-0.10.0.tar.gz|sphinxcontrib-pecanwsme-0.10.0
SQLAlchemy-1.3.8-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/fc/49/82d64d705ced344ba458197dadab30cfa745f9650ee22260ac2b275d288c/SQLAlchemy-1.3.8.tar.gz|SQLAlchemy-1.3.8
SQLAlchemy_Utils-0.34.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/45/61/3bdd2931e86253fa7df6445a26929fbcc9bc43ad6b27a10f991eb6ecde75/SQLAlchemy-Utils-0.34.2.tar.gz|SQLAlchemy-Utils-0.34.2
stomp.py-4.1.22-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/52/7e/22ca617f61e0d5904e06c1ebd5d453adf30099526c0b64dca8d74fff0cad/stomp.py-4.1.22.tar.gz|stomp.py-4.1.22
subprocess32-3.5.4-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007/subprocess32-3.5.4.tar.gz|subprocess32-3.5.4
suds_jurko-0.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/bd/6f/54fbf0999a606680d27c69b1ad12dfff62768ecb9fe48524cebda6eb4423/suds-jurko-0.6.tar.bz2|suds-jurko-0.6
systemd_python-234-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e8/a8/00ba0f605837a8f69523e6c3a4fb14675a6430c163f836540129c50b3aef/systemd-python-234.tar.gz|systemd-python-234|fix_setup
sysv_ipc-1.0.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/08/7d/a862f3045fa191eeece23650725273f2ccaf9ac6b95443dfe4cac6508638/sysv_ipc-1.0.0.tar.gz|sysv_ipc-1.0.0|fix_setup
Tempita-0.5.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz|Tempita-0.5.2
termcolor-1.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz|termcolor-1.1.0|fix_setup
testrepository-0.0.20-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/0c/85/f495b58b2b0ac907def07385219e9747b75840fa01280f228546a4a5ad7f/testrepository-0.0.20.tar.gz|testrepository-0.0.20
thrift-0.11.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/c6/b4/510617906f8e0c5660e7d96fbc5585113f83ad547a3989b80297ac72a74c/thrift-0.11.0.tar.gz|thrift-0.11.0
thriftpy-0.3.9-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/f4/19/cca118cf7d2087310dbc8bd70dc7df0c1320f2652873a93d06d7ba356d4a/thriftpy-0.3.9.tar.gz|thriftpy-0.3.9
thriftpy2-0.4.8-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/2c/23/57b00b3d5d3d0ae66d79844a39d3c3b92dde3063c901036808602137d3ab/thriftpy2-0.4.8.tar.gz|thriftpy2-0.4.8
tinyrpc-1.0.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/21/7a/ff1a74256e1bcc04fbaa414c13a2bb79a29ac9918b25f2238592b991e3bc/tinyrpc-1.0.3.tar.gz|tinyrpc-1.0.3
tornado-4.5.3-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e3/7b/e29ab3d51c8df66922fea216e2bddfcb6430fb29620e5165b16a216e0d3c/tornado-4.5.3.tar.gz|tornado-4.5.3
trollius-2.2.post1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/0b/31/356ae13ad4df58f963e9954d55118f6cffdb3a903c1547973ad7bc347fb9/trollius-2.2.post1.tar.gz|trollius-2.2.post1
ujson-1.35-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/16/c4/79f3409bc710559015464e5f49b9879430d8f87498ecdc335899732e5377/ujson-1.35.tar.gz|ujson-1.35
unicodecsv-0.14.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/6f/a4/691ab63b17505a26096608cc309960b5a6bdf39e4ba1a793d5f9b1a53270/unicodecsv-0.14.1.tar.gz|unicodecsv-0.14.1
uWSGI-2.0.17.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a2/c9/a2d5737f63cd9df4317a4acc15d1ddf4952e28398601d8d7d706c16381e0/uwsgi-2.0.17.1.tar.gz|uwsgi-2.0.17.1
voluptuous-0.11.7-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/24/3b/fe531688c0d9e057fccc0bc9430c0a3d4b90e0d2f015326e659c2944e328/voluptuous-0.11.7.tar.gz|voluptuous-0.11.7
warlock-1.3.3-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/c2/36/178b26a338cd6d30523246da4721b1114306f588deb813f3f503052825ee/warlock-1.3.3.tar.gz|warlock-1.3.3
weakrefmethod-1.0.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/99/82/73a21e3eab9a1ff76d12375f7301fba5c6325b9598eed0ae5b0cf5243656/weakrefmethod-1.0.3.tar.gz|weakrefmethod-1.0.3
websockify-0.9.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/c4/5b/16ec1e9f4fc536846d95a01a77d97da12f8042ca5cf83cdf3dd0442e881c/websockify-0.9.0.tar.gz|websockify-0.9.0
whereto-0.4.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/80/83/371a699ce90257608592dadca400a7ecd9a2db6137d78f6f433c7c5e3197/whereto-0.4.0.tar.gz|whereto-0.4.0
wrapt-1.11.2-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/23/84/323c2415280bc4fc880ac5050dddfb3c8062c2552b34c2e512eb4aa68f79/wrapt-1.11.2.tar.gz|wrapt-1.11.2|fix_setup
ws4py-0.5.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz|ws4py-0.5.1
WSME-0.9.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/d1/b6/8027248bfca3ce192bc54d46fcda4324c86c8beabe344cbb80fb57a6c868/WSME-0.9.3.tar.gz|WSME-0.9.3
xattr-0.9.6-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/60/80/a1f35bfd3c7ffb78791b2a6a15c233584a102a20547fd96d48933ec453e7/xattr-0.9.6.tar.gz|xattr-0.9.6
XStatic-1.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/36/78/c0ffaf14216517a14d3daa67ff24fbb60b4703e95ce1059a48fd508e6b8c/XStatic-1.0.2.tar.gz|XStatic-1.0.2
XStatic_Angular_FileUpload-12.0.4.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/4d/fd/c3051915d2f12e8fa11f59c01162ce85e38eca15d9ec73a3d7b271b49744/XStatic-Angular-FileUpload-12.0.4.0.tar.gz|XStatic-Angular-FileUpload-12.0.4.0
XStatic_Angular_lrdragndrop-1.0.2.4-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/80/ea/ffdde05892eabe468f22403f75299cf5d991f0af4f1400bebbf3af04bc9a/XStatic_Angular_lrdragndrop-1.0.2.4-py2.py3-none-any.whl
XStatic_Angular_Schema_Form-0.8.13.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/57/71/ceea2c0a72e2ee2d316d6ab1c06b21faa9f5cbc4b36a4127d7847b7079c5/XStatic-Angular-Schema-Form-0.8.13.0.tar.gz|XStatic-Angular-Schema-Form-0.8.13.0
XStatic_Bootstrap_Datepicker-1.3.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/91/4f/832f14478e714815bb3d44d01dfe8dbe19ccf9f823e0bc7ac1a8cf7fa6b3/XStatic-Bootstrap-Datepicker-1.3.1.0.tar.gz|XStatic-Bootstrap-Datepicker-1.3.1.0
XStatic_Hogan-2.0.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/21/fe/37d5c8247f24738e7e368d27ebf945de1ea29fbc3112ac5e75b1b7f1d0c9/XStatic-Hogan-2.0.0.2.tar.gz|XStatic-Hogan-2.0.0.2
XStatic_Jasmine-2.4.1.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/05/43/ceac7def3b6eaf82b6f593e3db2b03a9693a7b002b569e664e382aecddbc/XStatic_Jasmine-2.4.1.2-py2.py3-none-any.whl
XStatic_jQuery-1.12.4.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/67/f1/c18c14fc4aab386e4aba587c5d10c268de222c75bf5e271b6f68a2ea6e77/XStatic-jQuery-1.12.4.1.tar.gz|XStatic-jQuery-1.12.4.1
XStatic_JQuery_Migrate-1.2.1.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/7c/fc/edbfcb4574ec3cf0b68a0613dd1904c9139e3bf6dede792d2e7edcf13023/XStatic-JQuery-Migrate-1.2.1.1.tar.gz|XStatic-JQuery-Migrate-1.2.1.1
XStatic_JQuery.quicksearch-2.0.3.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/ea/ab/f934d06a78ce2c6bb594e9a426f6966b3192c4c279467c9898be6fd284d3/XStatic-JQuery.quicksearch-2.0.3.1.tar.gz|XStatic-JQuery.quicksearch-2.0.3.1
XStatic_JQuery.TableSorter-2.14.5.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/c1/6c/d6b0807906af90536e793a3b23cca557869fa5a27156639f0029de8b1f1f/XStatic-JQuery.TableSorter-2.14.5.1.tar.gz|XStatic-JQuery.TableSorter-2.14.5.1
XStatic_jquery_ui-1.12.1.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/e6/5a/883b22dad1d3e01708312d71c5bc63d543d66cef9b448c1cf85379d64fb3/XStatic-jquery-ui-1.12.1.1.tar.gz|XStatic-jquery-ui-1.12.1.1
XStatic_mdi-1.6.50.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/73/49/13b9f7ce9fbcc7fabe086b7ac1b056118cbd4c9abf185e01cc4a54631136/XStatic_mdi-1.6.50.2-py2.py3-none-any.whl
XStatic_objectpath-1.2.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/23/6c/56de25d9d3be430e7de2fcf4baac10279dad78d7b16cbda339cf014c2fe5/XStatic-objectpath-1.2.1.0.tar.gz|XStatic-objectpath-1.2.1.0
XStatic_Rickshaw-1.5.0.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/45/c6/39aa4d02ea96b04ff372d1e3558587155790b1c5444855a97b89c255be38/XStatic-Rickshaw-1.5.0.0.tar.gz|XStatic-Rickshaw-1.5.0.0
XStatic_Spin-1.2.5.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/af/21/cca7f0b7abfe008cdd03dd4c4255aad3087f4a892a010c0f6f1452d7344b/XStatic-Spin-1.2.5.2.tar.gz|XStatic-Spin-1.2.5.2
XStatic_term.js-0.0.7.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/63/7a/7bfec29f5f28fdda7170ebbbb2204aeb1d33d6050f3476a807590de06434/XStatic-term.js-0.0.7.0.tar.gz|XStatic-term.js-0.0.7.0
XStatic_tv4-1.2.7.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/2b/26/b07115af27b339c861b8c9a775a621524b421c898e26e015880dfb888c49/XStatic-tv4-1.2.7.0.tar.gz|XStatic-tv4-1.2.7.0
xvfbwrapper-0.2.9-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/57/b6/4920eabda9b49630dea58745e79f9919aba6408d460afe758bf6e9b21a04/xvfbwrapper-0.2.9.tar.gz|xvfbwrapper-0.2.9
yappi-1.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/d2/92/7cd637a19fa2a10c0e55a44f8b36bcb83f0e1943ba8f1fb5edb15c819f2e/yappi-1.0.tar.gz|yappi-1.0
zVMCloudConnector-1.4.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/11/92/9f704de9759816e7b9897b9fb41285b421498b4642551b6fbcccd2850008/zVMCloudConnector-1.4.1.tar.gz|zVMCloudConnector-1.4.1

View File

@@ -0,0 +1,205 @@
#
# git: wheelname|git|git-source|basedir|branch
# tar: wheelname|tar|wget-source|basedir
# pypi: wheelname|pypi|wget-source
# zip: wheelname|zip|wget-source|basedir
#
# If fix_setup must be called, add |fix_setup at the end of the line
#
# See doc/wheels-cfg.md for more info.
#
abclient-0.2.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/49/eb/091b02c1e36d68927adfb746706e2c80f7e7bfb3f16e3cbcfec2632118ab/abclient-0.2.3.tar.gz|abclient-0.2.3
alembic-1.9.4-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/4d/fc/d63e1d08acba9796f4db62dbe7c3f755e5fd033274198c65c111d47bd942/alembic-1.9.4-py3-none-any.whl
alembic-1.4.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/60/1e/cabc75a189de0fbb2841d0975243e59bde8b7822bacbb95008ac6fe9ad47/alembic-1.4.2.tar.gz|alembic-1.4.2
amqplib-1.0.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/75/b7/8c2429bf8d92354a0118614f9a4d15e53bc69ebedce534284111de5a0102/amqplib-1.0.2.tgz|amqplib-1.0.2
anyjson-0.3.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/c3/4d/d4089e1a3dd25b46bebdb55a992b0797cff657b4477bc32ce28038fdecbc/anyjson-0.3.3.tar.gz|anyjson-0.3.3
backports.ssl_match_hostname-3.7.0.1-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ff/2b/8265224812912bc5b7a607c44bf7b027554e1b9775e9ee0de8032e3de4b2/backports.ssl_match_hostname-3.7.0.1.tar.gz|backports.ssl_match_hostname-3.7.0.1|fix_setup
bindep-2.10.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/28/05/cd85dca3800d7aa002ef733aad55c367ea2bbd79a10d98fe50a556c85c3b/bindep-2.10.2-py2.py3-none-any.whl
bottle-0.12.18-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/e9/39/2bf3a1fd963e749cdbe5036a184eda8c37d8af25d1297d94b8b7aeec17c4/bottle-0.12.18-py3-none-any.whl
cassandra_driver-3.23.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/90/d7/d68083117bf50941870a795150f3261c5270e74c2d57ca3af0bd8423ed74/cassandra-driver-3.23.0.tar.gz|cassandra-driver-3.23.0
certifi-2023.7.22-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl
cffi-1.14.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c/cffi-1.14.0.tar.gz|cffi-1.14.0
cmd2-2.4.2-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/5c/21/80227985a8f4b66b5cb90cda0384841b475f507667e0e204f481a59f3038/cmd2-2.4.2-py3-none-any.whl
construct-2.8.22-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e5/c6/3e3aeef38bb0c27364af3d21493d9690c7c3925f298559bca3c48b7c9419/construct-2.8.22.tar.gz|construct-2.8.22
crc16-0.1.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a6/e0/70a44c4385f2b33df82e518005aae16b5c1feaf082c73c0acebe3426fc0a/crc16-0.1.1.tar.gz|crc16-0.1.1|fix_setup
cryptography-44.0.1-cp39-abi3-manylinux_2_28_x86_64.whl|pypi|https://files.pythonhosted.org/packages/e1/e7/cfb18011821cc5f9b21efb3f94f3241e3a658d267a3bf3a0f45543858ed8/cryptography-44.0.1-cp39-abi3-manylinux_2_28_x86_64.whl
croniter-0.3.30-py2.py3-none-any.whl|whl|https://files.pythonhosted.org/packages/c8/4c/04dea44f87b963d5c3f2bbc391e6c69d0a14aa896e35590be56213a04e4f/croniter-0.3.30-py2.py3-none-any.whl
demjson-2.2.4-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/96/67/6db789e2533158963d4af689f961b644ddd9200615b8ce92d6cad695c65a/demjson-2.2.4.tar.gz|demjson-2.2.4|fix_setup
django-4.2.23-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/cb/44/314e8e4612bd122dd0424c88b44730af68eafbee88cc887a86586b7a1f2a/django-4.2.23-py3-none-any.whl
django_debreach-2.0.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/2a/92/8c363cf5d1ee33d4c3b999b41c127c5cd3c64d4c20aa47bdfb6c386c9309/django_debreach-2.0.1-py3-none-any.whl
django_floppyforms-1.8.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a9/d2/498b883ac309b56b70c26877974bd50927615dd3f6433f5463e2668b1128/django_floppyforms-1.8.0-py2.py3-none-any.whl
django_pyscss-2.0.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/fc/71/75737fc65a3563ead1fb60ccad5459cf2342f2fc009006294e8f78d04c1e/django-pyscss-2.0.3.tar.gz|django-pyscss-2.0.3
docopt-0.6.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz|docopt-0.6.2
dogpile.cache-1.1.5-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/4e/52/20f751a3b46add7691d442654aa84fc088f14270269dcb6dfc50c7c83e55/dogpile.cache-1.1.5-py3-none-any.whl
enum_compat-0.0.3-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/55/ae/467bc4509246283bb59746e21a1a2f5a8aecbef56b1fa6eaca78cd438c8b/enum_compat-0.0.3-py3-none-any.whl
etcd3-0.10.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/09/f1/93603a26daf7a993a0acbbcfd32afce8b2fdf30a765d5651571ab635969b/etcd3-0.10.0.tar.gz|etcd3-0.10.0
exabgp-4.2.6-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/b6/36/7270c8e4b5b0ddba79301f5bbf206ce4b76247957169162b428e2695efa9/exabgp-4.2.6.tar.gz|exabgp-4.2.6
fixtures-4.0.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/3c/3d/f106b3278ba50067e9cd397f836d33d141aa790853152dbb3512aaee19f3/fixtures-4.0.1.tar.gz|fixtures-4.0.1
flask_keystone-0.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/1f/ca/3938de8c5f4a3d1c5dd4278bedb9d31d79816feba4d088293c620a366fb1/flask_keystone-0.2.tar.gz|flask_keystone-0.2
flask_oslolog-0.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/a7/62/fec02ce761b548b1289680bb1be1aa0bce2b2c4017d5b31bd6c67c78aef9/flask_oslolog-0.1.tar.gz|flask_oslolog-0.1
fortiosclient-0.0.3-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e9/aa/b2c0705d5e52c8d9af35422d940800b49c562758fbdad3179a6fbf6e92f5/fortiosclient-0.0.3.tar.gz|fortiosclient-0.0.3
frozendict-1.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/4e/55/a12ded2c426a4d2bee73f88304c9c08ebbdbadb82569ebdd6a0c007cfd08/frozendict-1.2.tar.gz|frozendict-1.2
future-0.18.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9/future-0.18.2.tar.gz|future-0.18.2
googleapis_common_protos-1.56.4-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/e2/fd/d9efa2085bd762fba3a637eb3e36d76d72eb6e083d170aeaca65a75f1f9c/googleapis_common_protos-1.56.4-py2.py3-none-any.whl
greenlet-0.4.16-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/20/5e/b989a19f4597b825f44125345cd8a8574216fae7fafe69e2cb1238ebd18a/greenlet-0.4.16.tar.gz|greenlet-0.4.16
greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl|pypi|https://files.pythonhosted.org/packages/af/05/b7e068070a6c143f34dfcd7e9144684271b8067e310f6da68269580db1d8/greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
happybase-1.2.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/d1/9c/f5f7bdb5439cda2b7da4e20ac24ec0e2455fd68aade8397f211d2994c39d/happybase-1.2.0.tar.gz|happybase-1.2.0
hiredis-1.0.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/7f/5c/62e5c6b811b4dcef4125b4a01f76db82c496d79299dd67053b8f9c0732c0/hiredis-1.0.1.tar.gz|hiredis-1.0.1
httplib2-0.22.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl
ifaddr-0.1.7-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/92/0f/a577a724c03982b800232713874e805c8fcc14f4a2c3060902ed20b50da8/ifaddr-0.1.7-py2.py3-none-any.whl
isort-4.2.5-py2.py3-none-any.whl|whl|https://files.pythonhosted.org/packages/c3/0d/917971944e7da7f659e11efe7abf649f0e46c2d45edba2f6d9584ba15374/isort-4.2.5-py2.py3-none-any.whl
itsdangerous-2.1.2-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/68/5f/447e04e828f47465eeab35b5d408b7ebaaaee207f48b7136c5a7267a30ae/itsdangerous-2.1.2-py3-none-any.whl
jaeger_client-4.3.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/2b/75/17a937a61135671cebc175ab5c299dc0f7477042469482fd9a6f91262c68/jaeger-client-4.3.0.tar.gz|jaeger-client-4.3.0
jsonpath_rw-1.4.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/71/7c/45001b1f19af8c4478489fbae4fc657b21c4c669d7a5a036a86882581d85/jsonpath-rw-1.4.0.tar.gz|jsonpath-rw-1.4.0
jsonpointer-2.3-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a3/be/8dc9d31b50e38172c8020c40f497ce8debdb721545ddb9fcb7cca89ea9e6/jsonpointer-2.3-py2.py3-none-any.whl
krest-1.3.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/fb/d2/9dbbd3a76f2385041720a0eb51ddab676e688fa8bee8a1489470839616cf/krest-1.3.1.tar.gz|krest-1.3.1
libvirt_python-8.0.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9a/b5/0de1c04e45f082390d2adefde09fc851857a255a6e86ad7e9edf5e385bf7/libvirt-python-8.0.0.tar.gz|libvirt-python-8.0.0|fix_setup
logutils-0.3.5-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/49/b2/b57450889bf73da26027f8b995fd5fbfab258ec24ef967e4c1892f7cb121/logutils-0.3.5.tar.gz|logutils-0.3.5|fix_setup
lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl|pypi|https://files.pythonhosted.org/packages/1b/ea/50d8357ed72f6c8352fe08657a9b05d672a4ab2470b9447fd73d87f0d47a/lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
lz4-0.9.0-cp39-cp39-linux_x86_64.whl|git|https://github.com/python-lz4/python-lz4|python-lz4|v0.9.0
Mako-1.1.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/50/78/f6ade1e18aebda570eed33b7c534378d9659351cadce2fcbc7b31be5f615/Mako-1.1.2-py2.py3-none-any.whl
marathon-0.12.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/41/66/814432693297dfb076958ae5ac781e3a88fd70d335473a57f4f2c6329515/marathon-0.12.0-py2.py3-none-any.whl
MarkupSafe-2.0.0-cp39-cp39-manylinux2014_aarch64.whlpypi|https://files.pythonhosted.org/packages/f7/7b/a3db1f425cb067b3aae7b14048540082c8cb9a51c4d389261e44f0f6e8e8/MarkupSafe-2.0.0-cp39-cp39-manylinux2014_aarch64.whl
migrate-0.3.8-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ce/31/1a4cbf8dc0536c55f41072e8ea37b3df1e412262dc731c57e5bb099eb9b2/migrate-0.3.8.tar.gz|migrate-0.3.8
mox-0.5.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/0c/a1/64740c638cc5fae807022368f4141700518ee343b53eb3e90bf3cc15a4d4/mox-0.5.3.tar.gz|mox-0.5.3|fix_setup
mpmath-1.1.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ca/63/3384ebb3b51af9610086b23ea976e6d27d6d97bf140a76a365bd77a3eb32/mpmath-1.1.0.tar.gz|mpmath-1.1.0|fix_setup
msgpack-1.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl|pypi|https://files.pythonhosted.org/packages/5f/02/03e2d072744a29af7c5bc17d37f55446965205d80c61f0e6590ad2b2bb34/msgpack-1.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
munch-2.5.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/cc/ab/85d8da5c9a45e072301beb37ad7f833cd344e04c817d97e0cc75681d248f/munch-2.5.0-py2.py3-none-any.whl
ncclient-0.6.13-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ee/6f/ef2796c82d097dbead1b804db8457fc8fdc244e3d6860eb0a702315dbf67/ncclient-0.6.13.tar.gz|ncclient-0.6.13
ndg_httpsclient-0.5.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/fb/67/c2f508c00ed2a6911541494504b7cac16fe0b0473912568df65fd1801132/ndg_httpsclient-0.5.1-py3-none-any.whl
netaddr-0.7.20-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/f4/7a/d514cd5ab61bfc9d09d0c2bd52a2336134515cc3c9949b9054dfc1c2f7ac/netaddr-0.7.20-py2.py3-none-any.whl
netifaces-0.10.9-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/0d/18/fd6e9c71a35b67a73160ec80a49da63d1eed2d2055054cc2995714949132/netifaces-0.10.9.tar.gz|netifaces-0.10.9
networking_sfc-8.0.0.0b2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/6a/a8/0e9bdd1f87dfb50682f23a01f590530ec8fa715e51127cf9f58d1905886c/networking_sfc-8.0.0.0b2-py2.py3-none-any.whl
networkx-2.8.7-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/d0/00/1713dd6735d5a646cabdd99ff750e969795134d7d33f462ad71dfd07fa76/networkx-2.8.7-py3-none-any.whl
neutron_lib-3.11.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/03/7f/d94a986879d7cc8dbfe2ab072645d5c8d91a927729be0707de654b682601/neutron_lib-3.11.1-py3-none-any.whl
nodeenv-1.3.5-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/08/43/86ff33286c83f7b5e8903c32db01fe122c5e8a9d8dc1067dcaa9be54a033/nodeenv-1.3.5-py2.py3-none-any.whl
nose_exclude-0.5.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/63/cf/90c4be56bf11b7bc8801086d9445baf731aa36b8e8fc5791731e8e604dcd/nose-exclude-0.5.0.tar.gz|nose-exclude-0.5.0
nosehtmloutput-0.0.7-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/e0/5d/2bb521a8ccb0222bd94ed557645955d95ba6798df6b3b4bdc2c31dec4f7c/nosehtmloutput-0.0.7-py2.py3-none-any.whl
openshift-0.8.6-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/73/ed/c92c0ba23b6c4c8e5542151a1b89cb8ff01f68a72fe68f6c95a28d885ebe/openshift-0.8.6.tar.gz|openshift-0.8.6
openstack.nose_plugin-0.11-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/bc/83/e7c9b9297e1a501d2c2617f98d6176199570e8ee32f0e72669c8852c6c81/openstack.nose_plugin-0.11.tar.gz|openstack.nose_plugin-0.11
opentracing-2.3.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e4/a8/df5285f42cd07782409d0ae835785fae6e2a0f7e8b0036ea302f1422fd25/opentracing-2.3.0.tar.gz|opentracing-2.3.0
oslo.context-5.1.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/7f/69/3a16785c49890cce2f7f14ee6525c76e7116f9dad44f122f5e3670e43970/oslo.context-5.1.1-py3-none-any.whl
oslo.db-12.3.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/b4/45/eaabc90bfc62ef41af24b869dee0e556624bfe6211da1e5653015c8a9cc4/oslo.db-12.3.1-py3-none-any.whl
oslo.messaging-14.3.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/43/43/1e7d2a77c61be77bd4902d55bdf1b8b7d028a4b2b8f8ec53e3da9bc22043/oslo.messaging-14.3.1-py3-none-any.whl
ovs-3.1.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/52/a2/3a8e6c21e926560599018a4a3d721f17bf4c01705a9d75365952098ce3f6/ovs-3.1.2.tar.gz|ovs-3.1.2
panko-5.0.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/a9/89/d666e0889d869e41c9b7f87a0a34858b2520782b82e025da84c98e0db8f6/panko-5.0.0.tar.gz|panko-5.0.0
Paste-3.4.3-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/ae/90/88817bf8b1b80ba3e9ffdb3058980f5265fa5631dfeb7ad7a3815f5c8765/Paste-3.4.3-py2.py3-none-any.whl
pathlib-1.0.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ac/aa/9b065a76b9af472437a0059f77e8f962fe350438b927cb80184c32f075eb/pathlib-1.0.1.tar.gz|pathlib-1.0.1|fix_setup
pecan-1.3.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/93/98/889d7615595e894f4f7e4c17d4008c822c8e39e650c8ab390cc6c39b99c4/pecan-1.3.3.tar.gz|pecan-1.3.3
pecan-1.4.0-py3-none-any.whl |tar|https://files.pythonhosted.org/packages/4d/8e/da71e4e23b720805106b58e0351dcd75d8ffc7c7ac3ad2961b20b98a44a7/pecan-1.4.0.tar.gz|pecan-1.4.0
pifpaf-2.4.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/66/12/ed1533c0b31647ea9fb879b5ad239336ad98628227d0b90d3c7157ffb3fb/pifpaf-2.4.0-py2.py3-none-any.whl
pika_pool-0.1.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ec/48/50c8f02a3eef4cb824bec50661ec1713040402cc1b2a38954dc977a59c23/pika-pool-0.1.3.tar.gz|pika-pool-0.1.3
Pint-0.9-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/15/9d/bf177ebbc57d25e9e296addc14a1303d1e34d7964af5df428a8332349c42/Pint-0.9-py2.py3-none-any.whl
ply-3.11-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl
positional-1.1.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8c/16/64a4fa0967c486380468dca18867d22ac1c17bba06349e31ace77c7757f7/positional-1.1.2.tar.gz|positional-1.1.2
prettytable-0.7.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e0/a1/36203205f77ccf98f3c6cf17cf068c972e6458d7e58509ca66da949ca347/prettytable-0.7.2.tar.gz|prettytable-0.7.2
proboscis-1.2.6.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/3c/c8/c187818ab8d0faecdc3c16c1e0b2e522f3b38570f0fb91dcae21662019d0/proboscis-1.2.6.0.tar.gz|proboscis-1.2.6.0
prometheus_client-0.20.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/c7/98/745b810d822103adca2df8decd4c0bbe839ba7ad3511af3f0d09692fc0f0/prometheus_client-0.20.0-py3-none-any.whl
psutil-5.9.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl|pypi|https://files.pythonhosted.org/packages/4c/85/7a112fb6a8c598a6f5d079228bbc03ae84c472397be79c075e7514b6ed36/psutil-5.9.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
psycopg2-2.8.5-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a8/8f/1c5690eebf148d1d1554fc00ccf9101e134636553dbb75bdfef4f85d7647/psycopg2-2.8.5.tar.gz|psycopg2-2.8.5
PuLP-2.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/41/34/757c88c320f80ce602199603afe63aed1e0bc11180b9a9fb6018fb2ce7ef/PuLP-2.1-py3-none-any.whl
pycparser-2.20-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl
pycrypto-2.6.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz|pycrypto-2.6.1|fix_setup
pycryptodomex-3.9.7-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/7f/3c/80cfaec41c3a9d0f524fe29bca9ab22d02ac84b5bfd6e22ade97d405bdba/pycryptodomex-3.9.7.tar.gz|pycryptodomex-3.9.7
pydot-1.4.1-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/33/d1/b1479a770f66d962f545c2101630ce1d5592d90cb4f083d38862e93d16d2/pydot-1.4.1-py2.py3-none-any.whl
pydotplus-2.0.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/60/bf/62567830b700d9f6930e9ab6831d6ba256f7b0b730acb37278b0ccdffacf/pydotplus-2.0.2.tar.gz|pydotplus-2.0.2
pyeclib-1.6.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/aa/d6/ca6bba5e66fc7a9810a995b17a3675492da2bec405806d8ac3db18cfd93b/pyeclib-1.6.0.tar.gz|pyeclib-1.6.0|fix_setup
pyinotify-0.9.6-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e3/c0/fd5b18dde17c1249658521f69598f3252f11d9d7a980c5be8619970646e1/pyinotify-0.9.6.tar.gz|pyinotify-0.9.6
pykerberos-1.2.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9a/b8/1ec56b6fa8a2e2a81420bd3d90e70b59fc83f6b857fb2c2c37accddc8be3/pykerberos-1.2.1.tar.gz|pykerberos-1.2.1
PyKMIP-0.10.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/f8/3e/e343bb9c2feb2a793affd052cb0da62326a021457a07d59251f771b523e7/PyKMIP-0.10.0.tar.gz|PyKMIP-0.10.0
pylint-2.10.2-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/6d/33/5744d1b2d1191cd036c201934a1a517644d805a82cd50fab060b3c379c84/pylint-2.10.2-py3-none-any.whl
pylxd-2.2.10-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/49/9a/eba58646721ffbff40dc41571b13c9528fdc4e26a82252318c997cdbe26a/pylxd-2.2.10.tar.gz|pylxd-2.2.10
pyngus-2.3.0-py3-none-any.whl|zip|https://files.pythonhosted.org/packages/58/b1/336b8f64e7e4efa9b95027af71e02cd4cfacca8f919345badb852381878a/pyngus-2.3.0.zip|pyngus-2.3.0
pyopenssl-25.1.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/80/28/2659c02301b9500751f8d42f9a6632e1508aa5120de5e43042b8b30f8d5d/pyopenssl-25.1.0-py3-none-any.whl
pyparsing-2.4.7-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/8a/bb/488841f56197b13700afd5658fc279a2025a39e22449b7cf29864669b15d/pyparsing-2.4.7-py2.py3-none-any.whl
pyperclip-1.8.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/f6/5b/55866e1cde0f86f5eec59dab5de8a66628cb0d53da74b8dbc15ad8dabda3/pyperclip-1.8.0.tar.gz|pyperclip-1.8.0
pyroute2-0.7.3-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/d7/4d/7c94b84936002d30dc7908d832955af074099c3d2c0cbfd818b89c618432/pyroute2-0.7.3-py3-none-any.whl
pyrsistent-0.16.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9f/0d/cbca4d0bbc5671822a59f270e4ce3f2195f8a899c97d0d5abb81b191efb5/pyrsistent-0.16.0.tar.gz|pyrsistent-0.16.0
pyScss-1.4.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/92/30/64c818fd317e03138f98ca67800edb6a916f59fc07b3d7e535e84c3c333a/pyScss-1.4.0.tar.gz|pyScss-1.4.0
pysendfile-2.0.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/cd/3f/4aa268afd0252f06b3b487c296a066a01ddd4222a46b7a3748599c8fc8c3/pysendfile-2.0.1.tar.gz|pysendfile-2.0.1
pystache-0.5.4-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/d6/fd/eb8c212053addd941cc90baac307c00ac246ac3fce7166b86434c6eae963/pystache-0.5.4.tar.gz|pystache-0.5.4
python_cinderclient-9.3.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/13/d1/97db2000211326c4e28ffdd1c15e0a0cf3b6ababa7d75a6fcee5333f70b6/python_cinderclient-9.3.0-py3-none-any.whl
python_consul-1.1.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/3f/d0/59bc5f1c6c4d4b498c41d8ce7052ee9e9d68be19e16038a55252018a6c4d/python_consul-1.1.0-py2.py3-none-any.whl
python_editor-1.0.4-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/c6/d3/201fc3abe391bbae6606e6f1d598c15d367033332bd54352b12f35513717/python_editor-1.0.4-py3-none-any.whl
python_etcd-0.4.5-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/a1/da/616a4d073642da5dd432e5289b7c1cb0963cc5dde23d1ecb8d726821ab41/python-etcd-0.4.5.tar.gz|python-etcd-0.4.5
python_json_logger-0.1.11-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/80/9d/1c3393a6067716e04e6fcef95104c8426d262b4adaf18d7aa2470eab028d/python-json-logger-0.1.11.tar.gz|python-json-logger-0.1.11
python_ldap-3.2.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/ea/93/596f875e003c770447f4b99267820a0c769dd2dc3ae3ed19afe460fcbad0/python-ldap-3.2.0.tar.gz|python-ldap-3.2.0
python_memcached-1.59-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/f5/90/19d3908048f70c120ec66a39e61b92c253e834e6e895cd104ce5e46cbe53/python_memcached-1.59-py2.py3-none-any.whl
python_pcre-0.7-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9d/af/61435bd163f01fe3709fca9b1f79e4978d8089ee671d2e004fc85e10de29/python-pcre-0.7.tar.gz|python-pcre-0.7|fix_setup
python_pytun-2.3.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/52/a4/a062106c739eac79c8160fcf5779ebc84afc1c38b016ab216ed1e6da69b6/python-pytun-2.3.0.tar.gz|python-pytun-2.3.0|fix_setup
python_string_utils-0.6.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/5d/13/216f2d4a71307f5a4e5782f1f59e6e8e5d6d6c00eaadf9f92aeccfbb900c/python-string-utils-0.6.0.tar.gz|python-string-utils-0.6.0|fix_setup
pyudev-0.22.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/72/c8/4660d815a79b1d42c409012aaa10ebd6b07a47529b4cb6880f27a24bd646/pyudev-0.22.0.tar.gz|pyudev-0.22.0
PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl|pypi|https://files.pythonhosted.org/packages/56/8f/e8b49ad21d26111493dc2d5cae4d7efbd0e2e065440665f5023515f87f64/PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
pyzabbix-0.7.5-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/11/ad/24e19d0cf16d05b7ee19f337f02058ee9b760649171865469ccceef83027/pyzabbix-0.7.5.tar.gz|pyzabbix-0.7.5
rcssmin-1.1.1-cp311-cp311-manylinux2014_aarch64.whl|pypi|https://files.pythonhosted.org/packages/49/da/fa5dbed1abbe01a592ae66a0d317552e671cfb12f4ad3f58687ca1d9c9b2/rcssmin-1.1.1-cp311-cp311-manylinux2014_aarch64.whl
repoze.lru-0.7-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz|repoze.lru-0.7
requests_aws-0.1.8-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/5e/2f/4da17752036c04cf4c9af7a2da0d41ef2205043f1c61008006475aa24b8b/requests-aws-0.1.8.tar.gz|requests-aws-0.1.8
restructuredtext_lint-1.3.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/62/76/bd8760de759fb74d7863e6935200af101cb128a7de008741a4e22341d03c/restructuredtext_lint-1.3.0.tar.gz|restructuredtext_lint-1.3.0
retrying-1.3.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/44/ef/beae4b4ef80902f22e3af073397f079c96969c69b2c7d52a57ea9ae61c9d/retrying-1.3.3.tar.gz|retrying-1.3.3
rfc3986-1.4.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/78/be/7b8b99fd74ff5684225f50dd0e865393d2265656ef3b4ba9eaaaffe622b8/rfc3986-1.4.0-py2.py3-none-any.whl
rtslib_fb-2.1.75-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/bd/a1/9caad7d69fcb4c97073f3a7ddf945a844923eaf27514bea16f176495bff2/rtslib-fb-2.1.75.tar.gz|rtslib-fb-2.1.75
scandir-1.10.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/df/f5/9c052db7bd54d0cbf1bc0bb6554362bba1012d03e5888950a4f5c5dadc4e/scandir-1.10.0.tar.gz|scandir-1.10.0
scapy-2.4.4-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/c6/8f/438d4d0bab4c8e22906a7401dd082b4c0f914daf2bbdc7e7e8390d81a5c3/scapy-2.4.4.tar.gz|scapy-2.4.4
scrypt-0.8.13-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/80/3d/141eb80e754b86f6c25a2ffaf6c3af3acdb65a3e3700829a05ab0c5d965d/scrypt-0.8.13.tar.gz|scrypt-0.8.13
SecretStorage-3.3.1-py3-none-any.whl|whl|https://files.pythonhosted.org/packages/d9/1e/29cd69fdac7391aa51510dfd42aa70b4e6a826c8cd019ee2a8ab9ec0777f/SecretStorage-3.3.1-py3-none-any.whl
setproctitle-1.1.10-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz|setproctitle-1.1.10
sh-1.14.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/80/39/ed280d183c322453e276a518605b2435f682342f2c3bcf63228404d36375/sh-1.14.2.tar.gz|sh-1.14.2
simplegeneric-0.8.1-py3-none-any.whl|zip|https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip|simplegeneric-0.8.1
simplejson-3.17.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/98/87/a7b98aa9256c8843f92878966dc3d8d914c14aad97e2c5ce4798d5743e07/simplejson-3.17.0.tar.gz|simplejson-3.17.0
skydive_client-0.7.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/98/86/62925511c6282add4e339639fc5a9e22fd0dc95783b7627fd56bf45a32bf/skydive_client-0.7.0-py3-none-any.whl
smmap-3.0.4-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/b0/9a/4d409a6234eb940e6a78dfdfc66156e7522262f5f2fecca07dc55915952d/smmap-3.0.4-py2.py3-none-any.whl
sphinxcontrib_fulltoc-1.2.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8e/a6/d1297db9b75650681e5429e92e13df139ee6b64303ff1b2eea4ebd32c0a9/sphinxcontrib-fulltoc-1.2.0.tar.gz|sphinxcontrib-fulltoc-1.2.0
sphinxcontrib_pecanwsme-0.10.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/75/2b/105d07f47485ecf774cd80b881c29e148182b72a3a60596abdd016c87fce/sphinxcontrib-pecanwsme-0.10.0.tar.gz|sphinxcontrib-pecanwsme-0.10.0
SQLAlchemy-1.4.0-cp39-cp39-manylinux2014_x86_64.whl|whl|https://files.pythonhosted.org/packages/18/6b/82d972aa48bc6f56c049215b0cbe98ac96cec91f05c6686bb18dd1efe4b6/SQLAlchemy-1.4.0-cp39-cp39-manylinux2014_x86_64.whl
SQLAlchemy_Utils-0.36.3-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/aa/24/68937e9b5c757f62795467e2f02a8f463a3a1fd3d08bd32a6b0583ba3dbf/SQLAlchemy-Utils-0.36.3.tar.gz|SQLAlchemy-Utils-0.36.3
stomp.py-6.0.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/d7/a0/a67e46ec1e63f2e78497e7331092eeb2ce4b69738d80a8210122e7a000a9/stomp.py-6.0.0-py3-none-any.whl
subprocess32-3.5.4-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007/subprocess32-3.5.4.tar.gz|subprocess32-3.5.4
suds_jurko-0.6-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/bd/6f/54fbf0999a606680d27c69b1ad12dfff62768ecb9fe48524cebda6eb4423/suds-jurko-0.6.tar.bz2|suds-jurko-0.6
systemd_python-234-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e8/a8/00ba0f605837a8f69523e6c3a4fb14675a6430c163f836540129c50b3aef/systemd-python-234.tar.gz|systemd-python-234|fix_setup
sysv_ipc-1.0.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/57/8a/9bbb064566320cd66c6e32c35db76d43932d7b94348f0c4c1e74d03ec261/sysv_ipc-1.0.1.tar.gz|sysv_ipc-1.0.1|fix_setup
tabulate-0.8.7-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/c4/f4/770ae9385990f5a19a91431163d262182d3203662ea2b5739d0fcfc080f1/tabulate-0.8.7-py3-none-any.whl
tempest-24.0.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/f0/eb/d3fb2cdb72c20caa7a4e0af2c60176ce82e120e99ce7e5a62a386faae89c/tempest-24.0.0-py3-none-any.whl
Tempita-0.5.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz|Tempita-0.5.2
termcolor-1.1.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz|termcolor-1.1.0|fix_setup
testrepository-0.0.20-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/0c/85/f495b58b2b0ac907def07385219e9747b75840fa01280f228546a4a5ad7f/testrepository-0.0.20.tar.gz|testrepository-0.0.20
thrift-0.13.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/97/1e/3284d19d7be99305eda145b8aa46b0c33244e4a496ec66440dac19f8274d/thrift-0.13.0.tar.gz|thrift-0.13.0
thriftpy2-0.4.11-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a9/f0/9bf08e6b5983aa6a6103818da21eadfaea1ad99ec9882be3e75a30e8e9ff/thriftpy2-0.4.11.tar.gz|thriftpy2-0.4.11
tinyrpc-1.0.4-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/9d/91/c639ba014aada92446516c5fc4b04f2cee3539ab2d0758a6a87a6da973cb/tinyrpc-1.0.4.tar.gz|tinyrpc-1.0.4
tornado-6.0.4-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/95/84/119a46d494f008969bf0c775cb2c6b3579d3c4cc1bb1b41a022aa93ee242/tornado-6.0.4.tar.gz|tornado-6.0.4
trollius-2.2.post1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/0b/31/356ae13ad4df58f963e9954d55118f6cffdb3a903c1547973ad7bc347fb9/trollius-2.2.post1.tar.gz|trollius-2.2.post1
ujson-2.0.3-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/50/d7/dce3fc97329639bba9c8b3cdadaa51ae2757c9402d4b43ac5feb8b624792/ujson-2.0.3.tar.gz|ujson-2.0.3
unicodecsv-0.14.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/6f/a4/691ab63b17505a26096608cc309960b5a6bdf39e4ba1a793d5f9b1a53270/unicodecsv-0.14.1.tar.gz|unicodecsv-0.14.1
uWSGI-2.0.22-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a7/4e/c4d5559b3504bb65175a759392b03cac04b8771e9a9b14811adf1151f02f/uwsgi-2.0.22.tar.gz|uwsgi-2.0.22
voluptuous-0.11.7-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/24/3b/fe531688c0d9e057fccc0bc9430c0a3d4b90e0d2f015326e659c2944e328/voluptuous-0.11.7.tar.gz|voluptuous-0.11.7
warlock-2.0.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a6/e1/aa7cbdb16396c1d6a734dd22b4436319daa0e4d203218f0b11cb20f37374/warlock-2.0.1-py3-none-any.whl
weakrefmethod-1.0.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/99/82/73a21e3eab9a1ff76d12375f7301fba5c6325b9598eed0ae5b0cf5243656/weakrefmethod-1.0.3.tar.gz|weakrefmethod-1.0.3
websockify-0.9.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/c4/5b/16ec1e9f4fc536846d95a01a77d97da12f8042ca5cf83cdf3dd0442e881c/websockify-0.9.0.tar.gz|websockify-0.9.0
whereto-0.4.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/80/83/371a699ce90257608592dadca400a7ecd9a2db6137d78f6f433c7c5e3197/whereto-0.4.0.tar.gz|whereto-0.4.0
wrapt-1.12.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/82/f7/e43cefbe88c5fd371f4cf0cf5eb3feccd07515af9fd6cf7dbf1d1793a797/wrapt-1.12.1.tar.gz|wrapt-1.12.1|fix_setup
ws4py-0.5.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz|ws4py-0.5.1
WSME-0.10.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/e6/79/8aca55e7f3f21549dba59c276fc990b8d9bbde071fb17e1a968254d1df36/WSME-0.10.0-py3-none-any.whl
xattr-0.9.7-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/c1/74/1ff659d6deb1d2d6babb9483171edfa330264ae2cbf005035bb7a77b07d2/xattr-0.9.7.tar.gz|xattr-0.9.7
XStatic-1.0.3-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a7/73/6be224b0e18ac454909a236ad6d67c6c0f59962d5350dda797998b0409bf/XStatic-1.0.3-py3-none-any.whl
XStatic_Angular_FileUpload-12.0.4.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/4d/fd/c3051915d2f12e8fa11f59c01162ce85e38eca15d9ec73a3d7b271b49744/XStatic-Angular-FileUpload-12.0.4.0.tar.gz|XStatic-Angular-FileUpload-12.0.4.0
XStatic_Angular_lrdragndrop-1.0.2.4-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/80/ea/ffdde05892eabe468f22403f75299cf5d991f0af4f1400bebbf3af04bc9a/XStatic_Angular_lrdragndrop-1.0.2.4-py2.py3-none-any.whl
XStatic_Angular_Schema_Form-0.8.13.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/57/71/ceea2c0a72e2ee2d316d6ab1c06b21faa9f5cbc4b36a4127d7847b7079c5/XStatic-Angular-Schema-Form-0.8.13.0.tar.gz|XStatic-Angular-Schema-Form-0.8.13.0
XStatic_Bootstrap_Datepicker-1.4.0.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/3e/ab/806279e234318feb71c392b51d3a5c537c96e123b8e53c7bdeadf987b174/XStatic_Bootstrap_Datepicker-1.4.0.0-py3-none-any.whl
XStatic_Hogan-2.0.0.3-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/6d/a3/822ce8570757a5b258c39f71f357b2276365f0e6d91094e37d706da5bee4/XStatic_Hogan-2.0.0.3-py3-none-any.whl
XStatic_Jasmine-2.4.1.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/05/43/ceac7def3b6eaf82b6f593e3db2b03a9693a7b002b569e664e382aecddbc/XStatic_Jasmine-2.4.1.2-py2.py3-none-any.whl
XStatic_jQuery-3.5.1.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/f0/f9/5ec13f2545f84f5616dc1e5ff65049e4094db6a18f7f33c2c7fb5fb57c16/XStatic-jQuery-3.5.1.1.tar.gz|XStatic-jQuery-3.5.1.1
XStatic_JQuery_Migrate-3.3.2.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/59/c0/cb7387a8ce804889cb6fc94b8796e54aabb113fb351813411c1c764654b1/XStatic_JQuery_Migrate-3.3.2.1-py3-none-any.whl
XStatic_JQuery.quicksearch-2.0.3.2-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/41/cf/24665d03c2c5963f0ad476b2af16a59af377735ab89d48d97e178409faf5/XStatic_JQuery.quicksearch-2.0.3.2-py3-none-any.whl
XStatic_JQuery.TableSorter-2.14.5.2-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/38/af/f36c9ef0c5c1e12caca2d9f126573cdd7b97bc8d922fabe903964d078181/XStatic_JQuery.TableSorter-2.14.5.2-py3-none-any.whl
XStatic_jquery_ui-1.12.1.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e6/5a/883b22dad1d3e01708312d71c5bc63d543d66cef9b448c1cf85379d64fb3/XStatic-jquery-ui-1.12.1.1.tar.gz|XStatic-jquery-ui-1.12.1.1
XStatic_mdi-1.6.50.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/73/49/13b9f7ce9fbcc7fabe086b7ac1b056118cbd4c9abf185e01cc4a54631136/XStatic_mdi-1.6.50.2-py2.py3-none-any.whl
XStatic_objectpath-1.2.1.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/23/6c/56de25d9d3be430e7de2fcf4baac10279dad78d7b16cbda339cf014c2fe5/XStatic-objectpath-1.2.1.0.tar.gz|XStatic-objectpath-1.2.1.0
XStatic_Rickshaw-1.5.1.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/23/cc/20380c36f60a424e655c005ce8be9329cbf41c58c5aa3db773485d1d0dcd/XStatic_Rickshaw-1.5.1.0-py3-none-any.whl
XStatic_Spin-1.2.5.3-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/ba/27/c678a4ca0e0a14f5a9edf4c97a89a6c493446b1a00aee78ea03e79333097/XStatic_Spin-1.2.5.3-py3-none-any.whl
XStatic_term.js-0.0.7.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/63/7a/7bfec29f5f28fdda7170ebbbb2204aeb1d33d6050f3476a807590de06434/XStatic-term.js-0.0.7.0.tar.gz|XStatic-term.js-0.0.7.0
XStatic_tv4-1.2.7.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/2b/26/b07115af27b339c861b8c9a775a621524b421c898e26e015880dfb888c49/XStatic-tv4-1.2.7.0.tar.gz|XStatic-tv4-1.2.7.0
XStatic_Font_Awesome-4.7.0.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/b4/ca/24685f91f744cde936294c033685cb4bb3302430f005cc834d86d75b9640/XStatic_Font_Awesome-4.7.0.0-py2.py3-none-any.whl
xvfbwrapper-0.2.9-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/57/b6/4920eabda9b49630dea58745e79f9919aba6408d460afe758bf6e9b21a04/xvfbwrapper-0.2.9.tar.gz|xvfbwrapper-0.2.9
yappi-1.2.3-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/37/dc/86bbe1822cdc6dbf46c644061bd24217f6a0f056f00162a3697c9bea7575/yappi-1.2.3.tar.gz|yappi-1.2.3
yaql-1.1.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/77/89/cfee017cf4f2d6f5e7159bbf13fe4131c7dbf20d675b78c9928ae9aa9df8/yaql-1.1.3.tar.gz|yaql-1.1.3
zVMCloudConnector-1.4.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/11/92/9f704de9759816e7b9897b9fb41285b421498b4642551b6fbcccd2850008/zVMCloudConnector-1.4.1.tar.gz|zVMCloudConnector-1.4.1

View File

@@ -15,7 +15,9 @@ if [ -z "${MY_WORKSPACE}" -o -z "${MY_REPO}" ]; then
fi
SUPPORTED_OS_ARGS=('debian')
SUPPORTED_OS_CODENAME_ARGS=('bullseye' 'trixie')
OS=
OS_CODENAME=
BUILD_STREAM=stable
function usage {
@@ -24,13 +26,14 @@ Usage:
$(basename $0) [ --os <os> ] [ --stream <stable|dev> ]
Options:
--os: Specify base OS (eg. debian)
--stream: Openstack release (default: stable)
--os: Specify base OS (eg. debian)
--os-codename: Specify base OS (eg. trixie, bullseye)
--stream: Openstack release (default: stable)
EOF
}
OPTS=$(getopt -o h -l help,os:,release:,stream: -- "$@")
OPTS=$(getopt -o h -l help,os:,os-codename:,release:,stream: -- "$@")
if [ $? -ne 0 ]; then
usage
exit 1
@@ -49,6 +52,10 @@ while true; do
OS=$2
shift 2
;;
--os-codename)
OS_CODENAME=$2
shift 2
;;
--stream)
BUILD_STREAM=$2
shift 2
@@ -90,10 +97,36 @@ if [ ${VALID_OS} -ne 0 ]; then
exit 1
fi
if [ -z "$OS_CODENAME" ] ; then
if [[ ! -z "$DEBIAN_DISTRIBUTION" ]]; then
OS_CODENAME="$DEBIAN_DISTRIBUTION"
else
OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)"
fi
if [[ -z "$OS_CODENAME" ]] ; then
echo "Unable to determine OS_CODENAME, please re-run with \`--os-codename' option" >&2
exit 1
fi
fi
VALID_OS_CODENAME=1
for supported_os_codename in ${SUPPORTED_OS_CODENAME_ARGS[@]}; do
if [ "$OS_CODENAME" = "${supported_os_codename}" ]; then
VALID_OS_CODENAME=0
break
fi
done
if [ ${VALID_OS_CODENAME} -ne 0 ]; then
echo "Unsupported OS_CODENAME specified: ${OS_CODENAME}" >&2
echo "Supported OS_CODENAME options: ${SUPPORTED_OS_CODENAME_ARGS[@]}" >&2
exit 1
fi
source ${MY_REPO}/build-tools/git-utils.sh
function get_wheels_files {
find ${GIT_LIST} -maxdepth 1 -name "${OS}_${BUILD_STREAM}_wheels.inc"
find ${GIT_LIST} -maxdepth 1 -path "$(git_ctx_root_dir)/do-not-build/*" \
-name "${OS}_${BUILD_STREAM}_wheels.inc" \
-o -name "${OS}_${OS_CODENAME}_${BUILD_STREAM}_wheels.inc"
}
function get_lower_layer_wheels_files {
@@ -119,11 +152,11 @@ function find_wheel_deb {
declare -a WHEELS_FILES=($(get_wheels_files) $(get_lower_layer_wheels_files))
if [ ${#WHEELS_FILES[@]} -eq 0 ]; then
echo "Could not find ${OS} wheels.inc files" >&2
echo "Could not find ${OS}-${OS_CODENAME} wheels.inc files" >&2
exit 1
fi
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/stx
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/stx
echo "BUILD_OUTPUT_PATH: $BUILD_OUTPUT_PATH" >&2
if [ -d ${BUILD_OUTPUT_PATH} ]; then
# Wipe out the existing dir to ensure there are no stale files