first commit
This commit is contained in:
commit
417e54da96
5696 changed files with 900003 additions and 0 deletions
247
kivy_venv/bin/Activate.ps1
Normal file
247
kivy_venv/bin/Activate.ps1
Normal file
|
@ -0,0 +1,247 @@
|
|||
<#
|
||||
.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 VIRTUAL_ENV_PROMPT altogether.
|
||||
if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
|
||||
Remove-Item -Path env:VIRTUAL_ENV_PROMPT
|
||||
}
|
||||
|
||||
# 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
|
||||
}
|
||||
$env:VIRTUAL_ENV_PROMPT = $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"
|
69
kivy_venv/bin/activate
Normal file
69
kivy_venv/bin/activate
Normal file
|
@ -0,0 +1,69 @@
|
|||
# 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
|
||||
unset VIRTUAL_ENV_PROMPT
|
||||
if [ ! "${1:-}" = "nondestructive" ] ; then
|
||||
# Self destruct!
|
||||
unset -f deactivate
|
||||
fi
|
||||
}
|
||||
|
||||
# unset irrelevant variables
|
||||
deactivate nondestructive
|
||||
|
||||
VIRTUAL_ENV="/home/meko/Builds/test-kivy-app/kivy_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="(kivy_venv) ${PS1:-}"
|
||||
export PS1
|
||||
VIRTUAL_ENV_PROMPT="(kivy_venv) "
|
||||
export VIRTUAL_ENV_PROMPT
|
||||
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
|
26
kivy_venv/bin/activate.csh
Normal file
26
kivy_venv/bin/activate.csh
Normal file
|
@ -0,0 +1,26 @@
|
|||
# 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; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate'
|
||||
|
||||
# Unset irrelevant variables.
|
||||
deactivate nondestructive
|
||||
|
||||
setenv VIRTUAL_ENV "/home/meko/Builds/test-kivy-app/kivy_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 = "(kivy_venv) $prompt"
|
||||
setenv VIRTUAL_ENV_PROMPT "(kivy_venv) "
|
||||
endif
|
||||
|
||||
alias pydoc python -m pydoc
|
||||
|
||||
rehash
|
69
kivy_venv/bin/activate.fish
Normal file
69
kivy_venv/bin/activate.fish
Normal file
|
@ -0,0 +1,69 @@
|
|||
# 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"
|
||||
set -e _OLD_FISH_PROMPT_OVERRIDE
|
||||
# prevents error when using nested fish instances (Issue #93858)
|
||||
if functions -q _old_fish_prompt
|
||||
functions -e fish_prompt
|
||||
functions -c _old_fish_prompt fish_prompt
|
||||
functions -e _old_fish_prompt
|
||||
end
|
||||
end
|
||||
|
||||
set -e VIRTUAL_ENV
|
||||
set -e VIRTUAL_ENV_PROMPT
|
||||
if test "$argv[1]" != "nondestructive"
|
||||
# Self-destruct!
|
||||
functions -e deactivate
|
||||
end
|
||||
end
|
||||
|
||||
# Unset irrelevant variables.
|
||||
deactivate nondestructive
|
||||
|
||||
set -gx VIRTUAL_ENV "/home/meko/Builds/test-kivy-app/kivy_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) "(kivy_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"
|
||||
set -gx VIRTUAL_ENV_PROMPT "(kivy_venv) "
|
||||
end
|
8
kivy_venv/bin/buildozer
Executable file
8
kivy_venv/bin/buildozer
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from buildozer.scripts.client import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
8
kivy_venv/bin/buildozer-remote
Executable file
8
kivy_venv/bin/buildozer-remote
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from buildozer.scripts.remote import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
8
kivy_venv/bin/cygdb
Executable file
8
kivy_venv/bin/cygdb
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from Cython.Debugger.Cygdb import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
8
kivy_venv/bin/cython
Executable file
8
kivy_venv/bin/cython
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from Cython.Compiler.Main import setuptools_main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(setuptools_main())
|
8
kivy_venv/bin/cythonize
Executable file
8
kivy_venv/bin/cythonize
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from Cython.Build.Cythonize import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
8
kivy_venv/bin/docutils
Executable file
8
kivy_venv/bin/docutils
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_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())
|
227
kivy_venv/bin/garden
Normal file
227
kivy_venv/bin/garden
Normal file
|
@ -0,0 +1,227 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
|
||||
import sys
|
||||
import argparse
|
||||
import zipfile
|
||||
import tempfile
|
||||
from shutil import rmtree, move
|
||||
from os import listdir, getcwd, chdir, makedirs
|
||||
from os.path import join, realpath, exists, isdir, expanduser, abspath, dirname
|
||||
|
||||
try:
|
||||
from cBytesIO import BytesIO
|
||||
except ImportError:
|
||||
try:
|
||||
from BytesIO import BytesIO
|
||||
except ImportError:
|
||||
from io import BytesIO
|
||||
|
||||
try:
|
||||
import requests
|
||||
except ImportError:
|
||||
print('Garden tool require requests library.')
|
||||
print('Try to "pip install requests" in root')
|
||||
sys.exit(1)
|
||||
|
||||
try:
|
||||
import kivy
|
||||
garden_kivy_dir = abspath(join(dirname(kivy.__file__), 'garden'))
|
||||
except ImportError:
|
||||
garden_kivy_dir = None
|
||||
|
||||
|
||||
garden_system_dir = join(expanduser('~'), '.kivy', 'garden')
|
||||
garden_app_dir = join(realpath(getcwd()), 'libs', 'garden')
|
||||
|
||||
|
||||
class GardenTool(object):
|
||||
'''Garden command-line tool.
|
||||
'''
|
||||
|
||||
def main(self, argv):
|
||||
parser = argparse.ArgumentParser(description=self.__doc__)
|
||||
subparsers = parser.add_subparsers()
|
||||
|
||||
p = subparsers.add_parser('list',
|
||||
help='List all the installed garden packages')
|
||||
p.add_argument('--app', action='store_true',
|
||||
help='Use the local app directory (./libs/garden)')
|
||||
p.add_argument('--kivy', action='store_true',
|
||||
help='Use the kivy garden directory (kivy/garden)')
|
||||
p.set_defaults(func=self.cmd_list)
|
||||
|
||||
p = subparsers.add_parser('search',
|
||||
help='Search garden package on github')
|
||||
p.add_argument('pattern', nargs='?', default='',
|
||||
help='Word to search in the package name (optional)')
|
||||
p.set_defaults(func=self.cmd_search)
|
||||
|
||||
p = subparsers.add_parser('install',
|
||||
help='Install a garden package')
|
||||
p.add_argument('--app', action='store_true',
|
||||
help='Install in the local app directory (./libs/garden)')
|
||||
p.add_argument('--kivy', action='store_true',
|
||||
help='Use the kivy garden directory (kivy/garden)')
|
||||
p.add_argument('--upgrade', action='store_true',
|
||||
help='Force the installation')
|
||||
p.add_argument('--no-download-progress', action='store_false', dest='animate',
|
||||
help='Disable download progress indicator')
|
||||
p.add_argument('package', nargs=1,
|
||||
help='Name of the package to install')
|
||||
p.set_defaults(func=self.cmd_install)
|
||||
|
||||
p = subparsers.add_parser('uninstall',
|
||||
help='Uninstall a garden package')
|
||||
p.add_argument('--app', action='store_true',
|
||||
help='Use the local app directory (./libs/garden)')
|
||||
p.add_argument('--kivy', action='store_true',
|
||||
help='Use the kivy garden directory (kivy/garden)')
|
||||
p.add_argument('package', nargs=1,
|
||||
help='Name of the package to uninstall')
|
||||
p.set_defaults(func=self.cmd_uninstall)
|
||||
|
||||
self.options = options = parser.parse_args(argv)
|
||||
options.package = [p.lower() for p in getattr(options, 'package', ())]
|
||||
|
||||
if hasattr(options, 'func'):
|
||||
options.func()
|
||||
|
||||
# No cmd supplied, print help message
|
||||
else:
|
||||
parser.print_help()
|
||||
|
||||
if getattr(self.options, 'kivy', False) and garden_kivy_dir is None:
|
||||
print('--kivy provided; cannot find kivy')
|
||||
sys.exit(0)
|
||||
|
||||
def cmd_list(self):
|
||||
if self.options.kivy:
|
||||
for filename in listdir(garden_kivy_dir):
|
||||
fullname = join(garden_kivy_dir, filename)
|
||||
if isdir(fullname):
|
||||
print(fullname)
|
||||
return
|
||||
|
||||
directory = garden_app_dir if self.options.app else garden_system_dir
|
||||
if not exists(directory):
|
||||
return
|
||||
|
||||
for filename in listdir(directory):
|
||||
fullname = join(directory, filename)
|
||||
if filename.startswith('garden.') and isdir(fullname):
|
||||
print(filename.split('.', 1)[-1])
|
||||
|
||||
def cmd_search(self):
|
||||
r = requests.get('https://api.github.com/users/kivy-garden/repos')
|
||||
pattern = self.options.pattern
|
||||
data = r.json()
|
||||
for repo in data:
|
||||
if not repo['name'].startswith('garden.'):
|
||||
continue
|
||||
name = repo['name'].split('.', 1)[-1]
|
||||
if pattern and pattern not in name:
|
||||
continue
|
||||
desc = repo['description']
|
||||
|
||||
print("{} - {}".format(
|
||||
name, desc.splitlines()[0] if desc else 'No description'))
|
||||
|
||||
def cmd_install(self):
|
||||
opts = self.options
|
||||
src_package = self.gardenify(opts.package[0])
|
||||
dst_package = opts.package[0] if self.options.kivy else src_package
|
||||
|
||||
garden_dir = garden_kivy_dir if self.options.kivy else (
|
||||
garden_app_dir if self.options.app else garden_system_dir)
|
||||
dest_dir = join(garden_dir, dst_package)
|
||||
|
||||
if exists(dest_dir) and not opts.upgrade:
|
||||
print('Garden package already installed in {}'.format(dest_dir))
|
||||
print('Use --upgrade to upgrade.')
|
||||
sys.exit(0)
|
||||
|
||||
fd = self.download(src_package, opts.animate)
|
||||
tempdir = tempfile.mkdtemp(prefix='garden-')
|
||||
try:
|
||||
self.extract(fd, tempdir)
|
||||
|
||||
if not exists(garden_dir):
|
||||
makedirs(garden_dir)
|
||||
|
||||
if exists(dest_dir):
|
||||
print('Removing old version...')
|
||||
rmtree(dest_dir)
|
||||
|
||||
source_directory = join(tempdir, '{}-master'.format(src_package))
|
||||
|
||||
print('Installing new version...')
|
||||
move(source_directory, dest_dir)
|
||||
|
||||
print('Done! {} is installed at: {}'.format(src_package,
|
||||
dest_dir))
|
||||
|
||||
finally:
|
||||
print('Cleaning...')
|
||||
if exists(tempdir):
|
||||
rmtree(tempdir, ignore_errors=True)
|
||||
|
||||
def cmd_uninstall(self):
|
||||
opts = self.options
|
||||
package = opts.package[0] if self.options.kivy else \
|
||||
self.gardenify(opts.package[0])
|
||||
garden_dir = garden_kivy_dir if self.options.kivy else (
|
||||
garden_app_dir if self.options.app else garden_system_dir)
|
||||
|
||||
d = join(garden_dir, package)
|
||||
if not exists(d):
|
||||
print('Package {} not installed, nothing to uninstall.'.format(
|
||||
package))
|
||||
sys.exit(0)
|
||||
|
||||
print('Deleting {}...'.format(d))
|
||||
rmtree(d)
|
||||
|
||||
|
||||
def gardenify(self, package):
|
||||
if not package.startswith('garden.'):
|
||||
return 'garden.' + package
|
||||
return package
|
||||
|
||||
def download(self, package, animate):
|
||||
url = 'https://github.com/kivy-garden/{}/archive/master.zip'.format(
|
||||
package)
|
||||
|
||||
print('Downloading {} ...'.format(url))
|
||||
r = requests.get(url)#, prefetch=False)
|
||||
if r.status_code != 200:
|
||||
print('Unable to find the garden package. (error={})'.format(
|
||||
r.status_code))
|
||||
sys.exit(1)
|
||||
|
||||
animation = '\\|/-'
|
||||
index = 0
|
||||
count = 0
|
||||
data = b''
|
||||
for buf in r.iter_content(1024):
|
||||
index += 1
|
||||
data += buf
|
||||
count += len(buf)
|
||||
if animate:
|
||||
print('Progression', count, animation[index % len(animation)], '\r')
|
||||
sys.stdout.flush()
|
||||
print('Download done ({} downloaded)'.format(count))
|
||||
|
||||
return BytesIO(data)
|
||||
|
||||
def extract(self, fd, directory):
|
||||
print('Extracting...')
|
||||
z = zipfile.ZipFile(fd)
|
||||
curdir = getcwd()
|
||||
chdir(directory)
|
||||
z.extractall()
|
||||
chdir(curdir)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
GardenTool().main(sys.argv[1:])
|
1
kivy_venv/bin/garden.bat
Normal file
1
kivy_venv/bin/garden.bat
Normal file
|
@ -0,0 +1 @@
|
|||
python.exe "%~dp0garden" %*
|
8
kivy_venv/bin/kivymd.add_view
Executable file
8
kivy_venv/bin/kivymd.add_view
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from kivymd.tools.patterns.add_view import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
8
kivy_venv/bin/kivymd.create_project
Executable file
8
kivy_venv/bin/kivymd.create_project
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from kivymd.tools.patterns.create_project import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
8
kivy_venv/bin/kivymd.make_release
Executable file
8
kivy_venv/bin/kivymd.make_release
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from kivymd.tools.release.make_release import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
8
kivy_venv/bin/normalizer
Executable file
8
kivy_venv/bin/normalizer
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_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())
|
8
kivy_venv/bin/pip
Executable file
8
kivy_venv/bin/pip
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_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())
|
8
kivy_venv/bin/pip3
Executable file
8
kivy_venv/bin/pip3
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_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())
|
8
kivy_venv/bin/pip3.11
Executable file
8
kivy_venv/bin/pip3.11
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_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())
|
8
kivy_venv/bin/pygmentize
Executable file
8
kivy_venv/bin/pygmentize
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_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())
|
8
kivy_venv/bin/pyproject-build
Executable file
8
kivy_venv/bin/pyproject-build
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from build.__main__ import entrypoint
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(entrypoint())
|
1
kivy_venv/bin/python
Symbolic link
1
kivy_venv/bin/python
Symbolic link
|
@ -0,0 +1 @@
|
|||
python3
|
1
kivy_venv/bin/python3
Symbolic link
1
kivy_venv/bin/python3
Symbolic link
|
@ -0,0 +1 @@
|
|||
/usr/bin/python3
|
1
kivy_venv/bin/python3.11
Symbolic link
1
kivy_venv/bin/python3.11
Symbolic link
|
@ -0,0 +1 @@
|
|||
python3
|
8
kivy_venv/bin/rst2html
Executable file
8
kivy_venv/bin/rst2html
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from docutils.core import rst2html
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(rst2html())
|
8
kivy_venv/bin/rst2html4
Executable file
8
kivy_venv/bin/rst2html4
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from docutils.core import rst2html4
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(rst2html4())
|
8
kivy_venv/bin/rst2html5
Executable file
8
kivy_venv/bin/rst2html5
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from docutils.core import rst2html5
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(rst2html5())
|
8
kivy_venv/bin/rst2latex
Executable file
8
kivy_venv/bin/rst2latex
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from docutils.core import rst2latex
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(rst2latex())
|
8
kivy_venv/bin/rst2man
Executable file
8
kivy_venv/bin/rst2man
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from docutils.core import rst2man
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(rst2man())
|
8
kivy_venv/bin/rst2odt
Executable file
8
kivy_venv/bin/rst2odt
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from docutils.core import rst2odt
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(rst2odt())
|
8
kivy_venv/bin/rst2pseudoxml
Executable file
8
kivy_venv/bin/rst2pseudoxml
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from docutils.core import rst2pseudoxml
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(rst2pseudoxml())
|
8
kivy_venv/bin/rst2s5
Executable file
8
kivy_venv/bin/rst2s5
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from docutils.core import rst2s5
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(rst2s5())
|
8
kivy_venv/bin/rst2xetex
Executable file
8
kivy_venv/bin/rst2xetex
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from docutils.core import rst2xetex
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(rst2xetex())
|
8
kivy_venv/bin/rst2xml
Executable file
8
kivy_venv/bin/rst2xml
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from docutils.core import rst2xml
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(rst2xml())
|
8
kivy_venv/bin/virtualenv
Executable file
8
kivy_venv/bin/virtualenv
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/home/meko/Builds/test-kivy-app/kivy_venv/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from virtualenv.__main__ import run_with_catch
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(run_with_catch())
|
Loading…
Add table
Add a link
Reference in a new issue