parent
6bc4f11ed9
commit
5691e0960c
5629 changed files with 0 additions and 985913 deletions
@ -1,241 +0,0 @@ |
|||||||
<# |
|
||||||
.Synopsis |
|
||||||
Activate a Python virtual environment for the current PowerShell session. |
|
||||||
|
|
||||||
.Description |
|
||||||
Pushes the python executable for a virtual environment to the front of the |
|
||||||
$Env:PATH environment variable and sets the prompt to signify that you are |
|
||||||
in a Python virtual environment. Makes use of the command line switches as |
|
||||||
well as the `pyvenv.cfg` file values present in the virtual environment. |
|
||||||
|
|
||||||
.Parameter VenvDir |
|
||||||
Path to the directory that contains the virtual environment to activate. The |
|
||||||
default value for this is the parent of the directory that the Activate.ps1 |
|
||||||
script is located within. |
|
||||||
|
|
||||||
.Parameter Prompt |
|
||||||
The prompt prefix to display when this virtual environment is activated. By |
|
||||||
default, this prompt is the name of the virtual environment folder (VenvDir) |
|
||||||
surrounded by parentheses and followed by a single space (ie. '(.venv) '). |
|
||||||
|
|
||||||
.Example |
|
||||||
Activate.ps1 |
|
||||||
Activates the Python virtual environment that contains the Activate.ps1 script. |
|
||||||
|
|
||||||
.Example |
|
||||||
Activate.ps1 -Verbose |
|
||||||
Activates the Python virtual environment that contains the Activate.ps1 script, |
|
||||||
and shows extra information about the activation as it executes. |
|
||||||
|
|
||||||
.Example |
|
||||||
Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv |
|
||||||
Activates the Python virtual environment located in the specified location. |
|
||||||
|
|
||||||
.Example |
|
||||||
Activate.ps1 -Prompt "MyPython" |
|
||||||
Activates the Python virtual environment that contains the Activate.ps1 script, |
|
||||||
and prefixes the current prompt with the specified string (surrounded in |
|
||||||
parentheses) while the virtual environment is active. |
|
||||||
|
|
||||||
.Notes |
|
||||||
On Windows, it may be required to enable this Activate.ps1 script by setting the |
|
||||||
execution policy for the user. You can do this by issuing the following PowerShell |
|
||||||
command: |
|
||||||
|
|
||||||
PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser |
|
||||||
|
|
||||||
For more information on Execution Policies: |
|
||||||
https://go.microsoft.com/fwlink/?LinkID=135170 |
|
||||||
|
|
||||||
#> |
|
||||||
Param( |
|
||||||
[Parameter(Mandatory = $false)] |
|
||||||
[String] |
|
||||||
$VenvDir, |
|
||||||
[Parameter(Mandatory = $false)] |
|
||||||
[String] |
|
||||||
$Prompt |
|
||||||
) |
|
||||||
|
|
||||||
<# Function declarations --------------------------------------------------- #> |
|
||||||
|
|
||||||
<# |
|
||||||
.Synopsis |
|
||||||
Remove all shell session elements added by the Activate script, including the |
|
||||||
addition of the virtual environment's Python executable from the beginning of |
|
||||||
the PATH variable. |
|
||||||
|
|
||||||
.Parameter NonDestructive |
|
||||||
If present, do not remove this function from the global namespace for the |
|
||||||
session. |
|
||||||
|
|
||||||
#> |
|
||||||
function global:deactivate ([switch]$NonDestructive) { |
|
||||||
# Revert to original values |
|
||||||
|
|
||||||
# The prior prompt: |
|
||||||
if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { |
|
||||||
Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt |
|
||||||
Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT |
|
||||||
} |
|
||||||
|
|
||||||
# The prior PYTHONHOME: |
|
||||||
if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { |
|
||||||
Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME |
|
||||||
Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME |
|
||||||
} |
|
||||||
|
|
||||||
# The prior PATH: |
|
||||||
if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { |
|
||||||
Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH |
|
||||||
Remove-Item -Path Env:_OLD_VIRTUAL_PATH |
|
||||||
} |
|
||||||
|
|
||||||
# Just remove the VIRTUAL_ENV altogether: |
|
||||||
if (Test-Path -Path Env:VIRTUAL_ENV) { |
|
||||||
Remove-Item -Path env:VIRTUAL_ENV |
|
||||||
} |
|
||||||
|
|
||||||
# Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: |
|
||||||
if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { |
|
||||||
Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force |
|
||||||
} |
|
||||||
|
|
||||||
# Leave deactivate function in the global namespace if requested: |
|
||||||
if (-not $NonDestructive) { |
|
||||||
Remove-Item -Path function:deactivate |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
<# |
|
||||||
.Description |
|
||||||
Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the |
|
||||||
given folder, and returns them in a map. |
|
||||||
|
|
||||||
For each line in the pyvenv.cfg file, if that line can be parsed into exactly |
|
||||||
two strings separated by `=` (with any amount of whitespace surrounding the =) |
|
||||||
then it is considered a `key = value` line. The left hand string is the key, |
|
||||||
the right hand is the value. |
|
||||||
|
|
||||||
If the value starts with a `'` or a `"` then the first and last character is |
|
||||||
stripped from the value before being captured. |
|
||||||
|
|
||||||
.Parameter ConfigDir |
|
||||||
Path to the directory that contains the `pyvenv.cfg` file. |
|
||||||
#> |
|
||||||
function Get-PyVenvConfig( |
|
||||||
[String] |
|
||||||
$ConfigDir |
|
||||||
) { |
|
||||||
Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" |
|
||||||
|
|
||||||
# Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). |
|
||||||
$pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue |
|
||||||
|
|
||||||
# An empty map will be returned if no config file is found. |
|
||||||
$pyvenvConfig = @{ } |
|
||||||
|
|
||||||
if ($pyvenvConfigPath) { |
|
||||||
|
|
||||||
Write-Verbose "File exists, parse `key = value` lines" |
|
||||||
$pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath |
|
||||||
|
|
||||||
$pyvenvConfigContent | ForEach-Object { |
|
||||||
$keyval = $PSItem -split "\s*=\s*", 2 |
|
||||||
if ($keyval[0] -and $keyval[1]) { |
|
||||||
$val = $keyval[1] |
|
||||||
|
|
||||||
# Remove extraneous quotations around a string value. |
|
||||||
if ("'""".Contains($val.Substring(0, 1))) { |
|
||||||
$val = $val.Substring(1, $val.Length - 2) |
|
||||||
} |
|
||||||
|
|
||||||
$pyvenvConfig[$keyval[0]] = $val |
|
||||||
Write-Verbose "Adding Key: '$($keyval[0])'='$val'" |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
return $pyvenvConfig |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
<# Begin Activate script --------------------------------------------------- #> |
|
||||||
|
|
||||||
# Determine the containing directory of this script |
|
||||||
$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition |
|
||||||
$VenvExecDir = Get-Item -Path $VenvExecPath |
|
||||||
|
|
||||||
Write-Verbose "Activation script is located in path: '$VenvExecPath'" |
|
||||||
Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" |
|
||||||
Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" |
|
||||||
|
|
||||||
# Set values required in priority: CmdLine, ConfigFile, Default |
|
||||||
# First, get the location of the virtual environment, it might not be |
|
||||||
# VenvExecDir if specified on the command line. |
|
||||||
if ($VenvDir) { |
|
||||||
Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" |
|
||||||
} |
|
||||||
else { |
|
||||||
Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." |
|
||||||
$VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") |
|
||||||
Write-Verbose "VenvDir=$VenvDir" |
|
||||||
} |
|
||||||
|
|
||||||
# Next, read the `pyvenv.cfg` file to determine any required value such |
|
||||||
# as `prompt`. |
|
||||||
$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir |
|
||||||
|
|
||||||
# Next, set the prompt from the command line, or the config file, or |
|
||||||
# just use the name of the virtual environment folder. |
|
||||||
if ($Prompt) { |
|
||||||
Write-Verbose "Prompt specified as argument, using '$Prompt'" |
|
||||||
} |
|
||||||
else { |
|
||||||
Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" |
|
||||||
if ($pyvenvCfg -and $pyvenvCfg['prompt']) { |
|
||||||
Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" |
|
||||||
$Prompt = $pyvenvCfg['prompt']; |
|
||||||
} |
|
||||||
else { |
|
||||||
Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)" |
|
||||||
Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" |
|
||||||
$Prompt = Split-Path -Path $venvDir -Leaf |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
Write-Verbose "Prompt = '$Prompt'" |
|
||||||
Write-Verbose "VenvDir='$VenvDir'" |
|
||||||
|
|
||||||
# Deactivate any currently active virtual environment, but leave the |
|
||||||
# deactivate function in place. |
|
||||||
deactivate -nondestructive |
|
||||||
|
|
||||||
# Now set the environment variable VIRTUAL_ENV, used by many tools to determine |
|
||||||
# that there is an activated venv. |
|
||||||
$env:VIRTUAL_ENV = $VenvDir |
|
||||||
|
|
||||||
if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { |
|
||||||
|
|
||||||
Write-Verbose "Setting prompt to '$Prompt'" |
|
||||||
|
|
||||||
# Set the prompt to include the env name |
|
||||||
# Make sure _OLD_VIRTUAL_PROMPT is global |
|
||||||
function global:_OLD_VIRTUAL_PROMPT { "" } |
|
||||||
Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT |
|
||||||
New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt |
|
||||||
|
|
||||||
function global:prompt { |
|
||||||
Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " |
|
||||||
_OLD_VIRTUAL_PROMPT |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
# Clear PYTHONHOME |
|
||||||
if (Test-Path -Path Env:PYTHONHOME) { |
|
||||||
Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME |
|
||||||
Remove-Item -Path Env:PYTHONHOME |
|
||||||
} |
|
||||||
|
|
||||||
# Add the venv to the PATH |
|
||||||
Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH |
|
||||||
$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" |
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,66 +0,0 @@ |
|||||||
# 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 2> /dev/null |
|
||||||
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="/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv" |
|
||||||
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:-}" |
|
||||||
PS1="(.venv) ${PS1:-}" |
|
||||||
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 2> /dev/null |
|
||||||
fi |
|
@ -1,25 +0,0 @@ |
|||||||
# 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 "/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv" |
|
||||||
|
|
||||||
set _OLD_VIRTUAL_PATH="$PATH" |
|
||||||
setenv PATH "$VIRTUAL_ENV/bin:$PATH" |
|
||||||
|
|
||||||
|
|
||||||
set _OLD_VIRTUAL_PROMPT="$prompt" |
|
||||||
|
|
||||||
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then |
|
||||||
set prompt = "(.venv) $prompt" |
|
||||||
endif |
|
||||||
|
|
||||||
alias pydoc python -m pydoc |
|
||||||
|
|
||||||
rehash |
|
@ -1,64 +0,0 @@ |
|||||||
# This file must be used with "source <venv>/bin/activate.fish" *from fish* |
|
||||||
# (https://fishshell.com/); you cannot run it directly. |
|
||||||
|
|
||||||
function deactivate -d "Exit virtual environment 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 "/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv" |
|
||||||
|
|
||||||
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 |
|
||||||
|
|
||||||
# Output the venv prompt; color taken from the blue of the Python logo. |
|
||||||
printf "%s%s%s" (set_color 4B8BBE) "(.venv) " (set_color normal) |
|
||||||
|
|
||||||
# Restore the return status of the previous command. |
|
||||||
echo "exit $old_status" | . |
|
||||||
# Output the original/"old" prompt. |
|
||||||
_old_fish_prompt |
|
||||||
end |
|
||||||
|
|
||||||
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" |
|
||||||
end |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from breathe.apidoc import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from docutils.__main__ import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from charset_normalizer.cli import cli_detect |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(cli_detect()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from pip._internal.cli.main import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from pip._internal.cli.main import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from pip._internal.cli.main import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from babel.messages.frontend import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from pybtex.__main__ import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from pybtex.database.convert.__main__ import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from pybtex.database.format.__main__ import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from pygments.cmdline import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1 +0,0 @@ |
|||||||
python3 |
|
@ -1 +0,0 @@ |
|||||||
/home/lqijian/intel/oneapi/intelpython/latest/bin/python3 |
|
@ -1 +0,0 @@ |
|||||||
python3 |
|
@ -1,23 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# $Id: rst2html.py 9115 2022-07-28 17:06:24Z milde $ |
|
||||||
# Author: David Goodger <goodger@python.org> |
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
A minimal front end to the Docutils Publisher, producing HTML. |
|
||||||
""" |
|
||||||
|
|
||||||
try: |
|
||||||
import locale |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except Exception: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline, default_description |
|
||||||
|
|
||||||
|
|
||||||
description = ('Generates (X)HTML documents from standalone reStructuredText ' |
|
||||||
'sources. ' + default_description) |
|
||||||
|
|
||||||
publish_cmdline(writer_name='html', description=description) |
|
@ -1,26 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# $Id: rst2html4.py 9115 2022-07-28 17:06:24Z milde $ |
|
||||||
# Author: David Goodger <goodger@python.org> |
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
A minimal front end to the Docutils Publisher, producing (X)HTML. |
|
||||||
|
|
||||||
The output conforms to XHTML 1.0 transitional |
|
||||||
and almost to HTML 4.01 transitional (except for closing empty tags). |
|
||||||
""" |
|
||||||
|
|
||||||
try: |
|
||||||
import locale |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except Exception: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline, default_description |
|
||||||
|
|
||||||
|
|
||||||
description = ('Generates (X)HTML documents from standalone reStructuredText ' |
|
||||||
'sources. ' + default_description) |
|
||||||
|
|
||||||
publish_cmdline(writer_name='html4', description=description) |
|
@ -1,33 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# :Copyright: © 2015 Günter Milde. |
|
||||||
# :License: Released under the terms of the `2-Clause BSD license`_, in short: |
|
||||||
# |
|
||||||
# Copying and distribution of this file, with or without modification, |
|
||||||
# are permitted in any medium without royalty provided the copyright |
|
||||||
# notice and this notice are preserved. |
|
||||||
# This file is offered as-is, without any warranty. |
|
||||||
# |
|
||||||
# .. _2-Clause BSD license: https://opensource.org/licenses/BSD-2-Clause |
|
||||||
# |
|
||||||
# Revision: $Revision: 9021 $ |
|
||||||
# Date: $Date: 2022-03-04 16:54:22 +0100 (Fr, 04. Mär 2022) $ |
|
||||||
|
|
||||||
""" |
|
||||||
A minimal front end to the Docutils Publisher, producing HTML 5 documents. |
|
||||||
|
|
||||||
The output is also valid XML. |
|
||||||
""" |
|
||||||
|
|
||||||
try: |
|
||||||
import locale # module missing in Jython |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except locale.Error: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline, default_description |
|
||||||
|
|
||||||
description = ('Generates HTML5 documents from standalone ' |
|
||||||
'reStructuredText sources.\n' |
|
||||||
+ default_description) |
|
||||||
|
|
||||||
publish_cmdline(writer_name='html5', description=description) |
|
@ -1,26 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# $Id: rst2latex.py 9115 2022-07-28 17:06:24Z milde $ |
|
||||||
# Author: David Goodger <goodger@python.org> |
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
A minimal front end to the Docutils Publisher, producing LaTeX. |
|
||||||
""" |
|
||||||
|
|
||||||
try: |
|
||||||
import locale |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except Exception: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline |
|
||||||
|
|
||||||
description = ('Generates LaTeX documents from standalone reStructuredText ' |
|
||||||
'sources. ' |
|
||||||
'Reads from <source> (default is stdin) and writes to ' |
|
||||||
'<destination> (default is stdout). See ' |
|
||||||
'<https://docutils.sourceforge.io/docs/user/latex.html> for ' |
|
||||||
'the full reference.') |
|
||||||
|
|
||||||
publish_cmdline(writer_name='latex', description=description) |
|
@ -1,27 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# Author: |
|
||||||
# Contact: grubert@users.sf.net |
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
man.py |
|
||||||
====== |
|
||||||
|
|
||||||
This module provides a simple command line interface that uses the |
|
||||||
man page writer to output from ReStructuredText source. |
|
||||||
""" |
|
||||||
|
|
||||||
import locale |
|
||||||
try: |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except Exception: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline, default_description |
|
||||||
from docutils.writers import manpage |
|
||||||
|
|
||||||
description = ("Generates plain unix manual documents. " |
|
||||||
+ default_description) |
|
||||||
|
|
||||||
publish_cmdline(writer=manpage.Writer(), description=description) |
|
@ -1,28 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# $Id: rst2odt.py 9115 2022-07-28 17:06:24Z milde $ |
|
||||||
# Author: Dave Kuhlman <dkuhlman@rexx.com> |
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
A front end to the Docutils Publisher, producing OpenOffice documents. |
|
||||||
""" |
|
||||||
|
|
||||||
try: |
|
||||||
import locale |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except Exception: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline_to_binary, default_description |
|
||||||
from docutils.writers.odf_odt import Writer, Reader |
|
||||||
|
|
||||||
|
|
||||||
description = ('Generates OpenDocument/OpenOffice/ODF documents from ' |
|
||||||
'standalone reStructuredText sources. ' + default_description) |
|
||||||
|
|
||||||
|
|
||||||
writer = Writer() |
|
||||||
reader = Reader() |
|
||||||
output = publish_cmdline_to_binary(reader=reader, writer=writer, |
|
||||||
description=description) |
|
@ -1,20 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
Adapt a word-processor-generated styles.odt for odtwriter use: |
|
||||||
|
|
||||||
Drop page size specifications from styles.xml in STYLE_FILE.odt. |
|
||||||
See https://docutils.sourceforge.io/docs/user/odt.html#page-size |
|
||||||
|
|
||||||
Provisional backwards compatibility stub (to be removed in Docutils >= 0.21). |
|
||||||
|
|
||||||
The actual code moved to the "docutils" library package and can be started |
|
||||||
with ``python -m docutils.writers.odf_odt.prepstyles``. |
|
||||||
""" |
|
||||||
|
|
||||||
from docutils.writers.odf_odt import prepstyles |
|
||||||
|
|
||||||
if __name__ == '__main__': |
|
||||||
prepstyles.main() |
|
@ -1,23 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# $Id: rst2pseudoxml.py 9115 2022-07-28 17:06:24Z milde $ |
|
||||||
# Author: David Goodger <goodger@python.org> |
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
A minimal front end to the Docutils Publisher, producing pseudo-XML. |
|
||||||
""" |
|
||||||
|
|
||||||
try: |
|
||||||
import locale |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except Exception: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline, default_description |
|
||||||
|
|
||||||
|
|
||||||
description = ('Generates pseudo-XML from standalone reStructuredText ' |
|
||||||
'sources (for testing purposes). ' + default_description) |
|
||||||
|
|
||||||
publish_cmdline(description=description) |
|
@ -1,24 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# $Id: rst2s5.py 9115 2022-07-28 17:06:24Z milde $ |
|
||||||
# Author: Chris Liechti <cliechti@gmx.net> |
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
A minimal front end to the Docutils Publisher, producing HTML slides using |
|
||||||
the S5 template system. |
|
||||||
""" |
|
||||||
|
|
||||||
try: |
|
||||||
import locale |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except Exception: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline, default_description |
|
||||||
|
|
||||||
|
|
||||||
description = ('Generates S5 (X)HTML slideshow documents from standalone ' |
|
||||||
'reStructuredText sources. ' + default_description) |
|
||||||
|
|
||||||
publish_cmdline(writer_name='s5', description=description) |
|
@ -1,27 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# $Id: rst2xetex.py 9115 2022-07-28 17:06:24Z milde $ |
|
||||||
# Author: Guenter Milde |
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
A minimal front end to the Docutils Publisher, producing Lua/XeLaTeX code. |
|
||||||
""" |
|
||||||
|
|
||||||
try: |
|
||||||
import locale |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except Exception: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline |
|
||||||
|
|
||||||
description = ('Generates LaTeX documents from standalone reStructuredText ' |
|
||||||
'sources for compilation with the Unicode-aware TeX variants ' |
|
||||||
'XeLaTeX or LuaLaTeX. ' |
|
||||||
'Reads from <source> (default is stdin) and writes to ' |
|
||||||
'<destination> (default is stdout). See ' |
|
||||||
'<https://docutils.sourceforge.io/docs/user/latex.html> for ' |
|
||||||
'the full reference.') |
|
||||||
|
|
||||||
publish_cmdline(writer_name='xetex', description=description) |
|
@ -1,23 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# $Id: rst2xml.py 9115 2022-07-28 17:06:24Z milde $ |
|
||||||
# Author: David Goodger <goodger@python.org> |
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
A minimal front end to the Docutils Publisher, producing Docutils XML. |
|
||||||
""" |
|
||||||
|
|
||||||
try: |
|
||||||
import locale |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except Exception: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline, default_description |
|
||||||
|
|
||||||
|
|
||||||
description = ('Generates Docutils-native XML from standalone ' |
|
||||||
'reStructuredText sources. ' + default_description) |
|
||||||
|
|
||||||
publish_cmdline(writer_name='xml', description=description) |
|
@ -1,25 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
|
|
||||||
# $Id: rstpep2html.py 9115 2022-07-28 17:06:24Z milde $ |
|
||||||
# Author: David Goodger <goodger@python.org> |
|
||||||
# Copyright: This module has been placed in the public domain. |
|
||||||
|
|
||||||
""" |
|
||||||
A minimal front end to the Docutils Publisher, producing HTML from PEP |
|
||||||
(Python Enhancement Proposal) documents. |
|
||||||
""" |
|
||||||
|
|
||||||
try: |
|
||||||
import locale |
|
||||||
locale.setlocale(locale.LC_ALL, '') |
|
||||||
except Exception: |
|
||||||
pass |
|
||||||
|
|
||||||
from docutils.core import publish_cmdline, default_description |
|
||||||
|
|
||||||
|
|
||||||
description = ('Generates (X)HTML from reStructuredText-format PEP files. ' |
|
||||||
+ default_description) |
|
||||||
|
|
||||||
publish_cmdline(reader_name='pep', writer_name='pep_html', |
|
||||||
description=description) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from sphinx.ext.apidoc import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from sphinx.ext.autosummary.generate import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from sphinx.cmd.build import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1,8 +0,0 @@ |
|||||||
#!/home/lqijian/THESIS/docker_documentation/git_folder/docs/.venv/bin/python3 |
|
||||||
# -*- coding: utf-8 -*- |
|
||||||
import re |
|
||||||
import sys |
|
||||||
from sphinx.cmd.quickstart import main |
|
||||||
if __name__ == '__main__': |
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |
|
||||||
sys.exit(main()) |
|
@ -1 +0,0 @@ |
|||||||
pip |
|
@ -1,27 +0,0 @@ |
|||||||
Copyright (c) 2013-2024 by the Babel Team, see AUTHORS for more information. |
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without |
|
||||||
modification, are permitted provided that the following conditions |
|
||||||
are met: |
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright |
|
||||||
notice, this list of conditions and the following disclaimer. |
|
||||||
2. Redistributions in binary form must reproduce the above copyright |
|
||||||
notice, this list of conditions and the following disclaimer in |
|
||||||
the documentation and/or other materials provided with the |
|
||||||
distribution. |
|
||||||
3. Neither the name of the copyright holder nor the names of its |
|
||||||
contributors may be used to endorse or promote products derived |
|
||||||
from this software without specific prior written permission. |
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
||||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
||||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
||||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
@ -1,36 +0,0 @@ |
|||||||
Metadata-Version: 2.1 |
|
||||||
Name: Babel |
|
||||||
Version: 2.15.0 |
|
||||||
Summary: Internationalization utilities |
|
||||||
Home-page: https://babel.pocoo.org/ |
|
||||||
Author: Armin Ronacher |
|
||||||
Author-email: armin.ronacher@active-4.com |
|
||||||
Maintainer: Aarni Koskela |
|
||||||
Maintainer-email: akx@iki.fi |
|
||||||
License: BSD-3-Clause |
|
||||||
Project-URL: Source, https://github.com/python-babel/babel |
|
||||||
Classifier: Development Status :: 5 - Production/Stable |
|
||||||
Classifier: Environment :: Web Environment |
|
||||||
Classifier: Intended Audience :: Developers |
|
||||||
Classifier: License :: OSI Approved :: BSD License |
|
||||||
Classifier: Operating System :: OS Independent |
|
||||||
Classifier: Programming Language :: Python |
|
||||||
Classifier: Programming Language :: Python :: 3 |
|
||||||
Classifier: Programming Language :: Python :: 3 :: Only |
|
||||||
Classifier: Programming Language :: Python :: 3.8 |
|
||||||
Classifier: Programming Language :: Python :: 3.9 |
|
||||||
Classifier: Programming Language :: Python :: 3.10 |
|
||||||
Classifier: Programming Language :: Python :: 3.11 |
|
||||||
Classifier: Programming Language :: Python :: 3.12 |
|
||||||
Classifier: Programming Language :: Python :: Implementation :: CPython |
|
||||||
Classifier: Programming Language :: Python :: Implementation :: PyPy |
|
||||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules |
|
||||||
Requires-Python: >=3.8 |
|
||||||
License-File: LICENSE |
|
||||||
Requires-Dist: pytz >=2015.7 ; python_version < "3.9" |
|
||||||
Provides-Extra: dev |
|
||||||
Requires-Dist: pytest >=6.0 ; extra == 'dev' |
|
||||||
Requires-Dist: pytest-cov ; extra == 'dev' |
|
||||||
Requires-Dist: freezegun ~=1.0 ; extra == 'dev' |
|
||||||
|
|
||||||
A collection of tools for internationalizing Python applications. |
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +0,0 @@ |
|||||||
Wheel-Version: 1.0 |
|
||||||
Generator: bdist_wheel (0.43.0) |
|
||||||
Root-Is-Purelib: true |
|
||||||
Tag: py3-none-any |
|
||||||
|
|
@ -1,20 +0,0 @@ |
|||||||
[babel.checkers] |
|
||||||
num_plurals = babel.messages.checkers:num_plurals |
|
||||||
python_format = babel.messages.checkers:python_format |
|
||||||
|
|
||||||
[babel.extractors] |
|
||||||
ignore = babel.messages.extract:extract_nothing |
|
||||||
javascript = babel.messages.extract:extract_javascript |
|
||||||
python = babel.messages.extract:extract_python |
|
||||||
|
|
||||||
[console_scripts] |
|
||||||
pybabel = babel.messages.frontend:main |
|
||||||
|
|
||||||
[distutils.commands] |
|
||||||
compile_catalog = babel.messages.setuptools_frontend:compile_catalog |
|
||||||
extract_messages = babel.messages.setuptools_frontend:extract_messages |
|
||||||
init_catalog = babel.messages.setuptools_frontend:init_catalog |
|
||||||
update_catalog = babel.messages.setuptools_frontend:update_catalog |
|
||||||
|
|
||||||
[distutils.setup_keywords] |
|
||||||
message_extractors = babel.messages.setuptools_frontend:check_message_extractors |
|
@ -1 +0,0 @@ |
|||||||
babel |
|
@ -1 +0,0 @@ |
|||||||
pip |
|
@ -1,28 +0,0 @@ |
|||||||
Copyright 2010 Pallets |
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without |
|
||||||
modification, are permitted provided that the following conditions are |
|
||||||
met: |
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright |
|
||||||
notice, this list of conditions and the following disclaimer. |
|
||||||
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright |
|
||||||
notice, this list of conditions and the following disclaimer in the |
|
||||||
documentation and/or other materials provided with the distribution. |
|
||||||
|
|
||||||
3. Neither the name of the copyright holder nor the names of its |
|
||||||
contributors may be used to endorse or promote products derived from |
|
||||||
this software without specific prior written permission. |
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
|
||||||
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
||||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED |
|
||||||
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
|
||||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
|
||||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
|
||||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
@ -1,93 +0,0 @@ |
|||||||
Metadata-Version: 2.1 |
|
||||||
Name: MarkupSafe |
|
||||||
Version: 2.1.5 |
|
||||||
Summary: Safely add untrusted strings to HTML/XML markup. |
|
||||||
Home-page: https://palletsprojects.com/p/markupsafe/ |
|
||||||
Maintainer: Pallets |
|
||||||
Maintainer-email: contact@palletsprojects.com |
|
||||||
License: BSD-3-Clause |
|
||||||
Project-URL: Donate, https://palletsprojects.com/donate |
|
||||||
Project-URL: Documentation, https://markupsafe.palletsprojects.com/ |
|
||||||
Project-URL: Changes, https://markupsafe.palletsprojects.com/changes/ |
|
||||||
Project-URL: Source Code, https://github.com/pallets/markupsafe/ |
|
||||||
Project-URL: Issue Tracker, https://github.com/pallets/markupsafe/issues/ |
|
||||||
Project-URL: Chat, https://discord.gg/pallets |
|
||||||
Classifier: Development Status :: 5 - Production/Stable |
|
||||||
Classifier: Environment :: Web Environment |
|
||||||
Classifier: Intended Audience :: Developers |
|
||||||
Classifier: License :: OSI Approved :: BSD License |
|
||||||
Classifier: Operating System :: OS Independent |
|
||||||
Classifier: Programming Language :: Python |
|
||||||
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content |
|
||||||
Classifier: Topic :: Text Processing :: Markup :: HTML |
|
||||||
Requires-Python: >=3.7 |
|
||||||
Description-Content-Type: text/x-rst |
|
||||||
License-File: LICENSE.rst |
|
||||||
|
|
||||||
MarkupSafe |
|
||||||
========== |
|
||||||
|
|
||||||
MarkupSafe implements a text object that escapes characters so it is |
|
||||||
safe to use in HTML and XML. Characters that have special meanings are |
|
||||||
replaced so that they display as the actual characters. This mitigates |
|
||||||
injection attacks, meaning untrusted user input can safely be displayed |
|
||||||
on a page. |
|
||||||
|
|
||||||
|
|
||||||
Installing |
|
||||||
---------- |
|
||||||
|
|
||||||
Install and update using `pip`_: |
|
||||||
|
|
||||||
.. code-block:: text |
|
||||||
|
|
||||||
pip install -U MarkupSafe |
|
||||||
|
|
||||||
.. _pip: https://pip.pypa.io/en/stable/getting-started/ |
|
||||||
|
|
||||||
|
|
||||||
Examples |
|
||||||
-------- |
|
||||||
|
|
||||||
.. code-block:: pycon |
|
||||||
|
|
||||||
>>> from markupsafe import Markup, escape |
|
||||||
|
|
||||||
>>> # escape replaces special characters and wraps in Markup |
|
||||||
>>> escape("<script>alert(document.cookie);</script>") |
|
||||||
Markup('<script>alert(document.cookie);</script>') |
|
||||||
|
|
||||||
>>> # wrap in Markup to mark text "safe" and prevent escaping |
|
||||||
>>> Markup("<strong>Hello</strong>") |
|
||||||
Markup('<strong>hello</strong>') |
|
||||||
|
|
||||||
>>> escape(Markup("<strong>Hello</strong>")) |
|
||||||
Markup('<strong>hello</strong>') |
|
||||||
|
|
||||||
>>> # Markup is a str subclass |
|
||||||
>>> # methods and operators escape their arguments |
|
||||||
>>> template = Markup("Hello <em>{name}</em>") |
|
||||||
>>> template.format(name='"World"') |
|
||||||
Markup('Hello <em>"World"</em>') |
|
||||||
|
|
||||||
|
|
||||||
Donate |
|
||||||
------ |
|
||||||
|
|
||||||
The Pallets organization develops and supports MarkupSafe and other |
|
||||||
popular packages. In order to grow the community of contributors and |
|
||||||
users, and allow the maintainers to devote more time to the projects, |
|
||||||
`please donate today`_. |
|
||||||
|
|
||||||
.. _please donate today: https://palletsprojects.com/donate |
|
||||||
|
|
||||||
|
|
||||||
Links |
|
||||||
----- |
|
||||||
|
|
||||||
- Documentation: https://markupsafe.palletsprojects.com/ |
|
||||||
- Changes: https://markupsafe.palletsprojects.com/changes/ |
|
||||||
- PyPI Releases: https://pypi.org/project/MarkupSafe/ |
|
||||||
- Source Code: https://github.com/pallets/markupsafe/ |
|
||||||
- Issue Tracker: https://github.com/pallets/markupsafe/issues/ |
|
||||||
- Chat: https://discord.gg/pallets |
|
@ -1,14 +0,0 @@ |
|||||||
MarkupSafe-2.1.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 |
|
||||||
MarkupSafe-2.1.5.dist-info/LICENSE.rst,sha256=SJqOEQhQntmKN7uYPhHg9-HTHwvY-Zp5yESOf_N9B-o,1475 |
|
||||||
MarkupSafe-2.1.5.dist-info/METADATA,sha256=2dRDPam6OZLfpX0wg1JN5P3u9arqACxVSfdGmsJU7o8,3003 |
|
||||||
MarkupSafe-2.1.5.dist-info/RECORD,, |
|
||||||
MarkupSafe-2.1.5.dist-info/WHEEL,sha256=uQ9JcPdAMEhlCRnfrhg6ydnbrPot9NaB8igB3QVnPX0,148 |
|
||||||
MarkupSafe-2.1.5.dist-info/top_level.txt,sha256=qy0Plje5IJuvsCBjejJyhDCjEAdcDLK_2agVcex8Z6U,11 |
|
||||||
markupsafe/__init__.py,sha256=r7VOTjUq7EMQ4v3p4R1LoVOGJg6ysfYRncLr34laRBs,10958 |
|
||||||
markupsafe/__pycache__/__init__.cpython-39.pyc,, |
|
||||||
markupsafe/__pycache__/_native.cpython-39.pyc,, |
|
||||||
markupsafe/_native.py,sha256=GR86Qvo_GcgKmKreA1WmYN9ud17OFwkww8E-fiW-57s,1713 |
|
||||||
markupsafe/_speedups.c,sha256=X2XvQVtIdcK4Usz70BvkzoOfjTCmQlDkkjYSn-swE0g,7083 |
|
||||||
markupsafe/_speedups.cpython-39-x86_64-linux-gnu.so,sha256=oEmw939omyETRbYGEBV4S76kqzUg35xYnc4zsIim64c,44024 |
|
||||||
markupsafe/_speedups.pyi,sha256=vfMCsOgbAXRNLUXkyuyonG8uEWKYU4PDqNuMaDELAYw,229 |
|
||||||
markupsafe/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 |
|
@ -1,6 +0,0 @@ |
|||||||
Wheel-Version: 1.0 |
|
||||||
Generator: bdist_wheel (0.42.0) |
|
||||||
Root-Is-Purelib: false |
|
||||||
Tag: cp39-cp39-manylinux_2_17_x86_64 |
|
||||||
Tag: cp39-cp39-manylinux2014_x86_64 |
|
||||||
|
|
@ -1 +0,0 @@ |
|||||||
markupsafe |
|
@ -1 +0,0 @@ |
|||||||
pip |
|
@ -1,20 +0,0 @@ |
|||||||
Copyright (c) 2017-2021 Ingy döt Net |
|
||||||
Copyright (c) 2006-2016 Kirill Simonov |
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of |
|
||||||
this software and associated documentation files (the "Software"), to deal in |
|
||||||
the Software without restriction, including without limitation the rights to |
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies |
|
||||||
of the Software, and to permit persons to whom the Software is furnished to do |
|
||||||
so, subject to the following conditions: |
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all |
|
||||||
copies or substantial portions of the Software. |
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|
||||||
SOFTWARE. |
|
@ -1,46 +0,0 @@ |
|||||||
Metadata-Version: 2.1 |
|
||||||
Name: PyYAML |
|
||||||
Version: 6.0.1 |
|
||||||
Summary: YAML parser and emitter for Python |
|
||||||
Home-page: https://pyyaml.org/ |
|
||||||
Download-URL: https://pypi.org/project/PyYAML/ |
|
||||||
Author: Kirill Simonov |
|
||||||
Author-email: xi@resolvent.net |
|
||||||
License: MIT |
|
||||||
Project-URL: Bug Tracker, https://github.com/yaml/pyyaml/issues |
|
||||||
Project-URL: CI, https://github.com/yaml/pyyaml/actions |
|
||||||
Project-URL: Documentation, https://pyyaml.org/wiki/PyYAMLDocumentation |
|
||||||
Project-URL: Mailing lists, http://lists.sourceforge.net/lists/listinfo/yaml-core |
|
||||||
Project-URL: Source Code, https://github.com/yaml/pyyaml |
|
||||||
Platform: Any |
|
||||||
Classifier: Development Status :: 5 - Production/Stable |
|
||||||
Classifier: Intended Audience :: Developers |
|
||||||
Classifier: License :: OSI Approved :: MIT License |
|
||||||
Classifier: Operating System :: OS Independent |
|
||||||
Classifier: Programming Language :: Cython |
|
||||||
Classifier: Programming Language :: Python |
|
||||||
Classifier: Programming Language :: Python :: 3 |
|
||||||
Classifier: Programming Language :: Python :: 3.6 |
|
||||||
Classifier: Programming Language :: Python :: 3.7 |
|
||||||
Classifier: Programming Language :: Python :: 3.8 |
|
||||||
Classifier: Programming Language :: Python :: 3.9 |
|
||||||
Classifier: Programming Language :: Python :: 3.10 |
|
||||||
Classifier: Programming Language :: Python :: 3.11 |
|
||||||
Classifier: Programming Language :: Python :: Implementation :: CPython |
|
||||||
Classifier: Programming Language :: Python :: Implementation :: PyPy |
|
||||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules |
|
||||||
Classifier: Topic :: Text Processing :: Markup |
|
||||||
Requires-Python: >=3.6 |
|
||||||
License-File: LICENSE |
|
||||||
|
|
||||||
YAML is a data serialization format designed for human readability |
|
||||||
and interaction with scripting languages. PyYAML is a YAML parser |
|
||||||
and emitter for Python. |
|
||||||
|
|
||||||
PyYAML features a complete YAML 1.1 parser, Unicode support, pickle |
|
||||||
support, capable extension API, and sensible error messages. PyYAML |
|
||||||
supports standard YAML tags and provides Python-specific tags that |
|
||||||
allow to represent an arbitrary Python object. |
|
||||||
|
|
||||||
PyYAML is applicable for a broad range of tasks from complex |
|
||||||
configuration files to object serialization and persistence. |
|
@ -1,43 +0,0 @@ |
|||||||
PyYAML-6.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 |
|
||||||
PyYAML-6.0.1.dist-info/LICENSE,sha256=jTko-dxEkP1jVwfLiOsmvXZBAqcoKVQwfT5RZ6V36KQ,1101 |
|
||||||
PyYAML-6.0.1.dist-info/METADATA,sha256=UNNF8-SzzwOKXVo-kV5lXUGH2_wDWMBmGxqISpp5HQk,2058 |
|
||||||
PyYAML-6.0.1.dist-info/RECORD,, |
|
||||||
PyYAML-6.0.1.dist-info/WHEEL,sha256=gREe7-l-MJWbGZG46A7WHnwwUSxA3XJYHQvGGLzmBNU,148 |
|
||||||
PyYAML-6.0.1.dist-info/top_level.txt,sha256=rpj0IVMTisAjh_1vG3Ccf9v5jpCQwAz6cD1IVU5ZdhQ,11 |
|
||||||
_yaml/__init__.py,sha256=04Ae_5osxahpJHa3XBZUAf4wi6XX32gR8D6X6p64GEA,1402 |
|
||||||
_yaml/__pycache__/__init__.cpython-39.pyc,, |
|
||||||
yaml/__init__.py,sha256=bhl05qSeO-1ZxlSRjGrvl2m9nrXb1n9-GQatTN0Mrqc,12311 |
|
||||||
yaml/__pycache__/__init__.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/composer.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/constructor.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/cyaml.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/dumper.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/emitter.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/error.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/events.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/loader.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/nodes.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/parser.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/reader.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/representer.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/resolver.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/scanner.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/serializer.cpython-39.pyc,, |
|
||||||
yaml/__pycache__/tokens.cpython-39.pyc,, |
|
||||||
yaml/_yaml.cpython-39-x86_64-linux-gnu.so,sha256=hLLHCONMX-DOraGQx6GRynALLcquQoI7yL9kUx8Ma00,2371056 |
|
||||||
yaml/composer.py,sha256=_Ko30Wr6eDWUeUpauUGT3Lcg9QPBnOPVlTnIMRGJ9FM,4883 |
|
||||||
yaml/constructor.py,sha256=kNgkfaeLUkwQYY_Q6Ff1Tz2XVw_pG1xVE9Ak7z-viLA,28639 |
|
||||||
yaml/cyaml.py,sha256=6ZrAG9fAYvdVe2FK_w0hmXoG7ZYsoYUwapG8CiC72H0,3851 |
|
||||||
yaml/dumper.py,sha256=PLctZlYwZLp7XmeUdwRuv4nYOZ2UBnDIUy8-lKfLF-o,2837 |
|
||||||
yaml/emitter.py,sha256=jghtaU7eFwg31bG0B7RZea_29Adi9CKmXq_QjgQpCkQ,43006 |
|
||||||
yaml/error.py,sha256=Ah9z-toHJUbE9j-M8YpxgSRM5CgLCcwVzJgLLRF2Fxo,2533 |
|
||||||
yaml/events.py,sha256=50_TksgQiE4up-lKo_V-nBy-tAIxkIPQxY5qDhKCeHw,2445 |
|
||||||
yaml/loader.py,sha256=UVa-zIqmkFSCIYq_PgSGm4NSJttHY2Rf_zQ4_b1fHN0,2061 |
|
||||||
yaml/nodes.py,sha256=gPKNj8pKCdh2d4gr3gIYINnPOaOxGhJAUiYhGRnPE84,1440 |
|
||||||
yaml/parser.py,sha256=ilWp5vvgoHFGzvOZDItFoGjD6D42nhlZrZyjAwa0oJo,25495 |
|
||||||
yaml/reader.py,sha256=0dmzirOiDG4Xo41RnuQS7K9rkY3xjHiVasfDMNTqCNw,6794 |
|
||||||
yaml/representer.py,sha256=IuWP-cAW9sHKEnS0gCqSa894k1Bg4cgTxaDwIcbRQ-Y,14190 |
|
||||||
yaml/resolver.py,sha256=9L-VYfm4mWHxUD1Vg4X7rjDRK_7VZd6b92wzq7Y2IKY,9004 |
|
||||||
yaml/scanner.py,sha256=YEM3iLZSaQwXcQRg2l2R4MdT0zGP2F9eHkKGKnHyWQY,51279 |
|
||||||
yaml/serializer.py,sha256=ChuFgmhU01hj4xgI8GaKv6vfM2Bujwa9i7d2FAHj7cA,4165 |
|
||||||
yaml/tokens.py,sha256=lTQIzSVw8Mg9wv459-TjiOQe6wVziqaRlqX2_89rp54,2573 |
|
@ -1,6 +0,0 @@ |
|||||||
Wheel-Version: 1.0 |
|
||||||
Generator: bdist_wheel (0.40.0) |
|
||||||
Root-Is-Purelib: false |
|
||||||
Tag: cp39-cp39-manylinux_2_17_x86_64 |
|
||||||
Tag: cp39-cp39-manylinux2014_x86_64 |
|
||||||
|
|
@ -1,2 +0,0 @@ |
|||||||
_yaml |
|
||||||
yaml |
|
Binary file not shown.
Binary file not shown.
@ -1,128 +0,0 @@ |
|||||||
import sys |
|
||||||
import os |
|
||||||
import re |
|
||||||
import importlib |
|
||||||
import warnings |
|
||||||
|
|
||||||
|
|
||||||
is_pypy = '__pypy__' in sys.builtin_module_names |
|
||||||
|
|
||||||
|
|
||||||
warnings.filterwarnings('ignore', |
|
||||||
r'.+ distutils\b.+ deprecated', |
|
||||||
DeprecationWarning) |
|
||||||
|
|
||||||
|
|
||||||
def warn_distutils_present(): |
|
||||||
if 'distutils' not in sys.modules: |
|
||||||
return |
|
||||||
if is_pypy and sys.version_info < (3, 7): |
|
||||||
# PyPy for 3.6 unconditionally imports distutils, so bypass the warning |
|
||||||
# https://foss.heptapod.net/pypy/pypy/-/blob/be829135bc0d758997b3566062999ee8b23872b4/lib-python/3/site.py#L250 |
|
||||||
return |
|
||||||
warnings.warn( |
|
||||||
"Distutils was imported before Setuptools, but importing Setuptools " |
|
||||||
"also replaces the `distutils` module in `sys.modules`. This may lead " |
|
||||||
"to undesirable behaviors or errors. To avoid these issues, avoid " |
|
||||||
"using distutils directly, ensure that setuptools is installed in the " |
|
||||||
"traditional way (e.g. not an editable install), and/or make sure " |
|
||||||
"that setuptools is always imported before distutils.") |
|
||||||
|
|
||||||
|
|
||||||
def clear_distutils(): |
|
||||||
if 'distutils' not in sys.modules: |
|
||||||
return |
|
||||||
warnings.warn("Setuptools is replacing distutils.") |
|
||||||
mods = [name for name in sys.modules if re.match(r'distutils\b', name)] |
|
||||||
for name in mods: |
|
||||||
del sys.modules[name] |
|
||||||
|
|
||||||
|
|
||||||
def enabled(): |
|
||||||
""" |
|
||||||
Allow selection of distutils by environment variable. |
|
||||||
""" |
|
||||||
which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'stdlib') |
|
||||||
return which == 'local' |
|
||||||
|
|
||||||
|
|
||||||
def ensure_local_distutils(): |
|
||||||
clear_distutils() |
|
||||||
distutils = importlib.import_module('setuptools._distutils') |
|
||||||
distutils.__name__ = 'distutils' |
|
||||||
sys.modules['distutils'] = distutils |
|
||||||
|
|
||||||
# sanity check that submodules load as expected |
|
||||||
core = importlib.import_module('distutils.core') |
|
||||||
assert '_distutils' in core.__file__, core.__file__ |
|
||||||
|
|
||||||
|
|
||||||
def do_override(): |
|
||||||
""" |
|
||||||
Ensure that the local copy of distutils is preferred over stdlib. |
|
||||||
|
|
||||||
See https://github.com/pypa/setuptools/issues/417#issuecomment-392298401 |
|
||||||
for more motivation. |
|
||||||
""" |
|
||||||
if enabled(): |
|
||||||
warn_distutils_present() |
|
||||||
ensure_local_distutils() |
|
||||||
|
|
||||||
|
|
||||||
class DistutilsMetaFinder: |
|
||||||
def find_spec(self, fullname, path, target=None): |
|
||||||
if path is not None: |
|
||||||
return |
|
||||||
|
|
||||||
method_name = 'spec_for_{fullname}'.format(**locals()) |
|
||||||
method = getattr(self, method_name, lambda: None) |
|
||||||
return method() |
|
||||||
|
|
||||||
def spec_for_distutils(self): |
|
||||||
import importlib.abc |
|
||||||
import importlib.util |
|
||||||
|
|
||||||
class DistutilsLoader(importlib.abc.Loader): |
|
||||||
|
|
||||||
def create_module(self, spec): |
|
||||||
return importlib.import_module('setuptools._distutils') |
|
||||||
|
|
||||||
def exec_module(self, module): |
|
||||||
pass |
|
||||||
|
|
||||||
return importlib.util.spec_from_loader('distutils', DistutilsLoader()) |
|
||||||
|
|
||||||
def spec_for_pip(self): |
|
||||||
""" |
|
||||||
Ensure stdlib distutils when running under pip. |
|
||||||
See pypa/pip#8761 for rationale. |
|
||||||
""" |
|
||||||
if self.pip_imported_during_build(): |
|
||||||
return |
|
||||||
clear_distutils() |
|
||||||
self.spec_for_distutils = lambda: None |
|
||||||
|
|
||||||
@staticmethod |
|
||||||
def pip_imported_during_build(): |
|
||||||
""" |
|
||||||
Detect if pip is being imported in a build script. Ref #2355. |
|
||||||
""" |
|
||||||
import traceback |
|
||||||
return any( |
|
||||||
frame.f_globals['__file__'].endswith('setup.py') |
|
||||||
for frame, line in traceback.walk_stack(None) |
|
||||||
) |
|
||||||
|
|
||||||
|
|
||||||
DISTUTILS_FINDER = DistutilsMetaFinder() |
|
||||||
|
|
||||||
|
|
||||||
def add_shim(): |
|
||||||
sys.meta_path.insert(0, DISTUTILS_FINDER) |
|
||||||
|
|
||||||
|
|
||||||
def remove_shim(): |
|
||||||
try: |
|
||||||
sys.meta_path.remove(DISTUTILS_FINDER) |
|
||||||
except ValueError: |
|
||||||
pass |
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@ |
|||||||
__import__('_distutils_hack').do_override() |
|
@ -1,33 +0,0 @@ |
|||||||
# This is a stub package designed to roughly emulate the _yaml |
|
||||||
# extension module, which previously existed as a standalone module |
|
||||||
# and has been moved into the `yaml` package namespace. |
|
||||||
# It does not perfectly mimic its old counterpart, but should get |
|
||||||
# close enough for anyone who's relying on it even when they shouldn't. |
|
||||||
import yaml |
|
||||||
|
|
||||||
# in some circumstances, the yaml module we imoprted may be from a different version, so we need |
|
||||||
# to tread carefully when poking at it here (it may not have the attributes we expect) |
|
||||||
if not getattr(yaml, '__with_libyaml__', False): |
|
||||||
from sys import version_info |
|
||||||
|
|
||||||
exc = ModuleNotFoundError if version_info >= (3, 6) else ImportError |
|
||||||
raise exc("No module named '_yaml'") |
|
||||||
else: |
|
||||||
from yaml._yaml import * |
|
||||||
import warnings |
|
||||||
warnings.warn( |
|
||||||
'The _yaml extension module is now located at yaml._yaml' |
|
||||||
' and its location is subject to change. To use the' |
|
||||||
' LibYAML-based parser and emitter, import from `yaml`:' |
|
||||||
' `from yaml import CLoader as Loader, CDumper as Dumper`.', |
|
||||||
DeprecationWarning |
|
||||||
) |
|
||||||
del warnings |
|
||||||
# Don't `del yaml` here because yaml is actually an existing |
|
||||||
# namespace member of _yaml. |
|
||||||
|
|
||||||
__name__ = '_yaml' |
|
||||||
# If the module is top-level (i.e. not a part of any specific package) |
|
||||||
# then the attribute should be set to ''. |
|
||||||
# https://docs.python.org/3.8/library/types.html |
|
||||||
__package__ = '' |
|
Binary file not shown.
@ -1 +0,0 @@ |
|||||||
pip |
|
@ -1,34 +0,0 @@ |
|||||||
Copyright (c) 2020 Jeff Forcier. |
|
||||||
|
|
||||||
Based on original work copyright (c) 2011 Kenneth Reitz and copyright (c) 2010 |
|
||||||
Armin Ronacher. |
|
||||||
|
|
||||||
Some rights reserved. |
|
||||||
|
|
||||||
Redistribution and use in source and binary forms of the theme, with or |
|
||||||
without modification, are permitted provided that the following conditions |
|
||||||
are met: |
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright |
|
||||||
notice, this list of conditions and the following disclaimer. |
|
||||||
|
|
||||||
* Redistributions in binary form must reproduce the above |
|
||||||
copyright notice, this list of conditions and the following |
|
||||||
disclaimer in the documentation and/or other materials provided |
|
||||||
with the distribution. |
|
||||||
|
|
||||||
* The names of the contributors may not be used to endorse or |
|
||||||
promote products derived from this software without specific |
|
||||||
prior written permission. |
|
||||||
|
|
||||||
THIS THEME IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
|
||||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS THEME, EVEN IF ADVISED OF THE |
|
||||||
POSSIBILITY OF SUCH DAMAGE. |
|
@ -1,67 +0,0 @@ |
|||||||
Metadata-Version: 2.1 |
|
||||||
Name: alabaster |
|
||||||
Version: 0.7.16 |
|
||||||
Summary: A light, configurable Sphinx theme |
|
||||||
Author-email: Jeff Forcier <jeff@bitprophet.org> |
|
||||||
Maintainer: The Sphinx Developers |
|
||||||
Requires-Python: >=3.9 |
|
||||||
Description-Content-Type: text/x-rst |
|
||||||
Classifier: Development Status :: 5 - Production/Stable |
|
||||||
Classifier: Framework :: Sphinx |
|
||||||
Classifier: Framework :: Sphinx :: Theme |
|
||||||
Classifier: Intended Audience :: Developers |
|
||||||
Classifier: License :: OSI Approved :: BSD License |
|
||||||
Classifier: Operating System :: OS Independent |
|
||||||
Classifier: Programming Language :: Python :: 3 |
|
||||||
Classifier: Programming Language :: Python :: 3 :: Only |
|
||||||
Classifier: Programming Language :: Python :: 3.9 |
|
||||||
Classifier: Programming Language :: Python :: 3.10 |
|
||||||
Classifier: Programming Language :: Python :: 3.11 |
|
||||||
Classifier: Programming Language :: Python :: 3.12 |
|
||||||
Classifier: Programming Language :: Python :: 3.13 |
|
||||||
Classifier: Programming Language :: Python :: Implementation :: CPython |
|
||||||
Classifier: Programming Language :: Python :: Implementation :: PyPy |
|
||||||
Classifier: Topic :: Documentation |
|
||||||
Classifier: Topic :: Documentation :: Sphinx |
|
||||||
Classifier: Topic :: Software Development :: Documentation |
|
||||||
Project-URL: Changelog, https://alabaster.readthedocs.io/en/latest/changelog.html |
|
||||||
Project-URL: Documentation, https://alabaster.readthedocs.io/ |
|
||||||
Project-URL: Download, https://pypi.org/project/alabaster/ |
|
||||||
Project-URL: Homepage, https://alabaster.readthedocs.io/ |
|
||||||
Project-URL: Issue tracker, https://github.com/bitprophet/alabaster/issues |
|
||||||
Project-URL: Source, https://github.com/sphinx-doc/alabaster |
|
||||||
|
|
||||||
.. image:: https://img.shields.io/pypi/v/alabaster.svg |
|
||||||
:target: https://pypi.org/project/alabaster/ |
|
||||||
:alt: Package on PyPI |
|
||||||
|
|
||||||
.. image:: https://github.com/sphinx-doc/alabaster/actions/workflows/test.yml/badge.svg |
|
||||||
:target: https://github.com/sphinx-doc/alabaster/actions/workflows/test.yml |
|
||||||
:alt: CI Status |
|
||||||
|
|
||||||
.. image:: https://readthedocs.org/projects/alabaster/badge/ |
|
||||||
:target: https://alabaster.readthedocs.io/ |
|
||||||
:alt: Documentation Status |
|
||||||
|
|
||||||
.. image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg |
|
||||||
:target: https://opensource.org/license/BSD-3-Clause |
|
||||||
:alt: BSD 3 Clause |
|
||||||
|
|
||||||
|
|
||||||
What is Alabaster? |
|
||||||
================== |
|
||||||
|
|
||||||
Alabaster is a visually (c)lean, responsive, configurable theme for the `Sphinx |
|
||||||
<https://www.sphinx-doc.org>`_ documentation system. |
|
||||||
It requires Python 3.9 or newer and Sphinx 3.4 or newer. |
|
||||||
|
|
||||||
It began as a third-party theme, and is still maintained separately, but as of |
|
||||||
Sphinx 1.3, Alabaster is an install-time dependency of Sphinx and is selected |
|
||||||
as the default theme. |
|
||||||
|
|
||||||
Live examples of this theme can be seen on `this project's own website |
|
||||||
<https://alabaster.readthedocs.io/>`_, `paramiko.org <https://www.paramiko.org>`_, |
|
||||||
`fabfile.org <https://www.fabfile.org>`_ and `pyinvoke.org <https://www.pyinvoke.org>`_. |
|
||||||
|
|
||||||
For more documentation, please see https://alabaster.readthedocs.io/. |
|
||||||
|
|
@ -1,18 +0,0 @@ |
|||||||
alabaster-0.7.16.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 |
|
||||||
alabaster-0.7.16.dist-info/LICENSE.rst,sha256=glPwq6rQWn3uGgikNwWsLeH3O9fUTP4BAQ7MEEzEKFE,1555 |
|
||||||
alabaster-0.7.16.dist-info/METADATA,sha256=KMbnUkBKgrJVEn2RlYb32uydFcJLkoozbKA5KGtlZr8,2881 |
|
||||||
alabaster-0.7.16.dist-info/RECORD,, |
|
||||||
alabaster-0.7.16.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81 |
|
||||||
alabaster-0.7.16.dist-info/entry_points.txt,sha256=AP1-Cq22vDSvDCIoAPwLjXsB6VqcBRdIXlTRwBzwqUo,42 |
|
||||||
alabaster/__init__.py,sha256=EfCYPiyApUxovE4x8SvBPL9jSlttUR3_fhV4g_jAlBA,1215 |
|
||||||
alabaster/__pycache__/__init__.cpython-39.pyc,, |
|
||||||
alabaster/__pycache__/support.cpython-39.pyc,, |
|
||||||
alabaster/about.html,sha256=0ii3_RJbxMPkAQL4nrBCedhFSWlQJIDsLN5A7PY9FP4,1988 |
|
||||||
alabaster/donate.html,sha256=R1t8L-Cdj0g_JfT89r74wzYjNUCiqIpn0XPPxP5Pj4k,866 |
|
||||||
alabaster/layout.html,sha256=ZEo-nwfm1iU65bOVhccko0C-QVUG4un40dJaRJxHjqA,4221 |
|
||||||
alabaster/navigation.html,sha256=6C7cQsADkUslTvMFco342rDCKM2K92L6G42nQhyPSpo,323 |
|
||||||
alabaster/relations.html,sha256=5LGilExZDWZuS7HXZ-PLUSNwmeaP1-n79-nD_cy8V-k,621 |
|
||||||
alabaster/static/alabaster.css_t,sha256=raksCujnYYDeSeUierGgwLooz4eZqL-DN5XoWtQsThA,15606 |
|
||||||
alabaster/static/custom.css,sha256=OfI6ZWF4bjy04z5KllYqEwWot0wNRdwhWmQBhpLNXUw,42 |
|
||||||
alabaster/support.py,sha256=sUmHRioKyQdzsgtUi-8IdpICoi5JaE8U3pJ0MLDRVcc,3937 |
|
||||||
alabaster/theme.conf,sha256=gJ4fmlEegApwtd8AoHqitJAfosyQkIDQNcXaVjFxd4w,2455 |
|
@ -1,4 +0,0 @@ |
|||||||
Wheel-Version: 1.0 |
|
||||||
Generator: flit 3.9.0 |
|
||||||
Root-Is-Purelib: true |
|
||||||
Tag: py3-none-any |
|
@ -1,3 +0,0 @@ |
|||||||
[sphinx.html_themes] |
|
||||||
alabaster=alabaster |
|
||||||
|
|
@ -1,35 +0,0 @@ |
|||||||
import os |
|
||||||
|
|
||||||
__version_info__ = (0, 7, 16) |
|
||||||
__version__ = "0.7.16" |
|
||||||
|
|
||||||
|
|
||||||
def get_path(): |
|
||||||
""" |
|
||||||
Shortcut for users whose theme is next to their conf.py. |
|
||||||
""" |
|
||||||
# Theme directory is defined as our parent directory |
|
||||||
return os.path.abspath(os.path.dirname(os.path.dirname(__file__))) |
|
||||||
|
|
||||||
|
|
||||||
def update_context(app, pagename, templatename, context, doctree): |
|
||||||
context["alabaster_version"] = __version__ |
|
||||||
context["alabaster_version_info"] = __version_info__ |
|
||||||
|
|
||||||
# Convert 'show_powered_by' in the theme options to |
|
||||||
# the preferred option, html_show_sphinx. |
|
||||||
html_theme_options = app.config.html_theme_options |
|
||||||
if "show_powered_by" in html_theme_options: |
|
||||||
show_powered_by = html_theme_options["show_powered_by"] |
|
||||||
if isinstance(show_powered_by, str): |
|
||||||
context["show_sphinx"] = show_powered_by.lower() == "true" |
|
||||||
else: |
|
||||||
context["show_sphinx"] = bool(show_powered_by) # to allow int values |
|
||||||
|
|
||||||
|
|
||||||
def setup(app): |
|
||||||
app.require_sphinx("3.4") |
|
||||||
theme_path = os.path.abspath(os.path.dirname(__file__)) |
|
||||||
app.add_html_theme("alabaster", theme_path) |
|
||||||
app.connect("html-page-context", update_context) |
|
||||||
return {"version": __version__, "parallel_read_safe": True} |
|
Binary file not shown.
Binary file not shown.
@ -1,59 +0,0 @@ |
|||||||
{% if theme_logo %} |
|
||||||
<p class="logo"> |
|
||||||
<a href="{{ pathto(master_doc) }}"> |
|
||||||
<img class="logo" src="{{ pathto('_static/' ~ theme_logo, 1) }}" alt="Logo" /> |
|
||||||
{% if theme_logo_name|lower == 'true' %} |
|
||||||
<h1 class="logo logo-name">{{ project }}</h1> |
|
||||||
{% elif theme_logo_name|lower != 'false' %} |
|
||||||
<h1 class="logo logo-name">{{ theme_logo_name }}</h1> |
|
||||||
{% endif %} |
|
||||||
</a> |
|
||||||
</p> |
|
||||||
{% else %} |
|
||||||
<h1 class="logo"><a href="{{ pathto(master_doc) }}">{{ project }}</a></h1> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
{% if theme_description %} |
|
||||||
<p class="blurb">{{ theme_description }}</p> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
{% if theme_github_user and theme_github_repo %} |
|
||||||
{% if theme_github_button|lower == 'true' %} |
|
||||||
<p> |
|
||||||
<iframe src="https://ghbtns.com/github-btn.html?user={{ theme_github_user }}&repo={{ theme_github_repo }}&type={{ theme_github_type }}&count={{ theme_github_count }}&size=large&v=2" |
|
||||||
allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe> |
|
||||||
</p> |
|
||||||
{% endif %} |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
{% if theme_travis_button|lower != 'false' %} |
|
||||||
{% if theme_travis_button|lower == 'true' %} |
|
||||||
{% set path = theme_github_user + '/' + theme_github_repo %} |
|
||||||
{% else %} |
|
||||||
{% set path = theme_travis_button %} |
|
||||||
{% endif %} |
|
||||||
<p> |
|
||||||
<a class="badge" href="https://travis-ci.org/{{ path }}"> |
|
||||||
<img |
|
||||||
alt="https://secure.travis-ci.org/{{ path }}.svg?branch={{ theme_badge_branch }}" |
|
||||||
src="https://secure.travis-ci.org/{{ path }}.svg?branch={{ theme_badge_branch }}" |
|
||||||
/> |
|
||||||
</a> |
|
||||||
</p> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
{% if theme_codecov_button|lower != 'false' %} |
|
||||||
{% if theme_codecov_button|lower == 'true' %} |
|
||||||
{% set path = theme_github_user + '/' + theme_github_repo %} |
|
||||||
{% else %} |
|
||||||
{% set path = theme_codecov_button %} |
|
||||||
{% endif %} |
|
||||||
<p> |
|
||||||
<a class="badge" href="https://codecov.io/github/{{ path }}"> |
|
||||||
<img |
|
||||||
alt="https://codecov.io/github/{{ path }}/coverage.svg?branch={{ theme_badge_branch }}" |
|
||||||
src="https://codecov.io/github/{{ path }}/coverage.svg?branch={{ theme_badge_branch }}" |
|
||||||
/> |
|
||||||
</a> |
|
||||||
</p> |
|
||||||
{% endif %} |
|
@ -1,28 +0,0 @@ |
|||||||
{# TODO: wrap all these in their own divs for easier styling #} |
|
||||||
|
|
||||||
{% if theme_donate_url or theme_opencollective or theme_tidelift_url %} |
|
||||||
<h3 class="donation">Donate/support</h3> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
{% if theme_donate_url %} |
|
||||||
<p> |
|
||||||
<a class="badge" href="{{ theme_donate_url }}"> |
|
||||||
<img src="https://img.shields.io/badge/donate-%E2%9D%A4%C2%A0-ff69b4.svg?style=flat" alt="Donate"> |
|
||||||
</a> |
|
||||||
</p> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
{% if theme_opencollective %} |
|
||||||
<p> |
|
||||||
<a class="badge" href="https://opencollective.com/{{ theme_opencollective }}/donate" target="_blank"> |
|
||||||
<img src="https://opencollective.com/{{ theme_opencollective }}/donate/button.png?color={{ theme_opencollective_button_color }}" width=300 /> |
|
||||||
</a> |
|
||||||
</p> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
{% if theme_tidelift_url %} |
|
||||||
<p> |
|
||||||
Professionally-supported {{ project }} is available with the |
|
||||||
<a href="{{ theme_tidelift_url }}">Tidelift Subscription</a>. |
|
||||||
</p> |
|
||||||
{% endif %} |
|
@ -1,126 +0,0 @@ |
|||||||
{%- extends "basic/layout.html" %} |
|
||||||
|
|
||||||
{%- block extrahead %} |
|
||||||
{{ super() }} |
|
||||||
<link rel="stylesheet" href="{{ pathto('_static/custom.css', 1) }}" type="text/css" /> |
|
||||||
{% if theme_touch_icon %} |
|
||||||
<link rel="apple-touch-icon" href="{{ pathto('_static/' ~ theme_touch_icon, 1) }}" /> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
{# Deprecated in favor of html_baseurl (pageurl). This is already set in the basic theme #} |
|
||||||
{% if theme_canonical_url and not pageurl %} |
|
||||||
<link rel="canonical" href="{{ theme_canonical_url }}{{ pagename }}.html" /> |
|
||||||
{% endif %} |
|
||||||
{% endblock %} |
|
||||||
|
|
||||||
{# top+bottom related navs; we also have our own in sidebar #} |
|
||||||
{%- macro rellink_markup() %} |
|
||||||
<nav id="rellinks"> |
|
||||||
<ul> |
|
||||||
{%- if prev %} |
|
||||||
<li> |
|
||||||
← |
|
||||||
<a href="{{ prev.link|e }}" title="Previous document">{{ prev.title }}</a> |
|
||||||
</li> |
|
||||||
{%- endif %} |
|
||||||
{%- if next %} |
|
||||||
<li> |
|
||||||
<a href="{{ next.link|e }}" title="Next document">{{ next.title }}</a> |
|
||||||
→ |
|
||||||
</li> |
|
||||||
{%- endif %} |
|
||||||
</ul> |
|
||||||
</nav> |
|
||||||
{%- endmacro %} |
|
||||||
|
|
||||||
{%- set theme_show_relbar_top = theme_show_relbar_top or theme_show_relbars %} |
|
||||||
{%- set theme_show_relbar_bottom = theme_show_relbar_bottom or theme_show_relbars %} |
|
||||||
|
|
||||||
{# removed existing top+bottom related nav, and embed in main content #} |
|
||||||
{%- block relbar1 %}{% endblock %} |
|
||||||
{%- block relbar2 %}{% endblock %} |
|
||||||
|
|
||||||
{# Nav should appear before content, not after #} |
|
||||||
{%- block content %} |
|
||||||
{%- if theme_fixed_sidebar|lower == 'true' %} |
|
||||||
<div class="document"> |
|
||||||
{{ sidebar() }} |
|
||||||
{%- block document %} |
|
||||||
<div class="documentwrapper"> |
|
||||||
{%- if render_sidebar %} |
|
||||||
<div class="bodywrapper"> |
|
||||||
{%- endif %} |
|
||||||
|
|
||||||
{%- block relbar_top %} |
|
||||||
{%- if theme_show_relbar_top|tobool %} |
|
||||||
<div class="related top"> |
|
||||||
|
|
||||||
{{- rellink_markup () }} |
|
||||||
</div> |
|
||||||
{%- endif %} |
|
||||||
{% endblock %} |
|
||||||
|
|
||||||
<div class="body" role="main"> |
|
||||||
{% block body %} {% endblock %} |
|
||||||
</div> |
|
||||||
|
|
||||||
{%- block relbar_bottom %} |
|
||||||
{%- if theme_show_relbar_bottom|tobool %} |
|
||||||
<div class="related bottom"> |
|
||||||
|
|
||||||
{{- rellink_markup () }} |
|
||||||
</div> |
|
||||||
{%- endif %} |
|
||||||
{% endblock %} |
|
||||||
|
|
||||||
{%- if render_sidebar %} |
|
||||||
</div> |
|
||||||
{%- endif %} |
|
||||||
</div> |
|
||||||
{%- endblock %} |
|
||||||
<div class="clearer"></div> |
|
||||||
</div> |
|
||||||
{%- else %} |
|
||||||
{{ super() }} |
|
||||||
{%- endif %} |
|
||||||
{%- endblock %} |
|
||||||
|
|
||||||
{%- block footer %} |
|
||||||
<div class="footer"> |
|
||||||
{% if show_copyright %}©{{ copyright }}.{% endif %} |
|
||||||
{% if show_sphinx %} |
|
||||||
{% if show_copyright %}|{% endif %} |
|
||||||
Powered by <a href="https://www.sphinx-doc.org/">Sphinx {{ sphinx_version }}</a> |
|
||||||
& <a href="https://alabaster.readthedocs.io">Alabaster {{ alabaster_version }}</a> |
|
||||||
{% endif %} |
|
||||||
{%- if show_source and has_source and sourcename %} |
|
||||||
{% if show_copyright or show_sphinx %}|{% endif %} |
|
||||||
<a href="{{ pathto('_sources/' + sourcename, true)|e }}" |
|
||||||
rel="nofollow">{{ _('Page source') }}</a> |
|
||||||
{%- endif %} |
|
||||||
</div> |
|
||||||
|
|
||||||
{% if theme_github_banner|lower != 'false' %} |
|
||||||
<a href="https://github.com/{{ theme_github_user }}/{{ theme_github_repo }}" class="github"> |
|
||||||
<img style="position: absolute; top: 0; right: 0; border: 0;" src="{{ pathto('_static/' ~ theme_github_banner, 1) if theme_github_banner|lower != 'true' else 'https://github.blog/wp-content/uploads/2008/12/forkme_right_darkblue_121621.png' }}" alt="Fork me on GitHub" class="github"/> |
|
||||||
</a> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
{% if theme_analytics_id %} |
|
||||||
<script> |
|
||||||
|
|
||||||
var _gaq = _gaq || []; |
|
||||||
_gaq.push(['_setAccount', '{{ theme_analytics_id }}']); |
|
||||||
_gaq.push(['_setDomainName', 'none']); |
|
||||||
_gaq.push(['_setAllowLinker', true]); |
|
||||||
_gaq.push(['_trackPageview']); |
|
||||||
|
|
||||||
(function() { |
|
||||||
var ga = document.createElement('script'); ga.async = true; |
|
||||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'https://www') + '.google-analytics.com/ga.js'; |
|
||||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); |
|
||||||
})(); |
|
||||||
|
|
||||||
</script> |
|
||||||
{% endif %} |
|
||||||
{%- endblock %} |
|
@ -1,10 +0,0 @@ |
|||||||
<h3>{{ _('Navigation') }}</h3> |
|
||||||
{{ toctree(includehidden=theme_sidebar_includehidden, collapse=theme_sidebar_collapse) }} |
|
||||||
{% if theme_extra_nav_links %} |
|
||||||
<hr /> |
|
||||||
<ul> |
|
||||||
{% for text, uri in theme_extra_nav_links.items() %} |
|
||||||
<li class="toctree-l1"><a href="{{ uri }}">{{ text }}</a></li> |
|
||||||
{% endfor %} |
|
||||||
</ul> |
|
||||||
{% endif %} |
|
@ -1,21 +0,0 @@ |
|||||||
<div class="relations"> |
|
||||||
<h3>Related Topics</h3> |
|
||||||
<ul> |
|
||||||
<li><a href="{{ pathto(master_doc) }}">Documentation overview</a><ul> |
|
||||||
{%- for parent in parents %} |
|
||||||
<li><a href="{{ parent.link|e }}">{{ parent.title }}</a><ul> |
|
||||||
{%- endfor %} |
|
||||||
{%- if prev %} |
|
||||||
<li>Previous: <a href="{{ prev.link|e }}" title="{{ _('previous chapter') |
|
||||||
}}">{{ prev.title }}</a></li> |
|
||||||
{%- endif %} |
|
||||||
{%- if next %} |
|
||||||
<li>Next: <a href="{{ next.link|e }}" title="{{ _('next chapter') |
|
||||||
}}">{{ next.title }}</a></li> |
|
||||||
{%- endif %} |
|
||||||
{%- for parent in parents %} |
|
||||||
</ul></li> |
|
||||||
{%- endfor %} |
|
||||||
</ul></li> |
|
||||||
</ul> |
|
||||||
</div> |
|
@ -1,776 +0,0 @@ |
|||||||
{%- set theme_body_bg = theme_body_bg or theme_base_bg %} |
|
||||||
{%- set theme_code_highlight_bg = theme_code_highlight_bg or theme_body_bg %} |
|
||||||
{%- set theme_sidebar_header = theme_sidebar_header or theme_gray_1 %} |
|
||||||
{%- set theme_sidebar_link = theme_sidebar_link or theme_gray_1 %} |
|
||||||
{%- set theme_anchor_hover_fg = theme_anchor_hover_fg or theme_gray_1 %} |
|
||||||
|
|
||||||
{%- set theme_footnote_border = theme_footnote_border or theme_gray_2 %} |
|
||||||
{%- set theme_pre_bg = theme_pre_bg or theme_gray_2 %} |
|
||||||
|
|
||||||
{%- set theme_head_font_family = theme_head_font_family or theme_font_family %} |
|
||||||
|
|
||||||
{#- set up admonition styling #} |
|
||||||
{#- - basic level #} |
|
||||||
{%- set theme_admonition_xref_bg = theme_admonition_xref_bg or theme_xref_bg %} |
|
||||||
{%- set theme_admonition_bg = theme_admonition_bg or theme_gray_2 %} |
|
||||||
{%- set theme_note_bg = theme_note_bg or theme_gray_2 %} |
|
||||||
{%- set theme_seealso_bg = theme_seealso_bg or theme_gray_2 %} |
|
||||||
|
|
||||||
{#- - critical level #} |
|
||||||
{%- set theme_danger_bg = theme_danger_bg or theme_pink_1 %} |
|
||||||
{%- set theme_danger_border = theme_danger_border or theme_pink_2 %} |
|
||||||
{%- set theme_danger_shadow = theme_danger_shadow or theme_pink_3 %} |
|
||||||
|
|
||||||
{%- set theme_error_bg = theme_error_bg or theme_pink_1 %} |
|
||||||
{%- set theme_error_border = theme_error_border or theme_pink_2 %} |
|
||||||
{%- set theme_error_shadow = theme_error_shadow or theme_pink_3 %} |
|
||||||
|
|
||||||
{#- - warning level #} |
|
||||||
{%- set theme_caution_bg = theme_caution_bg or theme_pink_1 %} |
|
||||||
{%- set theme_caution_border = theme_caution_border or theme_pink_2 %} |
|
||||||
|
|
||||||
{%- set theme_attention_bg = theme_attention_bg or theme_pink_1 %} |
|
||||||
{%- set theme_attention_border = theme_attention_border or theme_pink_2 %} |
|
||||||
|
|
||||||
{%- set theme_warn_bg = theme_warn_bg or theme_pink_1 %} |
|
||||||
{%- set theme_warn_border = theme_warn_border or theme_pink_2 %} |
|
||||||
|
|
||||||
{#- - normal level #} |
|
||||||
{%- set theme_important_bg = theme_important_bg or theme_gray_2 %} |
|
||||||
{%- set theme_tip_bg = theme_tip_bg or theme_gray_2 %} |
|
||||||
{%- set theme_hint_bg = theme_hint_bg or theme_gray_2 %} |
|
||||||
|
|
||||||
{#- /set up admonition styling #} |
|
||||||
|
|
||||||
{%- set theme_shadow = theme_shadow or theme_gray_2 %} |
|
||||||
|
|
||||||
|
|
||||||
{%- set theme_topic_bg = theme_topic_bg or theme_gray_2 %} |
|
||||||
|
|
||||||
{%- set theme_narrow_sidebar_link = theme_narrow_sidebar_link or theme_gray_3 %} |
|
||||||
{%- set theme_sidebar_hr = theme_sidebar_hr or theme_gray_3 %} |
|
||||||
|
|
||||||
{%- set theme_relbar_border = theme_relbar_border or theme_gray_2 -%} |
|
||||||
|
|
||||||
|
|
||||||
@import url("basic.css"); |
|
||||||
|
|
||||||
/* -- page layout ----------------------------------------------------------- */ |
|
||||||
|
|
||||||
body { |
|
||||||
font-family: {{ theme_font_family }}; |
|
||||||
font-size: {{ theme_font_size }}; |
|
||||||
background-color: {{ theme_base_bg }}; |
|
||||||
color: {{ theme_base_text }}; |
|
||||||
margin: 0; |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
div.document { |
|
||||||
width: {{ theme_page_width }}; |
|
||||||
margin: 30px auto 0 auto; |
|
||||||
} |
|
||||||
|
|
||||||
div.documentwrapper { |
|
||||||
float: left; |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
|
|
||||||
div.bodywrapper { |
|
||||||
margin: 0 0 0 {{ theme_sidebar_width }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar { |
|
||||||
width: {{ theme_sidebar_width }}; |
|
||||||
font-size: 14px; |
|
||||||
line-height: 1.5; |
|
||||||
} |
|
||||||
|
|
||||||
hr { |
|
||||||
border: 1px solid {{ theme_hr_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.body { |
|
||||||
background-color: {{ theme_body_bg }}; |
|
||||||
color: {{ theme_body_text }}; |
|
||||||
padding: 0 30px 0 30px; |
|
||||||
} |
|
||||||
|
|
||||||
div.body > .section { |
|
||||||
text-align: {{ theme_body_text_align }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.footer { |
|
||||||
width: {{ theme_page_width }}; |
|
||||||
margin: 20px auto 30px auto; |
|
||||||
font-size: 14px; |
|
||||||
color: {{ theme_footer_text }}; |
|
||||||
text-align: right; |
|
||||||
} |
|
||||||
|
|
||||||
div.footer a { |
|
||||||
color: {{ theme_footer_text }}; |
|
||||||
} |
|
||||||
|
|
||||||
p.caption { |
|
||||||
font-family: {{ theme_caption_font_family }}; |
|
||||||
font-size: {{ theme_caption_font_size }}; |
|
||||||
} |
|
||||||
|
|
||||||
{% if theme_show_related|lower == 'false' %} |
|
||||||
div.relations { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
div.sphinxsidebar { |
|
||||||
max-height: 100%; |
|
||||||
overflow-y: auto; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar a { |
|
||||||
color: {{ theme_sidebar_link }}; |
|
||||||
text-decoration: none; |
|
||||||
border-bottom: 1px dotted {{ theme_sidebar_link_underscore }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar a:hover { |
|
||||||
border-bottom: 1px solid {{ theme_sidebar_link_underscore }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebarwrapper { |
|
||||||
padding: 18px 10px; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebarwrapper p.logo { |
|
||||||
padding: 0; |
|
||||||
margin: -10px 0 0 0px; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebarwrapper h1.logo { |
|
||||||
margin-top: -10px; |
|
||||||
text-align: center; |
|
||||||
margin-bottom: 5px; |
|
||||||
text-align: {{ theme_logo_text_align }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebarwrapper h1.logo-name { |
|
||||||
margin-top: 0px; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebarwrapper p.blurb { |
|
||||||
margin-top: 0; |
|
||||||
font-style: {{ theme_description_font_style }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar h3, |
|
||||||
div.sphinxsidebar h4 { |
|
||||||
font-family: {{ theme_head_font_family }}; |
|
||||||
color: {{ theme_sidebar_header }}; |
|
||||||
font-size: 24px; |
|
||||||
font-weight: normal; |
|
||||||
margin: 0 0 5px 0; |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar h4 { |
|
||||||
font-size: 20px; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar h3 a { |
|
||||||
color: {{ theme_sidebar_link }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar p.logo a, |
|
||||||
div.sphinxsidebar h3 a, |
|
||||||
div.sphinxsidebar p.logo a:hover, |
|
||||||
div.sphinxsidebar h3 a:hover { |
|
||||||
border: none; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar p { |
|
||||||
color: {{ theme_sidebar_text }}; |
|
||||||
margin: 10px 0; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar ul { |
|
||||||
margin: 10px 0; |
|
||||||
padding: 0; |
|
||||||
color: {{ theme_sidebar_list }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar ul li.toctree-l1 > a { |
|
||||||
font-size: 120%; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar ul li.toctree-l2 > a { |
|
||||||
font-size: 110%; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar input { |
|
||||||
border: 1px solid {{ theme_sidebar_search_button }}; |
|
||||||
font-family: {{ theme_font_family }}; |
|
||||||
font-size: 1em; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar #searchbox input[type="text"] { |
|
||||||
width: 160px; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar .search > div { |
|
||||||
display: table-cell; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar hr { |
|
||||||
border: none; |
|
||||||
height: 1px; |
|
||||||
color: {{ theme_sidebar_hr }}; |
|
||||||
background: {{ theme_sidebar_hr }}; |
|
||||||
|
|
||||||
text-align: left; |
|
||||||
margin-left: 0; |
|
||||||
width: 50%; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar .badge { |
|
||||||
border-bottom: none; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar .badge:hover { |
|
||||||
border-bottom: none; |
|
||||||
} |
|
||||||
|
|
||||||
/* To address an issue with donation coming after search */ |
|
||||||
div.sphinxsidebar h3.donation { |
|
||||||
margin-top: 10px; |
|
||||||
} |
|
||||||
|
|
||||||
/* -- body styles ----------------------------------------------------------- */ |
|
||||||
|
|
||||||
a { |
|
||||||
color: {{ theme_link }}; |
|
||||||
text-decoration: underline; |
|
||||||
} |
|
||||||
|
|
||||||
a:hover { |
|
||||||
color: {{ theme_link_hover }}; |
|
||||||
text-decoration: underline; |
|
||||||
} |
|
||||||
|
|
||||||
div.body h1, |
|
||||||
div.body h2, |
|
||||||
div.body h3, |
|
||||||
div.body h4, |
|
||||||
div.body h5, |
|
||||||
div.body h6 { |
|
||||||
font-family: {{ theme_head_font_family }}; |
|
||||||
font-weight: normal; |
|
||||||
margin: 30px 0px 10px 0px; |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
|
|
||||||
div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } |
|
||||||
div.body h2 { font-size: 180%; } |
|
||||||
div.body h3 { font-size: 150%; } |
|
||||||
div.body h4 { font-size: 130%; } |
|
||||||
div.body h5 { font-size: 100%; } |
|
||||||
div.body h6 { font-size: 100%; } |
|
||||||
|
|
||||||
a.headerlink { |
|
||||||
color: {{ theme_anchor }}; |
|
||||||
padding: 0 4px; |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
|
|
||||||
a.headerlink:hover { |
|
||||||
color: {{ theme_anchor_hover_fg }}; |
|
||||||
background: {{ theme_anchor_hover_bg }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.body p, div.body dd, div.body li { |
|
||||||
line-height: 1.4em; |
|
||||||
} |
|
||||||
|
|
||||||
div.admonition { |
|
||||||
margin: 20px 0px; |
|
||||||
padding: 10px 30px; |
|
||||||
background-color: {{ theme_admonition_bg }}; |
|
||||||
border: 1px solid {{ theme_admonition_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { |
|
||||||
background-color: {{ theme_admonition_xref_bg }}; |
|
||||||
border-bottom: 1px solid {{ theme_admonition_xref_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.admonition p.admonition-title { |
|
||||||
font-family: {{ theme_head_font_family }}; |
|
||||||
font-weight: normal; |
|
||||||
font-size: 24px; |
|
||||||
margin: 0 0 10px 0; |
|
||||||
padding: 0; |
|
||||||
line-height: 1; |
|
||||||
} |
|
||||||
|
|
||||||
div.admonition p.last { |
|
||||||
margin-bottom: 0; |
|
||||||
} |
|
||||||
|
|
||||||
div.highlight { |
|
||||||
background-color: {{ theme_code_highlight_bg }}; |
|
||||||
} |
|
||||||
|
|
||||||
dt:target, .highlight { |
|
||||||
background: {{ theme_highlight_bg }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.warning { |
|
||||||
background-color: {{ theme_warn_bg }}; |
|
||||||
border: 1px solid {{ theme_warn_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.danger { |
|
||||||
background-color: {{ theme_danger_bg }}; |
|
||||||
border: 1px solid {{ theme_danger_border }}; |
|
||||||
-moz-box-shadow: 2px 2px 4px {{ theme_danger_shadow }}; |
|
||||||
-webkit-box-shadow: 2px 2px 4px {{ theme_danger_shadow }}; |
|
||||||
box-shadow: 2px 2px 4px {{ theme_danger_shadow }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.error { |
|
||||||
background-color: {{ theme_error_bg }}; |
|
||||||
border: 1px solid {{ theme_error_border }}; |
|
||||||
-moz-box-shadow: 2px 2px 4px {{ theme_error_shadow }}; |
|
||||||
-webkit-box-shadow: 2px 2px 4px {{ theme_error_shadow }}; |
|
||||||
box-shadow: 2px 2px 4px {{ theme_error_shadow }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.caution { |
|
||||||
background-color: {{ theme_caution_bg }}; |
|
||||||
border: 1px solid {{ theme_caution_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.attention { |
|
||||||
background-color: {{ theme_attention_bg }}; |
|
||||||
border: 1px solid {{ theme_attention_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.important { |
|
||||||
background-color: {{ theme_important_bg }}; |
|
||||||
border: 1px solid {{ theme_important_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.note { |
|
||||||
background-color: {{ theme_note_bg }}; |
|
||||||
border: 1px solid {{ theme_note_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.tip { |
|
||||||
background-color: {{ theme_tip_bg }}; |
|
||||||
border: 1px solid {{ theme_tip_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.hint { |
|
||||||
background-color: {{ theme_hint_bg }}; |
|
||||||
border: 1px solid {{ theme_hint_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.seealso { |
|
||||||
background-color: {{ theme_seealso_bg }}; |
|
||||||
border: 1px solid {{ theme_seealso_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.topic { |
|
||||||
background-color: {{ theme_topic_bg }}; |
|
||||||
} |
|
||||||
|
|
||||||
p.admonition-title { |
|
||||||
display: inline; |
|
||||||
} |
|
||||||
|
|
||||||
p.admonition-title:after { |
|
||||||
content: ":"; |
|
||||||
} |
|
||||||
|
|
||||||
pre, tt, code { |
|
||||||
font-family: {{theme_code_font_family}}; |
|
||||||
font-size: {{ theme_code_font_size }}; |
|
||||||
} |
|
||||||
|
|
||||||
.hll { |
|
||||||
background-color: {{theme_code_highlight}}; |
|
||||||
margin: 0 -12px; |
|
||||||
padding: 0 12px; |
|
||||||
display: block; |
|
||||||
} |
|
||||||
|
|
||||||
img.screenshot { |
|
||||||
} |
|
||||||
|
|
||||||
tt.descname, tt.descclassname, code.descname, code.descclassname { |
|
||||||
font-size: 0.95em; |
|
||||||
} |
|
||||||
|
|
||||||
tt.descname, code.descname { |
|
||||||
padding-right: 0.08em; |
|
||||||
} |
|
||||||
|
|
||||||
img.screenshot { |
|
||||||
-moz-box-shadow: 2px 2px 4px {{ theme_shadow }}; |
|
||||||
-webkit-box-shadow: 2px 2px 4px {{ theme_shadow }}; |
|
||||||
box-shadow: 2px 2px 4px {{ theme_shadow }}; |
|
||||||
} |
|
||||||
|
|
||||||
table.docutils { |
|
||||||
border: 1px solid {{ theme_table_border }}; |
|
||||||
-moz-box-shadow: 2px 2px 4px {{ theme_shadow }}; |
|
||||||
-webkit-box-shadow: 2px 2px 4px {{ theme_shadow }}; |
|
||||||
box-shadow: 2px 2px 4px {{ theme_shadow }}; |
|
||||||
} |
|
||||||
|
|
||||||
table.docutils td, table.docutils th { |
|
||||||
border: 1px solid {{ theme_table_border }}; |
|
||||||
padding: 0.25em 0.7em; |
|
||||||
} |
|
||||||
|
|
||||||
table.field-list, table.footnote { |
|
||||||
border: none; |
|
||||||
-moz-box-shadow: none; |
|
||||||
-webkit-box-shadow: none; |
|
||||||
box-shadow: none; |
|
||||||
} |
|
||||||
|
|
||||||
table.footnote { |
|
||||||
margin: 15px 0; |
|
||||||
width: 100%; |
|
||||||
border: 1px solid {{ theme_footnote_border }}; |
|
||||||
background: {{ theme_footnote_bg }}; |
|
||||||
font-size: 0.9em; |
|
||||||
} |
|
||||||
|
|
||||||
table.footnote + table.footnote { |
|
||||||
margin-top: -15px; |
|
||||||
border-top: none; |
|
||||||
} |
|
||||||
|
|
||||||
table.field-list th { |
|
||||||
padding: 0 0.8em 0 0; |
|
||||||
} |
|
||||||
|
|
||||||
table.field-list td { |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
|
|
||||||
table.field-list p { |
|
||||||
margin-bottom: 0.8em; |
|
||||||
} |
|
||||||
|
|
||||||
/* Cloned from |
|
||||||
* https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 |
|
||||||
*/ |
|
||||||
.field-name { |
|
||||||
-moz-hyphens: manual; |
|
||||||
-ms-hyphens: manual; |
|
||||||
-webkit-hyphens: manual; |
|
||||||
hyphens: manual; |
|
||||||
} |
|
||||||
|
|
||||||
table.footnote td.label { |
|
||||||
width: .1px; |
|
||||||
padding: 0.3em 0 0.3em 0.5em; |
|
||||||
} |
|
||||||
|
|
||||||
table.footnote td { |
|
||||||
padding: 0.3em 0.5em; |
|
||||||
} |
|
||||||
|
|
||||||
dl { |
|
||||||
margin-left: 0; |
|
||||||
margin-right: 0; |
|
||||||
margin-top: 0; |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
|
|
||||||
dl dd { |
|
||||||
margin-left: 30px; |
|
||||||
} |
|
||||||
|
|
||||||
blockquote { |
|
||||||
margin: 0 0 0 30px; |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
|
|
||||||
ul, ol { |
|
||||||
/* Matches the 30px from the narrow-screen "li > ul" selector below */ |
|
||||||
margin: 10px 0 10px 30px; |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
|
|
||||||
pre { |
|
||||||
background: {{ theme_pre_bg }}; |
|
||||||
padding: 7px 30px; |
|
||||||
margin: 15px 0px; |
|
||||||
line-height: 1.3em; |
|
||||||
} |
|
||||||
|
|
||||||
div.viewcode-block:target { |
|
||||||
background: {{ theme_viewcode_target_bg }}; |
|
||||||
} |
|
||||||
|
|
||||||
dl pre, blockquote pre, li pre { |
|
||||||
margin-left: 0; |
|
||||||
padding-left: 30px; |
|
||||||
} |
|
||||||
|
|
||||||
tt, code { |
|
||||||
background-color: {{ theme_code_bg }}; |
|
||||||
color: {{ theme_code_text }}; |
|
||||||
/* padding: 1px 2px; */ |
|
||||||
} |
|
||||||
|
|
||||||
tt.xref, code.xref, a tt { |
|
||||||
background-color: {{ theme_xref_bg }}; |
|
||||||
border-bottom: 1px solid {{ theme_xref_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
a.reference { |
|
||||||
text-decoration: none; |
|
||||||
border-bottom: 1px dotted {{ theme_link }}; |
|
||||||
} |
|
||||||
|
|
||||||
/* Don't put an underline on images */ |
|
||||||
a.image-reference, a.image-reference:hover { |
|
||||||
border-bottom: none; |
|
||||||
} |
|
||||||
|
|
||||||
a.reference:hover { |
|
||||||
border-bottom: 1px solid {{ theme_link_hover }}; |
|
||||||
} |
|
||||||
|
|
||||||
a.footnote-reference { |
|
||||||
text-decoration: none; |
|
||||||
font-size: 0.7em; |
|
||||||
vertical-align: top; |
|
||||||
border-bottom: 1px dotted {{ theme_link }}; |
|
||||||
} |
|
||||||
|
|
||||||
a.footnote-reference:hover { |
|
||||||
border-bottom: 1px solid {{ theme_link_hover }}; |
|
||||||
} |
|
||||||
|
|
||||||
a:hover tt, a:hover code { |
|
||||||
background: {{ theme_code_hover }}; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 870px) { |
|
||||||
|
|
||||||
div.sphinxsidebar { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
div.document { |
|
||||||
width: 100%; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
div.documentwrapper { |
|
||||||
margin-left: 0; |
|
||||||
margin-top: 0; |
|
||||||
margin-right: 0; |
|
||||||
margin-bottom: 0; |
|
||||||
} |
|
||||||
|
|
||||||
div.bodywrapper { |
|
||||||
margin-top: 0; |
|
||||||
margin-right: 0; |
|
||||||
margin-bottom: 0; |
|
||||||
margin-left: 0; |
|
||||||
} |
|
||||||
|
|
||||||
ul { |
|
||||||
margin-left: 0; |
|
||||||
} |
|
||||||
|
|
||||||
li > ul { |
|
||||||
/* Matches the 30px from the "ul, ol" selector above */ |
|
||||||
margin-left: 30px; |
|
||||||
} |
|
||||||
|
|
||||||
.document { |
|
||||||
width: auto; |
|
||||||
} |
|
||||||
|
|
||||||
.footer { |
|
||||||
width: auto; |
|
||||||
} |
|
||||||
|
|
||||||
.bodywrapper { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.footer { |
|
||||||
width: auto; |
|
||||||
} |
|
||||||
|
|
||||||
.github { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 875px) { |
|
||||||
|
|
||||||
body { |
|
||||||
margin: 0; |
|
||||||
padding: 20px 30px; |
|
||||||
} |
|
||||||
|
|
||||||
div.documentwrapper { |
|
||||||
float: none; |
|
||||||
background: {{ theme_base_bg }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar { |
|
||||||
display: block; |
|
||||||
float: none; |
|
||||||
width: 102.5%; |
|
||||||
{%- if theme_fixed_sidebar|lower == 'true' %} |
|
||||||
margin: -20px -30px 20px -30px; |
|
||||||
{%- else %} |
|
||||||
margin: 50px -30px -20px -30px; |
|
||||||
{%- endif %} |
|
||||||
padding: 10px 20px; |
|
||||||
background: {{ theme_narrow_sidebar_bg }}; |
|
||||||
color: {{ theme_narrow_sidebar_fg }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, |
|
||||||
div.sphinxsidebar h3 a { |
|
||||||
color: {{ theme_base_bg }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar a { |
|
||||||
color: {{ theme_narrow_sidebar_link }}; |
|
||||||
} |
|
||||||
|
|
||||||
div.sphinxsidebar p.logo { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
div.document { |
|
||||||
width: 100%; |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
div.footer { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
div.bodywrapper { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
div.body { |
|
||||||
min-height: 0; |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.rtd_doc_footer { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
.document { |
|
||||||
width: auto; |
|
||||||
} |
|
||||||
|
|
||||||
.footer { |
|
||||||
width: auto; |
|
||||||
} |
|
||||||
|
|
||||||
.footer { |
|
||||||
width: auto; |
|
||||||
} |
|
||||||
|
|
||||||
.github { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
{%- if theme_fixed_sidebar|lower == 'true' %} |
|
||||||
@media screen and (min-width: 876px) { |
|
||||||
div.sphinxsidebar { |
|
||||||
position: fixed; |
|
||||||
margin-left: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
{%- endif %} |
|
||||||
|
|
||||||
|
|
||||||
/* misc. */ |
|
||||||
|
|
||||||
.revsys-inline { |
|
||||||
display: none!important; |
|
||||||
} |
|
||||||
|
|
||||||
/* Hide ugly table cell borders in ..bibliography:: directive output */ |
|
||||||
table.docutils.citation, table.docutils.citation td, table.docutils.citation th { |
|
||||||
border: none; |
|
||||||
/* Below needed in some edge cases; if not applied, bottom shadows appear */ |
|
||||||
-moz-box-shadow: none; |
|
||||||
-webkit-box-shadow: none; |
|
||||||
box-shadow: none; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/* relbar */ |
|
||||||
|
|
||||||
.related { |
|
||||||
line-height: 30px; |
|
||||||
width: 100%; |
|
||||||
font-size: 0.9rem; |
|
||||||
} |
|
||||||
|
|
||||||
.related.top { |
|
||||||
border-bottom: 1px solid {{ theme_relbar_border }}; |
|
||||||
margin-bottom: 20px; |
|
||||||
} |
|
||||||
|
|
||||||
.related.bottom { |
|
||||||
border-top: 1px solid {{ theme_relbar_border }}; |
|
||||||
} |
|
||||||
|
|
||||||
.related ul { |
|
||||||
padding: 0; |
|
||||||
margin: 0; |
|
||||||
list-style: none; |
|
||||||
} |
|
||||||
|
|
||||||
.related li { |
|
||||||
display: inline; |
|
||||||
} |
|
||||||
|
|
||||||
nav#rellinks { |
|
||||||
float: right; |
|
||||||
} |
|
||||||
|
|
||||||
nav#rellinks li+li:before { |
|
||||||
content: "|"; |
|
||||||
} |
|
||||||
|
|
||||||
nav#breadcrumbs li+li:before { |
|
||||||
content: "\00BB"; |
|
||||||
} |
|
||||||
|
|
||||||
/* Hide certain items when printing */ |
|
||||||
@media print { |
|
||||||
div.related { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
@ -1 +0,0 @@ |
|||||||
/* This file intentionally left blank. */ |
|
@ -1,89 +0,0 @@ |
|||||||
from pygments.style import Style |
|
||||||
from pygments.token import ( |
|
||||||
Comment, |
|
||||||
Error, |
|
||||||
Generic, |
|
||||||
Keyword, |
|
||||||
Literal, |
|
||||||
Name, |
|
||||||
Number, |
|
||||||
Operator, |
|
||||||
Other, |
|
||||||
Punctuation, |
|
||||||
String, |
|
||||||
Whitespace, |
|
||||||
) |
|
||||||
|
|
||||||
|
|
||||||
# Originally based on FlaskyStyle which was based on 'tango'. |
|
||||||
class Alabaster(Style): |
|
||||||
background_color = "#f8f8f8" # doesn't seem to override CSS 'pre' styling? |
|
||||||
default_style = "" |
|
||||||
|
|
||||||
styles = { |
|
||||||
# No corresponding class for the following: |
|
||||||
# Text: "", # class: '' |
|
||||||
Whitespace: "#f8f8f8", # class: 'w' |
|
||||||
Error: "#a40000 border:#ef2929", # class: 'err' |
|
||||||
Other: "#000000", # class 'x' |
|
||||||
Comment: "italic #8f5902", # class: 'c' |
|
||||||
Comment.Preproc: "noitalic", # class: 'cp' |
|
||||||
Keyword: "bold #004461", # class: 'k' |
|
||||||
Keyword.Constant: "bold #004461", # class: 'kc' |
|
||||||
Keyword.Declaration: "bold #004461", # class: 'kd' |
|
||||||
Keyword.Namespace: "bold #004461", # class: 'kn' |
|
||||||
Keyword.Pseudo: "bold #004461", # class: 'kp' |
|
||||||
Keyword.Reserved: "bold #004461", # class: 'kr' |
|
||||||
Keyword.Type: "bold #004461", # class: 'kt' |
|
||||||
Operator: "#582800", # class: 'o' |
|
||||||
Operator.Word: "bold #004461", # class: 'ow' - like keywords |
|
||||||
Punctuation: "bold #000000", # class: 'p' |
|
||||||
# because special names such as Name.Class, Name.Function, etc. |
|
||||||
# are not recognized as such later in the parsing, we choose them |
|
||||||
# to look the same as ordinary variables. |
|
||||||
Name: "#000000", # class: 'n' |
|
||||||
Name.Attribute: "#c4a000", # class: 'na' - to be revised |
|
||||||
Name.Builtin: "#004461", # class: 'nb' |
|
||||||
Name.Builtin.Pseudo: "#3465a4", # class: 'bp' |
|
||||||
Name.Class: "#000000", # class: 'nc' - to be revised |
|
||||||
Name.Constant: "#000000", # class: 'no' - to be revised |
|
||||||
Name.Decorator: "#888", # class: 'nd' - to be revised |
|
||||||
Name.Entity: "#ce5c00", # class: 'ni' |
|
||||||
Name.Exception: "bold #cc0000", # class: 'ne' |
|
||||||
Name.Function: "#000000", # class: 'nf' |
|
||||||
Name.Property: "#000000", # class: 'py' |
|
||||||
Name.Label: "#f57900", # class: 'nl' |
|
||||||
Name.Namespace: "#000000", # class: 'nn' - to be revised |
|
||||||
Name.Other: "#000000", # class: 'nx' |
|
||||||
Name.Tag: "bold #004461", # class: 'nt' - like a keyword |
|
||||||
Name.Variable: "#000000", # class: 'nv' - to be revised |
|
||||||
Name.Variable.Class: "#000000", # class: 'vc' - to be revised |
|
||||||
Name.Variable.Global: "#000000", # class: 'vg' - to be revised |
|
||||||
Name.Variable.Instance: "#000000", # class: 'vi' - to be revised |
|
||||||
Number: "#990000", # class: 'm' |
|
||||||
Literal: "#000000", # class: 'l' |
|
||||||
Literal.Date: "#000000", # class: 'ld' |
|
||||||
String: "#4e9a06", # class: 's' |
|
||||||
String.Backtick: "#4e9a06", # class: 'sb' |
|
||||||
String.Char: "#4e9a06", # class: 'sc' |
|
||||||
String.Doc: "italic #8f5902", # class: 'sd' - like a comment |
|
||||||
String.Double: "#4e9a06", # class: 's2' |
|
||||||
String.Escape: "#4e9a06", # class: 'se' |
|
||||||
String.Heredoc: "#4e9a06", # class: 'sh' |
|
||||||
String.Interpol: "#4e9a06", # class: 'si' |
|
||||||
String.Other: "#4e9a06", # class: 'sx' |
|
||||||
String.Regex: "#4e9a06", # class: 'sr' |
|
||||||
String.Single: "#4e9a06", # class: 's1' |
|
||||||
String.Symbol: "#4e9a06", # class: 'ss' |
|
||||||
Generic: "#000000", # class: 'g' |
|
||||||
Generic.Deleted: "#a40000", # class: 'gd' |
|
||||||
Generic.Emph: "italic #000000", # class: 'ge' |
|
||||||
Generic.Error: "#ef2929", # class: 'gr' |
|
||||||
Generic.Heading: "bold #000080", # class: 'gh' |
|
||||||
Generic.Inserted: "#00A000", # class: 'gi' |
|
||||||
Generic.Output: "#888", # class: 'go' |
|
||||||
Generic.Prompt: "#745334", # class: 'gp' |
|
||||||
Generic.Strong: "bold #000000", # class: 'gs' |
|
||||||
Generic.Subheading: "bold #800080", # class: 'gu' |
|
||||||
Generic.Traceback: "bold #a40000", # class: 'gt' |
|
||||||
} |
|
@ -1,132 +0,0 @@ |
|||||||
[theme] |
|
||||||
inherit = basic |
|
||||||
stylesheet = alabaster.css |
|
||||||
sidebars = about.html, navigation.html, relations.html, searchbox.html, donate.html |
|
||||||
pygments_style = alabaster.support.Alabaster |
|
||||||
|
|
||||||
[options] |
|
||||||
body_min_width = inherit |
|
||||||
analytics_id = |
|
||||||
badge_branch = master |
|
||||||
canonical_url = |
|
||||||
codecov_button = false |
|
||||||
description = |
|
||||||
description_font_style = normal |
|
||||||
donate_url = |
|
||||||
extra_nav_links = |
|
||||||
fixed_sidebar = false |
|
||||||
github_banner = false |
|
||||||
github_button = true |
|
||||||
github_count = true |
|
||||||
github_repo = |
|
||||||
github_type = watch |
|
||||||
github_user = |
|
||||||
gittip_user = |
|
||||||
gratipay_user = |
|
||||||
logo = |
|
||||||
logo_name = false |
|
||||||
logo_text_align = left |
|
||||||
opencollective = |
|
||||||
opencollective_button_color = white |
|
||||||
page_width = 940px |
|
||||||
relbar_border = |
|
||||||
show_powered_by = true |
|
||||||
show_related = false |
|
||||||
show_relbar_bottom = |
|
||||||
show_relbar_top = |
|
||||||
show_relbars = false |
|
||||||
sidebar_collapse = true |
|
||||||
sidebar_includehidden = true |
|
||||||
sidebar_width = 220px |
|
||||||
tidelift_url = |
|
||||||
touch_icon = |
|
||||||
travis_button = false |
|
||||||
|
|
||||||
gray_1 = #444 |
|
||||||
gray_2 = #EEE |
|
||||||
gray_3 = #AAA |
|
||||||
|
|
||||||
pink_1 = #FCC |
|
||||||
pink_2 = #FAA |
|
||||||
pink_3 = #D52C2C |
|
||||||
|
|
||||||
base_bg = #fff |
|
||||||
base_text = #000 |
|
||||||
hr_border = #B1B4B6 |
|
||||||
body_bg = |
|
||||||
body_text = #3E4349 |
|
||||||
body_text_align = left |
|
||||||
footer_text = #888 |
|
||||||
link = #004B6B |
|
||||||
link_hover = #6D4100 |
|
||||||
sidebar_header = |
|
||||||
sidebar_text = #555 |
|
||||||
sidebar_link = |
|
||||||
sidebar_link_underscore = #999 |
|
||||||
sidebar_search_button = #CCC |
|
||||||
sidebar_list = #000 |
|
||||||
sidebar_hr = |
|
||||||
anchor = #DDD |
|
||||||
anchor_hover_fg = |
|
||||||
anchor_hover_bg = #EAEAEA |
|
||||||
table_border = #888 |
|
||||||
shadow = |
|
||||||
|
|
||||||
# Admonition options |
|
||||||
## basic level |
|
||||||
admonition_bg = |
|
||||||
admonition_border = #CCC |
|
||||||
note_bg = |
|
||||||
note_border = #CCC |
|
||||||
seealso_bg = |
|
||||||
seealso_border = #CCC |
|
||||||
|
|
||||||
## critical level |
|
||||||
danger_bg = |
|
||||||
danger_border = |
|
||||||
danger_shadow = |
|
||||||
error_bg = |
|
||||||
error_border = |
|
||||||
error_shadow = |
|
||||||
|
|
||||||
## normal level |
|
||||||
tip_bg = |
|
||||||
tip_border = #CCC |
|
||||||
hint_bg = |
|
||||||
hint_border = #CCC |
|
||||||
important_bg = |
|
||||||
important_border = #CCC |
|
||||||
|
|
||||||
## warning level |
|
||||||
caution_bg = |
|
||||||
caution_border = |
|
||||||
attention_bg = |
|
||||||
attention_border = |
|
||||||
warn_bg = |
|
||||||
warn_border = |
|
||||||
|
|
||||||
topic_bg = |
|
||||||
code_highlight_bg = |
|
||||||
highlight_bg = #FAF3E8 |
|
||||||
xref_border = #fff |
|
||||||
xref_bg = #FBFBFB |
|
||||||
admonition_xref_border = #fafafa |
|
||||||
admonition_xref_bg = |
|
||||||
footnote_bg = #FDFDFD |
|
||||||
footnote_border = |
|
||||||
pre_bg = |
|
||||||
narrow_sidebar_bg = #333 |
|
||||||
narrow_sidebar_fg = #FFF |
|
||||||
narrow_sidebar_link = |
|
||||||
font_size = 17px |
|
||||||
caption_font_size = inherit |
|
||||||
viewcode_target_bg = #ffd |
|
||||||
code_bg = #ecf0f3 |
|
||||||
code_text = #222 |
|
||||||
code_hover = #EEE |
|
||||||
code_font_size = 0.9em |
|
||||||
code_font_family = 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace |
|
||||||
font_family = Georgia, serif |
|
||||||
head_font_family = |
|
||||||
caption_font_family = inherit |
|
||||||
code_highlight = #FFC |
|
@ -1,37 +0,0 @@ |
|||||||
""" |
|
||||||
babel |
|
||||||
~~~~~ |
|
||||||
|
|
||||||
Integrated collection of utilities that assist in internationalizing and |
|
||||||
localizing applications. |
|
||||||
|
|
||||||
This package is basically composed of two major parts: |
|
||||||
|
|
||||||
* tools to build and work with ``gettext`` message catalogs |
|
||||||
* a Python interface to the CLDR (Common Locale Data Repository), providing |
|
||||||
access to various locale display names, localized number and date |
|
||||||
formatting, etc. |
|
||||||
|
|
||||||
:copyright: (c) 2013-2024 by the Babel Team. |
|
||||||
:license: BSD, see LICENSE for more details. |
|
||||||
""" |
|
||||||
|
|
||||||
from babel.core import ( |
|
||||||
Locale, |
|
||||||
UnknownLocaleError, |
|
||||||
default_locale, |
|
||||||
get_locale_identifier, |
|
||||||
negotiate_locale, |
|
||||||
parse_locale, |
|
||||||
) |
|
||||||
|
|
||||||
__version__ = '2.15.0' |
|
||||||
|
|
||||||
__all__ = [ |
|
||||||
'Locale', |
|
||||||
'UnknownLocaleError', |
|
||||||
'default_locale', |
|
||||||
'get_locale_identifier', |
|
||||||
'negotiate_locale', |
|
||||||
'parse_locale', |
|
||||||
] |
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue