HW8 Complete
This commit is contained in:
3
matPlotLib/.idea/.gitignore
generated
vendored
Normal file
3
matPlotLib/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
# Default ignored files
|
||||
/workspace.xml
|
||||
5
matPlotLib/.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
5
matPlotLib/.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@@ -0,0 +1,5 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="PROJECT_PROFILE" />
|
||||
</settings>
|
||||
</component>
|
||||
13
matPlotLib/.idea/matPlotLib.iml
generated
Normal file
13
matPlotLib/.idea/matPlotLib.iml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/env" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<component name="TestRunnerService">
|
||||
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
|
||||
</component>
|
||||
</module>
|
||||
7
matPlotLib/.idea/misc.xml
generated
Normal file
7
matPlotLib/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptSettings">
|
||||
<option name="languageLevel" value="ES6" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (matPlotLib)" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
8
matPlotLib/.idea/modules.xml
generated
Normal file
8
matPlotLib/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/matPlotLib.iml" filepath="$PROJECT_DIR$/.idea/matPlotLib.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
matPlotLib/.idea/vcs.xml
generated
Normal file
6
matPlotLib/.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
76
matPlotLib/env/bin/activate
vendored
Normal file
76
matPlotLib/env/bin/activate
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
# This file must be used with "source bin/activate" *from bash*
|
||||
# you cannot run it directly
|
||||
|
||||
deactivate () {
|
||||
# reset old environment variables
|
||||
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
|
||||
PATH="${_OLD_VIRTUAL_PATH:-}"
|
||||
export PATH
|
||||
unset _OLD_VIRTUAL_PATH
|
||||
fi
|
||||
if [ -n "${_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:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||
hash -r
|
||||
fi
|
||||
|
||||
if [ -n "${_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="/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env"
|
||||
export VIRTUAL_ENV
|
||||
|
||||
_OLD_VIRTUAL_PATH="$PATH"
|
||||
PATH="$VIRTUAL_ENV/bin:$PATH"
|
||||
export PATH
|
||||
|
||||
# unset PYTHONHOME if set
|
||||
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
|
||||
# could use `if (set -u; : $PYTHONHOME) ;` in bash
|
||||
if [ -n "${PYTHONHOME:-}" ] ; then
|
||||
_OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
|
||||
unset PYTHONHOME
|
||||
fi
|
||||
|
||||
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
|
||||
_OLD_VIRTUAL_PS1="${PS1:-}"
|
||||
if [ "x(env) " != x ] ; then
|
||||
PS1="(env) ${PS1:-}"
|
||||
else
|
||||
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
|
||||
# special case for Aspen magic directories
|
||||
# see http://www.zetadev.com/software/aspen/
|
||||
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
|
||||
else
|
||||
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
|
||||
fi
|
||||
fi
|
||||
export PS1
|
||||
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:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||
hash -r
|
||||
fi
|
||||
37
matPlotLib/env/bin/activate.csh
vendored
Normal file
37
matPlotLib/env/bin/activate.csh
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
# 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>.
|
||||
# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@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'
|
||||
|
||||
# Unset irrelevant variables.
|
||||
deactivate nondestructive
|
||||
|
||||
setenv VIRTUAL_ENV "/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env"
|
||||
|
||||
set _OLD_VIRTUAL_PATH="$PATH"
|
||||
setenv PATH "$VIRTUAL_ENV/bin:$PATH"
|
||||
|
||||
|
||||
set _OLD_VIRTUAL_PROMPT="$prompt"
|
||||
|
||||
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
|
||||
if ("env" != "") then
|
||||
set env_name = "env"
|
||||
else
|
||||
if (`basename "VIRTUAL_ENV"` == "__") then
|
||||
# special case for Aspen magic directories
|
||||
# see http://www.zetadev.com/software/aspen/
|
||||
set env_name = `basename \`dirname "$VIRTUAL_ENV"\``
|
||||
else
|
||||
set env_name = `basename "$VIRTUAL_ENV"`
|
||||
endif
|
||||
endif
|
||||
set prompt = "[$env_name] $prompt"
|
||||
unset env_name
|
||||
endif
|
||||
|
||||
alias pydoc python -m pydoc
|
||||
|
||||
rehash
|
||||
75
matPlotLib/env/bin/activate.fish
vendored
Normal file
75
matPlotLib/env/bin/activate.fish
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org)
|
||||
# you cannot run it directly
|
||||
|
||||
function deactivate -d "Exit virtualenv and return to normal shell 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"
|
||||
functions -e fish_prompt
|
||||
set -e _OLD_FISH_PROMPT_OVERRIDE
|
||||
functions -c _old_fish_prompt fish_prompt
|
||||
functions -e _old_fish_prompt
|
||||
end
|
||||
|
||||
set -e VIRTUAL_ENV
|
||||
if test "$argv[1]" != "nondestructive"
|
||||
# Self destruct!
|
||||
functions -e deactivate
|
||||
end
|
||||
end
|
||||
|
||||
# unset irrelevant variables
|
||||
deactivate nondestructive
|
||||
|
||||
set -gx VIRTUAL_ENV "/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env"
|
||||
|
||||
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
|
||||
|
||||
if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
|
||||
# fish uses a function instead of an env var to generate the prompt.
|
||||
|
||||
# save the current fish_prompt function as the function _old_fish_prompt
|
||||
functions -c fish_prompt _old_fish_prompt
|
||||
|
||||
# with the original prompt function renamed, we can override with our own.
|
||||
function fish_prompt
|
||||
# Save the return status of the last command
|
||||
set -l old_status $status
|
||||
|
||||
# Prompt override?
|
||||
if test -n "(env) "
|
||||
printf "%s%s" "(env) " (set_color normal)
|
||||
else
|
||||
# ...Otherwise, prepend env
|
||||
set -l _checkbase (basename "$VIRTUAL_ENV")
|
||||
if test $_checkbase = "__"
|
||||
# special case for Aspen magic directories
|
||||
# see http://www.zetadev.com/software/aspen/
|
||||
printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal)
|
||||
else
|
||||
printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal)
|
||||
end
|
||||
end
|
||||
|
||||
# Restore the return status of the previous command.
|
||||
echo "exit $old_status" | .
|
||||
_old_fish_prompt
|
||||
end
|
||||
|
||||
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
|
||||
end
|
||||
12
matPlotLib/env/bin/easy_install
vendored
Executable file
12
matPlotLib/env/bin/easy_install
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env/bin/python
|
||||
# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install'
|
||||
__requires__ = 'setuptools==40.8.0'
|
||||
import re
|
||||
import sys
|
||||
from pkg_resources import load_entry_point
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(
|
||||
load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install')()
|
||||
)
|
||||
12
matPlotLib/env/bin/easy_install-3.7
vendored
Executable file
12
matPlotLib/env/bin/easy_install-3.7
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env/bin/python
|
||||
# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install-3.7'
|
||||
__requires__ = 'setuptools==40.8.0'
|
||||
import re
|
||||
import sys
|
||||
from pkg_resources import load_entry_point
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(
|
||||
load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install-3.7')()
|
||||
)
|
||||
10
matPlotLib/env/bin/f2py
vendored
Executable file
10
matPlotLib/env/bin/f2py
vendored
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
|
||||
from numpy.f2py.f2py2e import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
10
matPlotLib/env/bin/f2py3
vendored
Executable file
10
matPlotLib/env/bin/f2py3
vendored
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
|
||||
from numpy.f2py.f2py2e import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
10
matPlotLib/env/bin/f2py3.7
vendored
Executable file
10
matPlotLib/env/bin/f2py3.7
vendored
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
|
||||
from numpy.f2py.f2py2e import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
12
matPlotLib/env/bin/pip
vendored
Executable file
12
matPlotLib/env/bin/pip
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env/bin/python
|
||||
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip'
|
||||
__requires__ = 'pip==19.0.3'
|
||||
import re
|
||||
import sys
|
||||
from pkg_resources import load_entry_point
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(
|
||||
load_entry_point('pip==19.0.3', 'console_scripts', 'pip')()
|
||||
)
|
||||
12
matPlotLib/env/bin/pip3
vendored
Executable file
12
matPlotLib/env/bin/pip3
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env/bin/python
|
||||
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3'
|
||||
__requires__ = 'pip==19.0.3'
|
||||
import re
|
||||
import sys
|
||||
from pkg_resources import load_entry_point
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(
|
||||
load_entry_point('pip==19.0.3', 'console_scripts', 'pip3')()
|
||||
)
|
||||
12
matPlotLib/env/bin/pip3.7
vendored
Executable file
12
matPlotLib/env/bin/pip3.7
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/Users/bradybodily/Repositories/CS5050_Advanced_Algorithms/matPlotLib/env/bin/python
|
||||
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3.7'
|
||||
__requires__ = 'pip==19.0.3'
|
||||
import re
|
||||
import sys
|
||||
from pkg_resources import load_entry_point
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(
|
||||
load_entry_point('pip==19.0.3', 'console_scripts', 'pip3.7')()
|
||||
)
|
||||
BIN
matPlotLib/env/bin/python
vendored
Executable file
BIN
matPlotLib/env/bin/python
vendored
Executable file
Binary file not shown.
BIN
matPlotLib/env/bin/python3
vendored
Executable file
BIN
matPlotLib/env/bin/python3
vendored
Executable file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/__pycache__/cycler.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/__pycache__/cycler.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/__pycache__/pylab.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/__pycache__/pylab.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/__pycache__/pyparsing.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/__pycache__/pyparsing.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/__pycache__/six.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/__pycache__/six.cpython-37.pyc
vendored
Normal file
Binary file not shown.
3
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/DESCRIPTION.rst
vendored
Normal file
3
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/DESCRIPTION.rst
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
UNKNOWN
|
||||
|
||||
|
||||
1
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/INSTALLER
vendored
Normal file
1
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/INSTALLER
vendored
Normal file
@@ -0,0 +1 @@
|
||||
pip
|
||||
25
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/METADATA
vendored
Normal file
25
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/METADATA
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
Metadata-Version: 2.0
|
||||
Name: cycler
|
||||
Version: 0.10.0
|
||||
Summary: Composable style cycles
|
||||
Home-page: http://github.com/matplotlib/cycler
|
||||
Author: Thomas A Caswell
|
||||
Author-email: matplotlib-users@python.org
|
||||
License: BSD
|
||||
Keywords: cycle kwargs
|
||||
Platform: Cross platform (Linux
|
||||
Platform: Mac OSX
|
||||
Platform: Windows)
|
||||
Classifier: Development Status :: 4 - Beta
|
||||
Classifier: Programming Language :: Python :: 2
|
||||
Classifier: Programming Language :: Python :: 2.6
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.3
|
||||
Classifier: Programming Language :: Python :: 3.4
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Requires-Dist: six
|
||||
|
||||
UNKNOWN
|
||||
|
||||
|
||||
9
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/RECORD
vendored
Normal file
9
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/RECORD
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
__pycache__/cycler.cpython-37.pyc,,
|
||||
cycler-0.10.0.dist-info/DESCRIPTION.rst,sha256=OCTuuN6LcWulhHS3d5rfjdsQtW22n7HENFRh6jC6ego,10
|
||||
cycler-0.10.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
cycler-0.10.0.dist-info/METADATA,sha256=aWX1pyo7D2hSDNZ2Q6Zl7DxhUQdpyu1O5uNABnvz000,722
|
||||
cycler-0.10.0.dist-info/RECORD,,
|
||||
cycler-0.10.0.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110
|
||||
cycler-0.10.0.dist-info/metadata.json,sha256=CCBpg-KQU-VRL1unJcHPWKQeQbB84G0j7-BeCj7YUbU,875
|
||||
cycler-0.10.0.dist-info/top_level.txt,sha256=D8BVVDdAAelLb2FOEz7lDpc6-AL21ylKPrMhtG6yzyE,7
|
||||
cycler.py,sha256=ed3G39unvVEBrBZVDwnE0FFroRNsOLkbJ_TwIT5CjCU,15959
|
||||
6
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/WHEEL
vendored
Normal file
6
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/WHEEL
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.29.0)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py2-none-any
|
||||
Tag: py3-none-any
|
||||
|
||||
1
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/metadata.json
vendored
Normal file
1
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/metadata.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"classifiers": ["Development Status :: 4 - Beta", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5"], "extensions": {"python.details": {"contacts": [{"email": "matplotlib-users@python.org", "name": "Thomas A Caswell", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "http://github.com/matplotlib/cycler"}}}, "extras": [], "generator": "bdist_wheel (0.29.0)", "keywords": ["cycle", "kwargs"], "license": "BSD", "metadata_version": "2.0", "name": "cycler", "platform": "Cross platform (Linux", "run_requires": [{"requires": ["six"]}], "summary": "Composable style cycles", "version": "0.10.0"}
|
||||
1
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/top_level.txt
vendored
Normal file
1
matPlotLib/env/lib/python3.7/site-packages/cycler-0.10.0.dist-info/top_level.txt
vendored
Normal file
@@ -0,0 +1 @@
|
||||
cycler
|
||||
558
matPlotLib/env/lib/python3.7/site-packages/cycler.py
vendored
Normal file
558
matPlotLib/env/lib/python3.7/site-packages/cycler.py
vendored
Normal file
@@ -0,0 +1,558 @@
|
||||
"""
|
||||
Cycler
|
||||
======
|
||||
|
||||
Cycling through combinations of values, producing dictionaries.
|
||||
|
||||
You can add cyclers::
|
||||
|
||||
from cycler import cycler
|
||||
cc = (cycler(color=list('rgb')) +
|
||||
cycler(linestyle=['-', '--', '-.']))
|
||||
for d in cc:
|
||||
print(d)
|
||||
|
||||
Results in::
|
||||
|
||||
{'color': 'r', 'linestyle': '-'}
|
||||
{'color': 'g', 'linestyle': '--'}
|
||||
{'color': 'b', 'linestyle': '-.'}
|
||||
|
||||
|
||||
You can multiply cyclers::
|
||||
|
||||
from cycler import cycler
|
||||
cc = (cycler(color=list('rgb')) *
|
||||
cycler(linestyle=['-', '--', '-.']))
|
||||
for d in cc:
|
||||
print(d)
|
||||
|
||||
Results in::
|
||||
|
||||
{'color': 'r', 'linestyle': '-'}
|
||||
{'color': 'r', 'linestyle': '--'}
|
||||
{'color': 'r', 'linestyle': '-.'}
|
||||
{'color': 'g', 'linestyle': '-'}
|
||||
{'color': 'g', 'linestyle': '--'}
|
||||
{'color': 'g', 'linestyle': '-.'}
|
||||
{'color': 'b', 'linestyle': '-'}
|
||||
{'color': 'b', 'linestyle': '--'}
|
||||
{'color': 'b', 'linestyle': '-.'}
|
||||
"""
|
||||
|
||||
from __future__ import (absolute_import, division, print_function,
|
||||
unicode_literals)
|
||||
|
||||
import six
|
||||
from itertools import product, cycle
|
||||
from six.moves import zip, reduce
|
||||
from operator import mul, add
|
||||
import copy
|
||||
|
||||
__version__ = '0.10.0'
|
||||
|
||||
|
||||
def _process_keys(left, right):
|
||||
"""
|
||||
Helper function to compose cycler keys
|
||||
|
||||
Parameters
|
||||
----------
|
||||
left, right : iterable of dictionaries or None
|
||||
The cyclers to be composed
|
||||
Returns
|
||||
-------
|
||||
keys : set
|
||||
The keys in the composition of the two cyclers
|
||||
"""
|
||||
l_peek = next(iter(left)) if left is not None else {}
|
||||
r_peek = next(iter(right)) if right is not None else {}
|
||||
l_key = set(l_peek.keys())
|
||||
r_key = set(r_peek.keys())
|
||||
if l_key & r_key:
|
||||
raise ValueError("Can not compose overlapping cycles")
|
||||
return l_key | r_key
|
||||
|
||||
|
||||
class Cycler(object):
|
||||
"""
|
||||
Composable cycles
|
||||
|
||||
This class has compositions methods:
|
||||
|
||||
``+``
|
||||
for 'inner' products (zip)
|
||||
|
||||
``+=``
|
||||
in-place ``+``
|
||||
|
||||
``*``
|
||||
for outer products (itertools.product) and integer multiplication
|
||||
|
||||
``*=``
|
||||
in-place ``*``
|
||||
|
||||
and supports basic slicing via ``[]``
|
||||
|
||||
Parameters
|
||||
----------
|
||||
left : Cycler or None
|
||||
The 'left' cycler
|
||||
|
||||
right : Cycler or None
|
||||
The 'right' cycler
|
||||
|
||||
op : func or None
|
||||
Function which composes the 'left' and 'right' cyclers.
|
||||
|
||||
"""
|
||||
def __call__(self):
|
||||
return cycle(self)
|
||||
|
||||
def __init__(self, left, right=None, op=None):
|
||||
"""Semi-private init
|
||||
|
||||
Do not use this directly, use `cycler` function instead.
|
||||
"""
|
||||
if isinstance(left, Cycler):
|
||||
self._left = Cycler(left._left, left._right, left._op)
|
||||
elif left is not None:
|
||||
# Need to copy the dictionary or else that will be a residual
|
||||
# mutable that could lead to strange errors
|
||||
self._left = [copy.copy(v) for v in left]
|
||||
else:
|
||||
self._left = None
|
||||
|
||||
if isinstance(right, Cycler):
|
||||
self._right = Cycler(right._left, right._right, right._op)
|
||||
elif right is not None:
|
||||
# Need to copy the dictionary or else that will be a residual
|
||||
# mutable that could lead to strange errors
|
||||
self._right = [copy.copy(v) for v in right]
|
||||
else:
|
||||
self._right = None
|
||||
|
||||
self._keys = _process_keys(self._left, self._right)
|
||||
self._op = op
|
||||
|
||||
@property
|
||||
def keys(self):
|
||||
"""
|
||||
The keys this Cycler knows about
|
||||
"""
|
||||
return set(self._keys)
|
||||
|
||||
def change_key(self, old, new):
|
||||
"""
|
||||
Change a key in this cycler to a new name.
|
||||
Modification is performed in-place.
|
||||
|
||||
Does nothing if the old key is the same as the new key.
|
||||
Raises a ValueError if the new key is already a key.
|
||||
Raises a KeyError if the old key isn't a key.
|
||||
|
||||
"""
|
||||
if old == new:
|
||||
return
|
||||
if new in self._keys:
|
||||
raise ValueError("Can't replace %s with %s, %s is already a key" %
|
||||
(old, new, new))
|
||||
if old not in self._keys:
|
||||
raise KeyError("Can't replace %s with %s, %s is not a key" %
|
||||
(old, new, old))
|
||||
|
||||
self._keys.remove(old)
|
||||
self._keys.add(new)
|
||||
|
||||
if self._right is not None and old in self._right.keys:
|
||||
self._right.change_key(old, new)
|
||||
|
||||
# self._left should always be non-None
|
||||
# if self._keys is non-empty.
|
||||
elif isinstance(self._left, Cycler):
|
||||
self._left.change_key(old, new)
|
||||
else:
|
||||
# It should be completely safe at this point to
|
||||
# assume that the old key can be found in each
|
||||
# iteration.
|
||||
self._left = [{new: entry[old]} for entry in self._left]
|
||||
|
||||
def _compose(self):
|
||||
"""
|
||||
Compose the 'left' and 'right' components of this cycle
|
||||
with the proper operation (zip or product as of now)
|
||||
"""
|
||||
for a, b in self._op(self._left, self._right):
|
||||
out = dict()
|
||||
out.update(a)
|
||||
out.update(b)
|
||||
yield out
|
||||
|
||||
@classmethod
|
||||
def _from_iter(cls, label, itr):
|
||||
"""
|
||||
Class method to create 'base' Cycler objects
|
||||
that do not have a 'right' or 'op' and for which
|
||||
the 'left' object is not another Cycler.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
label : str
|
||||
The property key.
|
||||
|
||||
itr : iterable
|
||||
Finite length iterable of the property values.
|
||||
|
||||
Returns
|
||||
-------
|
||||
cycler : Cycler
|
||||
New 'base' `Cycler`
|
||||
"""
|
||||
ret = cls(None)
|
||||
ret._left = list({label: v} for v in itr)
|
||||
ret._keys = set([label])
|
||||
return ret
|
||||
|
||||
def __getitem__(self, key):
|
||||
# TODO : maybe add numpy style fancy slicing
|
||||
if isinstance(key, slice):
|
||||
trans = self.by_key()
|
||||
return reduce(add, (_cycler(k, v[key])
|
||||
for k, v in six.iteritems(trans)))
|
||||
else:
|
||||
raise ValueError("Can only use slices with Cycler.__getitem__")
|
||||
|
||||
def __iter__(self):
|
||||
if self._right is None:
|
||||
return iter(dict(l) for l in self._left)
|
||||
|
||||
return self._compose()
|
||||
|
||||
def __add__(self, other):
|
||||
"""
|
||||
Pair-wise combine two equal length cycles (zip)
|
||||
|
||||
Parameters
|
||||
----------
|
||||
other : Cycler
|
||||
The second Cycler
|
||||
"""
|
||||
if len(self) != len(other):
|
||||
raise ValueError("Can only add equal length cycles, "
|
||||
"not {0} and {1}".format(len(self), len(other)))
|
||||
return Cycler(self, other, zip)
|
||||
|
||||
def __mul__(self, other):
|
||||
"""
|
||||
Outer product of two cycles (`itertools.product`) or integer
|
||||
multiplication.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
other : Cycler or int
|
||||
The second Cycler or integer
|
||||
"""
|
||||
if isinstance(other, Cycler):
|
||||
return Cycler(self, other, product)
|
||||
elif isinstance(other, int):
|
||||
trans = self.by_key()
|
||||
return reduce(add, (_cycler(k, v*other)
|
||||
for k, v in six.iteritems(trans)))
|
||||
else:
|
||||
return NotImplemented
|
||||
|
||||
def __rmul__(self, other):
|
||||
return self * other
|
||||
|
||||
def __len__(self):
|
||||
op_dict = {zip: min, product: mul}
|
||||
if self._right is None:
|
||||
return len(self._left)
|
||||
l_len = len(self._left)
|
||||
r_len = len(self._right)
|
||||
return op_dict[self._op](l_len, r_len)
|
||||
|
||||
def __iadd__(self, other):
|
||||
"""
|
||||
In-place pair-wise combine two equal length cycles (zip)
|
||||
|
||||
Parameters
|
||||
----------
|
||||
other : Cycler
|
||||
The second Cycler
|
||||
"""
|
||||
if not isinstance(other, Cycler):
|
||||
raise TypeError("Cannot += with a non-Cycler object")
|
||||
# True shallow copy of self is fine since this is in-place
|
||||
old_self = copy.copy(self)
|
||||
self._keys = _process_keys(old_self, other)
|
||||
self._left = old_self
|
||||
self._op = zip
|
||||
self._right = Cycler(other._left, other._right, other._op)
|
||||
return self
|
||||
|
||||
def __imul__(self, other):
|
||||
"""
|
||||
In-place outer product of two cycles (`itertools.product`)
|
||||
|
||||
Parameters
|
||||
----------
|
||||
other : Cycler
|
||||
The second Cycler
|
||||
"""
|
||||
if not isinstance(other, Cycler):
|
||||
raise TypeError("Cannot *= with a non-Cycler object")
|
||||
# True shallow copy of self is fine since this is in-place
|
||||
old_self = copy.copy(self)
|
||||
self._keys = _process_keys(old_self, other)
|
||||
self._left = old_self
|
||||
self._op = product
|
||||
self._right = Cycler(other._left, other._right, other._op)
|
||||
return self
|
||||
|
||||
def __eq__(self, other):
|
||||
"""
|
||||
Check equality
|
||||
"""
|
||||
if len(self) != len(other):
|
||||
return False
|
||||
if self.keys ^ other.keys:
|
||||
return False
|
||||
|
||||
return all(a == b for a, b in zip(self, other))
|
||||
|
||||
def __repr__(self):
|
||||
op_map = {zip: '+', product: '*'}
|
||||
if self._right is None:
|
||||
lab = self.keys.pop()
|
||||
itr = list(v[lab] for v in self)
|
||||
return "cycler({lab!r}, {itr!r})".format(lab=lab, itr=itr)
|
||||
else:
|
||||
op = op_map.get(self._op, '?')
|
||||
msg = "({left!r} {op} {right!r})"
|
||||
return msg.format(left=self._left, op=op, right=self._right)
|
||||
|
||||
def _repr_html_(self):
|
||||
# an table showing the value of each key through a full cycle
|
||||
output = "<table>"
|
||||
sorted_keys = sorted(self.keys, key=repr)
|
||||
for key in sorted_keys:
|
||||
output += "<th>{key!r}</th>".format(key=key)
|
||||
for d in iter(self):
|
||||
output += "<tr>"
|
||||
for k in sorted_keys:
|
||||
output += "<td>{val!r}</td>".format(val=d[k])
|
||||
output += "</tr>"
|
||||
output += "</table>"
|
||||
return output
|
||||
|
||||
def by_key(self):
|
||||
"""Values by key
|
||||
|
||||
This returns the transposed values of the cycler. Iterating
|
||||
over a `Cycler` yields dicts with a single value for each key,
|
||||
this method returns a `dict` of `list` which are the values
|
||||
for the given key.
|
||||
|
||||
The returned value can be used to create an equivalent `Cycler`
|
||||
using only `+`.
|
||||
|
||||
Returns
|
||||
-------
|
||||
transpose : dict
|
||||
dict of lists of the values for each key.
|
||||
"""
|
||||
|
||||
# TODO : sort out if this is a bottle neck, if there is a better way
|
||||
# and if we care.
|
||||
|
||||
keys = self.keys
|
||||
# change this to dict comprehension when drop 2.6
|
||||
out = dict((k, list()) for k in keys)
|
||||
|
||||
for d in self:
|
||||
for k in keys:
|
||||
out[k].append(d[k])
|
||||
return out
|
||||
|
||||
# for back compatibility
|
||||
_transpose = by_key
|
||||
|
||||
def simplify(self):
|
||||
"""Simplify the Cycler
|
||||
|
||||
Returned as a composition using only sums (no multiplications)
|
||||
|
||||
Returns
|
||||
-------
|
||||
simple : Cycler
|
||||
An equivalent cycler using only summation"""
|
||||
# TODO: sort out if it is worth the effort to make sure this is
|
||||
# balanced. Currently it is is
|
||||
# (((a + b) + c) + d) vs
|
||||
# ((a + b) + (c + d))
|
||||
# I would believe that there is some performance implications
|
||||
|
||||
trans = self.by_key()
|
||||
return reduce(add, (_cycler(k, v) for k, v in six.iteritems(trans)))
|
||||
|
||||
def concat(self, other):
|
||||
"""Concatenate this cycler and an other.
|
||||
|
||||
The keys must match exactly.
|
||||
|
||||
This returns a single Cycler which is equivalent to
|
||||
`itertools.chain(self, other)`
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
>>> num = cycler('a', range(3))
|
||||
>>> let = cycler('a', 'abc')
|
||||
>>> num.concat(let)
|
||||
cycler('a', [0, 1, 2, 'a', 'b', 'c'])
|
||||
|
||||
Parameters
|
||||
----------
|
||||
other : `Cycler`
|
||||
The `Cycler` to concatenate to this one.
|
||||
|
||||
Returns
|
||||
-------
|
||||
ret : `Cycler`
|
||||
The concatenated `Cycler`
|
||||
"""
|
||||
return concat(self, other)
|
||||
|
||||
|
||||
def concat(left, right):
|
||||
"""Concatenate two cyclers.
|
||||
|
||||
The keys must match exactly.
|
||||
|
||||
This returns a single Cycler which is equivalent to
|
||||
`itertools.chain(left, right)`
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
>>> num = cycler('a', range(3))
|
||||
>>> let = cycler('a', 'abc')
|
||||
>>> num.concat(let)
|
||||
cycler('a', [0, 1, 2, 'a', 'b', 'c'])
|
||||
|
||||
Parameters
|
||||
----------
|
||||
left, right : `Cycler`
|
||||
The two `Cycler` instances to concatenate
|
||||
|
||||
Returns
|
||||
-------
|
||||
ret : `Cycler`
|
||||
The concatenated `Cycler`
|
||||
"""
|
||||
if left.keys != right.keys:
|
||||
msg = '\n\t'.join(["Keys do not match:",
|
||||
"Intersection: {both!r}",
|
||||
"Disjoint: {just_one!r}"]).format(
|
||||
both=left.keys & right.keys,
|
||||
just_one=left.keys ^ right.keys)
|
||||
|
||||
raise ValueError(msg)
|
||||
|
||||
_l = left.by_key()
|
||||
_r = right.by_key()
|
||||
return reduce(add, (_cycler(k, _l[k] + _r[k]) for k in left.keys))
|
||||
|
||||
|
||||
def cycler(*args, **kwargs):
|
||||
"""
|
||||
Create a new `Cycler` object from a single positional argument,
|
||||
a pair of positional arguments, or the combination of keyword arguments.
|
||||
|
||||
cycler(arg)
|
||||
cycler(label1=itr1[, label2=iter2[, ...]])
|
||||
cycler(label, itr)
|
||||
|
||||
Form 1 simply copies a given `Cycler` object.
|
||||
|
||||
Form 2 composes a `Cycler` as an inner product of the
|
||||
pairs of keyword arguments. In other words, all of the
|
||||
iterables are cycled simultaneously, as if through zip().
|
||||
|
||||
Form 3 creates a `Cycler` from a label and an iterable.
|
||||
This is useful for when the label cannot be a keyword argument
|
||||
(e.g., an integer or a name that has a space in it).
|
||||
|
||||
Parameters
|
||||
----------
|
||||
arg : Cycler
|
||||
Copy constructor for Cycler (does a shallow copy of iterables).
|
||||
|
||||
label : name
|
||||
The property key. In the 2-arg form of the function,
|
||||
the label can be any hashable object. In the keyword argument
|
||||
form of the function, it must be a valid python identifier.
|
||||
|
||||
itr : iterable
|
||||
Finite length iterable of the property values.
|
||||
Can be a single-property `Cycler` that would
|
||||
be like a key change, but as a shallow copy.
|
||||
|
||||
Returns
|
||||
-------
|
||||
cycler : Cycler
|
||||
New `Cycler` for the given property
|
||||
|
||||
"""
|
||||
if args and kwargs:
|
||||
raise TypeError("cyl() can only accept positional OR keyword "
|
||||
"arguments -- not both.")
|
||||
|
||||
if len(args) == 1:
|
||||
if not isinstance(args[0], Cycler):
|
||||
raise TypeError("If only one positional argument given, it must "
|
||||
" be a Cycler instance.")
|
||||
return Cycler(args[0])
|
||||
elif len(args) == 2:
|
||||
return _cycler(*args)
|
||||
elif len(args) > 2:
|
||||
raise TypeError("Only a single Cycler can be accepted as the lone "
|
||||
"positional argument. Use keyword arguments instead.")
|
||||
|
||||
if kwargs:
|
||||
return reduce(add, (_cycler(k, v) for k, v in six.iteritems(kwargs)))
|
||||
|
||||
raise TypeError("Must have at least a positional OR keyword arguments")
|
||||
|
||||
|
||||
def _cycler(label, itr):
|
||||
"""
|
||||
Create a new `Cycler` object from a property name and
|
||||
iterable of values.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
label : hashable
|
||||
The property key.
|
||||
|
||||
itr : iterable
|
||||
Finite length iterable of the property values.
|
||||
|
||||
Returns
|
||||
-------
|
||||
cycler : Cycler
|
||||
New `Cycler` for the given property
|
||||
"""
|
||||
if isinstance(itr, Cycler):
|
||||
keys = itr.keys
|
||||
if len(keys) != 1:
|
||||
msg = "Can not create Cycler from a multi-property Cycler"
|
||||
raise ValueError(msg)
|
||||
|
||||
lab = keys.pop()
|
||||
# Doesn't need to be a new list because
|
||||
# _from_iter() will be creating that new list anyway.
|
||||
itr = (v[lab] for v in itr)
|
||||
|
||||
return Cycler._from_iter(label, itr)
|
||||
8
matPlotLib/env/lib/python3.7/site-packages/dateutil/__init__.py
vendored
Normal file
8
matPlotLib/env/lib/python3.7/site-packages/dateutil/__init__.py
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
try:
|
||||
from ._version import version as __version__
|
||||
except ImportError:
|
||||
__version__ = 'unknown'
|
||||
|
||||
__all__ = ['easter', 'parser', 'relativedelta', 'rrule', 'tz',
|
||||
'utils', 'zoneinfo']
|
||||
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/_common.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/_common.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/_version.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/_version.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/easter.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/easter.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/relativedelta.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/relativedelta.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/rrule.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/rrule.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/tzwin.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/tzwin.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/utils.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/__pycache__/utils.cpython-37.pyc
vendored
Normal file
Binary file not shown.
43
matPlotLib/env/lib/python3.7/site-packages/dateutil/_common.py
vendored
Normal file
43
matPlotLib/env/lib/python3.7/site-packages/dateutil/_common.py
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
"""
|
||||
Common code used in multiple modules.
|
||||
"""
|
||||
|
||||
|
||||
class weekday(object):
|
||||
__slots__ = ["weekday", "n"]
|
||||
|
||||
def __init__(self, weekday, n=None):
|
||||
self.weekday = weekday
|
||||
self.n = n
|
||||
|
||||
def __call__(self, n):
|
||||
if n == self.n:
|
||||
return self
|
||||
else:
|
||||
return self.__class__(self.weekday, n)
|
||||
|
||||
def __eq__(self, other):
|
||||
try:
|
||||
if self.weekday != other.weekday or self.n != other.n:
|
||||
return False
|
||||
except AttributeError:
|
||||
return False
|
||||
return True
|
||||
|
||||
def __hash__(self):
|
||||
return hash((
|
||||
self.weekday,
|
||||
self.n,
|
||||
))
|
||||
|
||||
def __ne__(self, other):
|
||||
return not (self == other)
|
||||
|
||||
def __repr__(self):
|
||||
s = ("MO", "TU", "WE", "TH", "FR", "SA", "SU")[self.weekday]
|
||||
if not self.n:
|
||||
return s
|
||||
else:
|
||||
return "%s(%+d)" % (s, self.n)
|
||||
|
||||
# vim:ts=4:sw=4:et
|
||||
4
matPlotLib/env/lib/python3.7/site-packages/dateutil/_version.py
vendored
Normal file
4
matPlotLib/env/lib/python3.7/site-packages/dateutil/_version.py
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
# coding: utf-8
|
||||
# file generated by setuptools_scm
|
||||
# don't change, don't track in version control
|
||||
version = '2.8.1'
|
||||
89
matPlotLib/env/lib/python3.7/site-packages/dateutil/easter.py
vendored
Normal file
89
matPlotLib/env/lib/python3.7/site-packages/dateutil/easter.py
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
This module offers a generic easter computing method for any given year, using
|
||||
Western, Orthodox or Julian algorithms.
|
||||
"""
|
||||
|
||||
import datetime
|
||||
|
||||
__all__ = ["easter", "EASTER_JULIAN", "EASTER_ORTHODOX", "EASTER_WESTERN"]
|
||||
|
||||
EASTER_JULIAN = 1
|
||||
EASTER_ORTHODOX = 2
|
||||
EASTER_WESTERN = 3
|
||||
|
||||
|
||||
def easter(year, method=EASTER_WESTERN):
|
||||
"""
|
||||
This method was ported from the work done by GM Arts,
|
||||
on top of the algorithm by Claus Tondering, which was
|
||||
based in part on the algorithm of Ouding (1940), as
|
||||
quoted in "Explanatory Supplement to the Astronomical
|
||||
Almanac", P. Kenneth Seidelmann, editor.
|
||||
|
||||
This algorithm implements three different easter
|
||||
calculation methods:
|
||||
|
||||
1 - Original calculation in Julian calendar, valid in
|
||||
dates after 326 AD
|
||||
2 - Original method, with date converted to Gregorian
|
||||
calendar, valid in years 1583 to 4099
|
||||
3 - Revised method, in Gregorian calendar, valid in
|
||||
years 1583 to 4099 as well
|
||||
|
||||
These methods are represented by the constants:
|
||||
|
||||
* ``EASTER_JULIAN = 1``
|
||||
* ``EASTER_ORTHODOX = 2``
|
||||
* ``EASTER_WESTERN = 3``
|
||||
|
||||
The default method is method 3.
|
||||
|
||||
More about the algorithm may be found at:
|
||||
|
||||
`GM Arts: Easter Algorithms <http://www.gmarts.org/index.php?go=415>`_
|
||||
|
||||
and
|
||||
|
||||
`The Calendar FAQ: Easter <https://www.tondering.dk/claus/cal/easter.php>`_
|
||||
|
||||
"""
|
||||
|
||||
if not (1 <= method <= 3):
|
||||
raise ValueError("invalid method")
|
||||
|
||||
# g - Golden year - 1
|
||||
# c - Century
|
||||
# h - (23 - Epact) mod 30
|
||||
# i - Number of days from March 21 to Paschal Full Moon
|
||||
# j - Weekday for PFM (0=Sunday, etc)
|
||||
# p - Number of days from March 21 to Sunday on or before PFM
|
||||
# (-6 to 28 methods 1 & 3, to 56 for method 2)
|
||||
# e - Extra days to add for method 2 (converting Julian
|
||||
# date to Gregorian date)
|
||||
|
||||
y = year
|
||||
g = y % 19
|
||||
e = 0
|
||||
if method < 3:
|
||||
# Old method
|
||||
i = (19*g + 15) % 30
|
||||
j = (y + y//4 + i) % 7
|
||||
if method == 2:
|
||||
# Extra dates to convert Julian to Gregorian date
|
||||
e = 10
|
||||
if y > 1600:
|
||||
e = e + y//100 - 16 - (y//100 - 16)//4
|
||||
else:
|
||||
# New method
|
||||
c = y//100
|
||||
h = (c - c//4 - (8*c + 13)//25 + 19*g + 15) % 30
|
||||
i = h - (h//28)*(1 - (h//28)*(29//(h + 1))*((21 - g)//11))
|
||||
j = (y + y//4 + i + 2 - c + c//4) % 7
|
||||
|
||||
# p can be from -6 to 56 corresponding to dates 22 March to 23 May
|
||||
# (later dates apply to method 2, although 23 May never actually occurs)
|
||||
p = i - j + e
|
||||
d = 1 + (p + 27 + (p + 6)//40) % 31
|
||||
m = 3 + (p + 26)//30
|
||||
return datetime.date(int(y), int(m), int(d))
|
||||
61
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/__init__.py
vendored
Normal file
61
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/__init__.py
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from ._parser import parse, parser, parserinfo, ParserError
|
||||
from ._parser import DEFAULTPARSER, DEFAULTTZPARSER
|
||||
from ._parser import UnknownTimezoneWarning
|
||||
|
||||
from ._parser import __doc__
|
||||
|
||||
from .isoparser import isoparser, isoparse
|
||||
|
||||
__all__ = ['parse', 'parser', 'parserinfo',
|
||||
'isoparse', 'isoparser',
|
||||
'ParserError',
|
||||
'UnknownTimezoneWarning']
|
||||
|
||||
|
||||
###
|
||||
# Deprecate portions of the private interface so that downstream code that
|
||||
# is improperly relying on it is given *some* notice.
|
||||
|
||||
|
||||
def __deprecated_private_func(f):
|
||||
from functools import wraps
|
||||
import warnings
|
||||
|
||||
msg = ('{name} is a private function and may break without warning, '
|
||||
'it will be moved and or renamed in future versions.')
|
||||
msg = msg.format(name=f.__name__)
|
||||
|
||||
@wraps(f)
|
||||
def deprecated_func(*args, **kwargs):
|
||||
warnings.warn(msg, DeprecationWarning)
|
||||
return f(*args, **kwargs)
|
||||
|
||||
return deprecated_func
|
||||
|
||||
def __deprecate_private_class(c):
|
||||
import warnings
|
||||
|
||||
msg = ('{name} is a private class and may break without warning, '
|
||||
'it will be moved and or renamed in future versions.')
|
||||
msg = msg.format(name=c.__name__)
|
||||
|
||||
class private_class(c):
|
||||
__doc__ = c.__doc__
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
warnings.warn(msg, DeprecationWarning)
|
||||
super(private_class, self).__init__(*args, **kwargs)
|
||||
|
||||
private_class.__name__ = c.__name__
|
||||
|
||||
return private_class
|
||||
|
||||
|
||||
from ._parser import _timelex, _resultbase
|
||||
from ._parser import _tzparser, _parsetz
|
||||
|
||||
_timelex = __deprecate_private_class(_timelex)
|
||||
_tzparser = __deprecate_private_class(_tzparser)
|
||||
_resultbase = __deprecate_private_class(_resultbase)
|
||||
_parsetz = __deprecated_private_func(_parsetz)
|
||||
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/__pycache__/_parser.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/__pycache__/_parser.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/__pycache__/isoparser.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/__pycache__/isoparser.cpython-37.pyc
vendored
Normal file
Binary file not shown.
1609
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/_parser.py
vendored
Normal file
1609
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/_parser.py
vendored
Normal file
File diff suppressed because it is too large
Load Diff
411
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/isoparser.py
vendored
Normal file
411
matPlotLib/env/lib/python3.7/site-packages/dateutil/parser/isoparser.py
vendored
Normal file
@@ -0,0 +1,411 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
This module offers a parser for ISO-8601 strings
|
||||
|
||||
It is intended to support all valid date, time and datetime formats per the
|
||||
ISO-8601 specification.
|
||||
|
||||
..versionadded:: 2.7.0
|
||||
"""
|
||||
from datetime import datetime, timedelta, time, date
|
||||
import calendar
|
||||
from dateutil import tz
|
||||
|
||||
from functools import wraps
|
||||
|
||||
import re
|
||||
import six
|
||||
|
||||
__all__ = ["isoparse", "isoparser"]
|
||||
|
||||
|
||||
def _takes_ascii(f):
|
||||
@wraps(f)
|
||||
def func(self, str_in, *args, **kwargs):
|
||||
# If it's a stream, read the whole thing
|
||||
str_in = getattr(str_in, 'read', lambda: str_in)()
|
||||
|
||||
# If it's unicode, turn it into bytes, since ISO-8601 only covers ASCII
|
||||
if isinstance(str_in, six.text_type):
|
||||
# ASCII is the same in UTF-8
|
||||
try:
|
||||
str_in = str_in.encode('ascii')
|
||||
except UnicodeEncodeError as e:
|
||||
msg = 'ISO-8601 strings should contain only ASCII characters'
|
||||
six.raise_from(ValueError(msg), e)
|
||||
|
||||
return f(self, str_in, *args, **kwargs)
|
||||
|
||||
return func
|
||||
|
||||
|
||||
class isoparser(object):
|
||||
def __init__(self, sep=None):
|
||||
"""
|
||||
:param sep:
|
||||
A single character that separates date and time portions. If
|
||||
``None``, the parser will accept any single character.
|
||||
For strict ISO-8601 adherence, pass ``'T'``.
|
||||
"""
|
||||
if sep is not None:
|
||||
if (len(sep) != 1 or ord(sep) >= 128 or sep in '0123456789'):
|
||||
raise ValueError('Separator must be a single, non-numeric ' +
|
||||
'ASCII character')
|
||||
|
||||
sep = sep.encode('ascii')
|
||||
|
||||
self._sep = sep
|
||||
|
||||
@_takes_ascii
|
||||
def isoparse(self, dt_str):
|
||||
"""
|
||||
Parse an ISO-8601 datetime string into a :class:`datetime.datetime`.
|
||||
|
||||
An ISO-8601 datetime string consists of a date portion, followed
|
||||
optionally by a time portion - the date and time portions are separated
|
||||
by a single character separator, which is ``T`` in the official
|
||||
standard. Incomplete date formats (such as ``YYYY-MM``) may *not* be
|
||||
combined with a time portion.
|
||||
|
||||
Supported date formats are:
|
||||
|
||||
Common:
|
||||
|
||||
- ``YYYY``
|
||||
- ``YYYY-MM`` or ``YYYYMM``
|
||||
- ``YYYY-MM-DD`` or ``YYYYMMDD``
|
||||
|
||||
Uncommon:
|
||||
|
||||
- ``YYYY-Www`` or ``YYYYWww`` - ISO week (day defaults to 0)
|
||||
- ``YYYY-Www-D`` or ``YYYYWwwD`` - ISO week and day
|
||||
|
||||
The ISO week and day numbering follows the same logic as
|
||||
:func:`datetime.date.isocalendar`.
|
||||
|
||||
Supported time formats are:
|
||||
|
||||
- ``hh``
|
||||
- ``hh:mm`` or ``hhmm``
|
||||
- ``hh:mm:ss`` or ``hhmmss``
|
||||
- ``hh:mm:ss.ssssss`` (Up to 6 sub-second digits)
|
||||
|
||||
Midnight is a special case for `hh`, as the standard supports both
|
||||
00:00 and 24:00 as a representation. The decimal separator can be
|
||||
either a dot or a comma.
|
||||
|
||||
|
||||
.. caution::
|
||||
|
||||
Support for fractional components other than seconds is part of the
|
||||
ISO-8601 standard, but is not currently implemented in this parser.
|
||||
|
||||
Supported time zone offset formats are:
|
||||
|
||||
- `Z` (UTC)
|
||||
- `±HH:MM`
|
||||
- `±HHMM`
|
||||
- `±HH`
|
||||
|
||||
Offsets will be represented as :class:`dateutil.tz.tzoffset` objects,
|
||||
with the exception of UTC, which will be represented as
|
||||
:class:`dateutil.tz.tzutc`. Time zone offsets equivalent to UTC (such
|
||||
as `+00:00`) will also be represented as :class:`dateutil.tz.tzutc`.
|
||||
|
||||
:param dt_str:
|
||||
A string or stream containing only an ISO-8601 datetime string
|
||||
|
||||
:return:
|
||||
Returns a :class:`datetime.datetime` representing the string.
|
||||
Unspecified components default to their lowest value.
|
||||
|
||||
.. warning::
|
||||
|
||||
As of version 2.7.0, the strictness of the parser should not be
|
||||
considered a stable part of the contract. Any valid ISO-8601 string
|
||||
that parses correctly with the default settings will continue to
|
||||
parse correctly in future versions, but invalid strings that
|
||||
currently fail (e.g. ``2017-01-01T00:00+00:00:00``) are not
|
||||
guaranteed to continue failing in future versions if they encode
|
||||
a valid date.
|
||||
|
||||
.. versionadded:: 2.7.0
|
||||
"""
|
||||
components, pos = self._parse_isodate(dt_str)
|
||||
|
||||
if len(dt_str) > pos:
|
||||
if self._sep is None or dt_str[pos:pos + 1] == self._sep:
|
||||
components += self._parse_isotime(dt_str[pos + 1:])
|
||||
else:
|
||||
raise ValueError('String contains unknown ISO components')
|
||||
|
||||
if len(components) > 3 and components[3] == 24:
|
||||
components[3] = 0
|
||||
return datetime(*components) + timedelta(days=1)
|
||||
|
||||
return datetime(*components)
|
||||
|
||||
@_takes_ascii
|
||||
def parse_isodate(self, datestr):
|
||||
"""
|
||||
Parse the date portion of an ISO string.
|
||||
|
||||
:param datestr:
|
||||
The string portion of an ISO string, without a separator
|
||||
|
||||
:return:
|
||||
Returns a :class:`datetime.date` object
|
||||
"""
|
||||
components, pos = self._parse_isodate(datestr)
|
||||
if pos < len(datestr):
|
||||
raise ValueError('String contains unknown ISO ' +
|
||||
'components: {}'.format(datestr))
|
||||
return date(*components)
|
||||
|
||||
@_takes_ascii
|
||||
def parse_isotime(self, timestr):
|
||||
"""
|
||||
Parse the time portion of an ISO string.
|
||||
|
||||
:param timestr:
|
||||
The time portion of an ISO string, without a separator
|
||||
|
||||
:return:
|
||||
Returns a :class:`datetime.time` object
|
||||
"""
|
||||
components = self._parse_isotime(timestr)
|
||||
if components[0] == 24:
|
||||
components[0] = 0
|
||||
return time(*components)
|
||||
|
||||
@_takes_ascii
|
||||
def parse_tzstr(self, tzstr, zero_as_utc=True):
|
||||
"""
|
||||
Parse a valid ISO time zone string.
|
||||
|
||||
See :func:`isoparser.isoparse` for details on supported formats.
|
||||
|
||||
:param tzstr:
|
||||
A string representing an ISO time zone offset
|
||||
|
||||
:param zero_as_utc:
|
||||
Whether to return :class:`dateutil.tz.tzutc` for zero-offset zones
|
||||
|
||||
:return:
|
||||
Returns :class:`dateutil.tz.tzoffset` for offsets and
|
||||
:class:`dateutil.tz.tzutc` for ``Z`` and (if ``zero_as_utc`` is
|
||||
specified) offsets equivalent to UTC.
|
||||
"""
|
||||
return self._parse_tzstr(tzstr, zero_as_utc=zero_as_utc)
|
||||
|
||||
# Constants
|
||||
_DATE_SEP = b'-'
|
||||
_TIME_SEP = b':'
|
||||
_FRACTION_REGEX = re.compile(b'[\\.,]([0-9]+)')
|
||||
|
||||
def _parse_isodate(self, dt_str):
|
||||
try:
|
||||
return self._parse_isodate_common(dt_str)
|
||||
except ValueError:
|
||||
return self._parse_isodate_uncommon(dt_str)
|
||||
|
||||
def _parse_isodate_common(self, dt_str):
|
||||
len_str = len(dt_str)
|
||||
components = [1, 1, 1]
|
||||
|
||||
if len_str < 4:
|
||||
raise ValueError('ISO string too short')
|
||||
|
||||
# Year
|
||||
components[0] = int(dt_str[0:4])
|
||||
pos = 4
|
||||
if pos >= len_str:
|
||||
return components, pos
|
||||
|
||||
has_sep = dt_str[pos:pos + 1] == self._DATE_SEP
|
||||
if has_sep:
|
||||
pos += 1
|
||||
|
||||
# Month
|
||||
if len_str - pos < 2:
|
||||
raise ValueError('Invalid common month')
|
||||
|
||||
components[1] = int(dt_str[pos:pos + 2])
|
||||
pos += 2
|
||||
|
||||
if pos >= len_str:
|
||||
if has_sep:
|
||||
return components, pos
|
||||
else:
|
||||
raise ValueError('Invalid ISO format')
|
||||
|
||||
if has_sep:
|
||||
if dt_str[pos:pos + 1] != self._DATE_SEP:
|
||||
raise ValueError('Invalid separator in ISO string')
|
||||
pos += 1
|
||||
|
||||
# Day
|
||||
if len_str - pos < 2:
|
||||
raise ValueError('Invalid common day')
|
||||
components[2] = int(dt_str[pos:pos + 2])
|
||||
return components, pos + 2
|
||||
|
||||
def _parse_isodate_uncommon(self, dt_str):
|
||||
if len(dt_str) < 4:
|
||||
raise ValueError('ISO string too short')
|
||||
|
||||
# All ISO formats start with the year
|
||||
year = int(dt_str[0:4])
|
||||
|
||||
has_sep = dt_str[4:5] == self._DATE_SEP
|
||||
|
||||
pos = 4 + has_sep # Skip '-' if it's there
|
||||
if dt_str[pos:pos + 1] == b'W':
|
||||
# YYYY-?Www-?D?
|
||||
pos += 1
|
||||
weekno = int(dt_str[pos:pos + 2])
|
||||
pos += 2
|
||||
|
||||
dayno = 1
|
||||
if len(dt_str) > pos:
|
||||
if (dt_str[pos:pos + 1] == self._DATE_SEP) != has_sep:
|
||||
raise ValueError('Inconsistent use of dash separator')
|
||||
|
||||
pos += has_sep
|
||||
|
||||
dayno = int(dt_str[pos:pos + 1])
|
||||
pos += 1
|
||||
|
||||
base_date = self._calculate_weekdate(year, weekno, dayno)
|
||||
else:
|
||||
# YYYYDDD or YYYY-DDD
|
||||
if len(dt_str) - pos < 3:
|
||||
raise ValueError('Invalid ordinal day')
|
||||
|
||||
ordinal_day = int(dt_str[pos:pos + 3])
|
||||
pos += 3
|
||||
|
||||
if ordinal_day < 1 or ordinal_day > (365 + calendar.isleap(year)):
|
||||
raise ValueError('Invalid ordinal day' +
|
||||
' {} for year {}'.format(ordinal_day, year))
|
||||
|
||||
base_date = date(year, 1, 1) + timedelta(days=ordinal_day - 1)
|
||||
|
||||
components = [base_date.year, base_date.month, base_date.day]
|
||||
return components, pos
|
||||
|
||||
def _calculate_weekdate(self, year, week, day):
|
||||
"""
|
||||
Calculate the day of corresponding to the ISO year-week-day calendar.
|
||||
|
||||
This function is effectively the inverse of
|
||||
:func:`datetime.date.isocalendar`.
|
||||
|
||||
:param year:
|
||||
The year in the ISO calendar
|
||||
|
||||
:param week:
|
||||
The week in the ISO calendar - range is [1, 53]
|
||||
|
||||
:param day:
|
||||
The day in the ISO calendar - range is [1 (MON), 7 (SUN)]
|
||||
|
||||
:return:
|
||||
Returns a :class:`datetime.date`
|
||||
"""
|
||||
if not 0 < week < 54:
|
||||
raise ValueError('Invalid week: {}'.format(week))
|
||||
|
||||
if not 0 < day < 8: # Range is 1-7
|
||||
raise ValueError('Invalid weekday: {}'.format(day))
|
||||
|
||||
# Get week 1 for the specific year:
|
||||
jan_4 = date(year, 1, 4) # Week 1 always has January 4th in it
|
||||
week_1 = jan_4 - timedelta(days=jan_4.isocalendar()[2] - 1)
|
||||
|
||||
# Now add the specific number of weeks and days to get what we want
|
||||
week_offset = (week - 1) * 7 + (day - 1)
|
||||
return week_1 + timedelta(days=week_offset)
|
||||
|
||||
def _parse_isotime(self, timestr):
|
||||
len_str = len(timestr)
|
||||
components = [0, 0, 0, 0, None]
|
||||
pos = 0
|
||||
comp = -1
|
||||
|
||||
if len(timestr) < 2:
|
||||
raise ValueError('ISO time too short')
|
||||
|
||||
has_sep = len_str >= 3 and timestr[2:3] == self._TIME_SEP
|
||||
|
||||
while pos < len_str and comp < 5:
|
||||
comp += 1
|
||||
|
||||
if timestr[pos:pos + 1] in b'-+Zz':
|
||||
# Detect time zone boundary
|
||||
components[-1] = self._parse_tzstr(timestr[pos:])
|
||||
pos = len_str
|
||||
break
|
||||
|
||||
if comp < 3:
|
||||
# Hour, minute, second
|
||||
components[comp] = int(timestr[pos:pos + 2])
|
||||
pos += 2
|
||||
if (has_sep and pos < len_str and
|
||||
timestr[pos:pos + 1] == self._TIME_SEP):
|
||||
pos += 1
|
||||
|
||||
if comp == 3:
|
||||
# Fraction of a second
|
||||
frac = self._FRACTION_REGEX.match(timestr[pos:])
|
||||
if not frac:
|
||||
continue
|
||||
|
||||
us_str = frac.group(1)[:6] # Truncate to microseconds
|
||||
components[comp] = int(us_str) * 10**(6 - len(us_str))
|
||||
pos += len(frac.group())
|
||||
|
||||
if pos < len_str:
|
||||
raise ValueError('Unused components in ISO string')
|
||||
|
||||
if components[0] == 24:
|
||||
# Standard supports 00:00 and 24:00 as representations of midnight
|
||||
if any(component != 0 for component in components[1:4]):
|
||||
raise ValueError('Hour may only be 24 at 24:00:00.000')
|
||||
|
||||
return components
|
||||
|
||||
def _parse_tzstr(self, tzstr, zero_as_utc=True):
|
||||
if tzstr == b'Z' or tzstr == b'z':
|
||||
return tz.UTC
|
||||
|
||||
if len(tzstr) not in {3, 5, 6}:
|
||||
raise ValueError('Time zone offset must be 1, 3, 5 or 6 characters')
|
||||
|
||||
if tzstr[0:1] == b'-':
|
||||
mult = -1
|
||||
elif tzstr[0:1] == b'+':
|
||||
mult = 1
|
||||
else:
|
||||
raise ValueError('Time zone offset requires sign')
|
||||
|
||||
hours = int(tzstr[1:3])
|
||||
if len(tzstr) == 3:
|
||||
minutes = 0
|
||||
else:
|
||||
minutes = int(tzstr[(4 if tzstr[3:4] == self._TIME_SEP else 3):])
|
||||
|
||||
if zero_as_utc and hours == 0 and minutes == 0:
|
||||
return tz.UTC
|
||||
else:
|
||||
if minutes > 59:
|
||||
raise ValueError('Invalid minutes in time zone offset')
|
||||
|
||||
if hours > 23:
|
||||
raise ValueError('Invalid hours in time zone offset')
|
||||
|
||||
return tz.tzoffset(None, mult * (hours * 60 + minutes) * 60)
|
||||
|
||||
|
||||
DEFAULT_ISOPARSER = isoparser()
|
||||
isoparse = DEFAULT_ISOPARSER.isoparse
|
||||
599
matPlotLib/env/lib/python3.7/site-packages/dateutil/relativedelta.py
vendored
Normal file
599
matPlotLib/env/lib/python3.7/site-packages/dateutil/relativedelta.py
vendored
Normal file
@@ -0,0 +1,599 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
import calendar
|
||||
|
||||
import operator
|
||||
from math import copysign
|
||||
|
||||
from six import integer_types
|
||||
from warnings import warn
|
||||
|
||||
from ._common import weekday
|
||||
|
||||
MO, TU, WE, TH, FR, SA, SU = weekdays = tuple(weekday(x) for x in range(7))
|
||||
|
||||
__all__ = ["relativedelta", "MO", "TU", "WE", "TH", "FR", "SA", "SU"]
|
||||
|
||||
|
||||
class relativedelta(object):
|
||||
"""
|
||||
The relativedelta type is designed to be applied to an existing datetime and
|
||||
can replace specific components of that datetime, or represents an interval
|
||||
of time.
|
||||
|
||||
It is based on the specification of the excellent work done by M.-A. Lemburg
|
||||
in his
|
||||
`mx.DateTime <https://www.egenix.com/products/python/mxBase/mxDateTime/>`_ extension.
|
||||
However, notice that this type does *NOT* implement the same algorithm as
|
||||
his work. Do *NOT* expect it to behave like mx.DateTime's counterpart.
|
||||
|
||||
There are two different ways to build a relativedelta instance. The
|
||||
first one is passing it two date/datetime classes::
|
||||
|
||||
relativedelta(datetime1, datetime2)
|
||||
|
||||
The second one is passing it any number of the following keyword arguments::
|
||||
|
||||
relativedelta(arg1=x,arg2=y,arg3=z...)
|
||||
|
||||
year, month, day, hour, minute, second, microsecond:
|
||||
Absolute information (argument is singular); adding or subtracting a
|
||||
relativedelta with absolute information does not perform an arithmetic
|
||||
operation, but rather REPLACES the corresponding value in the
|
||||
original datetime with the value(s) in relativedelta.
|
||||
|
||||
years, months, weeks, days, hours, minutes, seconds, microseconds:
|
||||
Relative information, may be negative (argument is plural); adding
|
||||
or subtracting a relativedelta with relative information performs
|
||||
the corresponding arithmetic operation on the original datetime value
|
||||
with the information in the relativedelta.
|
||||
|
||||
weekday:
|
||||
One of the weekday instances (MO, TU, etc) available in the
|
||||
relativedelta module. These instances may receive a parameter N,
|
||||
specifying the Nth weekday, which could be positive or negative
|
||||
(like MO(+1) or MO(-2)). Not specifying it is the same as specifying
|
||||
+1. You can also use an integer, where 0=MO. This argument is always
|
||||
relative e.g. if the calculated date is already Monday, using MO(1)
|
||||
or MO(-1) won't change the day. To effectively make it absolute, use
|
||||
it in combination with the day argument (e.g. day=1, MO(1) for first
|
||||
Monday of the month).
|
||||
|
||||
leapdays:
|
||||
Will add given days to the date found, if year is a leap
|
||||
year, and the date found is post 28 of february.
|
||||
|
||||
yearday, nlyearday:
|
||||
Set the yearday or the non-leap year day (jump leap days).
|
||||
These are converted to day/month/leapdays information.
|
||||
|
||||
There are relative and absolute forms of the keyword
|
||||
arguments. The plural is relative, and the singular is
|
||||
absolute. For each argument in the order below, the absolute form
|
||||
is applied first (by setting each attribute to that value) and
|
||||
then the relative form (by adding the value to the attribute).
|
||||
|
||||
The order of attributes considered when this relativedelta is
|
||||
added to a datetime is:
|
||||
|
||||
1. Year
|
||||
2. Month
|
||||
3. Day
|
||||
4. Hours
|
||||
5. Minutes
|
||||
6. Seconds
|
||||
7. Microseconds
|
||||
|
||||
Finally, weekday is applied, using the rule described above.
|
||||
|
||||
For example
|
||||
|
||||
>>> from datetime import datetime
|
||||
>>> from dateutil.relativedelta import relativedelta, MO
|
||||
>>> dt = datetime(2018, 4, 9, 13, 37, 0)
|
||||
>>> delta = relativedelta(hours=25, day=1, weekday=MO(1))
|
||||
>>> dt + delta
|
||||
datetime.datetime(2018, 4, 2, 14, 37)
|
||||
|
||||
First, the day is set to 1 (the first of the month), then 25 hours
|
||||
are added, to get to the 2nd day and 14th hour, finally the
|
||||
weekday is applied, but since the 2nd is already a Monday there is
|
||||
no effect.
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self, dt1=None, dt2=None,
|
||||
years=0, months=0, days=0, leapdays=0, weeks=0,
|
||||
hours=0, minutes=0, seconds=0, microseconds=0,
|
||||
year=None, month=None, day=None, weekday=None,
|
||||
yearday=None, nlyearday=None,
|
||||
hour=None, minute=None, second=None, microsecond=None):
|
||||
|
||||
if dt1 and dt2:
|
||||
# datetime is a subclass of date. So both must be date
|
||||
if not (isinstance(dt1, datetime.date) and
|
||||
isinstance(dt2, datetime.date)):
|
||||
raise TypeError("relativedelta only diffs datetime/date")
|
||||
|
||||
# We allow two dates, or two datetimes, so we coerce them to be
|
||||
# of the same type
|
||||
if (isinstance(dt1, datetime.datetime) !=
|
||||
isinstance(dt2, datetime.datetime)):
|
||||
if not isinstance(dt1, datetime.datetime):
|
||||
dt1 = datetime.datetime.fromordinal(dt1.toordinal())
|
||||
elif not isinstance(dt2, datetime.datetime):
|
||||
dt2 = datetime.datetime.fromordinal(dt2.toordinal())
|
||||
|
||||
self.years = 0
|
||||
self.months = 0
|
||||
self.days = 0
|
||||
self.leapdays = 0
|
||||
self.hours = 0
|
||||
self.minutes = 0
|
||||
self.seconds = 0
|
||||
self.microseconds = 0
|
||||
self.year = None
|
||||
self.month = None
|
||||
self.day = None
|
||||
self.weekday = None
|
||||
self.hour = None
|
||||
self.minute = None
|
||||
self.second = None
|
||||
self.microsecond = None
|
||||
self._has_time = 0
|
||||
|
||||
# Get year / month delta between the two
|
||||
months = (dt1.year - dt2.year) * 12 + (dt1.month - dt2.month)
|
||||
self._set_months(months)
|
||||
|
||||
# Remove the year/month delta so the timedelta is just well-defined
|
||||
# time units (seconds, days and microseconds)
|
||||
dtm = self.__radd__(dt2)
|
||||
|
||||
# If we've overshot our target, make an adjustment
|
||||
if dt1 < dt2:
|
||||
compare = operator.gt
|
||||
increment = 1
|
||||
else:
|
||||
compare = operator.lt
|
||||
increment = -1
|
||||
|
||||
while compare(dt1, dtm):
|
||||
months += increment
|
||||
self._set_months(months)
|
||||
dtm = self.__radd__(dt2)
|
||||
|
||||
# Get the timedelta between the "months-adjusted" date and dt1
|
||||
delta = dt1 - dtm
|
||||
self.seconds = delta.seconds + delta.days * 86400
|
||||
self.microseconds = delta.microseconds
|
||||
else:
|
||||
# Check for non-integer values in integer-only quantities
|
||||
if any(x is not None and x != int(x) for x in (years, months)):
|
||||
raise ValueError("Non-integer years and months are "
|
||||
"ambiguous and not currently supported.")
|
||||
|
||||
# Relative information
|
||||
self.years = int(years)
|
||||
self.months = int(months)
|
||||
self.days = days + weeks * 7
|
||||
self.leapdays = leapdays
|
||||
self.hours = hours
|
||||
self.minutes = minutes
|
||||
self.seconds = seconds
|
||||
self.microseconds = microseconds
|
||||
|
||||
# Absolute information
|
||||
self.year = year
|
||||
self.month = month
|
||||
self.day = day
|
||||
self.hour = hour
|
||||
self.minute = minute
|
||||
self.second = second
|
||||
self.microsecond = microsecond
|
||||
|
||||
if any(x is not None and int(x) != x
|
||||
for x in (year, month, day, hour,
|
||||
minute, second, microsecond)):
|
||||
# For now we'll deprecate floats - later it'll be an error.
|
||||
warn("Non-integer value passed as absolute information. " +
|
||||
"This is not a well-defined condition and will raise " +
|
||||
"errors in future versions.", DeprecationWarning)
|
||||
|
||||
if isinstance(weekday, integer_types):
|
||||
self.weekday = weekdays[weekday]
|
||||
else:
|
||||
self.weekday = weekday
|
||||
|
||||
yday = 0
|
||||
if nlyearday:
|
||||
yday = nlyearday
|
||||
elif yearday:
|
||||
yday = yearday
|
||||
if yearday > 59:
|
||||
self.leapdays = -1
|
||||
if yday:
|
||||
ydayidx = [31, 59, 90, 120, 151, 181, 212,
|
||||
243, 273, 304, 334, 366]
|
||||
for idx, ydays in enumerate(ydayidx):
|
||||
if yday <= ydays:
|
||||
self.month = idx+1
|
||||
if idx == 0:
|
||||
self.day = yday
|
||||
else:
|
||||
self.day = yday-ydayidx[idx-1]
|
||||
break
|
||||
else:
|
||||
raise ValueError("invalid year day (%d)" % yday)
|
||||
|
||||
self._fix()
|
||||
|
||||
def _fix(self):
|
||||
if abs(self.microseconds) > 999999:
|
||||
s = _sign(self.microseconds)
|
||||
div, mod = divmod(self.microseconds * s, 1000000)
|
||||
self.microseconds = mod * s
|
||||
self.seconds += div * s
|
||||
if abs(self.seconds) > 59:
|
||||
s = _sign(self.seconds)
|
||||
div, mod = divmod(self.seconds * s, 60)
|
||||
self.seconds = mod * s
|
||||
self.minutes += div * s
|
||||
if abs(self.minutes) > 59:
|
||||
s = _sign(self.minutes)
|
||||
div, mod = divmod(self.minutes * s, 60)
|
||||
self.minutes = mod * s
|
||||
self.hours += div * s
|
||||
if abs(self.hours) > 23:
|
||||
s = _sign(self.hours)
|
||||
div, mod = divmod(self.hours * s, 24)
|
||||
self.hours = mod * s
|
||||
self.days += div * s
|
||||
if abs(self.months) > 11:
|
||||
s = _sign(self.months)
|
||||
div, mod = divmod(self.months * s, 12)
|
||||
self.months = mod * s
|
||||
self.years += div * s
|
||||
if (self.hours or self.minutes or self.seconds or self.microseconds
|
||||
or self.hour is not None or self.minute is not None or
|
||||
self.second is not None or self.microsecond is not None):
|
||||
self._has_time = 1
|
||||
else:
|
||||
self._has_time = 0
|
||||
|
||||
@property
|
||||
def weeks(self):
|
||||
return int(self.days / 7.0)
|
||||
|
||||
@weeks.setter
|
||||
def weeks(self, value):
|
||||
self.days = self.days - (self.weeks * 7) + value * 7
|
||||
|
||||
def _set_months(self, months):
|
||||
self.months = months
|
||||
if abs(self.months) > 11:
|
||||
s = _sign(self.months)
|
||||
div, mod = divmod(self.months * s, 12)
|
||||
self.months = mod * s
|
||||
self.years = div * s
|
||||
else:
|
||||
self.years = 0
|
||||
|
||||
def normalized(self):
|
||||
"""
|
||||
Return a version of this object represented entirely using integer
|
||||
values for the relative attributes.
|
||||
|
||||
>>> relativedelta(days=1.5, hours=2).normalized()
|
||||
relativedelta(days=+1, hours=+14)
|
||||
|
||||
:return:
|
||||
Returns a :class:`dateutil.relativedelta.relativedelta` object.
|
||||
"""
|
||||
# Cascade remainders down (rounding each to roughly nearest microsecond)
|
||||
days = int(self.days)
|
||||
|
||||
hours_f = round(self.hours + 24 * (self.days - days), 11)
|
||||
hours = int(hours_f)
|
||||
|
||||
minutes_f = round(self.minutes + 60 * (hours_f - hours), 10)
|
||||
minutes = int(minutes_f)
|
||||
|
||||
seconds_f = round(self.seconds + 60 * (minutes_f - minutes), 8)
|
||||
seconds = int(seconds_f)
|
||||
|
||||
microseconds = round(self.microseconds + 1e6 * (seconds_f - seconds))
|
||||
|
||||
# Constructor carries overflow back up with call to _fix()
|
||||
return self.__class__(years=self.years, months=self.months,
|
||||
days=days, hours=hours, minutes=minutes,
|
||||
seconds=seconds, microseconds=microseconds,
|
||||
leapdays=self.leapdays, year=self.year,
|
||||
month=self.month, day=self.day,
|
||||
weekday=self.weekday, hour=self.hour,
|
||||
minute=self.minute, second=self.second,
|
||||
microsecond=self.microsecond)
|
||||
|
||||
def __add__(self, other):
|
||||
if isinstance(other, relativedelta):
|
||||
return self.__class__(years=other.years + self.years,
|
||||
months=other.months + self.months,
|
||||
days=other.days + self.days,
|
||||
hours=other.hours + self.hours,
|
||||
minutes=other.minutes + self.minutes,
|
||||
seconds=other.seconds + self.seconds,
|
||||
microseconds=(other.microseconds +
|
||||
self.microseconds),
|
||||
leapdays=other.leapdays or self.leapdays,
|
||||
year=(other.year if other.year is not None
|
||||
else self.year),
|
||||
month=(other.month if other.month is not None
|
||||
else self.month),
|
||||
day=(other.day if other.day is not None
|
||||
else self.day),
|
||||
weekday=(other.weekday if other.weekday is not None
|
||||
else self.weekday),
|
||||
hour=(other.hour if other.hour is not None
|
||||
else self.hour),
|
||||
minute=(other.minute if other.minute is not None
|
||||
else self.minute),
|
||||
second=(other.second if other.second is not None
|
||||
else self.second),
|
||||
microsecond=(other.microsecond if other.microsecond
|
||||
is not None else
|
||||
self.microsecond))
|
||||
if isinstance(other, datetime.timedelta):
|
||||
return self.__class__(years=self.years,
|
||||
months=self.months,
|
||||
days=self.days + other.days,
|
||||
hours=self.hours,
|
||||
minutes=self.minutes,
|
||||
seconds=self.seconds + other.seconds,
|
||||
microseconds=self.microseconds + other.microseconds,
|
||||
leapdays=self.leapdays,
|
||||
year=self.year,
|
||||
month=self.month,
|
||||
day=self.day,
|
||||
weekday=self.weekday,
|
||||
hour=self.hour,
|
||||
minute=self.minute,
|
||||
second=self.second,
|
||||
microsecond=self.microsecond)
|
||||
if not isinstance(other, datetime.date):
|
||||
return NotImplemented
|
||||
elif self._has_time and not isinstance(other, datetime.datetime):
|
||||
other = datetime.datetime.fromordinal(other.toordinal())
|
||||
year = (self.year or other.year)+self.years
|
||||
month = self.month or other.month
|
||||
if self.months:
|
||||
assert 1 <= abs(self.months) <= 12
|
||||
month += self.months
|
||||
if month > 12:
|
||||
year += 1
|
||||
month -= 12
|
||||
elif month < 1:
|
||||
year -= 1
|
||||
month += 12
|
||||
day = min(calendar.monthrange(year, month)[1],
|
||||
self.day or other.day)
|
||||
repl = {"year": year, "month": month, "day": day}
|
||||
for attr in ["hour", "minute", "second", "microsecond"]:
|
||||
value = getattr(self, attr)
|
||||
if value is not None:
|
||||
repl[attr] = value
|
||||
days = self.days
|
||||
if self.leapdays and month > 2 and calendar.isleap(year):
|
||||
days += self.leapdays
|
||||
ret = (other.replace(**repl)
|
||||
+ datetime.timedelta(days=days,
|
||||
hours=self.hours,
|
||||
minutes=self.minutes,
|
||||
seconds=self.seconds,
|
||||
microseconds=self.microseconds))
|
||||
if self.weekday:
|
||||
weekday, nth = self.weekday.weekday, self.weekday.n or 1
|
||||
jumpdays = (abs(nth) - 1) * 7
|
||||
if nth > 0:
|
||||
jumpdays += (7 - ret.weekday() + weekday) % 7
|
||||
else:
|
||||
jumpdays += (ret.weekday() - weekday) % 7
|
||||
jumpdays *= -1
|
||||
ret += datetime.timedelta(days=jumpdays)
|
||||
return ret
|
||||
|
||||
def __radd__(self, other):
|
||||
return self.__add__(other)
|
||||
|
||||
def __rsub__(self, other):
|
||||
return self.__neg__().__radd__(other)
|
||||
|
||||
def __sub__(self, other):
|
||||
if not isinstance(other, relativedelta):
|
||||
return NotImplemented # In case the other object defines __rsub__
|
||||
return self.__class__(years=self.years - other.years,
|
||||
months=self.months - other.months,
|
||||
days=self.days - other.days,
|
||||
hours=self.hours - other.hours,
|
||||
minutes=self.minutes - other.minutes,
|
||||
seconds=self.seconds - other.seconds,
|
||||
microseconds=self.microseconds - other.microseconds,
|
||||
leapdays=self.leapdays or other.leapdays,
|
||||
year=(self.year if self.year is not None
|
||||
else other.year),
|
||||
month=(self.month if self.month is not None else
|
||||
other.month),
|
||||
day=(self.day if self.day is not None else
|
||||
other.day),
|
||||
weekday=(self.weekday if self.weekday is not None else
|
||||
other.weekday),
|
||||
hour=(self.hour if self.hour is not None else
|
||||
other.hour),
|
||||
minute=(self.minute if self.minute is not None else
|
||||
other.minute),
|
||||
second=(self.second if self.second is not None else
|
||||
other.second),
|
||||
microsecond=(self.microsecond if self.microsecond
|
||||
is not None else
|
||||
other.microsecond))
|
||||
|
||||
def __abs__(self):
|
||||
return self.__class__(years=abs(self.years),
|
||||
months=abs(self.months),
|
||||
days=abs(self.days),
|
||||
hours=abs(self.hours),
|
||||
minutes=abs(self.minutes),
|
||||
seconds=abs(self.seconds),
|
||||
microseconds=abs(self.microseconds),
|
||||
leapdays=self.leapdays,
|
||||
year=self.year,
|
||||
month=self.month,
|
||||
day=self.day,
|
||||
weekday=self.weekday,
|
||||
hour=self.hour,
|
||||
minute=self.minute,
|
||||
second=self.second,
|
||||
microsecond=self.microsecond)
|
||||
|
||||
def __neg__(self):
|
||||
return self.__class__(years=-self.years,
|
||||
months=-self.months,
|
||||
days=-self.days,
|
||||
hours=-self.hours,
|
||||
minutes=-self.minutes,
|
||||
seconds=-self.seconds,
|
||||
microseconds=-self.microseconds,
|
||||
leapdays=self.leapdays,
|
||||
year=self.year,
|
||||
month=self.month,
|
||||
day=self.day,
|
||||
weekday=self.weekday,
|
||||
hour=self.hour,
|
||||
minute=self.minute,
|
||||
second=self.second,
|
||||
microsecond=self.microsecond)
|
||||
|
||||
def __bool__(self):
|
||||
return not (not self.years and
|
||||
not self.months and
|
||||
not self.days and
|
||||
not self.hours and
|
||||
not self.minutes and
|
||||
not self.seconds and
|
||||
not self.microseconds and
|
||||
not self.leapdays and
|
||||
self.year is None and
|
||||
self.month is None and
|
||||
self.day is None and
|
||||
self.weekday is None and
|
||||
self.hour is None and
|
||||
self.minute is None and
|
||||
self.second is None and
|
||||
self.microsecond is None)
|
||||
# Compatibility with Python 2.x
|
||||
__nonzero__ = __bool__
|
||||
|
||||
def __mul__(self, other):
|
||||
try:
|
||||
f = float(other)
|
||||
except TypeError:
|
||||
return NotImplemented
|
||||
|
||||
return self.__class__(years=int(self.years * f),
|
||||
months=int(self.months * f),
|
||||
days=int(self.days * f),
|
||||
hours=int(self.hours * f),
|
||||
minutes=int(self.minutes * f),
|
||||
seconds=int(self.seconds * f),
|
||||
microseconds=int(self.microseconds * f),
|
||||
leapdays=self.leapdays,
|
||||
year=self.year,
|
||||
month=self.month,
|
||||
day=self.day,
|
||||
weekday=self.weekday,
|
||||
hour=self.hour,
|
||||
minute=self.minute,
|
||||
second=self.second,
|
||||
microsecond=self.microsecond)
|
||||
|
||||
__rmul__ = __mul__
|
||||
|
||||
def __eq__(self, other):
|
||||
if not isinstance(other, relativedelta):
|
||||
return NotImplemented
|
||||
if self.weekday or other.weekday:
|
||||
if not self.weekday or not other.weekday:
|
||||
return False
|
||||
if self.weekday.weekday != other.weekday.weekday:
|
||||
return False
|
||||
n1, n2 = self.weekday.n, other.weekday.n
|
||||
if n1 != n2 and not ((not n1 or n1 == 1) and (not n2 or n2 == 1)):
|
||||
return False
|
||||
return (self.years == other.years and
|
||||
self.months == other.months and
|
||||
self.days == other.days and
|
||||
self.hours == other.hours and
|
||||
self.minutes == other.minutes and
|
||||
self.seconds == other.seconds and
|
||||
self.microseconds == other.microseconds and
|
||||
self.leapdays == other.leapdays and
|
||||
self.year == other.year and
|
||||
self.month == other.month and
|
||||
self.day == other.day and
|
||||
self.hour == other.hour and
|
||||
self.minute == other.minute and
|
||||
self.second == other.second and
|
||||
self.microsecond == other.microsecond)
|
||||
|
||||
def __hash__(self):
|
||||
return hash((
|
||||
self.weekday,
|
||||
self.years,
|
||||
self.months,
|
||||
self.days,
|
||||
self.hours,
|
||||
self.minutes,
|
||||
self.seconds,
|
||||
self.microseconds,
|
||||
self.leapdays,
|
||||
self.year,
|
||||
self.month,
|
||||
self.day,
|
||||
self.hour,
|
||||
self.minute,
|
||||
self.second,
|
||||
self.microsecond,
|
||||
))
|
||||
|
||||
def __ne__(self, other):
|
||||
return not self.__eq__(other)
|
||||
|
||||
def __div__(self, other):
|
||||
try:
|
||||
reciprocal = 1 / float(other)
|
||||
except TypeError:
|
||||
return NotImplemented
|
||||
|
||||
return self.__mul__(reciprocal)
|
||||
|
||||
__truediv__ = __div__
|
||||
|
||||
def __repr__(self):
|
||||
l = []
|
||||
for attr in ["years", "months", "days", "leapdays",
|
||||
"hours", "minutes", "seconds", "microseconds"]:
|
||||
value = getattr(self, attr)
|
||||
if value:
|
||||
l.append("{attr}={value:+g}".format(attr=attr, value=value))
|
||||
for attr in ["year", "month", "day", "weekday",
|
||||
"hour", "minute", "second", "microsecond"]:
|
||||
value = getattr(self, attr)
|
||||
if value is not None:
|
||||
l.append("{attr}={value}".format(attr=attr, value=repr(value)))
|
||||
return "{classname}({attrs})".format(classname=self.__class__.__name__,
|
||||
attrs=", ".join(l))
|
||||
|
||||
|
||||
def _sign(x):
|
||||
return int(copysign(1, x))
|
||||
|
||||
# vim:ts=4:sw=4:et
|
||||
1735
matPlotLib/env/lib/python3.7/site-packages/dateutil/rrule.py
vendored
Normal file
1735
matPlotLib/env/lib/python3.7/site-packages/dateutil/rrule.py
vendored
Normal file
File diff suppressed because it is too large
Load Diff
12
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__init__.py
vendored
Normal file
12
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__init__.py
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from .tz import *
|
||||
from .tz import __doc__
|
||||
|
||||
__all__ = ["tzutc", "tzoffset", "tzlocal", "tzfile", "tzrange",
|
||||
"tzstr", "tzical", "tzwin", "tzwinlocal", "gettz",
|
||||
"enfold", "datetime_ambiguous", "datetime_exists",
|
||||
"resolve_imaginary", "UTC", "DeprecatedTzFormatWarning"]
|
||||
|
||||
|
||||
class DeprecatedTzFormatWarning(Warning):
|
||||
"""Warning raised when time zones are parsed from deprecated formats."""
|
||||
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__pycache__/_common.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__pycache__/_common.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__pycache__/_factories.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__pycache__/_factories.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__pycache__/tz.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__pycache__/tz.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__pycache__/win.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/__pycache__/win.cpython-37.pyc
vendored
Normal file
Binary file not shown.
419
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/_common.py
vendored
Normal file
419
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/_common.py
vendored
Normal file
@@ -0,0 +1,419 @@
|
||||
from six import PY2
|
||||
|
||||
from functools import wraps
|
||||
|
||||
from datetime import datetime, timedelta, tzinfo
|
||||
|
||||
|
||||
ZERO = timedelta(0)
|
||||
|
||||
__all__ = ['tzname_in_python2', 'enfold']
|
||||
|
||||
|
||||
def tzname_in_python2(namefunc):
|
||||
"""Change unicode output into bytestrings in Python 2
|
||||
|
||||
tzname() API changed in Python 3. It used to return bytes, but was changed
|
||||
to unicode strings
|
||||
"""
|
||||
if PY2:
|
||||
@wraps(namefunc)
|
||||
def adjust_encoding(*args, **kwargs):
|
||||
name = namefunc(*args, **kwargs)
|
||||
if name is not None:
|
||||
name = name.encode()
|
||||
|
||||
return name
|
||||
|
||||
return adjust_encoding
|
||||
else:
|
||||
return namefunc
|
||||
|
||||
|
||||
# The following is adapted from Alexander Belopolsky's tz library
|
||||
# https://github.com/abalkin/tz
|
||||
if hasattr(datetime, 'fold'):
|
||||
# This is the pre-python 3.6 fold situation
|
||||
def enfold(dt, fold=1):
|
||||
"""
|
||||
Provides a unified interface for assigning the ``fold`` attribute to
|
||||
datetimes both before and after the implementation of PEP-495.
|
||||
|
||||
:param fold:
|
||||
The value for the ``fold`` attribute in the returned datetime. This
|
||||
should be either 0 or 1.
|
||||
|
||||
:return:
|
||||
Returns an object for which ``getattr(dt, 'fold', 0)`` returns
|
||||
``fold`` for all versions of Python. In versions prior to
|
||||
Python 3.6, this is a ``_DatetimeWithFold`` object, which is a
|
||||
subclass of :py:class:`datetime.datetime` with the ``fold``
|
||||
attribute added, if ``fold`` is 1.
|
||||
|
||||
.. versionadded:: 2.6.0
|
||||
"""
|
||||
return dt.replace(fold=fold)
|
||||
|
||||
else:
|
||||
class _DatetimeWithFold(datetime):
|
||||
"""
|
||||
This is a class designed to provide a PEP 495-compliant interface for
|
||||
Python versions before 3.6. It is used only for dates in a fold, so
|
||||
the ``fold`` attribute is fixed at ``1``.
|
||||
|
||||
.. versionadded:: 2.6.0
|
||||
"""
|
||||
__slots__ = ()
|
||||
|
||||
def replace(self, *args, **kwargs):
|
||||
"""
|
||||
Return a datetime with the same attributes, except for those
|
||||
attributes given new values by whichever keyword arguments are
|
||||
specified. Note that tzinfo=None can be specified to create a naive
|
||||
datetime from an aware datetime with no conversion of date and time
|
||||
data.
|
||||
|
||||
This is reimplemented in ``_DatetimeWithFold`` because pypy3 will
|
||||
return a ``datetime.datetime`` even if ``fold`` is unchanged.
|
||||
"""
|
||||
argnames = (
|
||||
'year', 'month', 'day', 'hour', 'minute', 'second',
|
||||
'microsecond', 'tzinfo'
|
||||
)
|
||||
|
||||
for arg, argname in zip(args, argnames):
|
||||
if argname in kwargs:
|
||||
raise TypeError('Duplicate argument: {}'.format(argname))
|
||||
|
||||
kwargs[argname] = arg
|
||||
|
||||
for argname in argnames:
|
||||
if argname not in kwargs:
|
||||
kwargs[argname] = getattr(self, argname)
|
||||
|
||||
dt_class = self.__class__ if kwargs.get('fold', 1) else datetime
|
||||
|
||||
return dt_class(**kwargs)
|
||||
|
||||
@property
|
||||
def fold(self):
|
||||
return 1
|
||||
|
||||
def enfold(dt, fold=1):
|
||||
"""
|
||||
Provides a unified interface for assigning the ``fold`` attribute to
|
||||
datetimes both before and after the implementation of PEP-495.
|
||||
|
||||
:param fold:
|
||||
The value for the ``fold`` attribute in the returned datetime. This
|
||||
should be either 0 or 1.
|
||||
|
||||
:return:
|
||||
Returns an object for which ``getattr(dt, 'fold', 0)`` returns
|
||||
``fold`` for all versions of Python. In versions prior to
|
||||
Python 3.6, this is a ``_DatetimeWithFold`` object, which is a
|
||||
subclass of :py:class:`datetime.datetime` with the ``fold``
|
||||
attribute added, if ``fold`` is 1.
|
||||
|
||||
.. versionadded:: 2.6.0
|
||||
"""
|
||||
if getattr(dt, 'fold', 0) == fold:
|
||||
return dt
|
||||
|
||||
args = dt.timetuple()[:6]
|
||||
args += (dt.microsecond, dt.tzinfo)
|
||||
|
||||
if fold:
|
||||
return _DatetimeWithFold(*args)
|
||||
else:
|
||||
return datetime(*args)
|
||||
|
||||
|
||||
def _validate_fromutc_inputs(f):
|
||||
"""
|
||||
The CPython version of ``fromutc`` checks that the input is a ``datetime``
|
||||
object and that ``self`` is attached as its ``tzinfo``.
|
||||
"""
|
||||
@wraps(f)
|
||||
def fromutc(self, dt):
|
||||
if not isinstance(dt, datetime):
|
||||
raise TypeError("fromutc() requires a datetime argument")
|
||||
if dt.tzinfo is not self:
|
||||
raise ValueError("dt.tzinfo is not self")
|
||||
|
||||
return f(self, dt)
|
||||
|
||||
return fromutc
|
||||
|
||||
|
||||
class _tzinfo(tzinfo):
|
||||
"""
|
||||
Base class for all ``dateutil`` ``tzinfo`` objects.
|
||||
"""
|
||||
|
||||
def is_ambiguous(self, dt):
|
||||
"""
|
||||
Whether or not the "wall time" of a given datetime is ambiguous in this
|
||||
zone.
|
||||
|
||||
:param dt:
|
||||
A :py:class:`datetime.datetime`, naive or time zone aware.
|
||||
|
||||
|
||||
:return:
|
||||
Returns ``True`` if ambiguous, ``False`` otherwise.
|
||||
|
||||
.. versionadded:: 2.6.0
|
||||
"""
|
||||
|
||||
dt = dt.replace(tzinfo=self)
|
||||
|
||||
wall_0 = enfold(dt, fold=0)
|
||||
wall_1 = enfold(dt, fold=1)
|
||||
|
||||
same_offset = wall_0.utcoffset() == wall_1.utcoffset()
|
||||
same_dt = wall_0.replace(tzinfo=None) == wall_1.replace(tzinfo=None)
|
||||
|
||||
return same_dt and not same_offset
|
||||
|
||||
def _fold_status(self, dt_utc, dt_wall):
|
||||
"""
|
||||
Determine the fold status of a "wall" datetime, given a representation
|
||||
of the same datetime as a (naive) UTC datetime. This is calculated based
|
||||
on the assumption that ``dt.utcoffset() - dt.dst()`` is constant for all
|
||||
datetimes, and that this offset is the actual number of hours separating
|
||||
``dt_utc`` and ``dt_wall``.
|
||||
|
||||
:param dt_utc:
|
||||
Representation of the datetime as UTC
|
||||
|
||||
:param dt_wall:
|
||||
Representation of the datetime as "wall time". This parameter must
|
||||
either have a `fold` attribute or have a fold-naive
|
||||
:class:`datetime.tzinfo` attached, otherwise the calculation may
|
||||
fail.
|
||||
"""
|
||||
if self.is_ambiguous(dt_wall):
|
||||
delta_wall = dt_wall - dt_utc
|
||||
_fold = int(delta_wall == (dt_utc.utcoffset() - dt_utc.dst()))
|
||||
else:
|
||||
_fold = 0
|
||||
|
||||
return _fold
|
||||
|
||||
def _fold(self, dt):
|
||||
return getattr(dt, 'fold', 0)
|
||||
|
||||
def _fromutc(self, dt):
|
||||
"""
|
||||
Given a timezone-aware datetime in a given timezone, calculates a
|
||||
timezone-aware datetime in a new timezone.
|
||||
|
||||
Since this is the one time that we *know* we have an unambiguous
|
||||
datetime object, we take this opportunity to determine whether the
|
||||
datetime is ambiguous and in a "fold" state (e.g. if it's the first
|
||||
occurrence, chronologically, of the ambiguous datetime).
|
||||
|
||||
:param dt:
|
||||
A timezone-aware :class:`datetime.datetime` object.
|
||||
"""
|
||||
|
||||
# Re-implement the algorithm from Python's datetime.py
|
||||
dtoff = dt.utcoffset()
|
||||
if dtoff is None:
|
||||
raise ValueError("fromutc() requires a non-None utcoffset() "
|
||||
"result")
|
||||
|
||||
# The original datetime.py code assumes that `dst()` defaults to
|
||||
# zero during ambiguous times. PEP 495 inverts this presumption, so
|
||||
# for pre-PEP 495 versions of python, we need to tweak the algorithm.
|
||||
dtdst = dt.dst()
|
||||
if dtdst is None:
|
||||
raise ValueError("fromutc() requires a non-None dst() result")
|
||||
delta = dtoff - dtdst
|
||||
|
||||
dt += delta
|
||||
# Set fold=1 so we can default to being in the fold for
|
||||
# ambiguous dates.
|
||||
dtdst = enfold(dt, fold=1).dst()
|
||||
if dtdst is None:
|
||||
raise ValueError("fromutc(): dt.dst gave inconsistent "
|
||||
"results; cannot convert")
|
||||
return dt + dtdst
|
||||
|
||||
@_validate_fromutc_inputs
|
||||
def fromutc(self, dt):
|
||||
"""
|
||||
Given a timezone-aware datetime in a given timezone, calculates a
|
||||
timezone-aware datetime in a new timezone.
|
||||
|
||||
Since this is the one time that we *know* we have an unambiguous
|
||||
datetime object, we take this opportunity to determine whether the
|
||||
datetime is ambiguous and in a "fold" state (e.g. if it's the first
|
||||
occurrence, chronologically, of the ambiguous datetime).
|
||||
|
||||
:param dt:
|
||||
A timezone-aware :class:`datetime.datetime` object.
|
||||
"""
|
||||
dt_wall = self._fromutc(dt)
|
||||
|
||||
# Calculate the fold status given the two datetimes.
|
||||
_fold = self._fold_status(dt, dt_wall)
|
||||
|
||||
# Set the default fold value for ambiguous dates
|
||||
return enfold(dt_wall, fold=_fold)
|
||||
|
||||
|
||||
class tzrangebase(_tzinfo):
|
||||
"""
|
||||
This is an abstract base class for time zones represented by an annual
|
||||
transition into and out of DST. Child classes should implement the following
|
||||
methods:
|
||||
|
||||
* ``__init__(self, *args, **kwargs)``
|
||||
* ``transitions(self, year)`` - this is expected to return a tuple of
|
||||
datetimes representing the DST on and off transitions in standard
|
||||
time.
|
||||
|
||||
A fully initialized ``tzrangebase`` subclass should also provide the
|
||||
following attributes:
|
||||
* ``hasdst``: Boolean whether or not the zone uses DST.
|
||||
* ``_dst_offset`` / ``_std_offset``: :class:`datetime.timedelta` objects
|
||||
representing the respective UTC offsets.
|
||||
* ``_dst_abbr`` / ``_std_abbr``: Strings representing the timezone short
|
||||
abbreviations in DST and STD, respectively.
|
||||
* ``_hasdst``: Whether or not the zone has DST.
|
||||
|
||||
.. versionadded:: 2.6.0
|
||||
"""
|
||||
def __init__(self):
|
||||
raise NotImplementedError('tzrangebase is an abstract base class')
|
||||
|
||||
def utcoffset(self, dt):
|
||||
isdst = self._isdst(dt)
|
||||
|
||||
if isdst is None:
|
||||
return None
|
||||
elif isdst:
|
||||
return self._dst_offset
|
||||
else:
|
||||
return self._std_offset
|
||||
|
||||
def dst(self, dt):
|
||||
isdst = self._isdst(dt)
|
||||
|
||||
if isdst is None:
|
||||
return None
|
||||
elif isdst:
|
||||
return self._dst_base_offset
|
||||
else:
|
||||
return ZERO
|
||||
|
||||
@tzname_in_python2
|
||||
def tzname(self, dt):
|
||||
if self._isdst(dt):
|
||||
return self._dst_abbr
|
||||
else:
|
||||
return self._std_abbr
|
||||
|
||||
def fromutc(self, dt):
|
||||
""" Given a datetime in UTC, return local time """
|
||||
if not isinstance(dt, datetime):
|
||||
raise TypeError("fromutc() requires a datetime argument")
|
||||
|
||||
if dt.tzinfo is not self:
|
||||
raise ValueError("dt.tzinfo is not self")
|
||||
|
||||
# Get transitions - if there are none, fixed offset
|
||||
transitions = self.transitions(dt.year)
|
||||
if transitions is None:
|
||||
return dt + self.utcoffset(dt)
|
||||
|
||||
# Get the transition times in UTC
|
||||
dston, dstoff = transitions
|
||||
|
||||
dston -= self._std_offset
|
||||
dstoff -= self._std_offset
|
||||
|
||||
utc_transitions = (dston, dstoff)
|
||||
dt_utc = dt.replace(tzinfo=None)
|
||||
|
||||
isdst = self._naive_isdst(dt_utc, utc_transitions)
|
||||
|
||||
if isdst:
|
||||
dt_wall = dt + self._dst_offset
|
||||
else:
|
||||
dt_wall = dt + self._std_offset
|
||||
|
||||
_fold = int(not isdst and self.is_ambiguous(dt_wall))
|
||||
|
||||
return enfold(dt_wall, fold=_fold)
|
||||
|
||||
def is_ambiguous(self, dt):
|
||||
"""
|
||||
Whether or not the "wall time" of a given datetime is ambiguous in this
|
||||
zone.
|
||||
|
||||
:param dt:
|
||||
A :py:class:`datetime.datetime`, naive or time zone aware.
|
||||
|
||||
|
||||
:return:
|
||||
Returns ``True`` if ambiguous, ``False`` otherwise.
|
||||
|
||||
.. versionadded:: 2.6.0
|
||||
"""
|
||||
if not self.hasdst:
|
||||
return False
|
||||
|
||||
start, end = self.transitions(dt.year)
|
||||
|
||||
dt = dt.replace(tzinfo=None)
|
||||
return (end <= dt < end + self._dst_base_offset)
|
||||
|
||||
def _isdst(self, dt):
|
||||
if not self.hasdst:
|
||||
return False
|
||||
elif dt is None:
|
||||
return None
|
||||
|
||||
transitions = self.transitions(dt.year)
|
||||
|
||||
if transitions is None:
|
||||
return False
|
||||
|
||||
dt = dt.replace(tzinfo=None)
|
||||
|
||||
isdst = self._naive_isdst(dt, transitions)
|
||||
|
||||
# Handle ambiguous dates
|
||||
if not isdst and self.is_ambiguous(dt):
|
||||
return not self._fold(dt)
|
||||
else:
|
||||
return isdst
|
||||
|
||||
def _naive_isdst(self, dt, transitions):
|
||||
dston, dstoff = transitions
|
||||
|
||||
dt = dt.replace(tzinfo=None)
|
||||
|
||||
if dston < dstoff:
|
||||
isdst = dston <= dt < dstoff
|
||||
else:
|
||||
isdst = not dstoff <= dt < dston
|
||||
|
||||
return isdst
|
||||
|
||||
@property
|
||||
def _dst_base_offset(self):
|
||||
return self._dst_offset - self._std_offset
|
||||
|
||||
__hash__ = None
|
||||
|
||||
def __ne__(self, other):
|
||||
return not (self == other)
|
||||
|
||||
def __repr__(self):
|
||||
return "%s(...)" % self.__class__.__name__
|
||||
|
||||
__reduce__ = object.__reduce__
|
||||
80
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/_factories.py
vendored
Normal file
80
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/_factories.py
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
from datetime import timedelta
|
||||
import weakref
|
||||
from collections import OrderedDict
|
||||
|
||||
from six.moves import _thread
|
||||
|
||||
|
||||
class _TzSingleton(type):
|
||||
def __init__(cls, *args, **kwargs):
|
||||
cls.__instance = None
|
||||
super(_TzSingleton, cls).__init__(*args, **kwargs)
|
||||
|
||||
def __call__(cls):
|
||||
if cls.__instance is None:
|
||||
cls.__instance = super(_TzSingleton, cls).__call__()
|
||||
return cls.__instance
|
||||
|
||||
|
||||
class _TzFactory(type):
|
||||
def instance(cls, *args, **kwargs):
|
||||
"""Alternate constructor that returns a fresh instance"""
|
||||
return type.__call__(cls, *args, **kwargs)
|
||||
|
||||
|
||||
class _TzOffsetFactory(_TzFactory):
|
||||
def __init__(cls, *args, **kwargs):
|
||||
cls.__instances = weakref.WeakValueDictionary()
|
||||
cls.__strong_cache = OrderedDict()
|
||||
cls.__strong_cache_size = 8
|
||||
|
||||
cls._cache_lock = _thread.allocate_lock()
|
||||
|
||||
def __call__(cls, name, offset):
|
||||
if isinstance(offset, timedelta):
|
||||
key = (name, offset.total_seconds())
|
||||
else:
|
||||
key = (name, offset)
|
||||
|
||||
instance = cls.__instances.get(key, None)
|
||||
if instance is None:
|
||||
instance = cls.__instances.setdefault(key,
|
||||
cls.instance(name, offset))
|
||||
|
||||
# This lock may not be necessary in Python 3. See GH issue #901
|
||||
with cls._cache_lock:
|
||||
cls.__strong_cache[key] = cls.__strong_cache.pop(key, instance)
|
||||
|
||||
# Remove an item if the strong cache is overpopulated
|
||||
if len(cls.__strong_cache) > cls.__strong_cache_size:
|
||||
cls.__strong_cache.popitem(last=False)
|
||||
|
||||
return instance
|
||||
|
||||
|
||||
class _TzStrFactory(_TzFactory):
|
||||
def __init__(cls, *args, **kwargs):
|
||||
cls.__instances = weakref.WeakValueDictionary()
|
||||
cls.__strong_cache = OrderedDict()
|
||||
cls.__strong_cache_size = 8
|
||||
|
||||
cls.__cache_lock = _thread.allocate_lock()
|
||||
|
||||
def __call__(cls, s, posix_offset=False):
|
||||
key = (s, posix_offset)
|
||||
instance = cls.__instances.get(key, None)
|
||||
|
||||
if instance is None:
|
||||
instance = cls.__instances.setdefault(key,
|
||||
cls.instance(s, posix_offset))
|
||||
|
||||
# This lock may not be necessary in Python 3. See GH issue #901
|
||||
with cls.__cache_lock:
|
||||
cls.__strong_cache[key] = cls.__strong_cache.pop(key, instance)
|
||||
|
||||
# Remove an item if the strong cache is overpopulated
|
||||
if len(cls.__strong_cache) > cls.__strong_cache_size:
|
||||
cls.__strong_cache.popitem(last=False)
|
||||
|
||||
return instance
|
||||
|
||||
1849
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/tz.py
vendored
Normal file
1849
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/tz.py
vendored
Normal file
File diff suppressed because it is too large
Load Diff
370
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/win.py
vendored
Normal file
370
matPlotLib/env/lib/python3.7/site-packages/dateutil/tz/win.py
vendored
Normal file
@@ -0,0 +1,370 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
This module provides an interface to the native time zone data on Windows,
|
||||
including :py:class:`datetime.tzinfo` implementations.
|
||||
|
||||
Attempting to import this module on a non-Windows platform will raise an
|
||||
:py:obj:`ImportError`.
|
||||
"""
|
||||
# This code was originally contributed by Jeffrey Harris.
|
||||
import datetime
|
||||
import struct
|
||||
|
||||
from six.moves import winreg
|
||||
from six import text_type
|
||||
|
||||
try:
|
||||
import ctypes
|
||||
from ctypes import wintypes
|
||||
except ValueError:
|
||||
# ValueError is raised on non-Windows systems for some horrible reason.
|
||||
raise ImportError("Running tzwin on non-Windows system")
|
||||
|
||||
from ._common import tzrangebase
|
||||
|
||||
__all__ = ["tzwin", "tzwinlocal", "tzres"]
|
||||
|
||||
ONEWEEK = datetime.timedelta(7)
|
||||
|
||||
TZKEYNAMENT = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones"
|
||||
TZKEYNAME9X = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones"
|
||||
TZLOCALKEYNAME = r"SYSTEM\CurrentControlSet\Control\TimeZoneInformation"
|
||||
|
||||
|
||||
def _settzkeyname():
|
||||
handle = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
|
||||
try:
|
||||
winreg.OpenKey(handle, TZKEYNAMENT).Close()
|
||||
TZKEYNAME = TZKEYNAMENT
|
||||
except WindowsError:
|
||||
TZKEYNAME = TZKEYNAME9X
|
||||
handle.Close()
|
||||
return TZKEYNAME
|
||||
|
||||
|
||||
TZKEYNAME = _settzkeyname()
|
||||
|
||||
|
||||
class tzres(object):
|
||||
"""
|
||||
Class for accessing ``tzres.dll``, which contains timezone name related
|
||||
resources.
|
||||
|
||||
.. versionadded:: 2.5.0
|
||||
"""
|
||||
p_wchar = ctypes.POINTER(wintypes.WCHAR) # Pointer to a wide char
|
||||
|
||||
def __init__(self, tzres_loc='tzres.dll'):
|
||||
# Load the user32 DLL so we can load strings from tzres
|
||||
user32 = ctypes.WinDLL('user32')
|
||||
|
||||
# Specify the LoadStringW function
|
||||
user32.LoadStringW.argtypes = (wintypes.HINSTANCE,
|
||||
wintypes.UINT,
|
||||
wintypes.LPWSTR,
|
||||
ctypes.c_int)
|
||||
|
||||
self.LoadStringW = user32.LoadStringW
|
||||
self._tzres = ctypes.WinDLL(tzres_loc)
|
||||
self.tzres_loc = tzres_loc
|
||||
|
||||
def load_name(self, offset):
|
||||
"""
|
||||
Load a timezone name from a DLL offset (integer).
|
||||
|
||||
>>> from dateutil.tzwin import tzres
|
||||
>>> tzr = tzres()
|
||||
>>> print(tzr.load_name(112))
|
||||
'Eastern Standard Time'
|
||||
|
||||
:param offset:
|
||||
A positive integer value referring to a string from the tzres dll.
|
||||
|
||||
.. note::
|
||||
|
||||
Offsets found in the registry are generally of the form
|
||||
``@tzres.dll,-114``. The offset in this case is 114, not -114.
|
||||
|
||||
"""
|
||||
resource = self.p_wchar()
|
||||
lpBuffer = ctypes.cast(ctypes.byref(resource), wintypes.LPWSTR)
|
||||
nchar = self.LoadStringW(self._tzres._handle, offset, lpBuffer, 0)
|
||||
return resource[:nchar]
|
||||
|
||||
def name_from_string(self, tzname_str):
|
||||
"""
|
||||
Parse strings as returned from the Windows registry into the time zone
|
||||
name as defined in the registry.
|
||||
|
||||
>>> from dateutil.tzwin import tzres
|
||||
>>> tzr = tzres()
|
||||
>>> print(tzr.name_from_string('@tzres.dll,-251'))
|
||||
'Dateline Daylight Time'
|
||||
>>> print(tzr.name_from_string('Eastern Standard Time'))
|
||||
'Eastern Standard Time'
|
||||
|
||||
:param tzname_str:
|
||||
A timezone name string as returned from a Windows registry key.
|
||||
|
||||
:return:
|
||||
Returns the localized timezone string from tzres.dll if the string
|
||||
is of the form `@tzres.dll,-offset`, else returns the input string.
|
||||
"""
|
||||
if not tzname_str.startswith('@'):
|
||||
return tzname_str
|
||||
|
||||
name_splt = tzname_str.split(',-')
|
||||
try:
|
||||
offset = int(name_splt[1])
|
||||
except:
|
||||
raise ValueError("Malformed timezone string.")
|
||||
|
||||
return self.load_name(offset)
|
||||
|
||||
|
||||
class tzwinbase(tzrangebase):
|
||||
"""tzinfo class based on win32's timezones available in the registry."""
|
||||
def __init__(self):
|
||||
raise NotImplementedError('tzwinbase is an abstract base class')
|
||||
|
||||
def __eq__(self, other):
|
||||
# Compare on all relevant dimensions, including name.
|
||||
if not isinstance(other, tzwinbase):
|
||||
return NotImplemented
|
||||
|
||||
return (self._std_offset == other._std_offset and
|
||||
self._dst_offset == other._dst_offset and
|
||||
self._stddayofweek == other._stddayofweek and
|
||||
self._dstdayofweek == other._dstdayofweek and
|
||||
self._stdweeknumber == other._stdweeknumber and
|
||||
self._dstweeknumber == other._dstweeknumber and
|
||||
self._stdhour == other._stdhour and
|
||||
self._dsthour == other._dsthour and
|
||||
self._stdminute == other._stdminute and
|
||||
self._dstminute == other._dstminute and
|
||||
self._std_abbr == other._std_abbr and
|
||||
self._dst_abbr == other._dst_abbr)
|
||||
|
||||
@staticmethod
|
||||
def list():
|
||||
"""Return a list of all time zones known to the system."""
|
||||
with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as handle:
|
||||
with winreg.OpenKey(handle, TZKEYNAME) as tzkey:
|
||||
result = [winreg.EnumKey(tzkey, i)
|
||||
for i in range(winreg.QueryInfoKey(tzkey)[0])]
|
||||
return result
|
||||
|
||||
def display(self):
|
||||
"""
|
||||
Return the display name of the time zone.
|
||||
"""
|
||||
return self._display
|
||||
|
||||
def transitions(self, year):
|
||||
"""
|
||||
For a given year, get the DST on and off transition times, expressed
|
||||
always on the standard time side. For zones with no transitions, this
|
||||
function returns ``None``.
|
||||
|
||||
:param year:
|
||||
The year whose transitions you would like to query.
|
||||
|
||||
:return:
|
||||
Returns a :class:`tuple` of :class:`datetime.datetime` objects,
|
||||
``(dston, dstoff)`` for zones with an annual DST transition, or
|
||||
``None`` for fixed offset zones.
|
||||
"""
|
||||
|
||||
if not self.hasdst:
|
||||
return None
|
||||
|
||||
dston = picknthweekday(year, self._dstmonth, self._dstdayofweek,
|
||||
self._dsthour, self._dstminute,
|
||||
self._dstweeknumber)
|
||||
|
||||
dstoff = picknthweekday(year, self._stdmonth, self._stddayofweek,
|
||||
self._stdhour, self._stdminute,
|
||||
self._stdweeknumber)
|
||||
|
||||
# Ambiguous dates default to the STD side
|
||||
dstoff -= self._dst_base_offset
|
||||
|
||||
return dston, dstoff
|
||||
|
||||
def _get_hasdst(self):
|
||||
return self._dstmonth != 0
|
||||
|
||||
@property
|
||||
def _dst_base_offset(self):
|
||||
return self._dst_base_offset_
|
||||
|
||||
|
||||
class tzwin(tzwinbase):
|
||||
"""
|
||||
Time zone object created from the zone info in the Windows registry
|
||||
|
||||
These are similar to :py:class:`dateutil.tz.tzrange` objects in that
|
||||
the time zone data is provided in the format of a single offset rule
|
||||
for either 0 or 2 time zone transitions per year.
|
||||
|
||||
:param: name
|
||||
The name of a Windows time zone key, e.g. "Eastern Standard Time".
|
||||
The full list of keys can be retrieved with :func:`tzwin.list`.
|
||||
"""
|
||||
|
||||
def __init__(self, name):
|
||||
self._name = name
|
||||
|
||||
with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as handle:
|
||||
tzkeyname = text_type("{kn}\\{name}").format(kn=TZKEYNAME, name=name)
|
||||
with winreg.OpenKey(handle, tzkeyname) as tzkey:
|
||||
keydict = valuestodict(tzkey)
|
||||
|
||||
self._std_abbr = keydict["Std"]
|
||||
self._dst_abbr = keydict["Dlt"]
|
||||
|
||||
self._display = keydict["Display"]
|
||||
|
||||
# See http://ww_winreg.jsiinc.com/SUBA/tip0300/rh0398.htm
|
||||
tup = struct.unpack("=3l16h", keydict["TZI"])
|
||||
stdoffset = -tup[0]-tup[1] # Bias + StandardBias * -1
|
||||
dstoffset = stdoffset-tup[2] # + DaylightBias * -1
|
||||
self._std_offset = datetime.timedelta(minutes=stdoffset)
|
||||
self._dst_offset = datetime.timedelta(minutes=dstoffset)
|
||||
|
||||
# for the meaning see the win32 TIME_ZONE_INFORMATION structure docs
|
||||
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms725481(v=vs.85).aspx
|
||||
(self._stdmonth,
|
||||
self._stddayofweek, # Sunday = 0
|
||||
self._stdweeknumber, # Last = 5
|
||||
self._stdhour,
|
||||
self._stdminute) = tup[4:9]
|
||||
|
||||
(self._dstmonth,
|
||||
self._dstdayofweek, # Sunday = 0
|
||||
self._dstweeknumber, # Last = 5
|
||||
self._dsthour,
|
||||
self._dstminute) = tup[12:17]
|
||||
|
||||
self._dst_base_offset_ = self._dst_offset - self._std_offset
|
||||
self.hasdst = self._get_hasdst()
|
||||
|
||||
def __repr__(self):
|
||||
return "tzwin(%s)" % repr(self._name)
|
||||
|
||||
def __reduce__(self):
|
||||
return (self.__class__, (self._name,))
|
||||
|
||||
|
||||
class tzwinlocal(tzwinbase):
|
||||
"""
|
||||
Class representing the local time zone information in the Windows registry
|
||||
|
||||
While :class:`dateutil.tz.tzlocal` makes system calls (via the :mod:`time`
|
||||
module) to retrieve time zone information, ``tzwinlocal`` retrieves the
|
||||
rules directly from the Windows registry and creates an object like
|
||||
:class:`dateutil.tz.tzwin`.
|
||||
|
||||
Because Windows does not have an equivalent of :func:`time.tzset`, on
|
||||
Windows, :class:`dateutil.tz.tzlocal` instances will always reflect the
|
||||
time zone settings *at the time that the process was started*, meaning
|
||||
changes to the machine's time zone settings during the run of a program
|
||||
on Windows will **not** be reflected by :class:`dateutil.tz.tzlocal`.
|
||||
Because ``tzwinlocal`` reads the registry directly, it is unaffected by
|
||||
this issue.
|
||||
"""
|
||||
def __init__(self):
|
||||
with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as handle:
|
||||
with winreg.OpenKey(handle, TZLOCALKEYNAME) as tzlocalkey:
|
||||
keydict = valuestodict(tzlocalkey)
|
||||
|
||||
self._std_abbr = keydict["StandardName"]
|
||||
self._dst_abbr = keydict["DaylightName"]
|
||||
|
||||
try:
|
||||
tzkeyname = text_type('{kn}\\{sn}').format(kn=TZKEYNAME,
|
||||
sn=self._std_abbr)
|
||||
with winreg.OpenKey(handle, tzkeyname) as tzkey:
|
||||
_keydict = valuestodict(tzkey)
|
||||
self._display = _keydict["Display"]
|
||||
except OSError:
|
||||
self._display = None
|
||||
|
||||
stdoffset = -keydict["Bias"]-keydict["StandardBias"]
|
||||
dstoffset = stdoffset-keydict["DaylightBias"]
|
||||
|
||||
self._std_offset = datetime.timedelta(minutes=stdoffset)
|
||||
self._dst_offset = datetime.timedelta(minutes=dstoffset)
|
||||
|
||||
# For reasons unclear, in this particular key, the day of week has been
|
||||
# moved to the END of the SYSTEMTIME structure.
|
||||
tup = struct.unpack("=8h", keydict["StandardStart"])
|
||||
|
||||
(self._stdmonth,
|
||||
self._stdweeknumber, # Last = 5
|
||||
self._stdhour,
|
||||
self._stdminute) = tup[1:5]
|
||||
|
||||
self._stddayofweek = tup[7]
|
||||
|
||||
tup = struct.unpack("=8h", keydict["DaylightStart"])
|
||||
|
||||
(self._dstmonth,
|
||||
self._dstweeknumber, # Last = 5
|
||||
self._dsthour,
|
||||
self._dstminute) = tup[1:5]
|
||||
|
||||
self._dstdayofweek = tup[7]
|
||||
|
||||
self._dst_base_offset_ = self._dst_offset - self._std_offset
|
||||
self.hasdst = self._get_hasdst()
|
||||
|
||||
def __repr__(self):
|
||||
return "tzwinlocal()"
|
||||
|
||||
def __str__(self):
|
||||
# str will return the standard name, not the daylight name.
|
||||
return "tzwinlocal(%s)" % repr(self._std_abbr)
|
||||
|
||||
def __reduce__(self):
|
||||
return (self.__class__, ())
|
||||
|
||||
|
||||
def picknthweekday(year, month, dayofweek, hour, minute, whichweek):
|
||||
""" dayofweek == 0 means Sunday, whichweek 5 means last instance """
|
||||
first = datetime.datetime(year, month, 1, hour, minute)
|
||||
|
||||
# This will work if dayofweek is ISO weekday (1-7) or Microsoft-style (0-6),
|
||||
# Because 7 % 7 = 0
|
||||
weekdayone = first.replace(day=((dayofweek - first.isoweekday()) % 7) + 1)
|
||||
wd = weekdayone + ((whichweek - 1) * ONEWEEK)
|
||||
if (wd.month != month):
|
||||
wd -= ONEWEEK
|
||||
|
||||
return wd
|
||||
|
||||
|
||||
def valuestodict(key):
|
||||
"""Convert a registry key's values to a dictionary."""
|
||||
dout = {}
|
||||
size = winreg.QueryInfoKey(key)[1]
|
||||
tz_res = None
|
||||
|
||||
for i in range(size):
|
||||
key_name, value, dtype = winreg.EnumValue(key, i)
|
||||
if dtype == winreg.REG_DWORD or dtype == winreg.REG_DWORD_LITTLE_ENDIAN:
|
||||
# If it's a DWORD (32-bit integer), it's stored as unsigned - convert
|
||||
# that to a proper signed integer
|
||||
if value & (1 << 31):
|
||||
value = value - (1 << 32)
|
||||
elif dtype == winreg.REG_SZ:
|
||||
# If it's a reference to the tzres DLL, load the actual string
|
||||
if value.startswith('@tzres'):
|
||||
tz_res = tz_res or tzres()
|
||||
value = tz_res.name_from_string(value)
|
||||
|
||||
value = value.rstrip('\x00') # Remove trailing nulls
|
||||
|
||||
dout[key_name] = value
|
||||
|
||||
return dout
|
||||
2
matPlotLib/env/lib/python3.7/site-packages/dateutil/tzwin.py
vendored
Normal file
2
matPlotLib/env/lib/python3.7/site-packages/dateutil/tzwin.py
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# tzwin has moved to dateutil.tz.win
|
||||
from .tz.win import *
|
||||
71
matPlotLib/env/lib/python3.7/site-packages/dateutil/utils.py
vendored
Normal file
71
matPlotLib/env/lib/python3.7/site-packages/dateutil/utils.py
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
This module offers general convenience and utility functions for dealing with
|
||||
datetimes.
|
||||
|
||||
.. versionadded:: 2.7.0
|
||||
"""
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from datetime import datetime, time
|
||||
|
||||
|
||||
def today(tzinfo=None):
|
||||
"""
|
||||
Returns a :py:class:`datetime` representing the current day at midnight
|
||||
|
||||
:param tzinfo:
|
||||
The time zone to attach (also used to determine the current day).
|
||||
|
||||
:return:
|
||||
A :py:class:`datetime.datetime` object representing the current day
|
||||
at midnight.
|
||||
"""
|
||||
|
||||
dt = datetime.now(tzinfo)
|
||||
return datetime.combine(dt.date(), time(0, tzinfo=tzinfo))
|
||||
|
||||
|
||||
def default_tzinfo(dt, tzinfo):
|
||||
"""
|
||||
Sets the ``tzinfo`` parameter on naive datetimes only
|
||||
|
||||
This is useful for example when you are provided a datetime that may have
|
||||
either an implicit or explicit time zone, such as when parsing a time zone
|
||||
string.
|
||||
|
||||
.. doctest::
|
||||
|
||||
>>> from dateutil.tz import tzoffset
|
||||
>>> from dateutil.parser import parse
|
||||
>>> from dateutil.utils import default_tzinfo
|
||||
>>> dflt_tz = tzoffset("EST", -18000)
|
||||
>>> print(default_tzinfo(parse('2014-01-01 12:30 UTC'), dflt_tz))
|
||||
2014-01-01 12:30:00+00:00
|
||||
>>> print(default_tzinfo(parse('2014-01-01 12:30'), dflt_tz))
|
||||
2014-01-01 12:30:00-05:00
|
||||
|
||||
:param dt:
|
||||
The datetime on which to replace the time zone
|
||||
|
||||
:param tzinfo:
|
||||
The :py:class:`datetime.tzinfo` subclass instance to assign to
|
||||
``dt`` if (and only if) it is naive.
|
||||
|
||||
:return:
|
||||
Returns an aware :py:class:`datetime.datetime`.
|
||||
"""
|
||||
if dt.tzinfo is not None:
|
||||
return dt
|
||||
else:
|
||||
return dt.replace(tzinfo=tzinfo)
|
||||
|
||||
|
||||
def within_delta(dt1, dt2, delta):
|
||||
"""
|
||||
Useful for comparing two datetimes that may a negilible difference
|
||||
to be considered equal.
|
||||
"""
|
||||
delta = abs(delta)
|
||||
difference = dt1 - dt2
|
||||
return -delta <= difference <= delta
|
||||
167
matPlotLib/env/lib/python3.7/site-packages/dateutil/zoneinfo/__init__.py
vendored
Normal file
167
matPlotLib/env/lib/python3.7/site-packages/dateutil/zoneinfo/__init__.py
vendored
Normal file
@@ -0,0 +1,167 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import warnings
|
||||
import json
|
||||
|
||||
from tarfile import TarFile
|
||||
from pkgutil import get_data
|
||||
from io import BytesIO
|
||||
|
||||
from dateutil.tz import tzfile as _tzfile
|
||||
|
||||
__all__ = ["get_zonefile_instance", "gettz", "gettz_db_metadata"]
|
||||
|
||||
ZONEFILENAME = "dateutil-zoneinfo.tar.gz"
|
||||
METADATA_FN = 'METADATA'
|
||||
|
||||
|
||||
class tzfile(_tzfile):
|
||||
def __reduce__(self):
|
||||
return (gettz, (self._filename,))
|
||||
|
||||
|
||||
def getzoneinfofile_stream():
|
||||
try:
|
||||
return BytesIO(get_data(__name__, ZONEFILENAME))
|
||||
except IOError as e: # TODO switch to FileNotFoundError?
|
||||
warnings.warn("I/O error({0}): {1}".format(e.errno, e.strerror))
|
||||
return None
|
||||
|
||||
|
||||
class ZoneInfoFile(object):
|
||||
def __init__(self, zonefile_stream=None):
|
||||
if zonefile_stream is not None:
|
||||
with TarFile.open(fileobj=zonefile_stream) as tf:
|
||||
self.zones = {zf.name: tzfile(tf.extractfile(zf), filename=zf.name)
|
||||
for zf in tf.getmembers()
|
||||
if zf.isfile() and zf.name != METADATA_FN}
|
||||
# deal with links: They'll point to their parent object. Less
|
||||
# waste of memory
|
||||
links = {zl.name: self.zones[zl.linkname]
|
||||
for zl in tf.getmembers() if
|
||||
zl.islnk() or zl.issym()}
|
||||
self.zones.update(links)
|
||||
try:
|
||||
metadata_json = tf.extractfile(tf.getmember(METADATA_FN))
|
||||
metadata_str = metadata_json.read().decode('UTF-8')
|
||||
self.metadata = json.loads(metadata_str)
|
||||
except KeyError:
|
||||
# no metadata in tar file
|
||||
self.metadata = None
|
||||
else:
|
||||
self.zones = {}
|
||||
self.metadata = None
|
||||
|
||||
def get(self, name, default=None):
|
||||
"""
|
||||
Wrapper for :func:`ZoneInfoFile.zones.get`. This is a convenience method
|
||||
for retrieving zones from the zone dictionary.
|
||||
|
||||
:param name:
|
||||
The name of the zone to retrieve. (Generally IANA zone names)
|
||||
|
||||
:param default:
|
||||
The value to return in the event of a missing key.
|
||||
|
||||
.. versionadded:: 2.6.0
|
||||
|
||||
"""
|
||||
return self.zones.get(name, default)
|
||||
|
||||
|
||||
# The current API has gettz as a module function, although in fact it taps into
|
||||
# a stateful class. So as a workaround for now, without changing the API, we
|
||||
# will create a new "global" class instance the first time a user requests a
|
||||
# timezone. Ugly, but adheres to the api.
|
||||
#
|
||||
# TODO: Remove after deprecation period.
|
||||
_CLASS_ZONE_INSTANCE = []
|
||||
|
||||
|
||||
def get_zonefile_instance(new_instance=False):
|
||||
"""
|
||||
This is a convenience function which provides a :class:`ZoneInfoFile`
|
||||
instance using the data provided by the ``dateutil`` package. By default, it
|
||||
caches a single instance of the ZoneInfoFile object and returns that.
|
||||
|
||||
:param new_instance:
|
||||
If ``True``, a new instance of :class:`ZoneInfoFile` is instantiated and
|
||||
used as the cached instance for the next call. Otherwise, new instances
|
||||
are created only as necessary.
|
||||
|
||||
:return:
|
||||
Returns a :class:`ZoneInfoFile` object.
|
||||
|
||||
.. versionadded:: 2.6
|
||||
"""
|
||||
if new_instance:
|
||||
zif = None
|
||||
else:
|
||||
zif = getattr(get_zonefile_instance, '_cached_instance', None)
|
||||
|
||||
if zif is None:
|
||||
zif = ZoneInfoFile(getzoneinfofile_stream())
|
||||
|
||||
get_zonefile_instance._cached_instance = zif
|
||||
|
||||
return zif
|
||||
|
||||
|
||||
def gettz(name):
|
||||
"""
|
||||
This retrieves a time zone from the local zoneinfo tarball that is packaged
|
||||
with dateutil.
|
||||
|
||||
:param name:
|
||||
An IANA-style time zone name, as found in the zoneinfo file.
|
||||
|
||||
:return:
|
||||
Returns a :class:`dateutil.tz.tzfile` time zone object.
|
||||
|
||||
.. warning::
|
||||
It is generally inadvisable to use this function, and it is only
|
||||
provided for API compatibility with earlier versions. This is *not*
|
||||
equivalent to ``dateutil.tz.gettz()``, which selects an appropriate
|
||||
time zone based on the inputs, favoring system zoneinfo. This is ONLY
|
||||
for accessing the dateutil-specific zoneinfo (which may be out of
|
||||
date compared to the system zoneinfo).
|
||||
|
||||
.. deprecated:: 2.6
|
||||
If you need to use a specific zoneinfofile over the system zoneinfo,
|
||||
instantiate a :class:`dateutil.zoneinfo.ZoneInfoFile` object and call
|
||||
:func:`dateutil.zoneinfo.ZoneInfoFile.get(name)` instead.
|
||||
|
||||
Use :func:`get_zonefile_instance` to retrieve an instance of the
|
||||
dateutil-provided zoneinfo.
|
||||
"""
|
||||
warnings.warn("zoneinfo.gettz() will be removed in future versions, "
|
||||
"to use the dateutil-provided zoneinfo files, instantiate a "
|
||||
"ZoneInfoFile object and use ZoneInfoFile.zones.get() "
|
||||
"instead. See the documentation for details.",
|
||||
DeprecationWarning)
|
||||
|
||||
if len(_CLASS_ZONE_INSTANCE) == 0:
|
||||
_CLASS_ZONE_INSTANCE.append(ZoneInfoFile(getzoneinfofile_stream()))
|
||||
return _CLASS_ZONE_INSTANCE[0].zones.get(name)
|
||||
|
||||
|
||||
def gettz_db_metadata():
|
||||
""" Get the zonefile metadata
|
||||
|
||||
See `zonefile_metadata`_
|
||||
|
||||
:returns:
|
||||
A dictionary with the database metadata
|
||||
|
||||
.. deprecated:: 2.6
|
||||
See deprecation warning in :func:`zoneinfo.gettz`. To get metadata,
|
||||
query the attribute ``zoneinfo.ZoneInfoFile.metadata``.
|
||||
"""
|
||||
warnings.warn("zoneinfo.gettz_db_metadata() will be removed in future "
|
||||
"versions, to use the dateutil-provided zoneinfo files, "
|
||||
"ZoneInfoFile object and query the 'metadata' attribute "
|
||||
"instead. See the documentation for details.",
|
||||
DeprecationWarning)
|
||||
|
||||
if len(_CLASS_ZONE_INSTANCE) == 0:
|
||||
_CLASS_ZONE_INSTANCE.append(ZoneInfoFile(getzoneinfofile_stream()))
|
||||
return _CLASS_ZONE_INSTANCE[0].metadata
|
||||
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/zoneinfo/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/zoneinfo/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/zoneinfo/__pycache__/rebuild.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/zoneinfo/__pycache__/rebuild.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz
vendored
Normal file
Binary file not shown.
53
matPlotLib/env/lib/python3.7/site-packages/dateutil/zoneinfo/rebuild.py
vendored
Normal file
53
matPlotLib/env/lib/python3.7/site-packages/dateutil/zoneinfo/rebuild.py
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
import logging
|
||||
import os
|
||||
import tempfile
|
||||
import shutil
|
||||
import json
|
||||
from subprocess import check_call
|
||||
from tarfile import TarFile
|
||||
|
||||
from dateutil.zoneinfo import METADATA_FN, ZONEFILENAME
|
||||
|
||||
|
||||
def rebuild(filename, tag=None, format="gz", zonegroups=[], metadata=None):
|
||||
"""Rebuild the internal timezone info in dateutil/zoneinfo/zoneinfo*tar*
|
||||
|
||||
filename is the timezone tarball from ``ftp.iana.org/tz``.
|
||||
|
||||
"""
|
||||
tmpdir = tempfile.mkdtemp()
|
||||
zonedir = os.path.join(tmpdir, "zoneinfo")
|
||||
moduledir = os.path.dirname(__file__)
|
||||
try:
|
||||
with TarFile.open(filename) as tf:
|
||||
for name in zonegroups:
|
||||
tf.extract(name, tmpdir)
|
||||
filepaths = [os.path.join(tmpdir, n) for n in zonegroups]
|
||||
try:
|
||||
check_call(["zic", "-d", zonedir] + filepaths)
|
||||
except OSError as e:
|
||||
_print_on_nosuchfile(e)
|
||||
raise
|
||||
# write metadata file
|
||||
with open(os.path.join(zonedir, METADATA_FN), 'w') as f:
|
||||
json.dump(metadata, f, indent=4, sort_keys=True)
|
||||
target = os.path.join(moduledir, ZONEFILENAME)
|
||||
with TarFile.open(target, "w:%s" % format) as tf:
|
||||
for entry in os.listdir(zonedir):
|
||||
entrypath = os.path.join(zonedir, entry)
|
||||
tf.add(entrypath, entry)
|
||||
finally:
|
||||
shutil.rmtree(tmpdir)
|
||||
|
||||
|
||||
def _print_on_nosuchfile(e):
|
||||
"""Print helpful troubleshooting message
|
||||
|
||||
e is an exception raised by subprocess.check_call()
|
||||
|
||||
"""
|
||||
if e.errno == 2:
|
||||
logging.error(
|
||||
"Could not find zic. Perhaps you need to install "
|
||||
"libc-bin or some other package that provides it, "
|
||||
"or it's not in your PATH?")
|
||||
2
matPlotLib/env/lib/python3.7/site-packages/easy-install.pth
vendored
Normal file
2
matPlotLib/env/lib/python3.7/site-packages/easy-install.pth
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
./setuptools-40.8.0-py3.7.egg
|
||||
./pip-19.0.3-py3.7.egg
|
||||
1
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/INSTALLER
vendored
Normal file
1
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/INSTALLER
vendored
Normal file
@@ -0,0 +1 @@
|
||||
pip
|
||||
71
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/LICENSE
vendored
Normal file
71
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/LICENSE
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
=========================
|
||||
The Kiwi licensing terms
|
||||
=========================
|
||||
Kiwi is licensed under the terms of the Modified BSD License (also known as
|
||||
New or Revised BSD), as follows:
|
||||
|
||||
Copyright (c) 2013, Nucleic Development Team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright notice, this
|
||||
list of conditions and the following disclaimer in the documentation and/or
|
||||
other materials provided with the distribution.
|
||||
|
||||
Neither the name of the Nucleic Development Team nor the names of its
|
||||
contributors may be used to endorse or promote products derived from this
|
||||
software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
About Kiwi
|
||||
----------
|
||||
Chris Colbert began the Kiwi project in December 2013 in an effort to
|
||||
create a blisteringly fast UI constraint solver. Chris is still the
|
||||
project lead.
|
||||
|
||||
The Nucleic Development Team is the set of all contributors to the Nucleic
|
||||
project and its subprojects.
|
||||
|
||||
The core team that coordinates development on GitHub can be found here:
|
||||
http://github.com/nucleic. The current team consists of:
|
||||
|
||||
* Chris Colbert
|
||||
|
||||
Our Copyright Policy
|
||||
--------------------
|
||||
Nucleic uses a shared copyright model. Each contributor maintains copyright
|
||||
over their contributions to Nucleic. But, it is important to note that these
|
||||
contributions are typically only changes to the repositories. Thus, the Nucleic
|
||||
source code, in its entirety is not the copyright of any single person or
|
||||
institution. Instead, it is the collective copyright of the entire Nucleic
|
||||
Development Team. If individual contributors want to maintain a record of what
|
||||
changes/contributions they have specific copyright on, they should indicate
|
||||
their copyright in the commit message of the change, when they commit the
|
||||
change to one of the Nucleic repositories.
|
||||
|
||||
With this in mind, the following banner should be used in any source code file
|
||||
to indicate the copyright and license terms:
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (c) 2013, Nucleic Development Team.
|
||||
#
|
||||
# Distributed under the terms of the Modified BSD License.
|
||||
#
|
||||
# The full license is in the file COPYING.txt, distributed with this software.
|
||||
#------------------------------------------------------------------------------
|
||||
42
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/METADATA
vendored
Normal file
42
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/METADATA
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: kiwisolver
|
||||
Version: 1.1.0
|
||||
Summary: A fast implementation of the Cassowary constraint solver
|
||||
Home-page: https://github.com/nucleic/kiwi
|
||||
Author: The Nucleic Development Team
|
||||
Author-email: sccolbert@gmail.com
|
||||
License: BSD
|
||||
Platform: UNKNOWN
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 2
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.4
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: Implementation :: CPython
|
||||
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
|
||||
Requires-Dist: setuptools
|
||||
|
||||
Welcome to Kiwi
|
||||
===============
|
||||
|
||||
.. image:: https://travis-ci.org/nucleic/kiwi.svg?branch=master
|
||||
:target: https://travis-ci.org/nucleic/kiwi
|
||||
.. image:: https://codecov.io/gh/nucleic/kiwi/branch/master/graph/badge.svg
|
||||
:target: https://codecov.io/gh/nucleic/kiwi
|
||||
.. image:: https://readthedocs.org/projects/kiwisolver/badge/?version=latest
|
||||
:target: https://kiwisolver.readthedocs.io/en/latest/?badge=latest
|
||||
:alt: Documentation Status
|
||||
|
||||
Kiwi is an efficient C++ implementation of the Cassowary constraint solving
|
||||
algorithm. Kiwi is an implementation of the algorithm based on the seminal
|
||||
Cassowary paper. It is *not* a refactoring of the original C++ solver. Kiwi
|
||||
has been designed from the ground up to be lightweight and fast. Kiwi ranges
|
||||
from 10x to 500x faster than the original Cassowary solver with typical use
|
||||
cases gaining a 40x improvement. Memory savings are consistently > 5x.
|
||||
|
||||
In addition to the C++ solver, Kiwi ships with hand-rolled Python bindings.
|
||||
|
||||
|
||||
7
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/RECORD
vendored
Normal file
7
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/RECORD
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
kiwisolver-1.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
kiwisolver-1.1.0.dist-info/LICENSE,sha256=lcMvc9Q_pU2BRrrby9c7g6y3-izIGnzvd4SzzTOxRqA,3283
|
||||
kiwisolver-1.1.0.dist-info/METADATA,sha256=nNIX_Qo2CTCeL6nPZLrhr-TNSrYMzYp_Krcdf9U2noQ,1789
|
||||
kiwisolver-1.1.0.dist-info/RECORD,,
|
||||
kiwisolver-1.1.0.dist-info/WHEEL,sha256=-Chwak5Qy0hGs6ewp-taz7lEVvI-UnovhDtvO0corjc,249
|
||||
kiwisolver-1.1.0.dist-info/top_level.txt,sha256=xqwWj7oSHlpIjcw2QMJb8puTFPdjDBO78AZp9gjTh9c,11
|
||||
kiwisolver.cpython-37m-darwin.so,sha256=CbdFSU_F1KDmmujJ8ZdlerJctIxyKcsDtzYSfxI6iFs,370124
|
||||
9
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/WHEEL
vendored
Normal file
9
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/WHEEL
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.33.1)
|
||||
Root-Is-Purelib: false
|
||||
Tag: cp37-cp37m-macosx_10_6_intel
|
||||
Tag: cp37-cp37m-macosx_10_9_intel
|
||||
Tag: cp37-cp37m-macosx_10_9_x86_64
|
||||
Tag: cp37-cp37m-macosx_10_10_intel
|
||||
Tag: cp37-cp37m-macosx_10_10_x86_64
|
||||
|
||||
1
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/top_level.txt
vendored
Normal file
1
matPlotLib/env/lib/python3.7/site-packages/kiwisolver-1.1.0.dist-info/top_level.txt
vendored
Normal file
@@ -0,0 +1 @@
|
||||
kiwisolver
|
||||
BIN
matPlotLib/env/lib/python3.7/site-packages/kiwisolver.cpython-37m-darwin.so
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/kiwisolver.cpython-37m-darwin.so
vendored
Normal file
Binary file not shown.
1
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3-py3.7-nspkg.pth
vendored
Normal file
1
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3-py3.7-nspkg.pth
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import sys, types, os;has_mfs = sys.version_info > (3, 5);p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('mpl_toolkits',));importlib = has_mfs and __import__('importlib.util');has_mfs and __import__('importlib.machinery');m = has_mfs and sys.modules.setdefault('mpl_toolkits', importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec('mpl_toolkits', [os.path.dirname(p)])));m = m or sys.modules.setdefault('mpl_toolkits', types.ModuleType('mpl_toolkits'));mp = (m or []) and m.__dict__.setdefault('__path__',[]);(p not in mp) and mp.append(p)
|
||||
1
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/INSTALLER
vendored
Normal file
1
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/INSTALLER
vendored
Normal file
@@ -0,0 +1 @@
|
||||
pip
|
||||
35
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/METADATA
vendored
Normal file
35
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/METADATA
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: matplotlib
|
||||
Version: 3.1.3
|
||||
Summary: Python plotting package
|
||||
Home-page: https://matplotlib.org
|
||||
Author: John D. Hunter, Michael Droettboom
|
||||
Author-email: matplotlib-users@python.org
|
||||
License: PSF
|
||||
Download-URL: https://matplotlib.org/users/installing.html
|
||||
Project-URL: Bug Tracker, https://github.com/matplotlib/matplotlib/issues
|
||||
Project-URL: Documentation, https://matplotlib.org/contents.html
|
||||
Project-URL: Source Code, https://github.com/matplotlib/matplotlib
|
||||
Platform: any
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Intended Audience :: Science/Research
|
||||
Classifier: License :: OSI Approved :: Python Software Foundation License
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Topic :: Scientific/Engineering :: Visualization
|
||||
Requires-Python: >=3.6
|
||||
Requires-Dist: cycler (>=0.10)
|
||||
Requires-Dist: kiwisolver (>=1.0.1)
|
||||
Requires-Dist: pyparsing (!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1)
|
||||
Requires-Dist: python-dateutil (>=2.1)
|
||||
Requires-Dist: numpy (>=1.11)
|
||||
|
||||
|
||||
Matplotlib strives to produce publication quality 2D graphics
|
||||
for interactive graphing, scientific publishing, user interface
|
||||
development and web application servers targeting multiple user
|
||||
interfaces and hardcopy output formats.
|
||||
|
||||
|
||||
930
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/RECORD
vendored
Normal file
930
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/RECORD
vendored
Normal file
@@ -0,0 +1,930 @@
|
||||
__pycache__/pylab.cpython-37.pyc,,
|
||||
matplotlib-3.1.3-py3.7-nspkg.pth,sha256=FgO_3ug071EXEKT8mgOPBUhyrswPtPCYjOpUCyau7UU,569
|
||||
matplotlib-3.1.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
matplotlib-3.1.3.dist-info/METADATA,sha256=eDVsfysePyfsfzW-UP6vMQl0zUaoszmZ9-DZpA5cspQ,1382
|
||||
matplotlib-3.1.3.dist-info/RECORD,,
|
||||
matplotlib-3.1.3.dist-info/WHEEL,sha256=ePSmKDYpHLRUYc6QuHiYMO-IoN8XmQMJmY2AHxzV4Bc,110
|
||||
matplotlib-3.1.3.dist-info/namespace_packages.txt,sha256=A2PHFg9NKYOU4pEQ1h97U0Qd-rB-65W34XqC-56ZN9g,13
|
||||
matplotlib-3.1.3.dist-info/top_level.txt,sha256=9tEw2ni8DdgX8CceoYHqSH1s50vrJ9SDfgtLIG8e3Y4,30
|
||||
matplotlib/.dylibs/libpng16.16.dylib,sha256=B-wfMGlN75tl8a1dKTpmtOB5UlUeCKqHC1NGhMPpEPo,277940
|
||||
matplotlib/.dylibs/libz.1.2.10.dylib,sha256=HrNoqC_fd2sHUFC0KZcf86cCm8REqmyTuTjyfB4TkdE,126636
|
||||
matplotlib/__init__.py,sha256=_EUN1IEcOqrIeXa55MF07-Ge3ON8Yf3PKZ0EQi819bg,56445
|
||||
matplotlib/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/_animation_data.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/_cm.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/_cm_listed.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/_color_data.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/_constrained_layout.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/_layoutbox.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/_mathtext_data.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/_pylab_helpers.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/_version.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/afm.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/animation.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/artist.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/axis.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/backend_bases.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/backend_managers.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/backend_tools.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/bezier.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/blocking_input.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/category.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/cm.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/collections.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/colorbar.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/colors.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/container.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/contour.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/dates.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/docstring.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/dviread.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/figure.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/font_manager.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/fontconfig_pattern.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/gridspec.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/hatch.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/image.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/legend.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/legend_handler.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/lines.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/markers.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/mathtext.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/mlab.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/offsetbox.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/patches.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/path.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/patheffects.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/pylab.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/pyplot.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/quiver.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/rcsetup.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/sankey.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/scale.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/spines.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/stackplot.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/streamplot.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/table.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/texmanager.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/text.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/textpath.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/ticker.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/tight_bbox.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/tight_layout.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/transforms.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/type1font.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/units.cpython-37.pyc,,
|
||||
matplotlib/__pycache__/widgets.cpython-37.pyc,,
|
||||
matplotlib/_animation_data.py,sha256=yClmMx6K-y6pjG3FdHancRyRhyneFuBEbQZ_lhezVys,7499
|
||||
matplotlib/_cm.py,sha256=QXe4aTlOoE0dphzUD-yRTI2LiwjXLajO6ORplHSlDL0,66617
|
||||
matplotlib/_cm_listed.py,sha256=EpTjQ6pZ9E_UeY4kDa6fU9za_VHBvhuOmCG6fwNRvlk,98362
|
||||
matplotlib/_color_data.py,sha256=tbElcmqb3UvQzMAN3ThiODfFUdxK2hMB2kddXnXdCy4,34777
|
||||
matplotlib/_constrained_layout.py,sha256=vzrlJO-j01hfOs4Pf0eQdVjpChVflwS_Zf4NJgZ_0Uw,30103
|
||||
matplotlib/_contour.cpython-37m-darwin.so,sha256=sIyymkwzAnechuJWhrKnKq1nXjH6m2Ba62UvHzffue0,106612
|
||||
matplotlib/_image.cpython-37m-darwin.so,sha256=Lo3YjYKrnyKySHALUQrjODREUEWdwcpGhyUxxa_u8xM,348012
|
||||
matplotlib/_layoutbox.py,sha256=daKACOWkdrfWq474LJGEl6eBrMYn-5buG_l8BUs_STo,24283
|
||||
matplotlib/_mathtext_data.py,sha256=CmKFRW6mXCJqgZSQaiNOSG_VUn9WiSx5Hrg-4qKIn14,89371
|
||||
matplotlib/_path.cpython-37m-darwin.so,sha256=bfFt9EyZswUzv_FwNnH_-2hUO5uIk70G0EC3R1K7AkI,214744
|
||||
matplotlib/_png.cpython-37m-darwin.so,sha256=jAKq3r7YvgHVUwVCpLF4EHfs7aJnktPJ7Q46ECjCRKM,43636
|
||||
matplotlib/_pylab_helpers.py,sha256=t5iyTlFNczfZdwizeNg5jT_ADtPAF1VrdTZZRFBLK9Y,3455
|
||||
matplotlib/_qhull.cpython-37m-darwin.so,sha256=XAkEeWMS9w2ZK3bMMnEO_mEqx1xI3E-pzJvaDAERadg,435992
|
||||
matplotlib/_tri.cpython-37m-darwin.so,sha256=EntwPGQL5fmdTTLnG2AEyslt5RFmOfEhVZpMLSfOGew,140092
|
||||
matplotlib/_version.py,sha256=mQvwV8m97olHMP0LTgkZ1cMQGoG-Dxv4AVsKiKfoLMM,471
|
||||
matplotlib/afm.py,sha256=ot_qN9D42DFMwPc8qHnVQD_y_RN0NhUaSLL2B47fYq8,17598
|
||||
matplotlib/animation.py,sha256=4L-EP2dAbB3Fp3nitqYokptjk3lfymS_dhskPjr6bGI,67710
|
||||
matplotlib/artist.py,sha256=TF8IxC4pTI6ZWW-izavBYlEpWpyosSllLro6eN0Eww0,51915
|
||||
matplotlib/axes/__init__.py,sha256=npQuBvs_xEBEGUP2-BBZzCrelsAQYgB1U96kSZTSWIs,46
|
||||
matplotlib/axes/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/axes/__pycache__/_axes.cpython-37.pyc,,
|
||||
matplotlib/axes/__pycache__/_base.cpython-37.pyc,,
|
||||
matplotlib/axes/__pycache__/_secondary_axes.cpython-37.pyc,,
|
||||
matplotlib/axes/__pycache__/_subplots.cpython-37.pyc,,
|
||||
matplotlib/axes/_axes.py,sha256=nybcaVj5CULmoungcrJxPW70BFYo6MSds-b3CaxIe1k,315318
|
||||
matplotlib/axes/_base.py,sha256=O8YdBJ9WaRo77MOAqplNaGyrT3pBYsGqGMZYhELu5pI,159150
|
||||
matplotlib/axes/_secondary_axes.py,sha256=z2F2hBVHqspZbGq6OGu--ij49X5qf-nSu_W6DeJuEKM,15730
|
||||
matplotlib/axes/_subplots.py,sha256=bO0OHbAOfySyAGGfa3Drv9pBvdRauQJzspelG8SSQF4,9569
|
||||
matplotlib/axis.py,sha256=-CmE-8Rowr7ln9jhSEUBa3CQnBz3AOeDQiLB1NVUMWw,89931
|
||||
matplotlib/backend_bases.py,sha256=I--c1sQ2YXnDxyXsxzmQ5IYj0F1LRblwLIgt-yqDlzQ,114816
|
||||
matplotlib/backend_managers.py,sha256=bJ5nQeMWA4kYaW2xYQFJXoK5bwpJr7Wf3Szu9fDulbc,12851
|
||||
matplotlib/backend_tools.py,sha256=w5gq3pyuFWlJ3PJyO28rgRrTTEbdIapHdOVyXF5POZI,36281
|
||||
matplotlib/backends/__init__.py,sha256=rA4YyK6cq3LHtbPYXsUJKgNQ4fIqeVScNz4aS5SxOTE,3522
|
||||
matplotlib/backends/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/_backend_pdf_ps.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/_backend_tk.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_agg.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_cairo.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_gtk3.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_gtk3agg.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_gtk3cairo.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_macosx.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_mixed.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_nbagg.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_pdf.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_pgf.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_ps.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_qt4.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_qt4agg.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_qt4cairo.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_qt5.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_qt5agg.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_qt5cairo.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_svg.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_template.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_tkagg.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_tkcairo.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_webagg.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_webagg_core.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_wx.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_wxagg.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/backend_wxcairo.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/qt_compat.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/tkagg.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/windowing.cpython-37.pyc,,
|
||||
matplotlib/backends/__pycache__/wx_compat.cpython-37.pyc,,
|
||||
matplotlib/backends/_backend_agg.cpython-37m-darwin.so,sha256=x7VvQOBTONTXleRPjdPp98zVrH5pNXaUKATjnOxHUL4,404328
|
||||
matplotlib/backends/_backend_pdf_ps.py,sha256=T8x_NWAo9_Wvnpw6HnsneRI9AyAxcp80TDe-z2eosbM,2709
|
||||
matplotlib/backends/_backend_tk.py,sha256=7ysrzE0nKM0TBXWInRTA71je3LhlYVHVEqu1n6o9-lM,35445
|
||||
matplotlib/backends/_macosx.cpython-37m-darwin.so,sha256=M7XU_HkpsnqtxO5x4CmaHh0Gefvnv0RSYbi6-X5Wgf8,90140
|
||||
matplotlib/backends/_tkagg.cpython-37m-darwin.so,sha256=epx0Q0VI_qnldt2mnYq62sSuLkuT_jH2JQA-W29v26s,38192
|
||||
matplotlib/backends/backend_agg.py,sha256=PeIUQHicz5keVfsF4G-rIcj12fA2ytiEJv9YjOMCmOE,22339
|
||||
matplotlib/backends/backend_cairo.py,sha256=wmplcjn0-06WsCJPTpFYKhZSzW3afGXvhFp89DwJVVM,17472
|
||||
matplotlib/backends/backend_gtk3.py,sha256=UzRc3Kr78Aid3WP-TSSJgUgudkqGKFwCkirE-hhu1P8,34276
|
||||
matplotlib/backends/backend_gtk3agg.py,sha256=wyyHAe5ZaZX1oqcIbeS1GZd8DDUm3tBezicXGcFEE9s,2997
|
||||
matplotlib/backends/backend_gtk3cairo.py,sha256=RKQQ98HyXrU8JCSP0rpP58wPuTJi4SYcPWdZDKa8GR8,1546
|
||||
matplotlib/backends/backend_macosx.py,sha256=m_GI_WAkulM9KdJa0rRpmI2QL-rZgPQ_q20D67OYmqI,6105
|
||||
matplotlib/backends/backend_mixed.py,sha256=fA7CGIMyqPko0LnTyNvL1q7anGQ5ca4-N9gGdtcAVRo,5288
|
||||
matplotlib/backends/backend_nbagg.py,sha256=ypFZW0An4Vf2gQ5dF-EPsdQaQ70UlmToURTS2OiW-Ic,8958
|
||||
matplotlib/backends/backend_pdf.py,sha256=LpQhsa7GePIrIQTWtzvy0zpkUEbFWEihmVQuEjVgog0,95012
|
||||
matplotlib/backends/backend_pgf.py,sha256=YBQDULT7uObs17fXonNVDAZvMvzqtzgMOQFarmavBKM,42252
|
||||
matplotlib/backends/backend_ps.py,sha256=rDxuGCltL3IyXcTKF1z3UGhP-pg8_ZuuTPkyHUrIGyM,56453
|
||||
matplotlib/backends/backend_qt4.py,sha256=x9KHRXMxJfmlJ-6lMdmKrw9cGe5RlZAAGjk1Ga1xX2c,410
|
||||
matplotlib/backends/backend_qt4agg.py,sha256=xTZMUL161hqcsOKSeU4sEs9kYloQrC7_OJjfyuYUAp0,245
|
||||
matplotlib/backends/backend_qt4cairo.py,sha256=B-LD_AECxVVsZA6Zb-oxoN39iM-GUNl81LR7nVaJ8q4,159
|
||||
matplotlib/backends/backend_qt5.py,sha256=Kk3WFFMwT-h9_VoXc4XVo404Iffu2F2uk8HecTSBOjU,40491
|
||||
matplotlib/backends/backend_qt5agg.py,sha256=3ahfochP21y8Hw30wy-4n6SlFzPTJPNWNO5iVSGa7vM,3569
|
||||
matplotlib/backends/backend_qt5cairo.py,sha256=YzXN1Ckr6JLS2r50LPxeypajdWccXaHoXC5QZ4VWrEY,1892
|
||||
matplotlib/backends/backend_svg.py,sha256=wxAdczfj3B1cnN-_5fEhiaxAvI9KoADthJDQM_ixLEY,43696
|
||||
matplotlib/backends/backend_template.py,sha256=A0YC5DI5txrRuNST4vuc5DQ6xiwDiNOURM81IJbpAtE,9242
|
||||
matplotlib/backends/backend_tkagg.py,sha256=WMslLWYmtxlmAaBH4tx4HjmRDWMKiSV91KHF9yeMRng,676
|
||||
matplotlib/backends/backend_tkcairo.py,sha256=dVCh7ZD_2OR0DBQ0N3icD8cDV1SeEzCsRja446wWhPw,1069
|
||||
matplotlib/backends/backend_webagg.py,sha256=vKVC76QCHrpsy22p4Z_Vx2UZRfiAPU3Qr7fwdrf-sxM,11191
|
||||
matplotlib/backends/backend_webagg_core.py,sha256=5Ln-CpJ65S8grBHEW3gUqe_PcMmCKgM-dn2dLultFQc,17533
|
||||
matplotlib/backends/backend_wx.py,sha256=WT57kcfl7Xagg0PErB_Rt5cf5u6XI6kxqHBLtqgR98Y,68489
|
||||
matplotlib/backends/backend_wxagg.py,sha256=h8JqEqAtEzILMG61QXxhqEHBfIv6GS20-ybhNHeWO_E,3158
|
||||
matplotlib/backends/backend_wxcairo.py,sha256=VC5TyJaX8TPLSgHv5ckAreoGrY_KiNRMQjVInMLlcFk,1843
|
||||
matplotlib/backends/qt_compat.py,sha256=eMamsy7UoQMQeGyb-oTf5mQYxAHWctdYLTh_nRaFXkQ,6181
|
||||
matplotlib/backends/qt_editor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
matplotlib/backends/qt_editor/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/backends/qt_editor/__pycache__/_formlayout.cpython-37.pyc,,
|
||||
matplotlib/backends/qt_editor/__pycache__/figureoptions.cpython-37.pyc,,
|
||||
matplotlib/backends/qt_editor/__pycache__/formlayout.cpython-37.pyc,,
|
||||
matplotlib/backends/qt_editor/__pycache__/formsubplottool.cpython-37.pyc,,
|
||||
matplotlib/backends/qt_editor/_formlayout.py,sha256=Y6iflN1ECLQTD4VwZs5zUZ7iujk9PbcN1NCh4nZ2h-4,20583
|
||||
matplotlib/backends/qt_editor/figureoptions.py,sha256=eJVDlfPJVe31bW663ciiCbcMT9S-iMzRFaGAO5bZDdg,9606
|
||||
matplotlib/backends/qt_editor/formlayout.py,sha256=ERfmFwpvhl168PWNTJ0SFhQmPuSrmjzFNOe_puUCoSE,177
|
||||
matplotlib/backends/qt_editor/formsubplottool.py,sha256=HiiXkwCotra_hI9JU208KOs8Q9JuGH1uAW3mV5l3Evg,1934
|
||||
matplotlib/backends/tkagg.py,sha256=6-JtCBp9RKkv9xEumuWh-IMaSKny1AJCRE3K7DNcGsA,1304
|
||||
matplotlib/backends/web_backend/all_figures.html,sha256=m20aQIhuI4GBdrgZg_j02zSVjAcTRUufPOMSe4i7ayc,1525
|
||||
matplotlib/backends/web_backend/css/boilerplate.css,sha256=qui16QXRnQFNJDbcMasfH6KtN9hLjv8883U9cJmsVCE,2310
|
||||
matplotlib/backends/web_backend/css/fbm.css,sha256=Us0osu_rK8EUAdp_GXrh89tN_hUNCN-r7N1T1NvmmwI,1473
|
||||
matplotlib/backends/web_backend/css/page.css,sha256=Djf6ZNMFaM6_hVaizSkDFoqk-jn81qgduwles4AroGk,1599
|
||||
matplotlib/backends/web_backend/ipython_inline_figure.html,sha256=mzi-yWg4fcO6PdtTBCfiNuvcv04T53lcRQi-8hphwuE,1305
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/AUTHORS.txt,sha256=W2Lh1mbGo3Owc0oXX9U1-TFVSZYaC72KvSRrrRp3UII,12660
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/LICENSE.txt,sha256=3jP7aViA0LB2FdS4b3jNQ3lpBpWa3l_f73CWiCeg23g,1817
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/external/jquery/jquery.js,sha256=Qw82-bXyGq6MydymqBxNPYTaUXXq7c8v3CwiYwLLNXU,293430
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/images/ui-icons_444444_256x240.png,sha256=6vfH7idHJ13abFPnMaENsaexX0-7RuG2nWuyBWvJ_YE,7006
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/images/ui-icons_555555_256x240.png,sha256=XQQFHf2dLXQDVUBPmKaD0ewP6y_KfXblM8Gm5c6S3S4,7074
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/images/ui-icons_777620_256x240.png,sha256=nb5KDQP-7W9l6yVgoKi0ukJkVF7o_THBdjo7IZ0DKNY,4676
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png,sha256=51snIR4W_PlHFRaAAbtwVco3bUb5KBELo9CCUjJFLlo,7013
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png,sha256=AokVddQ1jp7d4-QtlAV_jp-CqdZDdvce6GzvFJ0wU34,4632
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/images/ui-icons_ffffff_256x240.png,sha256=trBt7vK5JMw4NdY_SIPUeIJzSjPnGyEtkXpozt47jp0,6313
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/index.html,sha256=5g7_MLZlkh92FXWOR0q02My8knssXq20DXz-BkiYiP4,32588
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/jquery-ui.css,sha256=p6xU9YulB7E2Ic62_PX-h59ayb3PBJ0WFTEQxq0EjHw,37326
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/jquery-ui.js,sha256=T0Vest3yCU7pafRw9r-settMBX6JkKN06dqBnpQ8d30,520714
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/jquery-ui.min.css,sha256=rByPlHULObEjJ6XQxW_flG2r-22R5dKiAoef-aXWfik,32076
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/jquery-ui.min.js,sha256=KM512VNnjElC30ehFwehXjx1YCHPiQkOPmqnrWtpccM,253669
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/jquery-ui.structure.css,sha256=E1uqV-d412nbSI-oqDMIQsTSttP-FS7Bxwc7mQdQYOo,18705
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/jquery-ui.structure.min.css,sha256=rxais37anKUnpL5QzSYte-JnIsmkGmLG-ZhKSkZkwVM,15548
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/jquery-ui.theme.css,sha256=mEMD30TTg-vIEGUmHHgcgSOgm0FBfLipyQ97Jr0TTH8,18671
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/jquery-ui.theme.min.css,sha256=AjyoyaRtnGVTywKH_Isxxu5PXI0s4CcE0BzPAX83Ppc,13849
|
||||
matplotlib/backends/web_backend/jquery-ui-1.12.1/package.json,sha256=kjEW8xMYuqRSwEE58KqTDNLgkx_6YL7tb1M9vlMK98w,1847
|
||||
matplotlib/backends/web_backend/jquery/js/jquery.js,sha256=kaIBSZlozqJ4IeqPwOlDOi97qhNHWTchpUedwo5-gMU,284395
|
||||
matplotlib/backends/web_backend/jquery/js/jquery.min.js,sha256=7LkWEzqTdpEfELxcZZlS6wAx5Ff13zZ83lYO2_ujj7g,95957
|
||||
matplotlib/backends/web_backend/js/mpl.js,sha256=xrBOaet7K2P2iq7wgIexceDdc9T_WFb4TPJXDX55JuU,16991
|
||||
matplotlib/backends/web_backend/js/mpl_tornado.js,sha256=lSxC7-yqF1GYY-6SheaHanx6SujMdcG7Vx2_3qbi-9Q,272
|
||||
matplotlib/backends/web_backend/js/nbagg_mpl.js,sha256=nqIF0zFBQGpOo5Tmq2uRkyFJDeali66PWQDSYySgpnQ,7428
|
||||
matplotlib/backends/web_backend/nbagg_uat.ipynb,sha256=y1N8hQzBJ05rJ2hZla2_Mw6tOUfNP1UHKo636W1e098,15933
|
||||
matplotlib/backends/web_backend/single_figure.html,sha256=-iFrlIsaY1rOK9bNiDxcX8fdc0WP7DXXq-MEuLYfOvM,1216
|
||||
matplotlib/backends/windowing.py,sha256=LmRBUwGp5pHBhw6DTQMIKyMATXJacbQ-lLJwDAPluF4,908
|
||||
matplotlib/backends/wx_compat.py,sha256=QPwM6dmnMHtQr82PtfowzPLE9MRj1QAEgxvnOhdmD5Y,964
|
||||
matplotlib/bezier.py,sha256=wVGi7-mV5sn1dGBXhtjuD9SLit24N4c8lDJRyVUwcPA,15332
|
||||
matplotlib/blocking_input.py,sha256=cLcis0sLH30HzSP6ljCPJuNdEEic1a2dgxTjNNKGpjI,11138
|
||||
matplotlib/category.py,sha256=sphn2_OSSVhtw991WG813zOENNqWd7rUBz8LcDHL5wU,7315
|
||||
matplotlib/cbook/__init__.py,sha256=WsiMSY6tspTHbZmPFFPu8UV5e-W15yiuziE8jrdpUW4,70402
|
||||
matplotlib/cbook/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/cbook/__pycache__/deprecation.cpython-37.pyc,,
|
||||
matplotlib/cbook/deprecation.py,sha256=6oP_a5YzuNDgMlxHKoVCbiVL1kiKSjozD_0KnxXcpH0,15386
|
||||
matplotlib/cm.py,sha256=k3R6-M6YttaMoyeF-w6Gir7cgO4eSRKBIOs_jSfk0Sw,13290
|
||||
matplotlib/collections.py,sha256=41pc7EQ0JrpOTW35JGrc_7AlyR0_8dSHMsmqc3fFLGs,72316
|
||||
matplotlib/colorbar.py,sha256=iRxNPxPVYpHUH1XeifXQzLKMRh5KaG4YcAdqeXMcWYg,61551
|
||||
matplotlib/colors.py,sha256=CwCgZoByNsZKtn5X2IS4vnwPSfNNV3Dwiq3PQKV3S-E,72727
|
||||
matplotlib/compat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
matplotlib/compat/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/compat/__pycache__/subprocess.cpython-37.pyc,,
|
||||
matplotlib/compat/subprocess.py,sha256=-K36IW-t5SjjWcP4nL80GAE-y7v0HZE6nQ-hscwmkvg,1562
|
||||
matplotlib/container.py,sha256=61H8LgCuxf4LdG2ZQ7EGMkmlTAgspyKeuhpuD9JKkaw,5631
|
||||
matplotlib/contour.py,sha256=G1V1SrMx07aHSOx44kxETuKAhI1i-JodDe04K-YEKkM,69736
|
||||
matplotlib/dates.py,sha256=xPLi0HjX79PTFJPAvT6t1pOkznkA0ss8l9403Zr0kIQ,71131
|
||||
matplotlib/docstring.py,sha256=4gR4xKlMvrNqVovy0xDYQ3BzTy5OkgPNQLTVpom2iNc,3985
|
||||
matplotlib/dviread.py,sha256=s7GQjouGQU9wHed6W4fa0LXrodXUMyEe_rqDSnpDcC4,39176
|
||||
matplotlib/figure.py,sha256=UPTIIrfCAvuF2masgz5iWDWSMW5AV0021DhwtqQlLqY,99788
|
||||
matplotlib/font_manager.py,sha256=dTmJF9Pvn2A1X1zVd6kp_l7TI1PGGEfL-aEIXs58XpM,45793
|
||||
matplotlib/fontconfig_pattern.py,sha256=I3cwVMsMS8xqV19BT2cxNnNv8lklkqNy83LghWxt0kc,6483
|
||||
matplotlib/ft2font.cpython-37m-darwin.so,sha256=zDjKT149zUCrUpjBBfTEq4Oxnj2GeVyll8bczAftqpU,961120
|
||||
matplotlib/gridspec.py,sha256=qtMJLyHmh6lziQmyyFVb2IAG6SUwJGaaMPN40p4N_cE,20947
|
||||
matplotlib/hatch.py,sha256=KR7ezvCHUfVjKB9aDPQjKSAJvVmAKbB-ooPL9dCoSgY,7047
|
||||
matplotlib/image.py,sha256=nF2GQVNH34CSFf9rn3BfYNIb1BrDxSzdWXXIJna8QZ8,58212
|
||||
matplotlib/legend.py,sha256=pFNDkCXdRHFiaBleIlRJxAyslXdzEzz8vKu1HpnOTis,49005
|
||||
matplotlib/legend_handler.py,sha256=nGqIqlxSTD3kmnH1KVDSGDwPdrgWtL3X2KjBBc7XUGY,26509
|
||||
matplotlib/lines.py,sha256=rrTUuWIuUlSO3BJn-i-pzLnnkWvxfZl-5NUTs7UFJnY,51279
|
||||
matplotlib/markers.py,sha256=TJycw9nyz5Id4Yi5uvTQiWqj0qaY0EDze1hKpvzFfrY,34177
|
||||
matplotlib/mathtext.py,sha256=WSGMgLSJAVcE6P5guZSQrXW0b0qFx6bIaa6AlQ1Rm1Y,121367
|
||||
matplotlib/mlab.py,sha256=r5G9yncf0F2-L8iNQHYWnXAFgXrkOHmtaPtZDdbGHFk,49479
|
||||
matplotlib/mpl-data/fonts/afm/cmex10.afm,sha256=blR3ERmrVBV5XKkAnDCj4NMeYVgzH7cXtJ3u59u9GuE,12070
|
||||
matplotlib/mpl-data/fonts/afm/cmmi10.afm,sha256=5qwEOpedEo76bDUahyuuF1q0cD84tRrX-VQ4p3MlfBo,10416
|
||||
matplotlib/mpl-data/fonts/afm/cmr10.afm,sha256=WDvgC_D3UkGJg9u-J0U6RaT02lF4oz3lQxHtg1r3lYw,10101
|
||||
matplotlib/mpl-data/fonts/afm/cmsy10.afm,sha256=AbmzvCVWBceHRfmRfeJ9E6xzOQTFLk0U1zDfpf3_MaM,8295
|
||||
matplotlib/mpl-data/fonts/afm/cmtt10.afm,sha256=4ji7_mTpeWMa93o_UHBWPKCnqsBfhJJNllat1lJArP4,6501
|
||||
matplotlib/mpl-data/fonts/afm/pagd8a.afm,sha256=jjFrigwkTpYLqa26cpzZvKQNBo-PuF4bmDVqaM4pMWw,17183
|
||||
matplotlib/mpl-data/fonts/afm/pagdo8a.afm,sha256=sgNQdeYyx8J-itGw9h31y95aMBiTCRvmNSPTXwwS7xg,17255
|
||||
matplotlib/mpl-data/fonts/afm/pagk8a.afm,sha256=ZUtfHPloNqcvGMHMxaKDSlshhOcjwheUx143RwpGdIU,17241
|
||||
matplotlib/mpl-data/fonts/afm/pagko8a.afm,sha256=Yj1wBg6Jsqqz1KBfhRoJ3ACR-CMQol8Fj_ZM5NZ1gDk,17346
|
||||
matplotlib/mpl-data/fonts/afm/pbkd8a.afm,sha256=Zl5o6J_di9Y5j2EpHtjew-_sfg7-WoeVmO9PzOYSTUc,15157
|
||||
matplotlib/mpl-data/fonts/afm/pbkdi8a.afm,sha256=JAOno930iTyfZILMf11vWtiaTgrJcPpP6FRTRhEMMD4,15278
|
||||
matplotlib/mpl-data/fonts/afm/pbkl8a.afm,sha256=UJqJjOJ6xQDgDBLX157mKpohIJFVmHM-N6x2-DiGv14,15000
|
||||
matplotlib/mpl-data/fonts/afm/pbkli8a.afm,sha256=AWislZ2hDbs0ox_qOWREugsbS8_8lpL48LPMR40qpi0,15181
|
||||
matplotlib/mpl-data/fonts/afm/pcrb8a.afm,sha256=6j1TS2Uc7DWSc-8l42TGDc1u0Fg8JspeWfxFayjUwi8,15352
|
||||
matplotlib/mpl-data/fonts/afm/pcrbo8a.afm,sha256=smg3mjl9QaBDtQIt06ko5GvaxLsO9QtTvYANuE5hfG0,15422
|
||||
matplotlib/mpl-data/fonts/afm/pcrr8a.afm,sha256=7nxFr0Ehz4E5KG_zSE5SZOhxRH8MyfnCbw-7x5wu7tw,15339
|
||||
matplotlib/mpl-data/fonts/afm/pcrro8a.afm,sha256=NKEz7XtdFkh9cA8MvY-S3UOZlV2Y_J3tMEWFFxj7QSg,15443
|
||||
matplotlib/mpl-data/fonts/afm/phvb8a.afm,sha256=NAx4M4HjL7vANCJbc-tk04Vkol-T0oaXeQ3T2h-XUvM,17155
|
||||
matplotlib/mpl-data/fonts/afm/phvb8an.afm,sha256=8e_myD-AQkNF7q9XNLb2m76_lX2TUr3a5wog_LIE1sk,17086
|
||||
matplotlib/mpl-data/fonts/afm/phvbo8a.afm,sha256=8fkBRmJ-SWY2YrBg8fFyjJyrJp8daQ6JPO6LvhM8xPI,17230
|
||||
matplotlib/mpl-data/fonts/afm/phvbo8an.afm,sha256=aeVRvV4r15BBvxuRJ0MG8ZHuH2HViuIiCYkvuapmkmM,17195
|
||||
matplotlib/mpl-data/fonts/afm/phvl8a.afm,sha256=IyMYM-bgl-gI6rG0EuZZ2OLzlxJfGeSh8xqsh0t-eJQ,15627
|
||||
matplotlib/mpl-data/fonts/afm/phvlo8a.afm,sha256=s12C-eNnIDHJ_UVbuiprjxBjCiHIbS3Y8ORTC-qTpuI,15729
|
||||
matplotlib/mpl-data/fonts/afm/phvr8a.afm,sha256=Kt8KaRidts89EBIK29X2JomDUEDxvroeaJz_RNTi6r4,17839
|
||||
matplotlib/mpl-data/fonts/afm/phvr8an.afm,sha256=lL5fAHTRwODl-sB5mH7IfsD1tnnea4yRUK-_Ca2bQHM,17781
|
||||
matplotlib/mpl-data/fonts/afm/phvro8a.afm,sha256=3KqK3eejiR4hIFBUynuSX_4lMdE2V2T58xOF8lX-fwc,17919
|
||||
matplotlib/mpl-data/fonts/afm/phvro8an.afm,sha256=Vx9rRf3YfasMY7tz-njSxz67xHKk-fNkN7yBi0X2IP0,17877
|
||||
matplotlib/mpl-data/fonts/afm/pncb8a.afm,sha256=aoXepTcDQtQa_mspflMJkEFKefzXHoyjz6ioJVI0YNc,16028
|
||||
matplotlib/mpl-data/fonts/afm/pncbi8a.afm,sha256=pCWW1MYgy0EmvwaYsaYJaAI_LfrsKmDANHu7Pk0RaiU,17496
|
||||
matplotlib/mpl-data/fonts/afm/pncr8a.afm,sha256=0CIB2BLe9r-6_Wl5ObRTTf98UOrezmGQ8ZOuBX5kLks,16665
|
||||
matplotlib/mpl-data/fonts/afm/pncri8a.afm,sha256=5R-pLZOnaHNG8pjV6MP3Ai-d2OTQYR_cYCb5zQhzfSU,16920
|
||||
matplotlib/mpl-data/fonts/afm/pplb8a.afm,sha256=3EzUbNnXr5Ft5eFLY00W9oWu59rHORgDXUuJaOoKN58,15662
|
||||
matplotlib/mpl-data/fonts/afm/pplbi8a.afm,sha256=X_9tVspvrcMer3OS8qvdwjFFqpAXYZneyCL2NHA902g,15810
|
||||
matplotlib/mpl-data/fonts/afm/pplr8a.afm,sha256=ijMb497FDJ9nVdVMb21F7W3-cu9sb_9nF0oriFpSn8k,15752
|
||||
matplotlib/mpl-data/fonts/afm/pplri8a.afm,sha256=8KITbarcUUMi_hdoRLLmNHtlqs0TtOSKqtPFft7X5nY,15733
|
||||
matplotlib/mpl-data/fonts/afm/psyr.afm,sha256=Iyt8ajE4B2Tm34oBj2pKtctIf9kPfq05suQefq8p3Ro,9644
|
||||
matplotlib/mpl-data/fonts/afm/ptmb8a.afm,sha256=bL1fA1NC4_nW14Zrnxz4nHlXJb4dzELJPvodqKnYeMg,17983
|
||||
matplotlib/mpl-data/fonts/afm/ptmbi8a.afm,sha256=-_Ui6XlKaFTHEnkoS_-1GtIr5VtGa3gFQ2ezLOYHs08,18070
|
||||
matplotlib/mpl-data/fonts/afm/ptmr8a.afm,sha256=IEcsWcmzJyjCwkgsw4o6hIMmzlyXUglJat9s1PZNnEU,17942
|
||||
matplotlib/mpl-data/fonts/afm/ptmri8a.afm,sha256=49fQMg5fIGguZ7rgc_2styMK55Pv5bPTs7wCzqpcGpk,18068
|
||||
matplotlib/mpl-data/fonts/afm/putb8a.afm,sha256=qMaHTdpkrNL-m4DWhjpxJCSmgYkCv1qIzLlFfM0rl40,21532
|
||||
matplotlib/mpl-data/fonts/afm/putbi8a.afm,sha256=g7AVJyiTxeMpNk_1cSfmYgM09uNUfPlZyWGv3D1vcAk,21931
|
||||
matplotlib/mpl-data/fonts/afm/putr8a.afm,sha256=XYmNC5GQgSVAZKTIYdYeNksE6znNm9GF_0SmQlriqx0,22148
|
||||
matplotlib/mpl-data/fonts/afm/putri8a.afm,sha256=i7fVe-iLyLtQxCfAa4IxdxH-ufcHmMk7hbCGG5TxAY4,21891
|
||||
matplotlib/mpl-data/fonts/afm/pzcmi8a.afm,sha256=wyuoIWEZOcoXrSl1tPzLkEahik7kGi91JJj-tkFRG4A,16250
|
||||
matplotlib/mpl-data/fonts/afm/pzdr.afm,sha256=MyjLAnzKYRdQBfof1W3k_hf30MvqOkqL__G22mQ5xww,9467
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Courier-Bold.afm,sha256=sIDDI-B82VZ3C0mI_mHFITCZ7PVn37AIYMv1CrHX4sE,15333
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Courier-BoldOblique.afm,sha256=zg61QobD3YU9UBfCXmvmhBNaFKno-xj8sY0b2RpgfLw,15399
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Courier-Oblique.afm,sha256=vRQm5j1sTUN4hicT1PcVZ9P9DTTUHhEzfPXqUUzVZhE,15441
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Courier.afm,sha256=Mdcq2teZEBJrIqVXnsnhee7oZnTs6-P8_292kWGTrw4,15335
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-Bold.afm,sha256=i2l4gcjuYXoXf28uK7yIVwuf0rnw6J7PwPVQeHj5iPw,69269
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-BoldOblique.afm,sha256=Um5O6qK11DXLt8uj_0IoWkc84TKqHK3bObSKUswQqvY,69365
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-Oblique.afm,sha256=hVYDg2b52kqtbVeCzmiv25bW1yYdpkZS-LXlGREN2Rs,74392
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica.afm,sha256=23cvKDD7bQAJB3kdjSahJSTZaUOppznlIO6FXGslyW8,74292
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Symbol.afm,sha256=P5UaoXr4y0qh4SiMa5uqijDT6ZDr2-jPmj1ayry593E,9740
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Times-Bold.afm,sha256=cQTmr2LFPwKQE_sGQageMcmFicjye16mKJslsJLHQyE,64251
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Times-BoldItalic.afm,sha256=pzWOdycm6RqocBWgAVY5Jq0z3Fp7LuqWgLNMx4q6OFw,59642
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Times-Italic.afm,sha256=bK5puSMpGT_YUILwyJrXoxjfj7XJOdfv5TQ_iKsJRzw,66328
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/Times-Roman.afm,sha256=hhNrUnpazuDDKD1WpraPxqPWCYLrO7D7bMVOg-zI13o,60460
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/ZapfDingbats.afm,sha256=ZuOmt9GcKofjdOq8kqhPhtAIhOwkL2rTJTmZxAjFakA,9527
|
||||
matplotlib/mpl-data/fonts/pdfcorefonts/readme.txt,sha256=MRv8ppSITYYAb7lt5EOw9DWWNZIblfxsFhu5TQE7cpI,828
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSans-Bold.ttf,sha256=sYS4njwQdfIva3FXW2_CDUlys8_TsjMiym_Vltyu8Wc,704128
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSans-BoldOblique.ttf,sha256=bt8CgxYBhq9FHL7nHnuEXy5Mq_Jku5ks5mjIPCVGXm8,641720
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSans-Oblique.ttf,sha256=zN90s1DxH9PdV3TeUOXmNGoaXaH1t9X7g1kGZel6UhM,633840
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf,sha256=P99pyr8GBJ6nCgC1kZNA4s4ebQKwzDxLRPtoAb0eDSI,756072
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSansDisplay.ttf,sha256=ggmdz7paqGjN_CdFGYlSX-MpL3N_s8ngMozpzvWWUvY,25712
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Bold.ttf,sha256=uq2ppRcv4giGJRr_BDP8OEYZEtXa8HKH577lZiCo2pY,331536
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-BoldOblique.ttf,sha256=ppCBwVx2yCfgonpaf1x0thNchDSZlVSV_6jCDTqYKIs,253116
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Oblique.ttf,sha256=KAUoE_enCfyJ9S0ZLcmV708P3Fw9e3OknWhJsZFtDNA,251472
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSansMono.ttf,sha256=YC7Ia4lIz82VZIL-ZPlMNshndwFJ7y95HUYT9EO87LM,340240
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Bold.ttf,sha256=w3U_Lta8Zz8VhG3EWt2-s7nIcvMvsY_VOiHxvvHtdnY,355692
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSerif-BoldItalic.ttf,sha256=2T7-x6nS6CZ2jRou6VuVhw4V4pWZqE80hK8d4c7C4YE,347064
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Italic.ttf,sha256=PnmU-8VPoQzjNSpC1Uj63X2crbacsRCbydlg9trFfwQ,345612
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSerif.ttf,sha256=EHJElW6ZYrnpb6zNxVGCXgrgiYrhNzcTPhuSGi_TX_o,379740
|
||||
matplotlib/mpl-data/fonts/ttf/DejaVuSerifDisplay.ttf,sha256=KRTzLkfHd8J75Wd6-ufbTeefnkXeb8kJfZlJwjwU99U,14300
|
||||
matplotlib/mpl-data/fonts/ttf/LICENSE_DEJAVU,sha256=11k43sCY8G8Kw8AIUwZdlPAgvhw8Yu8dwpdboVtNmw4,4816
|
||||
matplotlib/mpl-data/fonts/ttf/LICENSE_STIX,sha256=cxFOZdp1AxNhXR6XxCzf5iJpNcu-APm-geOHhD-s0h8,5475
|
||||
matplotlib/mpl-data/fonts/ttf/STIXGeneral.ttf,sha256=FnN4Ax4t3cYhbWeBnJJg6aBv_ExHjk4jy5im_USxg8I,448228
|
||||
matplotlib/mpl-data/fonts/ttf/STIXGeneralBol.ttf,sha256=6FM9xwg_o0a9oZM9YOpKg7Z9CUW86vGzVB-CtKDixqA,237360
|
||||
matplotlib/mpl-data/fonts/ttf/STIXGeneralBolIta.ttf,sha256=mHiP1LpI37sr0CbA4gokeosGxzcoeWKLemuw1bsJc2w,181152
|
||||
matplotlib/mpl-data/fonts/ttf/STIXGeneralItalic.ttf,sha256=bPyzM9IrfDxiO9_UAXTxTIXD1nMcphZsHtyAFA6uhSc,175040
|
||||
matplotlib/mpl-data/fonts/ttf/STIXNonUni.ttf,sha256=Ulb34CEzWsSFTRgPDovxmJZOwvyCAXYnbhaqvGU3u1c,59108
|
||||
matplotlib/mpl-data/fonts/ttf/STIXNonUniBol.ttf,sha256=XRBqW3jR_8MBdFU0ObhiV7-kXwiBIMs7QVClHcT5tgs,30512
|
||||
matplotlib/mpl-data/fonts/ttf/STIXNonUniBolIta.ttf,sha256=pb22DnbDf2yQqizotc3wBDqFGC_g27YcCGJivH9-Le8,41272
|
||||
matplotlib/mpl-data/fonts/ttf/STIXNonUniIta.ttf,sha256=BMr9pWiBv2YIZdq04X4c3CgL6NPLUPrl64aV1N4w9Ug,46752
|
||||
matplotlib/mpl-data/fonts/ttf/STIXSizFiveSymReg.ttf,sha256=wYuH1gYUpCuusqItRH5kf9p_s6mUD-9X3L5RvRtKSxs,13656
|
||||
matplotlib/mpl-data/fonts/ttf/STIXSizFourSymBol.ttf,sha256=yNdvjUoSmsZCULmD7SVq9HabndG9P4dPhboL1JpAf0s,12228
|
||||
matplotlib/mpl-data/fonts/ttf/STIXSizFourSymReg.ttf,sha256=-9xVMYL4_1rcO8FiCKrCfR4PaSmKtA42ddLGqwtei1w,15972
|
||||
matplotlib/mpl-data/fonts/ttf/STIXSizOneSymBol.ttf,sha256=cYexyo8rZcdqMlpa9fNF5a2IoXLUTZuIvh0JD1Qp0i4,12556
|
||||
matplotlib/mpl-data/fonts/ttf/STIXSizOneSymReg.ttf,sha256=0lbHzpndzJmO8S42mlkhsz5NbvJLQCaH5Mcc7QZRDzc,19760
|
||||
matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymBol.ttf,sha256=3eBc-VtYbhQU3BnxiypfO6eAzEu8BdDvtIJSFbkS2oY,12192
|
||||
matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymReg.ttf,sha256=XFSKCptbESM8uxHtUFSAV2cybwxhSjd8dWVByq6f3w0,15836
|
||||
matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymBol.ttf,sha256=MUCYHrA0ZqFiSE_PjIGlJZgMuv79aUgQqE7Dtu3kuo0,12116
|
||||
matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymReg.ttf,sha256=_sdxDuEwBDtADpu9CyIXQxV7sIqA2TZVBCUiUjq5UCk,15704
|
||||
matplotlib/mpl-data/fonts/ttf/cmb10.ttf,sha256=B0SXtQxD6ldZcYFZH5iT04_BKofpUQT1ZX_CSB9hojo,25680
|
||||
matplotlib/mpl-data/fonts/ttf/cmex10.ttf,sha256=ryjwwXByOsd2pxv6WVrKCemNFa5cPVTOGa_VYZyWqQU,21092
|
||||
matplotlib/mpl-data/fonts/ttf/cmmi10.ttf,sha256=MJKWW4gR_WpnZXmWZIRRgfwd0TMLk3-RWAjEhdMWI00,32560
|
||||
matplotlib/mpl-data/fonts/ttf/cmr10.ttf,sha256=Tdl2GwWMAJ25shRfVe5mF9CTwnPdPWxbPkP_YRD6m_Y,26348
|
||||
matplotlib/mpl-data/fonts/ttf/cmss10.ttf,sha256=ffkag9BbLkcexjjLC0NaNgo8eSsJ_EKn2mfpHy55EVo,20376
|
||||
matplotlib/mpl-data/fonts/ttf/cmsy10.ttf,sha256=uyJu2TLz8QDNDlL15JEu5VO0G2nnv9uNOFTbDrZgUjI,29396
|
||||
matplotlib/mpl-data/fonts/ttf/cmtt10.ttf,sha256=YhHwmuk1mZka_alwwkZp2tGnfiU9kVYk-_IS9wLwcdc,28136
|
||||
matplotlib/mpl-data/images/back.gif,sha256=sdkxFRAh-Mgs44DTvruO5OxcI3Av9CS1g5MqMA_DDkQ,608
|
||||
matplotlib/mpl-data/images/back.pdf,sha256=ZR7CJo_dAeCM-KlaGvskgtHQyRtrPIolc8REOmcoqJk,1623
|
||||
matplotlib/mpl-data/images/back.png,sha256=E4dGf4Gnz1xJ1v2tMygHV0YNQgShreDeVApaMb-74mU,380
|
||||
matplotlib/mpl-data/images/back.svg,sha256=yRdMiKsa-awUm2x_JE_rEV20rNTa7FInbFBEoMo-6ik,1512
|
||||
matplotlib/mpl-data/images/back_large.gif,sha256=tqCtecrxNrPuDCUj7FGs8UXWftljKcwgp5cSBBhXwiQ,799
|
||||
matplotlib/mpl-data/images/back_large.png,sha256=9A6hUSQeszhYONE4ZuH3kvOItM0JfDVu6tkfromCbsQ,620
|
||||
matplotlib/mpl-data/images/filesave.gif,sha256=wAyNwOPd9c-EIPwcUAlqHSfLmxq167nhDVppOWPy9UA,723
|
||||
matplotlib/mpl-data/images/filesave.pdf,sha256=P1EPPV2g50WTt8UaX-6kFoTZM1xVqo6S2H6FJ6Zd1ec,1734
|
||||
matplotlib/mpl-data/images/filesave.png,sha256=b7ctucrM_F2mG-DycTedG_a_y4pHkx3F-zM7l18GLhk,458
|
||||
matplotlib/mpl-data/images/filesave.svg,sha256=oxPVbLS9Pzelz71C1GCJWB34DZ0sx_pUVPRHBrCZrGs,2029
|
||||
matplotlib/mpl-data/images/filesave_large.gif,sha256=IXrenlwu3wwO8WTRvxHt_q62NF6ZWyqk3jZhm6GE-G8,1498
|
||||
matplotlib/mpl-data/images/filesave_large.png,sha256=LNbRD5KZ3Kf7nbp-stx_a1_6XfGBSWUfDdpgmnzoRvk,720
|
||||
matplotlib/mpl-data/images/forward.gif,sha256=VNL9R-dECOX7wUAYPtU_DWn5hwi3SwLR17DhmBvUIxE,590
|
||||
matplotlib/mpl-data/images/forward.pdf,sha256=KIqIL4YId43LkcOxV_TT5uvz1SP8k5iUNUeJmAElMV8,1630
|
||||
matplotlib/mpl-data/images/forward.png,sha256=pKbLepgGiGeyY2TCBl8svjvm7Z4CS3iysFxcq4GR-wk,357
|
||||
matplotlib/mpl-data/images/forward.svg,sha256=NnQDOenfjsn-o0aJMUfErrP320Zcx9XHZkLh0cjMHsk,1531
|
||||
matplotlib/mpl-data/images/forward_large.gif,sha256=H6Jbcc7qJwHJAE294YqI5Bm-5irofX40cKRvYdrG_Ig,786
|
||||
matplotlib/mpl-data/images/forward_large.png,sha256=36h7m7DZDHql6kkdpNPckyi2LKCe_xhhyavWARz_2kQ,593
|
||||
matplotlib/mpl-data/images/hand.gif,sha256=3lRfmAqQU7A2t1YXXsB9IbwzK7FaRh-IZO84D5-xCrw,1267
|
||||
matplotlib/mpl-data/images/hand.pdf,sha256=hspwkNY915KPD7AMWnVQs7LFPOtlcj0VUiLu76dMabQ,4172
|
||||
matplotlib/mpl-data/images/hand.png,sha256=2cchRETGKa0hYNKUxnJABwkyYXEBPqJy_VqSPlT0W2Q,979
|
||||
matplotlib/mpl-data/images/hand.svg,sha256=tsVIES_nINrAbH4FqdsCGOx0SVE37vcofSYBhnnaOP0,4888
|
||||
matplotlib/mpl-data/images/hand_large.gif,sha256=H5IHmVTvOqHQb9FZ_7g7AlPt9gv-zRq0L5_Q9B7OuvU,973
|
||||
matplotlib/mpl-data/images/help.pdf,sha256=CeE978IMi0YWznWKjIT1R8IrP4KhZ0S7usPUvreSgcA,1813
|
||||
matplotlib/mpl-data/images/help.png,sha256=s4pQrqaQ0py8I7vc9hv3BI3DO_tky-7YBMpaHuBDCBY,472
|
||||
matplotlib/mpl-data/images/help.ppm,sha256=mVPvgwcddzCM-nGZd8Lnl_CorzDkRIXQE17b7qo8vlU,1741
|
||||
matplotlib/mpl-data/images/help.svg,sha256=KXabvQhqIWen_t2SvZuddFYa3S0iI3W8cAKm3s1fI8Q,1870
|
||||
matplotlib/mpl-data/images/help_large.png,sha256=1IwEyWfGRgnoCWM-r9CJHEogTJVD5n1c8LXTK4AJ4RE,747
|
||||
matplotlib/mpl-data/images/help_large.ppm,sha256=MiCSKp1Su88FXOi9MTtkQDA2srwbX3w5navi6cneAi4,6925
|
||||
matplotlib/mpl-data/images/home.gif,sha256=NKuFM7tTtFngdfsOpJ4AxYTL8PYS5GWKAoiJjBMwLlU,666
|
||||
matplotlib/mpl-data/images/home.pdf,sha256=e0e0pI-XRtPmvUCW2VTKL1DeYu1pvPmUUeRSgEbWmik,1737
|
||||
matplotlib/mpl-data/images/home.png,sha256=IcFdAAUa6_A0qt8IO3I8p4rpXpQgAlJ8ndBECCh7C1w,468
|
||||
matplotlib/mpl-data/images/home.svg,sha256=n_AosjJVXET3McymFuHgXbUr5vMLdXK2PDgghX8Cch4,1891
|
||||
matplotlib/mpl-data/images/home_large.gif,sha256=k86PJCgED46sCFkOlUYHA0s5U7OjRsc517bpAtU2JSw,1422
|
||||
matplotlib/mpl-data/images/home_large.png,sha256=uxS2O3tWOHh1iau7CaVV4ermIJaZ007ibm5Z3i8kXYg,790
|
||||
matplotlib/mpl-data/images/matplotlib.pdf,sha256=BkSUf-2xoij-eXfpV2t7y1JFKG1zD1gtV6aAg3Xi_wE,22852
|
||||
matplotlib/mpl-data/images/matplotlib.png,sha256=w8KLRYVa-voUZXa41hgJauQuoois23f3NFfdc72pUYY,1283
|
||||
matplotlib/mpl-data/images/matplotlib.ppm,sha256=voTyfqUGvirNbkrsJGMwJT0z0g_KFWAnO8Hn8J4XXh8,1741
|
||||
matplotlib/mpl-data/images/matplotlib.svg,sha256=QiTIcqlQwGaVPtHsEk-vtmJk1wxwZSvijhqBe_b9VCI,62087
|
||||
matplotlib/mpl-data/images/matplotlib_large.png,sha256=ElRoue9grUqkZXJngk-nvh4GKfpvJ4gE69WryjCbX5U,3088
|
||||
matplotlib/mpl-data/images/move.gif,sha256=FN52MptH4FZiwmV2rQgYCO2FvO3m5LtqYv8jk6Xbeyk,679
|
||||
matplotlib/mpl-data/images/move.pdf,sha256=CXk3PGK9WL5t-5J-G2X5Tl-nb6lcErTBS5oUj2St6aU,1867
|
||||
matplotlib/mpl-data/images/move.png,sha256=TmjR41IzSzxGbhiUcV64X0zx2BjrxbWH3cSKvnG2vzc,481
|
||||
matplotlib/mpl-data/images/move.svg,sha256=_ZKpcwGD6DMTkZlbyj0nQbT8Ygt5vslEZ0OqXaXGd4E,2509
|
||||
matplotlib/mpl-data/images/move_large.gif,sha256=RMIAr-G9OOY7vWC04oN6qv5TAHJxhQGhLsw_bNsvWbg,951
|
||||
matplotlib/mpl-data/images/move_large.png,sha256=Skjz2nW_RTA5s_0g88gdq2hrVbm6DOcfYW4Fu42Fn9U,767
|
||||
matplotlib/mpl-data/images/qt4_editor_options.pdf,sha256=2qu6GVyBrJvVHxychQoJUiXPYxBylbH2j90QnytXs_w,1568
|
||||
matplotlib/mpl-data/images/qt4_editor_options.png,sha256=EryQjQ5hh2dwmIxtzCFiMN1U6Tnd11p1CDfgH5ZHjNM,380
|
||||
matplotlib/mpl-data/images/qt4_editor_options.svg,sha256=E00YoX7u4NrxMHm_L1TM8PDJ88bX5qRdCrO-Uj59CEA,1244
|
||||
matplotlib/mpl-data/images/qt4_editor_options_large.png,sha256=-Pd-9Vh5aIr3PZa8O6Ge_BLo41kiEnpmkdDj8a11JkY,619
|
||||
matplotlib/mpl-data/images/subplots.gif,sha256=QfhmUdcrko08-WtrzCJUjrVFDTvUZCJEXpARNtzEwkg,691
|
||||
matplotlib/mpl-data/images/subplots.pdf,sha256=Q0syPMI5EvtgM-CE-YXKOkL9eFUAZnj_X2Ihoj6R4p4,1714
|
||||
matplotlib/mpl-data/images/subplots.png,sha256=MUfCItq3_yzb9yRieGOglpn0Y74h8IA7m5i70B63iRc,445
|
||||
matplotlib/mpl-data/images/subplots.svg,sha256=8acBogXIr9OWGn1iD6mUkgahdFZgDybww385zLCLoIs,2130
|
||||
matplotlib/mpl-data/images/subplots_large.gif,sha256=Ff3ERmtVAaGP9i1QGUNnIIKac6LGuSW2Qf4DrockZSI,1350
|
||||
matplotlib/mpl-data/images/subplots_large.png,sha256=Edu9SwVMQEXJZ5ogU5cyW7VLcwXJdhdf-EtxxmxdkIs,662
|
||||
matplotlib/mpl-data/images/zoom_to_rect.gif,sha256=mTX6h9fh2W9zmvUYqeibK0TZ7qIMKOB1nAXMpD_jDys,696
|
||||
matplotlib/mpl-data/images/zoom_to_rect.pdf,sha256=SEvPc24gfZRpl-dHv7nx8KkxPyU66Kq4zgQTvGFm9KA,1609
|
||||
matplotlib/mpl-data/images/zoom_to_rect.png,sha256=aNz3QZBrIgxu9E-fFfaQweCVNitGuDUFoC27e5NU2L4,530
|
||||
matplotlib/mpl-data/images/zoom_to_rect.svg,sha256=1vRxr3cl8QTwTuRlQzD1jxu0fXZofTJ2PMgG97E7Bco,1479
|
||||
matplotlib/mpl-data/images/zoom_to_rect_large.gif,sha256=nx5LUpTAH6ZynM3ZfZDS-wR87jbMUsUnyQ27NGkV0_c,1456
|
||||
matplotlib/mpl-data/images/zoom_to_rect_large.png,sha256=V6pkxmm6VwFExdg_PEJWdK37HB7k3cE_corLa7RbUMk,1016
|
||||
matplotlib/mpl-data/matplotlibrc,sha256=_dzr3DPPXNGUyFoC4U40Q-uPwXZjBy9RTM5wlj2rx8c,33492
|
||||
matplotlib/mpl-data/sample_data/Minduka_Present_Blue_Pack.png,sha256=XnKGiCanpDKalQ5anvo5NZSAeDP7fyflzQAaivuc0IE,13634
|
||||
matplotlib/mpl-data/sample_data/None_vs_nearest-pdf.png,sha256=5CPvcG3SDNfOXx39CMKHCNS9JKZ-fmOUwIfpppNXsQ0,106228
|
||||
matplotlib/mpl-data/sample_data/README.txt,sha256=ABz19VBKfGewdY39QInG9Qccgn1MTYV3bT5Ph7TCy2Y,128
|
||||
matplotlib/mpl-data/sample_data/aapl.npz,sha256=GssVYka_EccteiXbNRJJ5GsuqU7G8F597qX7srYXZsw,107503
|
||||
matplotlib/mpl-data/sample_data/ada.png,sha256=X1hjJK1_1Nc8DN-EEhey3G7Sq8jBwQDKNSl4cCAE0uY,308313
|
||||
matplotlib/mpl-data/sample_data/axes_grid/bivariate_normal.npy,sha256=DpWZ9udAh6ospYqneEa27D6EkRgORFwHosacZXVu98U,1880
|
||||
matplotlib/mpl-data/sample_data/ct.raw.gz,sha256=LDvvgH-mycRQF2D29-w5MW94ZI0opvwKUoFI8euNpMk,256159
|
||||
matplotlib/mpl-data/sample_data/data_x_x2_x3.csv,sha256=A0SU3buOUGhT-NI_6LQ6p70fFSIU3iLFdgzvzrKR6SE,132
|
||||
matplotlib/mpl-data/sample_data/demodata.csv,sha256=MRybziqnyrqMCH9qG7Mr6BwcohIhftVG5dejXV2AX2M,659
|
||||
matplotlib/mpl-data/sample_data/eeg.dat,sha256=KGVjFt8ABKz7p6XZirNfcxSTOpGGNuyA8JYErRKLRBc,25600
|
||||
matplotlib/mpl-data/sample_data/embedding_in_wx3.xrc,sha256=cUqVw5vDHNSZoaO4J0ebZUf5SrJP36775abs7R9Bclg,2186
|
||||
matplotlib/mpl-data/sample_data/goog.npz,sha256=QAkXzzDmtmT3sNqT18dFhg06qQCNqLfxYNLdEuajGLE,22845
|
||||
matplotlib/mpl-data/sample_data/grace_hopper.jpg,sha256=qMptc0dlcDsJcoq0f-WfRz2Trjln_CTHwCiMPHrbcTA,61306
|
||||
matplotlib/mpl-data/sample_data/grace_hopper.png,sha256=MCf0ju2kpC40srQ0xw4HEyOoKhLL4khP3jHfU9_dR7s,628280
|
||||
matplotlib/mpl-data/sample_data/jacksboro_fault_dem.npz,sha256=1JP1CjPoKkQgSUxU0fyhU50Xe9wnqxkLxf5ukvYvtjc,174061
|
||||
matplotlib/mpl-data/sample_data/logo2.png,sha256=ITxkJUsan2oqXgJDy6DJvwJ4aHviKeWGnxPkTjXUt7A,33541
|
||||
matplotlib/mpl-data/sample_data/membrane.dat,sha256=q3lbQpIBpbtXXGNw1eFwkN_PwxdDGqk4L46IE2b0M1c,48000
|
||||
matplotlib/mpl-data/sample_data/msft.csv,sha256=GArKb0O3DgKZRsKdJf6lX3rMSf-PCekIiBoLNdgF7Mk,3211
|
||||
matplotlib/mpl-data/sample_data/percent_bachelors_degrees_women_usa.csv,sha256=TzoqamsV_N3d3lW7SKmj14zZVX4FOOg9jJcsC5U9pbA,5681
|
||||
matplotlib/mpl-data/sample_data/s1045.ima.gz,sha256=MrQk1k9it-ccsk0p_VOTitVmTWCAVaZ6srKvQ2n4uJ4,33229
|
||||
matplotlib/mpl-data/sample_data/topobathy.npz,sha256=AkTgMpFwLfRQJNy1ysvE89TLMNct-n_TccSsYcQrT78,45224
|
||||
matplotlib/mpl-data/stylelib/Solarize_Light2.mplstyle,sha256=PECeO60wwJe2sSDvxapBJRuKGek0qLcoaN8qOX6tgNQ,1255
|
||||
matplotlib/mpl-data/stylelib/_classic_test.mplstyle,sha256=5W84_yy5EBXn7A7g1_ky_iLurRQmCGf9fdHaD_gQ2ws,24330
|
||||
matplotlib/mpl-data/stylelib/bmh.mplstyle,sha256=-KbhaI859BITHIoyUZIfpQDjfckgLAlDAS_ydKsm6mc,712
|
||||
matplotlib/mpl-data/stylelib/classic.mplstyle,sha256=0RjtrDi0vZOzWGnt9cme_At_9GqMwHzwEBCAH9OQZ7I,24511
|
||||
matplotlib/mpl-data/stylelib/dark_background.mplstyle,sha256=-EGmoFm_35Zk7oRp29UalT56HsOSuJbYMeQGdAATnz4,477
|
||||
matplotlib/mpl-data/stylelib/fast.mplstyle,sha256=yTa2YEIIP9xi5V_G0p2vSlxghuhNwjRi9gPECMxyRiM,288
|
||||
matplotlib/mpl-data/stylelib/fivethirtyeight.mplstyle,sha256=WNUmAFuBPcqQPVgt6AS1ldy8Be2XO01N-1YQL__Q6ZY,832
|
||||
matplotlib/mpl-data/stylelib/ggplot.mplstyle,sha256=xhjLwr8hiikEXKy8APMy0Bmvtz1g0WnG84gX7e9lArs,957
|
||||
matplotlib/mpl-data/stylelib/grayscale.mplstyle,sha256=KCLg-pXpns9cnKDXKN2WH6mV41OH-6cbT-5zKQotSdw,526
|
||||
matplotlib/mpl-data/stylelib/seaborn-bright.mplstyle,sha256=pDqn3-NUyVLvlfkYs8n8HzNZvmslVMChkeH-HtZuJIc,144
|
||||
matplotlib/mpl-data/stylelib/seaborn-colorblind.mplstyle,sha256=eCSzFj5_2vR6n5qu1rHE46wvSVGZcdVqz85ov40ZsH8,148
|
||||
matplotlib/mpl-data/stylelib/seaborn-dark-palette.mplstyle,sha256=p5ABKNQHRG7bk4HXqMQrRBjDlxGAo3RCXHdQmP7g-Ng,142
|
||||
matplotlib/mpl-data/stylelib/seaborn-dark.mplstyle,sha256=I4xQ75vE5_9X4k0cNDiqhhnF3OcrZ2xlPX8Ll7OCkoE,667
|
||||
matplotlib/mpl-data/stylelib/seaborn-darkgrid.mplstyle,sha256=2bXOSzS5gmPzRBrRmzVWyhg_7ZaBRQ6t_-O-cRuyZoA,670
|
||||
matplotlib/mpl-data/stylelib/seaborn-deep.mplstyle,sha256=44dLcXjjRgR-6yaopgGRInaVgz3jk8VJVQTbBIcxRB0,142
|
||||
matplotlib/mpl-data/stylelib/seaborn-muted.mplstyle,sha256=T4o3jvqKD_ImXDkp66XFOV_xrBVFUolJU34JDFk1Xkk,143
|
||||
matplotlib/mpl-data/stylelib/seaborn-notebook.mplstyle,sha256=PcvZQbYrDdducrNlavBPmQ1g2minio_9GkUUFRdgtoM,382
|
||||
matplotlib/mpl-data/stylelib/seaborn-paper.mplstyle,sha256=n0mboUp2C4Usq2j6tNWcu4TZ_YT4-kKgrYO0t-rz1yw,393
|
||||
matplotlib/mpl-data/stylelib/seaborn-pastel.mplstyle,sha256=8nV8qRpbUrnFZeyE6VcQ1oRuZPLil2W74M2U37DNMOE,144
|
||||
matplotlib/mpl-data/stylelib/seaborn-poster.mplstyle,sha256=dUaKqTE4MRfUq2rWVXbbou7kzD7Z9PE9Ko8aXLza8JA,403
|
||||
matplotlib/mpl-data/stylelib/seaborn-talk.mplstyle,sha256=7FnBaBEdWBbncTm6_ER-EQVa_bZgU7dncgez-ez8R74,403
|
||||
matplotlib/mpl-data/stylelib/seaborn-ticks.mplstyle,sha256=CITZmZFUFp40MK2Oz8tI8a7WRoCizQU9Z4J172YWfWw,665
|
||||
matplotlib/mpl-data/stylelib/seaborn-white.mplstyle,sha256=WjJ6LEU6rlCwUugToawciAbKP9oERFHr9rfFlUrdTx0,665
|
||||
matplotlib/mpl-data/stylelib/seaborn-whitegrid.mplstyle,sha256=ec4BjsNzmOvHptcJ3mdPxULF3S1_U1EUocuqfIpw-Nk,664
|
||||
matplotlib/mpl-data/stylelib/seaborn.mplstyle,sha256=_Xu6qXKzi4b3GymCOB1b1-ykKTQ8xhDliZ8ezHGTiAs,1130
|
||||
matplotlib/mpl-data/stylelib/tableau-colorblind10.mplstyle,sha256=BsirZVd1LmPWT4tBIz6loZPjZcInoQrIGfC7rvzqmJw,190
|
||||
matplotlib/offsetbox.py,sha256=nmDAZfTRAp_5o7NeygYSnLylaEL_eKhNp8ift0mg78Y,57547
|
||||
matplotlib/patches.py,sha256=KOQo0YFpMGAkoiEARTe0lqJPMM1pOd_rPEEkgej71dQ,152130
|
||||
matplotlib/path.py,sha256=GXkMzxaZrJemhGPImtkGVRqZ5czP1VA5l35kNXD3iCM,36298
|
||||
matplotlib/patheffects.py,sha256=sHAw4WFMrl3TkW1u71STyjyHjbsjLtHBi6df7PEDJiw,13804
|
||||
matplotlib/projections/__init__.py,sha256=R9NzSCA9ex2PI7gcBH6JNN83gJFYXOANVjViiJ8GZ1I,1828
|
||||
matplotlib/projections/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/projections/__pycache__/geo.cpython-37.pyc,,
|
||||
matplotlib/projections/__pycache__/polar.cpython-37.pyc,,
|
||||
matplotlib/projections/geo.py,sha256=MbpiBUmj2R_w6xr7SnZwNYm59CbqGipoIf5DNqrqC-o,17960
|
||||
matplotlib/projections/polar.py,sha256=ovGUNECU4nNdwzQhuBuEkslbIBoLxeMt6-Z1TGQThkg,52190
|
||||
matplotlib/pylab.py,sha256=J_MQJT79VBIR8j6KSGmkiTe6_gH5ghVLzuERIft4NUQ,9613
|
||||
matplotlib/pyplot.py,sha256=-24iAfEZ3WR9ErGN9vW_UtKR8DG7snPiM_segn5ZQM4,111169
|
||||
matplotlib/quiver.py,sha256=kI1yv4WX14s_jaS889ngra5tAV0J1hRwMxHHjQkPClU,46760
|
||||
matplotlib/rcsetup.py,sha256=8FrBe0v1gwbzC0xRsGro1XtkmJUV08GVPz1VoaSReZs,59070
|
||||
matplotlib/sankey.py,sha256=k1_QKTlsJ3hCuhiGrE08SVTHn-keVGBxgSN9AP23koA,36994
|
||||
matplotlib/scale.py,sha256=Qgagfhr3PY38v2J7ACDVNCe2kEo-8jAiMGH_8c-9c78,24265
|
||||
matplotlib/sphinxext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
matplotlib/sphinxext/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/sphinxext/__pycache__/mathmpl.cpython-37.pyc,,
|
||||
matplotlib/sphinxext/__pycache__/plot_directive.cpython-37.pyc,,
|
||||
matplotlib/sphinxext/mathmpl.py,sha256=jTqwBfxLLGjx-4TwEzwYvi2WdCoJpqHfDcbLKrgcKss,4276
|
||||
matplotlib/sphinxext/plot_directive.py,sha256=zlhu0F3JiS_7HhSOzuvhjZm4ud3L8uS84geVQ1BpIt0,27114
|
||||
matplotlib/sphinxext/tests/__init__.py,sha256=gTnBimTaMh3t3WC49SvyeSH0rsbWxQgjAsr5H8HRDig,23
|
||||
matplotlib/sphinxext/tests/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/sphinxext/tests/__pycache__/conftest.cpython-37.pyc,,
|
||||
matplotlib/sphinxext/tests/__pycache__/test_tinypages.cpython-37.pyc,,
|
||||
matplotlib/sphinxext/tests/conftest.py,sha256=Ph6QZKdfAnkPwU52StddC-uwtCHfANKX1dDXgtX122g,213
|
||||
matplotlib/sphinxext/tests/test_tinypages.py,sha256=VfFfCq5T3jaVN0Ut67SHpilUOzl-_zaJDnGxfGEtrgA,2022
|
||||
matplotlib/sphinxext/tests/tinypages/__pycache__/conf.cpython-37.pyc,,
|
||||
matplotlib/sphinxext/tests/tinypages/__pycache__/range4.cpython-37.pyc,,
|
||||
matplotlib/sphinxext/tests/tinypages/__pycache__/range6.cpython-37.pyc,,
|
||||
matplotlib/sphinxext/tests/tinypages/_static/README.txt,sha256=1nnoizmUuHn5GKx8RL6MwJPlkyGmu_KHhYIMTDSWUNM,303
|
||||
matplotlib/sphinxext/tests/tinypages/conf.py,sha256=0_a4wyqPA9oaOFpLLpSEzkZI-hwtyRbqLWBx9nf0sLA,8432
|
||||
matplotlib/sphinxext/tests/tinypages/index.rst,sha256=kLSy7c3SoIAVsKOFkbzB4zFVzk3HW3d_rJHlHcNGBAg,446
|
||||
matplotlib/sphinxext/tests/tinypages/range4.py,sha256=fs2krzi9sY9ysmJRQCdGs_Jh1L9vDXDrNse7c0aX_Rw,81
|
||||
matplotlib/sphinxext/tests/tinypages/range6.py,sha256=a2EaHrNwXz4GJqhRuc7luqRpt7sqLKhTKeid9Drt2QQ,281
|
||||
matplotlib/sphinxext/tests/tinypages/some_plots.rst,sha256=C9rwV9UVlhFvxm8VqV6PoAP1AQ8Kk0LGZI9va4joif0,2156
|
||||
matplotlib/spines.py,sha256=AQQD9gNGdiIot781Mim4ZyWWvgLCYKVqj-ww9C616sk,23073
|
||||
matplotlib/stackplot.py,sha256=Xh_uFaOq4CB170_Y1dW0MONbCOyiiNnF_Rf8WKvoHaQ,3952
|
||||
matplotlib/streamplot.py,sha256=FYalqlVMTopl0KmqNaJJ8msNolPPQ58zNI8xf6GYUpU,22252
|
||||
matplotlib/style/__init__.py,sha256=EExOAUAq3u_rscUwkfKtZoEgLA5npmltCrYZOP9ftjw,67
|
||||
matplotlib/style/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/style/__pycache__/core.cpython-37.pyc,,
|
||||
matplotlib/style/core.py,sha256=NZWf_B9uKgLHUbwqgxSWI4fsVehuUVnV5FOduIldZWU,7820
|
||||
matplotlib/table.py,sha256=18Xm8ogv_lcZ7b0XBSPi3Kkqb8FD_GqMFRy9Hd4W-_0,26743
|
||||
matplotlib/testing/__init__.py,sha256=uLOEIbWI6J62ZVGlhhKVEwKPH4IsIftXsRXH4yuX0ZY,1450
|
||||
matplotlib/testing/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/testing/__pycache__/compare.cpython-37.pyc,,
|
||||
matplotlib/testing/__pycache__/conftest.cpython-37.pyc,,
|
||||
matplotlib/testing/__pycache__/decorators.cpython-37.pyc,,
|
||||
matplotlib/testing/__pycache__/determinism.cpython-37.pyc,,
|
||||
matplotlib/testing/__pycache__/disable_internet.cpython-37.pyc,,
|
||||
matplotlib/testing/__pycache__/exceptions.cpython-37.pyc,,
|
||||
matplotlib/testing/compare.py,sha256=MonCzKMrZe8qselu9aqK4HV9caaTl0EWJD1I7a4IwTo,18529
|
||||
matplotlib/testing/conftest.py,sha256=6-91kiLK4nhUsCKaJ2WQe6pn5mIAh8KBtIhuHVvtV5g,3311
|
||||
matplotlib/testing/decorators.py,sha256=yhyMJ99GfGFfp8XsQGRHmg5G7ApRh1Ue8t1qC3lVfXY,19621
|
||||
matplotlib/testing/determinism.py,sha256=GM-4kW3Qc0GNdzqKjm6qncK-RWY9ougjQACGXJyxVMw,4379
|
||||
matplotlib/testing/disable_internet.py,sha256=prxLEWAtV4HR1Jy9lleh5Q5KgWWAeJ7eJIrhlLX9NRo,4777
|
||||
matplotlib/testing/exceptions.py,sha256=72QmjiHG7DwxSvlJf8mei-hRit5AH3NKh0-osBo4YbY,138
|
||||
matplotlib/testing/jpl_units/Duration.py,sha256=Qv9ImFIv6fZMu-fimFTrlwPUa2hOcxF2cUhCVv9eFZc,5094
|
||||
matplotlib/testing/jpl_units/Epoch.py,sha256=oluM2cU43QDmBV6BfglZIbu9gU3thGOMZLZMjJf36gc,6426
|
||||
matplotlib/testing/jpl_units/EpochConverter.py,sha256=mOk4H0fnUIStuo_ofpjGFA-GPPqAcCiWEdenyJLeewE,4467
|
||||
matplotlib/testing/jpl_units/StrConverter.py,sha256=tISoIplCkBQjZGzCSD2n61bHK79_yhF6wPLc7CLAhMg,4565
|
||||
matplotlib/testing/jpl_units/UnitDbl.py,sha256=c4IaywqWi721P2S017p71jQLW5p5jk_17aeRymR3HuI,7791
|
||||
matplotlib/testing/jpl_units/UnitDblConverter.py,sha256=dtANG332ygFdqzx_t6CUxVNaCbNfBKFoPVDAWNcEYJU,4584
|
||||
matplotlib/testing/jpl_units/UnitDblFormatter.py,sha256=TOGtaP4AoWzTNT_mziajOfEwT0x_LwF6IAbo_WnTTy0,937
|
||||
matplotlib/testing/jpl_units/__init__.py,sha256=Bp4Lz_eqRuxNWO_l3VvhuurFZaUmZIlvcF3N0UBmzHc,2692
|
||||
matplotlib/testing/jpl_units/__pycache__/Duration.cpython-37.pyc,,
|
||||
matplotlib/testing/jpl_units/__pycache__/Epoch.cpython-37.pyc,,
|
||||
matplotlib/testing/jpl_units/__pycache__/EpochConverter.cpython-37.pyc,,
|
||||
matplotlib/testing/jpl_units/__pycache__/StrConverter.cpython-37.pyc,,
|
||||
matplotlib/testing/jpl_units/__pycache__/UnitDbl.cpython-37.pyc,,
|
||||
matplotlib/testing/jpl_units/__pycache__/UnitDblConverter.cpython-37.pyc,,
|
||||
matplotlib/testing/jpl_units/__pycache__/UnitDblFormatter.cpython-37.pyc,,
|
||||
matplotlib/testing/jpl_units/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/tests/__init__.py,sha256=ns6SIKdszYNXD5h5PqKRCR06Z45H-sXrUX2VwujSRIM,366
|
||||
matplotlib/tests/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/conftest.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_afm.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_agg.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_agg_filter.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_animation.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_arrow_patches.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_artist.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_axes.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backend_bases.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backend_cairo.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backend_nbagg.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backend_pdf.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backend_pgf.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backend_ps.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backend_qt.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backend_svg.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backend_tools.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backend_webagg.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_backends_interactive.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_basic.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_bbox_tight.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_category.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_cbook.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_collections.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_colorbar.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_colors.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_compare_images.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_constrainedlayout.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_container.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_contour.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_cycles.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_dates.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_dviread.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_figure.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_font_manager.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_gridspec.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_image.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_legend.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_lines.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_marker.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_mathtext.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_matplotlib.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_mlab.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_offsetbox.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_patches.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_path.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_patheffects.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_pickle.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_png.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_preprocess_data.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_pyplot.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_quiver.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_rcparams.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_sankey.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_scale.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_simplification.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_skew.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_spines.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_streamplot.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_style.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_subplots.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_table.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_texmanager.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_text.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_ticker.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_tightlayout.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_transforms.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_triangulation.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_ttconv.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_type1font.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_units.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_usetex.cpython-37.pyc,,
|
||||
matplotlib/tests/__pycache__/test_widgets.cpython-37.pyc,,
|
||||
matplotlib/tests/cmr10.pfb,sha256=_c7eh5QBjfXytY8JBfsgorQY7Y9ntz7hJEWFXfvlsb4,35752
|
||||
matplotlib/tests/conftest.py,sha256=QtpdWPUoXL_9F8WIytDc3--h0nPjbo8PToig7svIT1Y,258
|
||||
matplotlib/tests/mpltest.ttf,sha256=Jwb2O5KRVk_2CMqnhL0igeI3iGQCY3eChyS16N589zE,2264
|
||||
matplotlib/tests/test_afm.py,sha256=M8TSB0eNOgcLteDJwSSc1GSa6fYcvC0HQd60djKMhKs,2632
|
||||
matplotlib/tests/test_agg.py,sha256=wg04wxnUWOvfoUw_x1oObhiAkI2Ta4UBh0gCq_Xqm8s,8041
|
||||
matplotlib/tests/test_agg_filter.py,sha256=sfntvGVUuCaGqU3DdOnTRXqq0P1afVqWuaV_ZEYh8kQ,969
|
||||
matplotlib/tests/test_animation.py,sha256=Lph8VbnnecSzIQVQ4WFagp1hwdYs28UIg6vSywFNXPw,9657
|
||||
matplotlib/tests/test_arrow_patches.py,sha256=Q1cqQJh6NAr-JHJo3aPPJCIo8eV8_R4f3LnQHdWGzMY,5944
|
||||
matplotlib/tests/test_artist.py,sha256=M0_TIj7k0gNVhdDkLb2j36fs-9fRGtr_2SBwiXE_sfs,9431
|
||||
matplotlib/tests/test_axes.py,sha256=I7TxEoReFroWsGEjGfK5N3lw18LF2Wz77tq7euliCdo,211633
|
||||
matplotlib/tests/test_backend_bases.py,sha256=I3Oiqk6Fm-fctj-aOxq5Av8Kqe3QLjlY-oTwTbdO6dw,3811
|
||||
matplotlib/tests/test_backend_cairo.py,sha256=UwvpWDEMU0ClH9OB4QrfDEVx1Waw40r7L4Q6Wx-bymY,1961
|
||||
matplotlib/tests/test_backend_nbagg.py,sha256=VfZtCWJ43uk87pKdNu5U5i0JBp4MLVr78MT3kre7q1Y,1021
|
||||
matplotlib/tests/test_backend_pdf.py,sha256=-S1l7M4d-c-RccvhgWmZv7YhIMkC73v-Yvx0c8ctOr8,7939
|
||||
matplotlib/tests/test_backend_pgf.py,sha256=GEYeAku09gn3erePaZMHRWVUBAFwuzdAXmrnFl5a4mc,8157
|
||||
matplotlib/tests/test_backend_ps.py,sha256=kA3wU7_nT29L9GKazE5ejTlj7L_tzDctOatlLgrpyyo,4564
|
||||
matplotlib/tests/test_backend_qt.py,sha256=w--4lMrH8gxyP3cwnHoXx5TNvv1K2OPvd5tQ08hkuDo,10135
|
||||
matplotlib/tests/test_backend_svg.py,sha256=BnDG5OnTp7V7BbbA_dKe8fbbSlgUcnqzTNu6vBIT5MQ,5854
|
||||
matplotlib/tests/test_backend_tools.py,sha256=C-B7NCkyWsQ5KzQEnI5Be16DsAHHZJU9P5v9--wsF-o,501
|
||||
matplotlib/tests/test_backend_webagg.py,sha256=u-UvO04iqxZbFlUrNIfyD0KIAxEhSOyqlrOqxO4DnDw,702
|
||||
matplotlib/tests/test_backends_interactive.py,sha256=QsdZhWATJPh3ZYM2F90MRQCyoW3ROUOGXYgrM0XUxsc,5018
|
||||
matplotlib/tests/test_basic.py,sha256=IQI1prekIUiqbPVEiVfR9gxpB8B97glTkIvdiuKSJpw,1216
|
||||
matplotlib/tests/test_bbox_tight.py,sha256=Jfy0JvhSlSaH9NMl--AEpT2kXxuBownLc9X-t5BxA_0,3997
|
||||
matplotlib/tests/test_category.py,sha256=HJ1oBEZD0A6wHUnrz49kymv93UX0fkkdFCclIBrI09w,10303
|
||||
matplotlib/tests/test_cbook.py,sha256=HUJtyEg9qW6Bjfg5Y9xCgNdRvC7giqElgMDruBYri1g,18807
|
||||
matplotlib/tests/test_collections.py,sha256=rscSmny2OfRP2NZpHOfyDQrA8MQ0d__4jgRetYhRDpA,24140
|
||||
matplotlib/tests/test_colorbar.py,sha256=b8r2M_MPRL0KRPd-WLFAu8mL_okOEzI6m3dg3J3h0-s,21345
|
||||
matplotlib/tests/test_colors.py,sha256=9_0NGS8xYRGXg6NV8fiiVBX02sSWlE9HZtw_XyJvlTI,29456
|
||||
matplotlib/tests/test_compare_images.py,sha256=n3Uoukid0GcjyQpd6ZrqIY9u3RLNE2XAPWwtcHIsqto,3155
|
||||
matplotlib/tests/test_constrainedlayout.py,sha256=gACWpIs_z1hSF0zLDZFfHnjK-w6bTnd0bhgHAfCCuTw,13693
|
||||
matplotlib/tests/test_container.py,sha256=ijZ2QDT_GLdMwKW393K4WU6R7A5jJNaH1uhLRDwoXXI,550
|
||||
matplotlib/tests/test_contour.py,sha256=HydLrcjlRvqWQjmI7vJvgrK0NWKZGrbKUDU30whCJPA,12980
|
||||
matplotlib/tests/test_cycles.py,sha256=mhofUWZPXHTjj3EtwU_dqqm3MzqZcnMq31geTVZwhDo,7474
|
||||
matplotlib/tests/test_dates.py,sha256=Pu7B_muQW0ZK8obhelgyNGFrNdkrk2BWy92f5nUrSLU,33273
|
||||
matplotlib/tests/test_dviread.py,sha256=kTk9Qv6q9Kk3fJcDAEWm35HF-sKsP6Ybec6N8jEHasE,2342
|
||||
matplotlib/tests/test_figure.py,sha256=TN9Fl8Ievtkb-gjOM0PeUqi4Kaz6zaGifG2tGOGJabw,14054
|
||||
matplotlib/tests/test_font_manager.py,sha256=ZWQNNJ1qdoKBrWgCJfifCix_mhaA4mO5x0pi_da7U0g,7190
|
||||
matplotlib/tests/test_gridspec.py,sha256=zahj5Rd4pB0xtAc_3KX7fQWyBys0P-IQk-Cq0cs8VgY,626
|
||||
matplotlib/tests/test_image.py,sha256=Fi0WbYPQ0DB8hE2An6uw6YtsAdkH5kxJvu_AZjdjpWs,31366
|
||||
matplotlib/tests/test_legend.py,sha256=r6ejU9Vn-gxXxiqqtDLPPhccnEV65hbtCdsvvTo5F1Y,20073
|
||||
matplotlib/tests/test_lines.py,sha256=VTgCoKIXunTGi76DCbbMXhSs98hJ8xSK0qa_u1LwUmY,6198
|
||||
matplotlib/tests/test_marker.py,sha256=fhHHW93wCl5KbrZRL2iEVziv2BLBZU6zSt66hgsI5jY,739
|
||||
matplotlib/tests/test_mathtext.py,sha256=XbrtJ0_PcG13DVIUyMK4TuzWYF9QfZzdqTcxN3XqTkw,13063
|
||||
matplotlib/tests/test_matplotlib.py,sha256=DIBqISzUIYanSxNWJL9n2oob1dRLOOAr6TIz2BTWK1I,706
|
||||
matplotlib/tests/test_mlab.py,sha256=KZvV7S24Qc8hR6WG40nnFFdgPJbRvAOxIk2SXrAJwXo,90295
|
||||
matplotlib/tests/test_offsetbox.py,sha256=u_VCL-lWvQ66IGTzuotzRxq23ySzcB86Gjvmeib-S3w,4198
|
||||
matplotlib/tests/test_patches.py,sha256=19KlPYIevSqAHEvfZR7AcsHNOFFCF5L9ShfxckmVmVI,17305
|
||||
matplotlib/tests/test_path.py,sha256=gZvgSFvggu2NNO_xKdTKC2aYt96tmW5M3skhr08F1pw,13058
|
||||
matplotlib/tests/test_patheffects.py,sha256=Sl90AY4wri37bEvRuS3QEthE_GV5i5drh0Yk2oGJjc0,5372
|
||||
matplotlib/tests/test_pickle.py,sha256=luHci_HlSaH6IDh-889uMX66I7uq_GKUEpgLR2AH5lE,5481
|
||||
matplotlib/tests/test_png.py,sha256=3TieTdSRvSL9mS7bhxpozw1CClQxKYunK83TLPU4bnA,1786
|
||||
matplotlib/tests/test_preprocess_data.py,sha256=3UGFRtQGoBxM4MsxsVUCqfZgh0elEG6oQ1C8NGzB8AA,10027
|
||||
matplotlib/tests/test_pyplot.py,sha256=9KEPaGTyHduk7vi40kbva03HFk7bm8KrGlWjkBGMoQ0,1662
|
||||
matplotlib/tests/test_quiver.py,sha256=CggxfJ6RkNj1CtM-ZvzcKccpnIb41AujAiSmJa1iOXw,7184
|
||||
matplotlib/tests/test_rcparams.py,sha256=1nAF4-vKzLLmMSI5Le1pogwObBxFiL0JOegghelh7hY,20264
|
||||
matplotlib/tests/test_rcparams.rc,sha256=zwPbYzajd7FTIYURvpwTBAn8i060Do3OVDGZ2xHZeLw,74
|
||||
matplotlib/tests/test_sankey.py,sha256=KdWhgZpEiCJ8o7yuFjnCgqFeodwKSCuuhV_mhIc04dM,310
|
||||
matplotlib/tests/test_scale.py,sha256=z1-lHkTpXkpe4spHOTILGr9aSSbMHMAI5-3bXJyjsU8,5632
|
||||
matplotlib/tests/test_simplification.py,sha256=d8FXKuaiFnYZKJKzMRWzsYkjD5_3nLEMwCcZPAEAUYk,10889
|
||||
matplotlib/tests/test_skew.py,sha256=sY_LEdtoNPY3KAepaXhIngQ3_dSUNWL-5jmv4O8x0yo,6342
|
||||
matplotlib/tests/test_spines.py,sha256=1cN5KequShVG83DggeUxt5QWE9uIkfmyONaoVNJOojw,2326
|
||||
matplotlib/tests/test_streamplot.py,sha256=5p8PH0WvT5f3UNmcVSFRyiFKhhJ5T7-ytDMU_JrXvuA,3495
|
||||
matplotlib/tests/test_style.py,sha256=BRL-_OH6E-VTwzMQRPuFzXW8ZUIkaZSyNEyNJ3DIuL0,5309
|
||||
matplotlib/tests/test_subplots.py,sha256=yMzfFiUpZBcBt2FpLFySHzxmoj2B4jevjLviFWkPouo,5551
|
||||
matplotlib/tests/test_table.py,sha256=1Ksl98_jzSuJFpRBKGmLh5Q4YX7NiC9u3WJdlCPcZe8,5905
|
||||
matplotlib/tests/test_texmanager.py,sha256=zCtJ3JnZNfP2AQNy7q2LQAgaflSe7S5htJkJNylQSGE,459
|
||||
matplotlib/tests/test_text.py,sha256=t3t-s9EReWNcGIFqHXfeHoKo0Y3qpRoT-JBmPd6O5og,18473
|
||||
matplotlib/tests/test_ticker.py,sha256=F_kHe9zKgypli_WGwXdCZbBtJY_kqDTfFhexfISGKJk,38272
|
||||
matplotlib/tests/test_tightlayout.py,sha256=S9D9MBbZYlyA2YWzE1_0bC8ylsfau2AUYy0j32DrEog,10376
|
||||
matplotlib/tests/test_transforms.py,sha256=i1EfTglebgAmNgrUzdGUSlx4ODuFCYnwxBiK-BZJ3aM,24705
|
||||
matplotlib/tests/test_triangulation.py,sha256=MvICjPsFt1whjQCX8F7UaaQ9UHY9KgMHckfZKiJzJL8,45654
|
||||
matplotlib/tests/test_ttconv.py,sha256=xilgvzZpTpHSnumaUlHvQ_zdIQ7U7xBD1Aflx34I-xU,641
|
||||
matplotlib/tests/test_type1font.py,sha256=C0pCPBGOv49SR2xxDOq6LSXAEH_ZNvIWvr_jG-23Gmc,2097
|
||||
matplotlib/tests/test_units.py,sha256=sKmHGFKJOQ_Vjlzq6wkMSJHKq67R3CAxyLXG15RQSIE,5549
|
||||
matplotlib/tests/test_usetex.py,sha256=ea0JMvk-zd_sVtJ4Ku7PlC0SqKg3gvWYSjoZVg9EioI,1077
|
||||
matplotlib/tests/test_utf32_be_rcparams.rc,sha256=K66jcKehDKcG1yTXJCOSsmp1iteU9Kvsd_eobV5wNW4,56
|
||||
matplotlib/tests/test_widgets.py,sha256=BoaOqayjM2imF3usdtirD0wrq0_X75ShkIFlLV04D5M,17617
|
||||
matplotlib/texmanager.py,sha256=jpDBr6bvnlhUnLw8OXX1qtpU7wkh2jNzxIDnDtzAlG8,16639
|
||||
matplotlib/text.py,sha256=PFzHJVyfrftrP4ooJKwJH4JwUzzMi-eGhoP4dyJRic0,81011
|
||||
matplotlib/textpath.py,sha256=DaW0UIZddHcvJrwwPbIQCRiPvvXgEgfcozC1jBCr3xU,17932
|
||||
matplotlib/ticker.py,sha256=y5CdPmvJTXrfbp8K2nBDowJCtbd9Gkctg-xMYbZ-OH0,93269
|
||||
matplotlib/tight_bbox.py,sha256=bQAOXPKfVWoBkGZbC0ckRcldgLJ8eBUe2IsT8UQpgaY,2590
|
||||
matplotlib/tight_layout.py,sha256=L2k1a7i4k3bp_Hoes6SYhkTl5b9DJGn6eO-eLc60yCI,14656
|
||||
matplotlib/transforms.py,sha256=1feN91_7mlnutbiMzDwhoubWj8HRWDwTFtv6YyWzLVw,97557
|
||||
matplotlib/tri/__init__.py,sha256=XMaejh88uov7Neu7MuYMyaNQqaxg49nXaiJfvjifrRM,256
|
||||
matplotlib/tri/__pycache__/__init__.cpython-37.pyc,,
|
||||
matplotlib/tri/__pycache__/triangulation.cpython-37.pyc,,
|
||||
matplotlib/tri/__pycache__/tricontour.cpython-37.pyc,,
|
||||
matplotlib/tri/__pycache__/trifinder.cpython-37.pyc,,
|
||||
matplotlib/tri/__pycache__/triinterpolate.cpython-37.pyc,,
|
||||
matplotlib/tri/__pycache__/tripcolor.cpython-37.pyc,,
|
||||
matplotlib/tri/__pycache__/triplot.cpython-37.pyc,,
|
||||
matplotlib/tri/__pycache__/trirefine.cpython-37.pyc,,
|
||||
matplotlib/tri/__pycache__/tritools.cpython-37.pyc,,
|
||||
matplotlib/tri/triangulation.py,sha256=jhyKbeNgAhhA84oML-ygtKOQ3AwOf_HTD7TX4Z5lk6E,8415
|
||||
matplotlib/tri/tricontour.py,sha256=JGmjZ1uQcKiDxs6crme17mnxTmBMMTjYUmspCwAlhnk,9788
|
||||
matplotlib/tri/trifinder.py,sha256=g0q96yL7CKowfGI_3mtQX9U7OLDpg-lppGQVnWRmocA,3510
|
||||
matplotlib/tri/triinterpolate.py,sha256=t7T5HUdXX4PdHOJu8n8TNeX6A_u4BWwf5B4XW3JhSJs,65023
|
||||
matplotlib/tri/tripcolor.py,sha256=SVcG8nPfHcjkWm_DEL68rcy6RDB6SaXsRymTuYkGeYM,5242
|
||||
matplotlib/tri/triplot.py,sha256=aZ9O_VVLH0AOne31u11ltLlyVyhqKtyzec7WH3b3pkk,2857
|
||||
matplotlib/tri/trirefine.py,sha256=5ntGB8rcY_LkcSgMl2lD-7TOjbKaRNtWSY8inegn7g4,13828
|
||||
matplotlib/tri/tritools.py,sha256=MontOCHIx0QSysOB9TtQlf9lZbPUVkbXFk14TzWHRCM,12422
|
||||
matplotlib/ttconv.cpython-37m-darwin.so,sha256=Lb75-yHJvyQGDNHsFzS9uAEOnFP8qSoxiA5SZ2DQ0l4,94588
|
||||
matplotlib/type1font.py,sha256=aBak-e5VKpZpH_LyYqNUyAX4vgRisZq4sfeEcV45-j4,12173
|
||||
matplotlib/units.py,sha256=ax1Nv_are42KiqXfAplJsIjb4WPSpILVt7nxJM15irk,5637
|
||||
matplotlib/widgets.py,sha256=1tpj1r6N7qd8fEyOrS_x7cRypejC0O66xVcyozVNhU4,95417
|
||||
mpl_toolkits/axes_grid/__init__.py,sha256=d0j8ET68OmR22G59uzWO4BQ3Jv2kCmJC15nZRAf227M,559
|
||||
mpl_toolkits/axes_grid/__pycache__/__init__.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/anchored_artists.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/angle_helper.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/axes_divider.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/axes_grid.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/axes_rgb.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/axes_size.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/axis_artist.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/axisline_style.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/axislines.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/clip_path.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/colorbar.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/floating_axes.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/grid_finder.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/grid_helper_curvelinear.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/inset_locator.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/__pycache__/parasite_axes.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid/anchored_artists.py,sha256=_F6-9iacZidb5JpJ8jCOZ9PdiZaR5qpfBjf-3VjTzNc,291
|
||||
mpl_toolkits/axes_grid/angle_helper.py,sha256=Tb4Mb_NGkUdkisebe2dqfBdFmUZiSmGyUnftiSeSIls,51
|
||||
mpl_toolkits/axes_grid/axes_divider.py,sha256=Q1NvDXXtKVuX7iUoKFFRw11Wg1eHEGt3-qDWG7DOVxg,269
|
||||
mpl_toolkits/axes_grid/axes_grid.py,sha256=t2Fc8fM-_qINumuDxctOEYhMI3M1ZfqEVc3th-cnz5g,152
|
||||
mpl_toolkits/axes_grid/axes_rgb.py,sha256=d3h2tImoPxvVtl8i4IBA_i1vBQykZDYizcNDGdjRltE,201
|
||||
mpl_toolkits/axes_grid/axes_size.py,sha256=v4Nhxe7DVp1FkKX03DqJJ1aevDanDvgKT9r0ouDzTxw,48
|
||||
mpl_toolkits/axes_grid/axis_artist.py,sha256=zUlJFUHueDsMtzLi_mK2_Wf-nSBQgiTsMOFpo_SngZ0,50
|
||||
mpl_toolkits/axes_grid/axisline_style.py,sha256=lNVHXkFWhSWPXOOfF-wlVkDPzmzuStJyJzF-NS5Wf_g,53
|
||||
mpl_toolkits/axes_grid/axislines.py,sha256=kVyhb6laiImmuNE53QTQh3kgxz0sO1mcSMpnqIdjylA,48
|
||||
mpl_toolkits/axes_grid/clip_path.py,sha256=s-d36hUiy9I9BSr9wpxjgoAACCQrczHjw072JvArNvE,48
|
||||
mpl_toolkits/axes_grid/colorbar.py,sha256=DckRf6tadLeTNjx-Zk1u3agnSGZgizDjd0Dxw1-GRdw,171
|
||||
mpl_toolkits/axes_grid/floating_axes.py,sha256=i35OfV1ZMF-DkLo4bKmzFZP6LgCwXfdDKxYlGqjyKOM,52
|
||||
mpl_toolkits/axes_grid/grid_finder.py,sha256=Y221c-Jh_AFd3Oolzvr0B1Zrz9MoXPatUABQdLsFdpw,50
|
||||
mpl_toolkits/axes_grid/grid_helper_curvelinear.py,sha256=nRl_B-755X7UpVqqdwkqc_IwiTmM48z3eOMHuvJT5HI,62
|
||||
mpl_toolkits/axes_grid/inset_locator.py,sha256=qqXlT8JWokP0kV-8NHknZDINtK-jbXfkutH_1tcRe_o,216
|
||||
mpl_toolkits/axes_grid/parasite_axes.py,sha256=kCFtaRTd0O8ePL78GOYvhEKqn8rE9bk61v0kVgMb6UE,469
|
||||
mpl_toolkits/axes_grid1/__init__.py,sha256=SEWPa2ggZnKkFVX4yaJOPN7KgyV_T-cyjr8UjIjjhPs,272
|
||||
mpl_toolkits/axes_grid1/__pycache__/__init__.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid1/__pycache__/anchored_artists.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid1/__pycache__/axes_divider.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid1/__pycache__/axes_grid.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid1/__pycache__/axes_rgb.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid1/__pycache__/axes_size.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid1/__pycache__/colorbar.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid1/__pycache__/inset_locator.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid1/__pycache__/mpl_axes.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid1/__pycache__/parasite_axes.cpython-37.pyc,,
|
||||
mpl_toolkits/axes_grid1/anchored_artists.py,sha256=0wZQvCKuWwuhFN8TY9hSQeO3ijbr8mBOWPnNQEIXuOM,21042
|
||||
mpl_toolkits/axes_grid1/axes_divider.py,sha256=_heH2djdTbeYSomi2e-szYp9ht-C9oqHK_FDmx_YhV8,29673
|
||||
mpl_toolkits/axes_grid1/axes_grid.py,sha256=jxpQ9t0t2Gx7vNyfwyOzUPfZAgK-u7OBDF_v1RH3z30,27404
|
||||
mpl_toolkits/axes_grid1/axes_rgb.py,sha256=H1M8P6lJbaGXPboE1U3tWXP7LAbZ3Zm1PLSkDN0mJVc,6660
|
||||
mpl_toolkits/axes_grid1/axes_size.py,sha256=UbYK3RSlnGsiejIm0a8bIjLGF2KF5G65k826SKPd66k,8638
|
||||
mpl_toolkits/axes_grid1/colorbar.py,sha256=iK_XOIjlqfkGfFBKc2lvX8ZaTPjjBbl_BzMZ9r4PkfU,27099
|
||||
mpl_toolkits/axes_grid1/inset_locator.py,sha256=b39j5q99G9o09qp9wSmuvyB0no8GM4M91IrhAutgn0Y,23680
|
||||
mpl_toolkits/axes_grid1/mpl_axes.py,sha256=f8wQcCTuQldh2cdk5g2DGXwQfwis8_56yUO6cm7ek_k,4387
|
||||
mpl_toolkits/axes_grid1/parasite_axes.py,sha256=ug0YRJiTtA3YVikdKMGj-qjoeOFnqNw2QnRab0Qp7wI,13570
|
||||
mpl_toolkits/axisartist/__init__.py,sha256=2zsgjqTtP_NXv78MEaKabmfmkjA7yhy77pIcaR57YWs,748
|
||||
mpl_toolkits/axisartist/__pycache__/__init__.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/angle_helper.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/axes_divider.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/axes_grid.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/axes_rgb.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/axis_artist.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/axisline_style.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/axislines.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/clip_path.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/floating_axes.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/grid_finder.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/grid_helper_curvelinear.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/__pycache__/parasite_axes.cpython-37.pyc,,
|
||||
mpl_toolkits/axisartist/angle_helper.py,sha256=nXbshd8AutGEmpAmnAo2z1yzvvEsYVy6vhBxGOnDy-g,12633
|
||||
mpl_toolkits/axisartist/axes_divider.py,sha256=FqYC72nAYkmU9oaawDb7TjMxb1NSjhbYocD1vxwCrvM,509
|
||||
mpl_toolkits/axisartist/axes_grid.py,sha256=vfd_EXHuYQ7iIVK2FOm6inLhb7huZxtOSvFyOVW2GmU,610
|
||||
mpl_toolkits/axisartist/axes_rgb.py,sha256=TpJCB8eA0wHZVXOxxfFoy1Tk_KFj68sZvo74doDeHYE,179
|
||||
mpl_toolkits/axisartist/axis_artist.py,sha256=1io56PlZIyWrkFUai9WOvCjuT8Ux_7P5k_JfWddyD2g,44162
|
||||
mpl_toolkits/axisartist/axisline_style.py,sha256=1YU7NMRDol7eMV1SGL76al74N93d5vRpByOJX6hR7cY,5104
|
||||
mpl_toolkits/axisartist/axislines.py,sha256=MZTlK87Qp4EquI1kDgXe2NHUaVlY-vlUnohHn6-xkCk,21415
|
||||
mpl_toolkits/axisartist/clip_path.py,sha256=CEW9HRQXkBGpW4KQTqE-APyZRzOdt88FjQMx2HmbDa8,3780
|
||||
mpl_toolkits/axisartist/floating_axes.py,sha256=j0kMaapcLLUxb6ZFXp-8puMPScop8pOXP1CZavbBHRw,16007
|
||||
mpl_toolkits/axisartist/grid_finder.py,sha256=UWQVUhoW1JNqERTES2SispPpmAWmVryxKfBIu-Oatc8,11376
|
||||
mpl_toolkits/axisartist/grid_helper_curvelinear.py,sha256=9NCYT8WbNxnFO7Quu6hXNQv0FhmXkmkN7PJfwn3W8dw,14881
|
||||
mpl_toolkits/axisartist/parasite_axes.py,sha256=1sQwBEYuXHpaEeObb7cXh0I1xWroYtcvFiEmwrzqK3w,447
|
||||
mpl_toolkits/mplot3d/__init__.py,sha256=V2iPIP9VyRhoJsFWnQf5AkfyI1GSSP9H6hICEe9edJo,27
|
||||
mpl_toolkits/mplot3d/__pycache__/__init__.cpython-37.pyc,,
|
||||
mpl_toolkits/mplot3d/__pycache__/art3d.cpython-37.pyc,,
|
||||
mpl_toolkits/mplot3d/__pycache__/axes3d.cpython-37.pyc,,
|
||||
mpl_toolkits/mplot3d/__pycache__/axis3d.cpython-37.pyc,,
|
||||
mpl_toolkits/mplot3d/__pycache__/proj3d.cpython-37.pyc,,
|
||||
mpl_toolkits/mplot3d/art3d.py,sha256=UsVdjuOdebSpZ9hIit2LXpNyqKyQFZ1XXTblyBFYg4U,27021
|
||||
mpl_toolkits/mplot3d/axes3d.py,sha256=En6LSZbQqV--kmq0E0QT-mhR3Gs_QsZ3W-naRHOV5is,102594
|
||||
mpl_toolkits/mplot3d/axis3d.py,sha256=5CjpbFDx61BmabVV02lkXgAm2EYzOBjIotcUvEVMbFQ,18050
|
||||
mpl_toolkits/mplot3d/proj3d.py,sha256=LVjwKrQf24NBOKQDMFrWEVoBf0tC3NBabF3DY8bN7jo,5488
|
||||
mpl_toolkits/tests/__init__.py,sha256=iPdasxJf0vpIi11tQ98OVSQgS0UaPUyOEGGfAryAhIA,381
|
||||
mpl_toolkits/tests/__pycache__/__init__.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/conftest.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/test_axes_grid.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/test_axes_grid1.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/test_axisartist_angle_helper.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/test_axisartist_axis_artist.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/test_axisartist_axislines.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/test_axisartist_clip_path.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/test_axisartist_floating_axes.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/test_axisartist_grid_finder.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/test_axisartist_grid_helper_curvelinear.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/__pycache__/test_mplot3d.cpython-37.pyc,,
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid/imagegrid_cbar_mode.png,sha256=yvo6erXXc3Z9aO0rrEezBooCc6KhAw7wKv4WngOQmFA,87393
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/anchored_direction_arrows.png,sha256=XMZGgG7_9k96bKhI2G--XBVKpct5O5psbGH2Wvj5YA0,10784
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/anchored_direction_arrows_many_args.png,sha256=fkPsdmhd4S1g-QxMb55M63iAgWmC2G4ytcLOT9tMAD0,11039
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/divider_append_axes.pdf,sha256=eW2CuM_T4d95dC-DU0PmmQD7gqRQIO0rcQpvp-zu1i4,25446
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/divider_append_axes.png,sha256=VfRfs6p4akgjGxxNm6Bu83Pg0v1KmU7WPu97_-kzNFc,48825
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/divider_append_axes.svg,sha256=usfsa3y-s-N2KMOzsOZHTq-PZXgAPXsSM-lkxJ3ZUi0,172812
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/fill_facecolor.png,sha256=Tkrylxebxm8SuWZjQK0qXSX8m9QsQU6kYm7L2dgt4yg,14845
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/image_grid.png,sha256=HIg43mbdOUyEWY-jQ1DEpG7DMqCcWbX1Xf2itmW1YL4,3786
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/inset_axes.png,sha256=RQmR39E6Vskvl7G4LInHibW9E1VK0QgCvI-hBlb-E2E,9928
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/inset_locator.png,sha256=bQKKKUuoU_EZwZT_9FzzeVKsKwUUBOZV55g4vVUbnCU,9490
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/inverted_zoomed_axes.png,sha256=rvglsLg8Kl9jE_JukTJ5B3EHozsIYJsaYA0JIOicZL8,25997
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/twin_axes_empty_and_removed.png,sha256=0YzkFhxs4SBG_FEmnWB10bXIxl9aq7WJveQAqHm0JrQ,37701
|
||||
mpl_toolkits/tests/baseline_images/test_axes_grid1/zoomed_axes.png,sha256=mUu8zJtz8FMb7h5l4Cfp3oBi9jaNR5OoyaDgwqpAZp4,25893
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_axis_artist/axis_artist.png,sha256=qdlk9UPScCAN9RBOhoNqLmJvmkXt8pCuwuQtrz5E8Bs,10151
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_axis_artist/axis_artist_labelbase.png,sha256=An5lovtvAiNA1NZI-E8kOj6eYTruQMqwf3J7pXwdk4A,10598
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_axis_artist/axis_artist_ticklabels.png,sha256=7vuAKkIqcpgJrc2AF7oslf-E_sDfSlCoymyc87u4AWs,5696
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_axis_artist/axis_artist_ticks.png,sha256=CkVtCWG13ViW0w2DsbzfXSvoFWHYaaqQYeEYpbKbOg8,5695
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_axislines/ParasiteAxesAuxTrans_meshplot.png,sha256=FOgl-Glmzhdp6V8mz4StofTsFXGysFkEcUeaWtmJDZs,34354
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_axislines/Subplot.png,sha256=tRpYCjR5zUkafA85DVmY3duTEouwCZq6jDwSF4UsBS8,26919
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_axislines/SubplotZero.png,sha256=3kCrz7HQMYrK3iDgYgf8kyigxRtIGFBbcUzJPtiXh_E,28682
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_clip_path/clip_path.png,sha256=BtMyb7ZawcgId9jl1_qW72lU_ZyxLN780uQ9bCLjbHA,25701
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_floating_axes/curvelinear3.png,sha256=4th7Y74_9YV6X25RqJW0Op9WDzGRCcxF1kfNogkgozE,52835
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_floating_axes/curvelinear4.png,sha256=cYjrSiH6Mvor-VhmwNUgX7Le3_k1rurpd8L5vhTf16s,29374
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_grid_helper_curvelinear/axis_direction.png,sha256=3fue92dg-ntYI0XX0nB31IFpgRT2V3izqjrmLvEdYN4,40536
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_grid_helper_curvelinear/custom_transform.png,sha256=4cQhIFK1z8oPUVyvkHNZ_m-GCbikmUbTvkvYVGy6U4o,15118
|
||||
mpl_toolkits/tests/baseline_images/test_axisartist_grid_helper_curvelinear/polar_box.png,sha256=wWaPM3I7_435SkVQqIggb8BHrWBMWrsSVyMZQQJ6fE4,62526
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/axes3d_cla.png,sha256=htnP1CA8dd85KqdnOsHVlsehT90MUoQD8kFTyra0AuE,51409
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/axes3d_labelpad.png,sha256=zrLsk8t7s970yaY3cqj6SOMbI6UY8Loe0Zbp0WqFtwQ,66817
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/axes3d_ortho.pdf,sha256=zkfSOR2bJYC_X425qnXHMmGJPSlLSpFs53YB_R760Gw,6603
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/axes3d_ortho.png,sha256=SoyN30SsuvEECZyB_ReGP3ZKGZJazOp05dXa3YUn7Jc,47796
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/axes3d_ortho.svg,sha256=Kb_zdIzZG6JKnztMcmOUG4esPsuteljB_A2sxrhIA3Y,18046
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.pdf,sha256=YI5gzs8NK6fWo6JB0wf8xeZ-FrHlS3P8DSCccsLU4fE,7197
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.png,sha256=Qw909B4nDmV9DlMuo1DKk7y5ndjtvni5d_DcysmG9VA,100466
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.svg,sha256=iU1Pk60SDC89km6bwz9Li9mXdNdZ_Vn15bkbAUG2iKo,30591
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d_notshaded.png,sha256=soaHKytaVZHmPvHIEcPFQDJDqhEEuNO_JIVCZyjacxM,66294
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d_shaded.png,sha256=laBssZyuviouRe3seffJWOz45OLunXC0dFHi-lYge1w,115939
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.pdf,sha256=CtzH5MJNMY_hZGAyp9py9PLI0a8kJ-jNnpQKQYtoQEE,25170
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.png,sha256=tii1IakS8MC_Vuwd95HhcyM0iq4zGN5DxgRFfB9mKu8,83161
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.svg,sha256=3VjmHaN5hRXJ-HH9duS1M6nR8gkgBOCtb3zruWcSujU,67618
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.pdf,sha256=H7FyZjuiA12CzP8FDDnVNf42HxGfMlg_8rA57HA1sIo,52812
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.png,sha256=Jb-fhAcgogE8jn9DSsaqInUfWC7D_5Pf3QRf7XWAX2Q,42575
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.svg,sha256=cz9TicdIGJ_8UdHTKQZ76n2rAv6Rx2EELPg8AyAEgMU,173077
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d_fill.pdf,sha256=raTRNOdfYPFJvZiM7BbRbdWRPElQe0sn6jsKH63TTyA,3950
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d_fill.png,sha256=dE8eHoj43eePB44F1nLM2RLj8iqw8rCYI3D0VD3gUg0,39694
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d_fill.svg,sha256=BM-PcmZJ-8iyB4wUWQxcMuskmDXemrsX52LKPYEz850,11093
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.pdf,sha256=6pKrI8lUIPxRwi3ofm8DK8UqNeZsBYprXwX51vwFv1Y,4354
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.png,sha256=DQT-NruHCeG5LKpjG-dlLln3aCoPKhua5PQnHTafBGU,60217
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.svg,sha256=c32m_X6tFYlY5PCVYJ0cPzvZDTbgRA-GIwzDUVTNKYA,12919
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf,sha256=knDLOPbYAI0WPLwXaVuH_vlVODceOPIIzEI_Q3Q1dUU,53964
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.png,sha256=iHxYbxRflxIpjoAtWo9KAvgK4CS-k4N03p0SX_xF4DA,39674
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.svg,sha256=TQ9KQlKC0BU4lnayB2S8ArbsfAh87qKjFEh5WKjWbvk,286241
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/plot_3d_from_2d.png,sha256=AWos5EJWMerD0tgVZyvBofz-5hnCq6fhGHKmQi-izAg,56593
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/poly3dcollection_alpha.png,sha256=AnZJbnnBnF_fny5FBTlSWblkNMlPI1dcQRlCfGPIjWI,52046
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/poly3dcollection_closed.pdf,sha256=mJYYIj01eM9ouCPpoeWu-KDrXe3_o2um4_JddGAzWGg,2680
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/poly3dcollection_closed.png,sha256=ePzSA-iFaQbmH603vw1jhs9vyIt45xXnbpIuUF3a1l8,52065
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/poly3dcollection_closed.svg,sha256=K-D9vp-jB8KFTilVotfIQvuhG3qTMT04XZ6LUIfpZ60,8594
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/proj3d_axes_cube.png,sha256=AJ0EoayvdBoywpOUWcxbMQ0oB7cTzcoWGgGyx2qgQMU,23182
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/proj3d_axes_cube_ortho.png,sha256=5Phz7BclSciZpg4SDu-eUQ-v_ikHbEqReQWCdeHywQk,16210
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/proj3d_lines_dists.png,sha256=XCd4hX2ckc5GCxcgenkRJ8MT7pX-3iMLylD2rCjNl-4,18898
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d.pdf,sha256=T4nKDMCEi2zKpoq5FOsdyMQJd0igS9yBeyUL84a0oso,18589
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d.png,sha256=PBllNI1kHf1rz-oPK507OwsPNE9DPwivXAVJM9DemBI,104755
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d.svg,sha256=_cwXN4aH-mQx5ADarZtXsY-vaeRFg4dPuVmP6S9NZbM,128623
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d_empty.pdf,sha256=DSFSucOBU22R3zmG8eKlWWtLy5Wb7L7wqZ1B7CMybKc,7405
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d_empty.png,sha256=98D3k5QIL7KugUwzqJhdLtp9dgDGgx8hGa9_u8cvX6o,37954
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d_empty.svg,sha256=H_b_HtjccyLTNDjIqUek6DwQugfsyb88nVBepBzFdTo,7745
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d_masked.pdf,sha256=_VIBNh32vX_K9QrH-0o4z13FAE0JZQuOzOfkCTsSe7c,10939
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d_masked.png,sha256=67yp7-6f-vDiYTmCqMFfuIEGly5UHCCUOV84YJtLsX8,80392
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d_masked.svg,sha256=JO8n2RUeQANeCpq_PmtyjmVPqMmuqvZQg7vk_3hsv8I,68796
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d_pivot_middle.png,sha256=N4o26wMzfnyxndPbZ2VnsjIAiNYrFN9Aa40ficwO9AM,104735
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d_pivot_tail.png,sha256=Ff_UrWxD-VIMQLN1uXy5u_Yd5e1P427YfGM05nvU2kE,104951
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.pdf,sha256=93umAGrsz8bYekxMETAlU67eCTY3tzycxpVmm2M7eEE,5847
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.png,sha256=MDaocusHz6Itinjm2j6fnDh-rl1fqVjnqM89nP8bwZs,43155
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.svg,sha256=yc-PIx36-DdoCE1Vd8JRih45GoBR7eVtdi6wMZVZUXU,12494
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d_color.png,sha256=Y7De9BIFLp0Ova4fk9IcXloNjiwmifTrFA1IfVJA3aE,41598
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.pdf,sha256=OSvMZiGJzmVdtv_e0XHIBw4bLSY7DLtWGDAYgh6vNuo,48096
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.png,sha256=Ok0UmO2DELze2yK8mRx0CifmRAgvjyS1IvERsBRvFlU,54712
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.svg,sha256=CaqTIT-jdKSKfCqp8GC_QAc_3Dxwgr97uvDR-a4xdcw,270325
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d_shaded.png,sha256=kWYGPWgG1ZrQVgd389xmIZ1cc59tAkKKiikKaJzHKkw,43474
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.pdf,sha256=5yX0OZojv0yDLP5pWAPr9q_H2Rr6Y6zA1rJHlmoCcuA,13747
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.png,sha256=sO68K3cti2YsPkkjEIAvc7_pd8JaHpc_a78UVx4Htu4,78758
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.svg,sha256=h9yzYfY7Idnab8Rx-qri2fOrAg0fq6kMZOhUrge_CKQ,36533
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/tricontour.png,sha256=8IjYmJP6cBhnPGLz-WDyn7UUMYZ10Kz2MpjOFwDUVow,71328
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.pdf,sha256=OVbK3ausYMApR7_UJPx0pf3bt4A3CpZumhAVhzQMbs0,169155
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.png,sha256=nO0gJBIluLEX3mlxXY3C6bx-9Jf_xJyXAnTXKnqrIkQ,99103
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.svg,sha256=PFUTTF34KiJcol6J5JmRjkaillzRWAgsbfxgEhpWxmA,103333
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d_shaded.png,sha256=LSVF3lI7JnYXmCBAcn410k3JRE-3ssp84Dmgg3zr0FA,94328
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/voxels-alpha.png,sha256=LELjsQnfvfzLF8rNSh5azv9BdwF8TlCMn2wbBJNTtyQ,178141
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/voxels-edge-style.png,sha256=UJXpFMSWIFgUH2rLEv1nxDvHrnshlSz4d5ZB34upa3g,65759
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/voxels-named-colors.png,sha256=J8m66Bc5NoeZxGRwbBThV06_aybNvMeTtwUnmCRzNak,93580
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/voxels-rgb-data.png,sha256=5s02No0RWv8NYV_ccFUnDdBaUHQ8DTO90qddKBnN6mw,131458
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/voxels-simple.png,sha256=7VCcyzKKKz8E7txQV4wi-jEbtftaFW_ekWmA9E1qx3Y,60304
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/voxels-xyz.png,sha256=KwDmkuK7FMtl0Q2ank7wcph9uTncUr7UdTh2hUYdZP8,121446
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3d.pdf,sha256=3gYea_CtpNg1UmurOhyWt3vHZSkLX1-trEY779yrxbc,36169
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3d.png,sha256=epmsR4rWGzh7prW3RL_t8ZcUEsphM5bc0t5j__iauOY,108371
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3d.svg,sha256=-hjWYF-WSE3aDuCSpHYztjeV_yktEqatDK2yZyn_rhE,85892
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3dzerocstride.png,sha256=WaO_3NcaZPFzlui5SQYJ-TbUylHkSbieneCYPffNgAA,81117
|
||||
mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3dzerorstride.png,sha256=y1JvfuVOBiNhJoJ2HdOXyBYBBkQm-oaPcoekfT-cMso,84284
|
||||
mpl_toolkits/tests/conftest.py,sha256=Ph6QZKdfAnkPwU52StddC-uwtCHfANKX1dDXgtX122g,213
|
||||
mpl_toolkits/tests/test_axes_grid.py,sha256=UCQFk5p-9sbTMCS6RKk7BfyCiTb9yRnsarH23eUem0o,1638
|
||||
mpl_toolkits/tests/test_axes_grid1.py,sha256=2LNN5uXVEAI_Dg8TMas1X--fQNGsFN9NLBv21w_rWrw,17564
|
||||
mpl_toolkits/tests/test_axisartist_angle_helper.py,sha256=PwhJwBm2kk4uMyhdO5arQs8IlqSX2vN0hvUzI7YHqrw,5670
|
||||
mpl_toolkits/tests/test_axisartist_axis_artist.py,sha256=h8UXVxnt-fsfvjEOLxnyrwA4z0b7Lf-1UtvIh_SNaI4,2893
|
||||
mpl_toolkits/tests/test_axisartist_axislines.py,sha256=WHLuvnqIChl8D8NqUFryq-f9MCKfejXL61olpn59gdA,2271
|
||||
mpl_toolkits/tests/test_axisartist_clip_path.py,sha256=7K1Y-2DPbDdyvpAHq3XEDaXfsikw-u8v7olwaqwZ53o,1054
|
||||
mpl_toolkits/tests/test_axisartist_floating_axes.py,sha256=_ykVuVnTyZ_zrBe3g_R7JmhBs2mQJnK05zRZZA-nzwA,4122
|
||||
mpl_toolkits/tests/test_axisartist_grid_finder.py,sha256=e65sLudWFIXeU08Sis3_SI1JEI6eq8YqKj-80F_Nohk,325
|
||||
mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py,sha256=TpV3ShQOPAk57KV-97dWfpULRws0zyAOQwn3JpejTe4,7487
|
||||
mpl_toolkits/tests/test_mplot3d.py,sha256=WDEFiPVru7oW7z5W3J-ESBnuIVfZw5oU-oK_L4mEuPM,30075
|
||||
pylab.py,sha256=u_By3CHla-rBMg57egFXIxZ3P_J6zEkSu_dNpBcH5pw,90
|
||||
5
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/WHEEL
vendored
Normal file
5
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/WHEEL
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.34.2)
|
||||
Root-Is-Purelib: false
|
||||
Tag: cp37-cp37m-macosx_10_9_x86_64
|
||||
|
||||
1
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/namespace_packages.txt
vendored
Normal file
1
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/namespace_packages.txt
vendored
Normal file
@@ -0,0 +1 @@
|
||||
mpl_toolkits
|
||||
3
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/top_level.txt
vendored
Normal file
3
matPlotLib/env/lib/python3.7/site-packages/matplotlib-3.1.3.dist-info/top_level.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
matplotlib
|
||||
mpl_toolkits
|
||||
pylab
|
||||
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/.dylibs/libpng16.16.dylib
vendored
Executable file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/.dylibs/libpng16.16.dylib
vendored
Executable file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/.dylibs/libz.1.2.10.dylib
vendored
Executable file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/.dylibs/libz.1.2.10.dylib
vendored
Executable file
Binary file not shown.
1647
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__init__.py
vendored
Normal file
1647
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__init__.py
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/__init__.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_animation_data.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_animation_data.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_cm.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_cm.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_cm_listed.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_cm_listed.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_color_data.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_color_data.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_constrained_layout.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_constrained_layout.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_layoutbox.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_layoutbox.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_mathtext_data.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_mathtext_data.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_pylab_helpers.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_pylab_helpers.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_version.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/_version.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/afm.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/afm.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/animation.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/animation.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/artist.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/artist.cpython-37.pyc
vendored
Normal file
Binary file not shown.
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/axis.cpython-37.pyc
vendored
Normal file
BIN
matPlotLib/env/lib/python3.7/site-packages/matplotlib/__pycache__/axis.cpython-37.pyc
vendored
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user