@ -0,0 +1,78 @@ | |||||
# This file must be used with "source bin/activate" *from bash* | |||||
# you cannot run it directly | |||||
deactivate () { | |||||
unset -f pydoc >/dev/null 2>&1 | |||||
# reset old environment variables | |||||
# ! [ -z ${VAR+_} ] returns true if VAR is declared at all | |||||
if ! [ -z "${_OLD_VIRTUAL_PATH+_}" ] ; then | |||||
PATH="$_OLD_VIRTUAL_PATH" | |||||
export PATH | |||||
unset _OLD_VIRTUAL_PATH | |||||
fi | |||||
if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then | |||||
PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME" | |||||
export PYTHONHOME | |||||
unset _OLD_VIRTUAL_PYTHONHOME | |||||
fi | |||||
# This should detect bash and zsh, which have a hash command that must | |||||
# be called to get it to forget past commands. Without forgetting | |||||
# past commands the $PATH changes we made may not be respected | |||||
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then | |||||
hash -r 2>/dev/null | |||||
fi | |||||
if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then | |||||
PS1="$_OLD_VIRTUAL_PS1" | |||||
export PS1 | |||||
unset _OLD_VIRTUAL_PS1 | |||||
fi | |||||
unset VIRTUAL_ENV | |||||
if [ ! "${1-}" = "nondestructive" ] ; then | |||||
# Self destruct! | |||||
unset -f deactivate | |||||
fi | |||||
} | |||||
# unset irrelevant variables | |||||
deactivate nondestructive | |||||
VIRTUAL_ENV="/home/alpcentaur/ProjektA/Brieftaube/BTvenv" | |||||
export VIRTUAL_ENV | |||||
_OLD_VIRTUAL_PATH="$PATH" | |||||
PATH="$VIRTUAL_ENV/bin:$PATH" | |||||
export PATH | |||||
# unset PYTHONHOME if set | |||||
if ! [ -z "${PYTHONHOME+_}" ] ; then | |||||
_OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME" | |||||
unset PYTHONHOME | |||||
fi | |||||
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then | |||||
_OLD_VIRTUAL_PS1="$PS1" | |||||
if [ "x" != x ] ; then | |||||
PS1="$PS1" | |||||
else | |||||
PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1" | |||||
fi | |||||
export PS1 | |||||
fi | |||||
# Make sure to unalias pydoc if it's already there | |||||
alias pydoc 2>/dev/null >/dev/null && unalias pydoc | |||||
pydoc () { | |||||
python -m pydoc "$@" | |||||
} | |||||
# This should detect bash and zsh, which have a hash command that must | |||||
# be called to get it to forget past commands. Without forgetting | |||||
# past commands the $PATH changes we made may not be respected | |||||
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then | |||||
hash -r 2>/dev/null | |||||
fi |
@ -0,0 +1,36 @@ | |||||
# This file must be used with "source bin/activate.csh" *from csh*. | |||||
# You cannot run it directly. | |||||
# Created by Davide Di Blasi <davidedb@gmail.com>. | |||||
alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate && unalias pydoc' | |||||
# Unset irrelevant variables. | |||||
deactivate nondestructive | |||||
setenv VIRTUAL_ENV "/home/alpcentaur/ProjektA/Brieftaube/BTvenv" | |||||
set _OLD_VIRTUAL_PATH="$PATH" | |||||
setenv PATH "$VIRTUAL_ENV/bin:$PATH" | |||||
if ("" != "") then | |||||
set env_name = "" | |||||
else | |||||
set env_name = `basename "$VIRTUAL_ENV"` | |||||
endif | |||||
# Could be in a non-interactive environment, | |||||
# in which case, $prompt is undefined and we wouldn't | |||||
# care about the prompt anyway. | |||||
if ( $?prompt ) then | |||||
set _OLD_VIRTUAL_PROMPT="$prompt" | |||||
set prompt = "[$env_name] $prompt" | |||||
endif | |||||
unset env_name | |||||
alias pydoc python -m pydoc | |||||
rehash | |||||
@ -0,0 +1,76 @@ | |||||
# This file must be used using `. bin/activate.fish` *within a running fish ( http://fishshell.com ) session*. | |||||
# Do not run it directly. | |||||
function deactivate -d 'Exit virtualenv mode and return to the normal environment.' | |||||
# reset old environment variables | |||||
if test -n "$_OLD_VIRTUAL_PATH" | |||||
set -gx PATH $_OLD_VIRTUAL_PATH | |||||
set -e _OLD_VIRTUAL_PATH | |||||
end | |||||
if test -n "$_OLD_VIRTUAL_PYTHONHOME" | |||||
set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME | |||||
set -e _OLD_VIRTUAL_PYTHONHOME | |||||
end | |||||
if test -n "$_OLD_FISH_PROMPT_OVERRIDE" | |||||
# Set an empty local `$fish_function_path` to allow the removal of `fish_prompt` using `functions -e`. | |||||
set -l fish_function_path | |||||
# Erase virtualenv's `fish_prompt` and restore the original. | |||||
functions -e fish_prompt | |||||
functions -c _old_fish_prompt fish_prompt | |||||
functions -e _old_fish_prompt | |||||
set -e _OLD_FISH_PROMPT_OVERRIDE | |||||
end | |||||
set -e VIRTUAL_ENV | |||||
if test "$argv[1]" != 'nondestructive' | |||||
# Self-destruct! | |||||
functions -e pydoc | |||||
functions -e deactivate | |||||
end | |||||
end | |||||
# Unset irrelevant variables. | |||||
deactivate nondestructive | |||||
set -gx VIRTUAL_ENV "/home/alpcentaur/ProjektA/Brieftaube/BTvenv" | |||||
set -gx _OLD_VIRTUAL_PATH $PATH | |||||
set -gx PATH "$VIRTUAL_ENV/bin" $PATH | |||||
# Unset `$PYTHONHOME` if set. | |||||
if set -q PYTHONHOME | |||||
set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME | |||||
set -e PYTHONHOME | |||||
end | |||||
function pydoc | |||||
python -m pydoc $argv | |||||
end | |||||
if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" | |||||
# Copy the current `fish_prompt` function as `_old_fish_prompt`. | |||||
functions -c fish_prompt _old_fish_prompt | |||||
function fish_prompt | |||||
# Save the current $status, for fish_prompts that display it. | |||||
set -l old_status $status | |||||
# Prompt override provided? | |||||
# If not, just prepend the environment name. | |||||
if test -n "" | |||||
printf '%s%s' "" (set_color normal) | |||||
else | |||||
printf '%s(%s) ' (set_color normal) (basename "$VIRTUAL_ENV") | |||||
end | |||||
# Restore the original $status | |||||
echo "exit $old_status" | source | |||||
_old_fish_prompt | |||||
end | |||||
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" | |||||
end |
@ -0,0 +1,34 @@ | |||||
"""By using execfile(this_file, dict(__file__=this_file)) you will | |||||
activate this virtualenv environment. | |||||
This can be used when you must use an existing Python interpreter, not | |||||
the virtualenv bin/python | |||||
""" | |||||
try: | |||||
__file__ | |||||
except NameError: | |||||
raise AssertionError( | |||||
"You must run this like execfile('path/to/activate_this.py', dict(__file__='path/to/activate_this.py'))") | |||||
import sys | |||||
import os | |||||
old_os_path = os.environ.get('PATH', '') | |||||
os.environ['PATH'] = os.path.dirname(os.path.abspath(__file__)) + os.pathsep + old_os_path | |||||
base = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |||||
if sys.platform == 'win32': | |||||
site_packages = os.path.join(base, 'Lib', 'site-packages') | |||||
else: | |||||
site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages') | |||||
prev_sys_path = list(sys.path) | |||||
import site | |||||
site.addsitedir(site_packages) | |||||
sys.real_prefix = sys.prefix | |||||
sys.prefix = base | |||||
# Move the added items to the front of the path: | |||||
new_sys_path = [] | |||||
for item in list(sys.path): | |||||
if item not in prev_sys_path: | |||||
new_sys_path.append(item) | |||||
sys.path.remove(item) | |||||
sys.path[:0] = new_sys_path |
@ -0,0 +1,11 @@ | |||||
#!/home/alpcentaur/ProjektA/Brieftaube/BTvenv/bin/python | |||||
# -*- coding: utf-8 -*- | |||||
import re | |||||
import sys | |||||
from chardet.cli.chardetect import main | |||||
if __name__ == '__main__': | |||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) | |||||
sys.exit(main()) |
@ -0,0 +1,11 @@ | |||||
#!/home/alpcentaur/ProjektA/Brieftaube/BTvenv/bin/python | |||||
# -*- coding: utf-8 -*- | |||||
import re | |||||
import sys | |||||
from setuptools.command.easy_install import main | |||||
if __name__ == '__main__': | |||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) | |||||
sys.exit(main()) |
@ -0,0 +1,11 @@ | |||||
#!/home/alpcentaur/ProjektA/Brieftaube/BTvenv/bin/python | |||||
# -*- coding: utf-8 -*- | |||||
import re | |||||
import sys | |||||
from setuptools.command.easy_install import main | |||||
if __name__ == '__main__': | |||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) | |||||
sys.exit(main()) |
@ -0,0 +1,11 @@ | |||||
#!/home/alpcentaur/ProjektA/Brieftaube/BTvenv/bin/python | |||||
# -*- coding: utf-8 -*- | |||||
import re | |||||
import sys | |||||
from pip._internal import main | |||||
if __name__ == '__main__': | |||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) | |||||
sys.exit(main()) |
@ -0,0 +1,11 @@ | |||||
#!/home/alpcentaur/ProjektA/Brieftaube/BTvenv/bin/python | |||||
# -*- coding: utf-8 -*- | |||||
import re | |||||
import sys | |||||
from pip._internal import main | |||||
if __name__ == '__main__': | |||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) | |||||
sys.exit(main()) |
@ -0,0 +1,11 @@ | |||||
#!/home/alpcentaur/ProjektA/Brieftaube/BTvenv/bin/python | |||||
# -*- coding: utf-8 -*- | |||||
import re | |||||
import sys | |||||
from pip._internal import main | |||||
if __name__ == '__main__': | |||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) | |||||
sys.exit(main()) |
@ -0,0 +1,78 @@ | |||||
#!/home/alpcentaur/ProjektA/Brieftaube/BTvenv/bin/python | |||||
import sys | |||||
import getopt | |||||
import sysconfig | |||||
valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', | |||||
'ldflags', 'help'] | |||||
if sys.version_info >= (3, 2): | |||||
valid_opts.insert(-1, 'extension-suffix') | |||||
valid_opts.append('abiflags') | |||||
if sys.version_info >= (3, 3): | |||||
valid_opts.append('configdir') | |||||
def exit_with_usage(code=1): | |||||
sys.stderr.write("Usage: {0} [{1}]\n".format( | |||||
sys.argv[0], '|'.join('--'+opt for opt in valid_opts))) | |||||
sys.exit(code) | |||||
try: | |||||
opts, args = getopt.getopt(sys.argv[1:], '', valid_opts) | |||||
except getopt.error: | |||||
exit_with_usage() | |||||
if not opts: | |||||
exit_with_usage() | |||||
pyver = sysconfig.get_config_var('VERSION') | |||||
getvar = sysconfig.get_config_var | |||||
opt_flags = [flag for (flag, val) in opts] | |||||
if '--help' in opt_flags: | |||||
exit_with_usage(code=0) | |||||
for opt in opt_flags: | |||||
if opt == '--prefix': | |||||
print(sysconfig.get_config_var('prefix')) | |||||
elif opt == '--exec-prefix': | |||||
print(sysconfig.get_config_var('exec_prefix')) | |||||
elif opt in ('--includes', '--cflags'): | |||||
flags = ['-I' + sysconfig.get_path('include'), | |||||
'-I' + sysconfig.get_path('platinclude')] | |||||
if opt == '--cflags': | |||||
flags.extend(getvar('CFLAGS').split()) | |||||
print(' '.join(flags)) | |||||
elif opt in ('--libs', '--ldflags'): | |||||
abiflags = getattr(sys, 'abiflags', '') | |||||
libs = ['-lpython' + pyver + abiflags] | |||||
libs += getvar('LIBS').split() | |||||
libs += getvar('SYSLIBS').split() | |||||
# add the prefix/lib/pythonX.Y/config dir, but only if there is no | |||||
# shared library in prefix/lib/. | |||||
if opt == '--ldflags': | |||||
if not getvar('Py_ENABLE_SHARED'): | |||||
libs.insert(0, '-L' + getvar('LIBPL')) | |||||
if not getvar('PYTHONFRAMEWORK'): | |||||
libs.extend(getvar('LINKFORSHARED').split()) | |||||
print(' '.join(libs)) | |||||
elif opt == '--extension-suffix': | |||||
ext_suffix = sysconfig.get_config_var('EXT_SUFFIX') | |||||
if ext_suffix is None: | |||||
ext_suffix = sysconfig.get_config_var('SO') | |||||
print(ext_suffix) | |||||
elif opt == '--abiflags': | |||||
if not getattr(sys, 'abiflags', None): | |||||
exit_with_usage() | |||||
print(sys.abiflags) | |||||
elif opt == '--configdir': | |||||
print(sysconfig.get_config_var('LIBPL')) |
@ -0,0 +1,11 @@ | |||||
#!/home/alpcentaur/ProjektA/Brieftaube/BTvenv/bin/python | |||||
# -*- coding: utf-8 -*- | |||||
import re | |||||
import sys | |||||
from async_upnp_client.cli import main | |||||
if __name__ == '__main__': | |||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) | |||||
sys.exit(main()) |
@ -0,0 +1,11 @@ | |||||
#!/home/alpcentaur/ProjektA/Brieftaube/BTvenv/bin/python | |||||
# -*- coding: utf-8 -*- | |||||
import re | |||||
import sys | |||||
from wheel.cli import main | |||||
if __name__ == '__main__': | |||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) | |||||
sys.exit(main()) |
@ -0,0 +1,101 @@ | |||||
import os | |||||
import sys | |||||
import warnings | |||||
import imp | |||||
import opcode # opcode is not a virtualenv module, so we can use it to find the stdlib | |||||
# Important! To work on pypy, this must be a module that resides in the | |||||
# lib-python/modified-x.y.z directory | |||||
dirname = os.path.dirname | |||||
distutils_path = os.path.join(os.path.dirname(opcode.__file__), 'distutils') | |||||
if os.path.normpath(distutils_path) == os.path.dirname(os.path.normpath(__file__)): | |||||
warnings.warn( | |||||
"The virtualenv distutils package at %s appears to be in the same location as the system distutils?") | |||||
else: | |||||
__path__.insert(0, distutils_path) | |||||
real_distutils = imp.load_module("_virtualenv_distutils", None, distutils_path, ('', '', imp.PKG_DIRECTORY)) | |||||
# Copy the relevant attributes | |||||
try: | |||||
__revision__ = real_distutils.__revision__ | |||||
except AttributeError: | |||||
pass | |||||
__version__ = real_distutils.__version__ | |||||
from distutils import dist, sysconfig | |||||
try: | |||||
basestring | |||||
except NameError: | |||||
basestring = str | |||||
## patch build_ext (distutils doesn't know how to get the libs directory | |||||
## path on windows - it hardcodes the paths around the patched sys.prefix) | |||||
if sys.platform == 'win32': | |||||
from distutils.command.build_ext import build_ext as old_build_ext | |||||
class build_ext(old_build_ext): | |||||
def finalize_options (self): | |||||
if self.library_dirs is None: | |||||
self.library_dirs = [] | |||||
elif isinstance(self.library_dirs, basestring): | |||||
self.library_dirs = self.library_dirs.split(os.pathsep) | |||||
self.library_dirs.insert(0, os.path.join(sys.real_prefix, "Libs")) | |||||
old_build_ext.finalize_options(self) | |||||
from distutils.command import build_ext as build_ext_module | |||||
build_ext_module.build_ext = build_ext | |||||
## distutils.dist patches: | |||||
old_find_config_files = dist.Distribution.find_config_files | |||||
def find_config_files(self): | |||||
found = old_find_config_files(self) | |||||
system_distutils = os.path.join(distutils_path, 'distutils.cfg') | |||||
#if os.path.exists(system_distutils): | |||||
# found.insert(0, system_distutils) | |||||
# What to call the per-user config file | |||||
if os.name == 'posix': | |||||
user_filename = ".pydistutils.cfg" | |||||
else: | |||||
user_filename = "pydistutils.cfg" | |||||
user_filename = os.path.join(sys.prefix, user_filename) | |||||
if os.path.isfile(user_filename): | |||||
for item in list(found): | |||||
if item.endswith('pydistutils.cfg'): | |||||
found.remove(item) | |||||
found.append(user_filename) | |||||
return found | |||||
dist.Distribution.find_config_files = find_config_files | |||||
## distutils.sysconfig patches: | |||||
old_get_python_inc = sysconfig.get_python_inc | |||||
def sysconfig_get_python_inc(plat_specific=0, prefix=None): | |||||
if prefix is None: | |||||
prefix = sys.real_prefix | |||||
return old_get_python_inc(plat_specific, prefix) | |||||
sysconfig_get_python_inc.__doc__ = old_get_python_inc.__doc__ | |||||
sysconfig.get_python_inc = sysconfig_get_python_inc | |||||
old_get_python_lib = sysconfig.get_python_lib | |||||
def sysconfig_get_python_lib(plat_specific=0, standard_lib=0, prefix=None): | |||||
if standard_lib and prefix is None: | |||||
prefix = sys.real_prefix | |||||
return old_get_python_lib(plat_specific, standard_lib, prefix) | |||||
sysconfig_get_python_lib.__doc__ = old_get_python_lib.__doc__ | |||||
sysconfig.get_python_lib = sysconfig_get_python_lib | |||||
old_get_config_vars = sysconfig.get_config_vars | |||||
def sysconfig_get_config_vars(*args): | |||||
real_vars = old_get_config_vars(*args) | |||||
if sys.platform == 'win32': | |||||
lib_dir = os.path.join(sys.real_prefix, "libs") | |||||
if isinstance(real_vars, dict) and 'LIBDIR' not in real_vars: | |||||
real_vars['LIBDIR'] = lib_dir # asked for all | |||||
elif isinstance(real_vars, list) and 'LIBDIR' in args: | |||||
real_vars = real_vars + [lib_dir] # asked for list | |||||
return real_vars | |||||
sysconfig_get_config_vars.__doc__ = old_get_config_vars.__doc__ | |||||
sysconfig.get_config_vars = sysconfig_get_config_vars |
@ -0,0 +1,6 @@ | |||||
# This is a config file local to this virtualenv installation | |||||
# You may include options that will be used by all distutils commands, | |||||
# and by easy_install. For instance: | |||||
# | |||||
# [easy_install] | |||||
# find_links = http://mylocalsite |
@ -0,0 +1 @@ | |||||
/usr |
@ -0,0 +1 @@ | |||||
pip |
@ -0,0 +1,201 @@ | |||||
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 2013-2018 Nikolay Kim and Andrew Svetlov | |||||
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. |
@ -0,0 +1,334 @@ | |||||
Metadata-Version: 2.1 | |||||
Name: aiohttp | |||||
Version: 3.4.4 | |||||
Summary: Async http client/server framework (asyncio) | |||||
Home-page: https://github.com/aio-libs/aiohttp | |||||
Author: Nikolay Kim | |||||
Author-email: fafhrd91@gmail.com | |||||
Maintainer: Nikolay Kim <fafhrd91@gmail.com>, Andrew Svetlov <andrew.svetlov@gmail.com> | |||||
Maintainer-email: aio-libs@googlegroups.com | |||||
License: Apache 2 | |||||
Project-URL: Chat: Gitter, https://gitter.im/aio-libs/Lobby | |||||
Project-URL: CI: AppVeyor, https://ci.appveyor.com/project/aio-libs/aiohttp | |||||
Project-URL: CI: Circle, https://circleci.com/gh/aio-libs/aiohttp | |||||
Project-URL: CI: Shippable, https://app.shippable.com/github/aio-libs/aiohttp | |||||
Project-URL: CI: Travis, https://travis-ci.com/aio-libs/aiohttp | |||||
Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/aiohttp | |||||
Project-URL: Docs: RTD, https://docs.aiohttp.org | |||||
Project-URL: GitHub: issues, https://github.com/aio-libs/aiohttp/issues | |||||
Project-URL: GitHub: repo, https://github.com/aio-libs/aiohttp | |||||
Platform: UNKNOWN | |||||
Classifier: License :: OSI Approved :: Apache Software License | |||||
Classifier: Intended Audience :: Developers | |||||
Classifier: Programming Language :: Python | |||||
Classifier: Programming Language :: Python :: 3 | |||||
Classifier: Programming Language :: Python :: 3.5 | |||||
Classifier: Programming Language :: Python :: 3.6 | |||||
Classifier: Programming Language :: Python :: 3.7 | |||||
Classifier: Development Status :: 5 - Production/Stable | |||||
Classifier: Operating System :: POSIX | |||||
Classifier: Operating System :: MacOS :: MacOS X | |||||
Classifier: Operating System :: Microsoft :: Windows | |||||
Classifier: Topic :: Internet :: WWW/HTTP | |||||
Classifier: Framework :: AsyncIO | |||||
Requires-Python: >=3.5.3 | |||||
Requires-Dist: attrs (>=17.3.0) | |||||
Requires-Dist: chardet (<4.0,>=2.0) | |||||
Requires-Dist: multidict (<5.0,>=4.0) | |||||
Requires-Dist: async-timeout (<4.0,>=3.0) | |||||
Requires-Dist: yarl (<2.0,>=1.0) | |||||
Requires-Dist: idna-ssl (>=1.0); python_version < "3.7" | |||||
================================== | |||||
Async http client/server framework | |||||
================================== | |||||
.. image:: https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png | |||||
:height: 64px | |||||
:width: 64px | |||||
:alt: aiohttp logo | |||||
| | |||||
.. image:: https://travis-ci.com/aio-libs/aiohttp.svg?branch=master | |||||
:target: https://travis-ci.com/aio-libs/aiohttp | |||||
:align: right | |||||
:alt: Travis status for master branch | |||||
.. image:: https://ci.appveyor.com/api/projects/status/tnddy9k6pphl8w7k/branch/master?svg=true | |||||
:target: https://ci.appveyor.com/project/aio-libs/aiohttp | |||||
:align: right | |||||
:alt: AppVeyor status for master branch | |||||
.. image:: https://codecov.io/gh/aio-libs/aiohttp/branch/master/graph/badge.svg | |||||
:target: https://codecov.io/gh/aio-libs/aiohttp | |||||
:alt: codecov.io status for master branch | |||||
.. image:: https://badge.fury.io/py/aiohttp.svg | |||||
:target: https://pypi.org/project/aiohttp | |||||
:alt: Latest PyPI package version | |||||
.. image:: https://readthedocs.org/projects/aiohttp/badge/?version=latest | |||||
:target: http://docs.aiohttp.org/ | |||||
:alt: Latest Read The Docs | |||||
.. image:: https://badges.gitter.im/Join%20Chat.svg | |||||
:target: https://gitter.im/aio-libs/Lobby | |||||
:alt: Chat on Gitter | |||||
Key Features | |||||
============ | |||||
- Supports both client and server side of HTTP protocol. | |||||
- Supports both client and server Web-Sockets out-of-the-box without the | |||||
Callback Hell. | |||||
- Web-server has middlewares and pluggable routing. | |||||
Getting started | |||||
=============== | |||||
Client | |||||
------ | |||||
To retrieve something from the web: | |||||
.. code-block:: python | |||||
import aiohttp | |||||
import asyncio | |||||
async def fetch(session, url): | |||||
async with session.get(url) as response: | |||||
return await response.text() | |||||
async def main(): | |||||
async with aiohttp.ClientSession() as session: | |||||
html = await fetch(session, 'http://python.org') | |||||
print(html) | |||||
if __name__ == '__main__': | |||||
loop = asyncio.get_event_loop() | |||||
loop.run_until_complete(main()) | |||||
Server | |||||
------ | |||||
This is simple usage example: | |||||
.. code-block:: python | |||||
from aiohttp import web | |||||
async def handle(request): | |||||
name = request.match_info.get('name', "Anonymous") | |||||
text = "Hello, " + name | |||||
return web.Response(text=text) | |||||
async def wshandle(request): | |||||
ws = web.WebSocketResponse() | |||||
await ws.prepare(request) | |||||
async for msg in ws: | |||||
if msg.type == web.WSMsgType.text: | |||||
await ws.send_str("Hello, {}".format(msg.data)) | |||||
elif msg.type == web.WSMsgType.binary: | |||||
await ws.send_bytes(msg.data) | |||||
elif msg.type == web.WSMsgType.close: | |||||
break | |||||
return ws | |||||
app = web.Application() | |||||
app.add_routes([web.get('/', handle), | |||||
web.get('/echo', wshandle), | |||||
web.get('/{name}', handle)]) | |||||
web.run_app(app) | |||||
Documentation | |||||
============= | |||||
https://aiohttp.readthedocs.io/ | |||||
Demos | |||||
===== | |||||
https://github.com/aio-libs/aiohttp-demos | |||||
External links | |||||
============== | |||||
* `Third party libraries | |||||
<http://aiohttp.readthedocs.io/en/latest/third_party.html>`_ | |||||
* `Built with aiohttp | |||||
<http://aiohttp.readthedocs.io/en/latest/built_with.html>`_ | |||||
* `Powered by aiohttp | |||||
<http://aiohttp.readthedocs.io/en/latest/powered_by.html>`_ | |||||
Feel free to make a Pull Request for adding your link to these pages! | |||||
Communication channels | |||||
====================== | |||||
*aio-libs* google group: https://groups.google.com/forum/#!forum/aio-libs | |||||
Feel free to post your questions and ideas here. | |||||
*gitter chat* https://gitter.im/aio-libs/Lobby | |||||
We support `Stack Overflow | |||||
<https://stackoverflow.com/questions/tagged/aiohttp>`_. | |||||
Please add *aiohttp* tag to your question there. | |||||
Requirements | |||||
============ | |||||
- Python >= 3.5.3 | |||||
- async-timeout_ | |||||
- attrs_ | |||||
- chardet_ | |||||
- multidict_ | |||||
- yarl_ | |||||
Optionally you may install the cChardet_ and aiodns_ libraries (highly | |||||
recommended for sake of speed). | |||||
.. _chardet: https://pypi.python.org/pypi/chardet | |||||
.. _aiodns: https://pypi.python.org/pypi/aiodns | |||||
.. _attrs: https://github.com/python-attrs/attrs | |||||
.. _multidict: https://pypi.python.org/pypi/multidict | |||||
.. _yarl: https://pypi.python.org/pypi/yarl | |||||
.. _async-timeout: https://pypi.python.org/pypi/async_timeout | |||||
.. _cChardet: https://pypi.python.org/pypi/cchardet | |||||
License | |||||
======= | |||||
``aiohttp`` is offered under the Apache 2 license. | |||||
Keepsafe | |||||
======== | |||||
The aiohttp community would like to thank Keepsafe | |||||
(https://www.getkeepsafe.com) for it's support in the early days of | |||||
the project. | |||||
Source code | |||||
=========== | |||||
The latest developer version is available in a github repository: | |||||
https://github.com/aio-libs/aiohttp | |||||
Benchmarks | |||||
========== | |||||
If you are interested in by efficiency, AsyncIO community maintains a | |||||
list of benchmarks on the official wiki: | |||||
https://github.com/python/asyncio/wiki/Benchmarks | |||||
========= | |||||
Changelog | |||||
========= | |||||
.. | |||||
You should *NOT* be adding new change log entries to this file, this | |||||
file is managed by towncrier. You *may* edit previous change logs to | |||||
fix problems like typo corrections or such. | |||||
To add a new change log entry, please see | |||||
https://pip.pypa.io/en/latest/development/#adding-a-news-entry | |||||
we named the news folder "changes". | |||||
WARNING: Don't drop the next directive! | |||||
.. towncrier release notes start | |||||
3.4.4 (2018-09-05) | |||||
================== | |||||
- Fix installation from sources when compiling toolkit is not available (`#3241 <https://github.com/aio-libs/aiohttp/pull/3241>`_) | |||||
3.4.3 (2018-09-04) | |||||
================== | |||||
- Add ``app.pre_frozen`` state to properly handle startup signals in sub-applications. (`#3237 <https://github.com/aio-libs/aiohttp/pull/3237>`_) | |||||
3.4.2 (2018-09-01) | |||||
================== | |||||
- Fix ``iter_chunks`` type annotation (`#3230 <https://github.com/aio-libs/aiohttp/pull/3230>`_) | |||||
3.4.1 (2018-08-28) | |||||
================== | |||||
- Fix empty header parsing regression. (`#3218 <https://github.com/aio-libs/aiohttp/pull/3218>`_) | |||||
- Fix BaseRequest.raw_headers doc. (`#3215 <https://github.com/aio-libs/aiohttp/pull/3215>`_) | |||||
- Fix documentation building on ReadTheDocs (`#3221 <https://github.com/aio-libs/aiohttp/pull/3221>`_) | |||||
3.4.0 (2018-08-25) | |||||
================== | |||||
Features | |||||
-------- | |||||
- Add type hints (`#3049 <https://github.com/aio-libs/aiohttp/pull/3049>`_) | |||||
- Add ``raise_for_status`` request parameter (`#3073 <https://github.com/aio-libs/aiohttp/pull/3073>`_) | |||||
- Add type hints to HTTP client (`#3092 <https://github.com/aio-libs/aiohttp/pull/3092>`_) | |||||
- Minor server optimizations (`#3095 <https://github.com/aio-libs/aiohttp/pull/3095>`_) | |||||
- Preserve the cause when `HTTPException` is raised from another exception. (`#3096 <https://github.com/aio-libs/aiohttp/pull/3096>`_) | |||||
- Add `close_boundary` option in `MultipartWriter.write` method. Support streaming (`#3104 <https://github.com/aio-libs/aiohttp/pull/3104>`_) | |||||
- Added a ``remove_slash`` option to the ``normalize_path_middleware`` factory. (`#3173 <https://github.com/aio-libs/aiohttp/pull/3173>`_) | |||||
- The class `AbstractRouteDef` is importable from `aiohttp.web`. (`#3183 <https://github.com/aio-libs/aiohttp/pull/3183>`_) | |||||
Bugfixes | |||||
-------- | |||||
- Prevent double closing when client connection is released before the | |||||
last ``data_received()`` callback. (`#3031 <https://github.com/aio-libs/aiohttp/pull/3031>`_) | |||||
- Make redirect with `normalize_path_middleware` work when using url encoded paths. (`#3051 <https://github.com/aio-libs/aiohttp/pull/3051>`_) | |||||
- Postpone web task creation to connection establishment. (`#3052 <https://github.com/aio-libs/aiohttp/pull/3052>`_) | |||||
- Fix ``sock_read`` timeout. (`#3053 <https://github.com/aio-libs/aiohttp/pull/3053>`_) | |||||
- When using a server-request body as the `data=` argument of a client request, iterate over the content with `readany` instead of `readline` to avoid `Line too long` errors. (`#3054 <https://github.com/aio-libs/aiohttp/pull/3054>`_) | |||||
- fix `UrlDispatcher` has no attribute `add_options`, add `web.options` (`#3062 <https://github.com/aio-libs/aiohttp/pull/3062>`_) | |||||
- correct filename in content-disposition with multipart body (`#3064 <https://github.com/aio-libs/aiohttp/pull/3064>`_) | |||||
- Many HTTP proxies has buggy keepalive support. | |||||
Let's not reuse connection but close it after processing every response. (`#3070 <https://github.com/aio-libs/aiohttp/pull/3070>`_) | |||||
- raise 413 "Payload Too Large" rather than raising ValueError in request.post() | |||||
Add helpful debug message to 413 responses (`#3087 <https://github.com/aio-libs/aiohttp/pull/3087>`_) | |||||
- Fix `StreamResponse` equality, now that they are `MutableMapping` objects. (`#3100 <https://github.com/aio-libs/aiohttp/pull/3100>`_) | |||||
- Fix server request objects comparison (`#3116 <https://github.com/aio-libs/aiohttp/pull/3116>`_) | |||||
- Do not hang on `206 Partial Content` response with `Content-Encoding: gzip` (`#3123 <https://github.com/aio-libs/aiohttp/pull/3123>`_) | |||||
- Fix timeout precondition checkers (`#3145 <https://github.com/aio-libs/aiohttp/pull/3145>`_) | |||||
Improved Documentation | |||||
---------------------- | |||||
- Add a new FAQ entry that clarifies that you should not reuse response | |||||
objects in middleware functions. (`#3020 <https://github.com/aio-libs/aiohttp/pull/3020>`_) | |||||
- Add FAQ section "Why is creating a ClientSession outside of an event loop dangerous?" (`#3072 <https://github.com/aio-libs/aiohttp/pull/3072>`_) | |||||
- Fix link to Rambler (`#3115 <https://github.com/aio-libs/aiohttp/pull/3115>`_) | |||||
- Fix TCPSite documentation on the Server Reference page. (`#3146 <https://github.com/aio-libs/aiohttp/pull/3146>`_) | |||||
- Fix documentation build configuration file for Windows. (`#3147 <https://github.com/aio-libs/aiohttp/pull/3147>`_) | |||||
- Remove no longer existing lingering_timeout parameter of Application.make_handler from documentation. (`#3151 <https://github.com/aio-libs/aiohttp/pull/3151>`_) | |||||
- Mention that ``app.make_handler`` is deprecated, recommend to use runners | |||||
API instead. (`#3157 <https://github.com/aio-libs/aiohttp/pull/3157>`_) | |||||
Deprecations and Removals | |||||
------------------------- | |||||
- Drop ``loop.current_task()`` from ``helpers.current_task()`` (`#2826 <https://github.com/aio-libs/aiohttp/pull/2826>`_) | |||||
- Drop ``reader`` parameter from ``request.multipart()``. (`#3090 <https://github.com/aio-libs/aiohttp/pull/3090>`_) | |||||
@ -0,0 +1,122 @@ | |||||
aiohttp-3.4.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 | |||||
aiohttp-3.4.4.dist-info/LICENSE.txt,sha256=uwwO6uhUkuv6A0Qrd4TUxCpiPhU0bfVK6F9V35cqgq8,11332 | |||||
aiohttp-3.4.4.dist-info/METADATA,sha256=u5h3f6IEka1LPMlvYe8xP5SBa3MZHJd9zmQUyVfn4o0,12068 | |||||
aiohttp-3.4.4.dist-info/RECORD,, | |||||
aiohttp-3.4.4.dist-info/WHEEL,sha256=d2ILPScH-y2UwGxsW1PeA2TT-KW0Git4AJ6LeOK8sQo,109 | |||||
aiohttp-3.4.4.dist-info/top_level.txt,sha256=iv-JIaacmTl-hSho3QmphcKnbRRYx1st47yjz_178Ro,8 | |||||
aiohttp/__init__.py,sha256=7k1EO17Q3TY8mSUVK0JL6zqGPVSGeckQ5PGSrq3fMKo,1468 | |||||
aiohttp/__pycache__/__init__.cpython-36.pyc,, | |||||
aiohttp/__pycache__/abc.cpython-36.pyc,, | |||||
aiohttp/__pycache__/base_protocol.cpython-36.pyc,, | |||||
aiohttp/__pycache__/client.cpython-36.pyc,, | |||||
aiohttp/__pycache__/client_exceptions.cpython-36.pyc,, | |||||
aiohttp/__pycache__/client_proto.cpython-36.pyc,, | |||||
aiohttp/__pycache__/client_reqrep.cpython-36.pyc,, | |||||
aiohttp/__pycache__/client_ws.cpython-36.pyc,, | |||||
aiohttp/__pycache__/connector.cpython-36.pyc,, | |||||
aiohttp/__pycache__/cookiejar.cpython-36.pyc,, | |||||
aiohttp/__pycache__/formdata.cpython-36.pyc,, | |||||
aiohttp/__pycache__/frozenlist.cpython-36.pyc,, | |||||
aiohttp/__pycache__/hdrs.cpython-36.pyc,, | |||||
aiohttp/__pycache__/helpers.cpython-36.pyc,, | |||||
aiohttp/__pycache__/http.cpython-36.pyc,, | |||||
aiohttp/__pycache__/http_exceptions.cpython-36.pyc,, | |||||
aiohttp/__pycache__/http_parser.cpython-36.pyc,, | |||||
aiohttp/__pycache__/http_websocket.cpython-36.pyc,, | |||||
aiohttp/__pycache__/http_writer.cpython-36.pyc,, | |||||
aiohttp/__pycache__/locks.cpython-36.pyc,, | |||||
aiohttp/__pycache__/log.cpython-36.pyc,, | |||||
aiohttp/__pycache__/multipart.cpython-36.pyc,, | |||||
aiohttp/__pycache__/payload.cpython-36.pyc,, | |||||
aiohttp/__pycache__/payload_streamer.cpython-36.pyc,, | |||||
aiohttp/__pycache__/pytest_plugin.cpython-36.pyc,, | |||||
aiohttp/__pycache__/resolver.cpython-36.pyc,, | |||||
aiohttp/__pycache__/signals.cpython-36.pyc,, | |||||
aiohttp/__pycache__/streams.cpython-36.pyc,, | |||||
aiohttp/__pycache__/tcp_helpers.cpython-36.pyc,, | |||||
aiohttp/__pycache__/test_utils.cpython-36.pyc,, | |||||
aiohttp/__pycache__/tracing.cpython-36.pyc,, | |||||
aiohttp/__pycache__/typedefs.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_app.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_exceptions.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_fileresponse.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_middlewares.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_protocol.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_request.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_response.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_routedef.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_runner.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_server.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_urldispatcher.cpython-36.pyc,, | |||||
aiohttp/__pycache__/web_ws.cpython-36.pyc,, | |||||
aiohttp/__pycache__/worker.cpython-36.pyc,, | |||||
aiohttp/_cparser.pxd,sha256=tgw30SL6kQSczzGMlMhx2Cuhf_O8P8ZPimVCb85xILc,3959 | |||||
aiohttp/_find_header.c,sha256=7jYFev6JMTFKHuKbEAS4HtjelvNpyZbaCELCKhCzIcM,187124 | |||||
aiohttp/_find_header.h,sha256=5oOgQ85nF6V7rpU8NhyE5vyGkTo1Cgf1GIYrtxSTzQI,170 | |||||
aiohttp/_find_header.pxd,sha256=0GfwFCPN2zxEKTO1_MA5sYq2UfzsG8kcV3aTqvwlz3g,68 | |||||
aiohttp/_frozenlist.c,sha256=oi196gDKdZE6RhoL_zoSPpjeGZipbSkuKKDSz4UUKV4,287043 | |||||
aiohttp/_frozenlist.cpython-36m-x86_64-linux-gnu.so,sha256=a-e7WWOx8xtIM3ScKPOzsPAmKgr5Qn4VnqlK481YdzY,318971 | |||||
aiohttp/_frozenlist.pyx,sha256=BD8LcERExsWdo4qzuuQ84f-L_pHVzkUQO0lEAOe3Fog,2605 | |||||
aiohttp/_headers.pxi,sha256=BbOT01Y7cjw0CD3sZaS3Z9M4LRaVHBwrnVdV8hD9yoc,2023 | |||||
aiohttp/_helpers.c,sha256=3rEUwagqs7Cz3Gwo-sWxLEOodiTxr0mZ00VJ7MpQlHk,204909 | |||||
aiohttp/_helpers.cpython-36m-x86_64-linux-gnu.so,sha256=xCjSD7A3xSMGHofUeOI6JbgHKCZC3yglOAgKCDoOocA,218348 | |||||
aiohttp/_helpers.pyi,sha256=mJRb5YdG8DxYbPfVddGRGmi93qqaJM30L1qFpgSKQuA,204 | |||||
aiohttp/_helpers.pyx,sha256=XeLbNft5X_4ifi8QB8i6TyrRuayijMSO3IDHeSA89uM,1049 | |||||
aiohttp/_http_parser.c,sha256=ReLENI2iq9eH2WEoO-s1wuGTuG9AiInqKv70EL3jR0s,1005926 | |||||
aiohttp/_http_parser.cpython-36m-x86_64-linux-gnu.so,sha256=PYzqNbuK-nadhra-5p9TsXXLmpyugFUzeK6OZKl-BXY,1556687 | |||||
aiohttp/_http_parser.pyx,sha256=qAeXR88_UXU2ontoLIq7hg7M2KHjY982iJeH_u7aXXs,28672 | |||||
aiohttp/_http_writer.c,sha256=H6BT4lNGxnJwp3P1bKiUBPSO9a_Bas7sh0gbXg4Qv60,199033 | |||||
aiohttp/_http_writer.cpython-36m-x86_64-linux-gnu.so,sha256=-1gncs7OjrtpIByGzmzcJ2Wyq08ZRlAm414GszQxY2Q,188097 | |||||
aiohttp/_http_writer.pyx,sha256=vnanyXytNqyi6oqxELg5ARJ8LhtB8mDGxNfz6DdvH6E,4193 | |||||
aiohttp/_websocket.c,sha256=xEx6a7q81aLU-F7XhvZI8-bNsLQ1G5Y6Y1WvPdajEOI,129680 | |||||
aiohttp/_websocket.cpython-36m-x86_64-linux-gnu.so,sha256=tthTSufyBZH45sAN6XroXs12DAbaNR9pCWc5mRXB-Sw,94189 | |||||
aiohttp/_websocket.pyx,sha256=jtAtuevgwQkBa1nVpyJJpHu52CbwQniH4yB_7dzf5sk,1560 | |||||
aiohttp/abc.py,sha256=NDbwfL0kfqDBdc3uYgVon3Q1wSTXmMedI82ZVn8u4ks,3390 | |||||
aiohttp/base_protocol.py,sha256=ivjBzFwrFWpJ6shx8C4yeB5ieIXvSreI41dE-9LHJWk,1948 | |||||
aiohttp/client.py,sha256=F2NvZ6ES73gjC5hiZX9Onf_SY9k6sWo6zgiXrZmqyBY,36393 | |||||
aiohttp/client_exceptions.py,sha256=3xLJQiDBRf2wkFf3sgT465Ezzxc7-1y9meJbVpMDTNA,6525 | |||||
aiohttp/client_proto.py,sha256=EXw5CdnqPL1w_S6jO3eUyaZEO7a8e6M5OrfASWFsulE,7607 | |||||
aiohttp/client_reqrep.py,sha256=dmg9mYtBm4SY924LfR0xUZwyxNcov02zbXoMqxtlCPQ,31660 | |||||
aiohttp/client_ws.py,sha256=9n6cMVEHzBqR2xYdqyIqszbqaMQh07ZDtqeW5p9KyTQ,9992 | |||||
aiohttp/connector.py,sha256=OmB1fQB5QNvMqkh7dJ0twPxlADFIsBYSRCUgfzAYywg,33902 | |||||
aiohttp/cookiejar.py,sha256=U3lQE_U8QRkw0KNeH3D8r0E6ujjWqrHGLquyx9SAZJI,10234 | |||||
aiohttp/formdata.py,sha256=LFMdHGXMWl833gxXM3U2NpNnTLlt845IYKLpnJ1v2tg,5344 | |||||
aiohttp/frozenlist.py,sha256=I4zR368wRHXp402Z3f5lhd5i48b6A66MhHncW1JGkb4,1781 | |||||
aiohttp/frozenlist.pyi,sha256=YAV8eUnd6faG-ClWApJICqFtIHN8TZJ83_FRPJIEAes,1051 | |||||
aiohttp/hdrs.py,sha256=RzM-AQ-AXPKfzRKnv1vdnD5M9EQYOWrPdyGaWixzD7U,3450 | |||||
aiohttp/helpers.py,sha256=C2GNuuCsAIxXGzRqFoymrch14rSMmZkrZrQYKQYEum0,24479 | |||||
aiohttp/http.py,sha256=LfYCmzXpj7J-gc9a3eg0gSUJF9ZddlG9oopFYcF_woI,1294 | |||||
aiohttp/http_exceptions.py,sha256=Dn_dNGfFiM42icLkzKSVEMZhxUnIRIAZT1Js7318m00,2031 | |||||
aiohttp/http_parser.py,sha256=GB6HGt88sd1NALHAOJk_AvXZJ4FTaALa3Zp_sjKNwCw,25155 | |||||
aiohttp/http_websocket.py,sha256=_KVDY9rgC7cKSgTaDBrGkB0Lea6Rbn-GcG13xIffFXw,23386 | |||||
aiohttp/http_writer.py,sha256=rtHYtK08Wm_pHA99kOWTF3p4Ip7HFHHx2UbbmIKaus4,5088 | |||||
aiohttp/locks.py,sha256=gQXt7EL5gr8fPFXnwLOOx-oyI9Y0-e7s3gcDOBCxkdU,946 | |||||
aiohttp/log.py,sha256=ZuLCKj5MTpAli7xV6ejj5keQVddXLzvBE5LwVsCqDho,326 | |||||
aiohttp/multipart.py,sha256=Wol_H37NE26asMRQMnvTFYLEaS9IrsPyt_hPTEten7c,29672 | |||||
aiohttp/payload.py,sha256=BU_yQ7GxPLMoJ5dn8vgw2l2oo6-zmzei0tJp97ZbXOo,10531 | |||||
aiohttp/payload_streamer.py,sha256=0dJGpChHYjstXrtAgxvETQYP1rOWRbZ87ShWY-5L3es,1703 | |||||
aiohttp/py.typed,sha256=E84IaZyFwfLqvXjOVW4LS6WH7QOaKEFpNh9TFyzHNQc,6 | |||||
aiohttp/pytest_plugin.py,sha256=43p18dRQnzbzOLURqv65nL0AH2KcHofquJiGII0SCYY,9850 | |||||
aiohttp/resolver.py,sha256=xbcdUJiAbYiK6MiOprQhW7JZViMbgiq-k9MbQO2kebg,3312 | |||||
aiohttp/signals.py,sha256=3ewlnBM1Z8__zSeJpXc3TO0Pc46IVdijrfClQyaN--M,949 | |||||
aiohttp/signals.pyi,sha256=uZw519ldZx-UK_CDH4EdLhWL34rcbhegSD6wd9PH4Ow,315 | |||||
aiohttp/streams.py,sha256=XlxEQCdMzwplUnkSPqPx9nYmPkvMQLOj8CNhq4nxo6c,17943 | |||||
aiohttp/tcp_helpers.py,sha256=x3-7VEgjjBtE-ryjG2vOV69Taq4ATtiNVthAuu9AEv8,1632 | |||||
aiohttp/test_utils.py,sha256=Ary2HtUhc6Ot_XiyatTm9W_3TeqTpxvervPC-2AOAgY,16400 | |||||
aiohttp/tracing.py,sha256=LsllhG7jbMikW1kd88H5Qw09EOQmVhEjiaoZjZV89gs,10857 | |||||
aiohttp/typedefs.py,sha256=GDqDeDcRprQJKvF1HQUMXdjrOb8mCv7iipPSPhfMXIk,470 | |||||
aiohttp/web.py,sha256=3_SNRLxPk40sPM5o-0yss7JDboDxwAEHeLpVxoQS7co,7406 | |||||
aiohttp/web_app.py,sha256=AsA42KMT9oDP6b5mx2BmVyijOgxJDSop1FVrpQ2A13A,13464 | |||||
aiohttp/web_exceptions.py,sha256=wTxZ1sGobEITkeZ59vfrNJSBme0Gd4QvV-qQ2vxdkrE,8924 | |||||
aiohttp/web_fileresponse.py,sha256=ge3U4C15hisrR58166UV9O5XICcnkEzT9KUBEG9wB58,10649 | |||||
aiohttp/web_middlewares.py,sha256=fdk8MtOTChvQHQwjZI5ve96vKZjjYJurVIVumxQSnqU,3523 | |||||
aiohttp/web_protocol.py,sha256=LFTpMGGv7Avk2twrGEm_kaagk6v0an20d4WvmpWwAB4,18513 | |||||
aiohttp/web_request.py,sha256=nJSs0lynXcub9UaUxzGY0ZTjD35O-NF0NtB-4SaeFvc,23709 | |||||
aiohttp/web_response.py,sha256=HrQyPRMtsxsU2cM-W4B1tiyVsbPK7dnAUZ4wb-4IaHY,21589 | |||||
aiohttp/web_routedef.py,sha256=BAoLTmywWF1p3cf7hl41W5xJGapakClJfZ0Yj0ZgsmE,4307 | |||||
aiohttp/web_runner.py,sha256=uiIEeRccjgIPPNOgAuLIWGD38aAfb0I3_ZDrRqVmqbQ,8622 | |||||
aiohttp/web_server.py,sha256=Y5n8zicEYdzxGAHNhPG2MtGNpczWfEcC2-Qdkepqtto,1325 | |||||
aiohttp/web_urldispatcher.py,sha256=mXErjoWVqj7mf9JG_HA2dhxXftiqoUQdjd2UJSubxPo,31028 | |||||
aiohttp/web_ws.py,sha256=T1LySVCAS_HvYqu5Nnr04lKbjkQdHX0rVpAdseEkdtw,15153 | |||||
aiohttp/worker.py,sha256=pdGgAzeyUxXMTtxTVRdtm5ClQ--o-z6V5NKyjsTFdaA,7220 |
@ -0,0 +1,5 @@ | |||||
Wheel-Version: 1.0 | |||||
Generator: bdist_wheel (0.31.1) | |||||
Root-Is-Purelib: false | |||||
Tag: cp36-cp36m-manylinux1_x86_64 | |||||
@ -0,0 +1 @@ | |||||
aiohttp |
@ -0,0 +1,41 @@ | |||||
__version__ = '3.4.4' | |||||
# This relies on each of the submodules having an __all__ variable. | |||||
from . import hdrs # noqa | |||||
from .client import * # noqa | |||||
from .client import ClientSession, ServerFingerprintMismatch # noqa | |||||
from .cookiejar import * # noqa | |||||
from .formdata import * # noqa | |||||
from .helpers import * # noqa | |||||
from .http import (HttpVersion, HttpVersion10, HttpVersion11, # noqa | |||||
WSMsgType, WSCloseCode, WSMessage, WebSocketError) # noqa | |||||
from .multipart import * # noqa | |||||
from .payload import * # noqa | |||||
from .payload_streamer import * # noqa | |||||
from .resolver import * # noqa | |||||
from .signals import * # noqa | |||||
from .streams import * # noqa | |||||
from .tracing import * # noqa | |||||
try: | |||||
from .worker import GunicornWebWorker, GunicornUVLoopWebWorker # noqa | |||||
workers = ('GunicornWebWorker', 'GunicornUVLoopWebWorker') | |||||
except ImportError: # pragma: no cover | |||||
workers = () # type: ignore | |||||
__all__ = (client.__all__ + # noqa | |||||
cookiejar.__all__ + # noqa | |||||
formdata.__all__ + # noqa | |||||
helpers.__all__ + # noqa | |||||
multipart.__all__ + # noqa | |||||
payload.__all__ + # noqa | |||||
payload_streamer.__all__ + # noqa | |||||
streams.__all__ + # noqa | |||||
signals.__all__ + # noqa | |||||
tracing.__all__ + # noqa | |||||
('hdrs', 'HttpVersion', 'HttpVersion10', 'HttpVersion11', | |||||
'WSMsgType', 'WSCloseCode', | |||||
'WebSocketError', 'WSMessage', | |||||
) + workers) |