# -*- mode: yaml; coding: utf-8 -*-
#
# Schema for the python plugin for spin
python:
properties:
pyenv:
type: object
help: |
Configuration related to pyenv is used for provisioning the
Python interpreter
properties:
url:
type: str
help: URL to install pyenv from
path:
type: path
help: Path to cache the pyenv sources
cache:
type: path
help: Path to cache the Python sources downloaded by pyenv
python_build:
type: path
help: Path to the python-build builtin plugin of pyenv
user_pyenv:
type: bool
help: |
If ``False`` install pyenv from sources, otherwise use the pyenv
from PATH
nuget:
type: object
help: |
Configuration related to the Python provision on Windows using
nuget
properties:
url:
type: str
help: URL to install nuget from
exe:
type: path
help: Path to nuget executable
source:
type: str
help: Index to use for nuget sources
version:
type: str
help: |
The Python version to use for the whole project when using in
the context of spin
use:
type: str
help: |
The use property can be used to specify an alternative Python
source to use. This is useful to rather use the system Python
than the one defined in spinfile.yaml
default: ''
inst_dir:
type: path
help: Path to the installation directory of Python.
interpreter:
type: path
help: The path to the Python interpreter of the instance to use.
venv:
type: path
help: |
Path to the virtual environment which is used exclusively for
the project spin is running on
memo:
type: path
help: Path to the memoizer used to list installed packages
bindir:
type: path
help: |
Path of the virtual environment's binary directory on Linux;
equals "{python.venv}" on Windows
scriptdir:
type: path
help: |
Directory containing the executables of the Python virtual
environment
python:
type: path
help: |
The python property defines the path to the Python interpreter
to use.
pipconf:
type: str
help: |
Content of the pip.conf/pip.ini configuration file that will be
written into the environment.
# The provisioner type is evaluated during runtime and to complex to
# represent it in the schema.
# provisioner:
# type:
# help:
site_packages:
type: path internal
help: The path to the virtual environments site-packages directory.
requirements:
type: list
help: |
The list of this project's external Python requirements, that
have to be installed into the project's virtual environment.
This excludes requirements stated as 'install_requires' in
setup.py/setup.cfg.
Note that editable installs with ``-e`` or requirement files
with ``-r`` can also be used here.
constraints:
type: list
help: |
The list of constraint files that should be used when
installing packages into the virtual environment.
index_url:
type: str
help: |
The index url from where packages should get installed into the
venv. This value will also be put into cfg.python.pipconf, if
not already mentioned there.
build_wheels:
type: list
help: |
A list of packages that will be built along with the current
project when executing python:wheel.
aws_auth:
type: object
help: Configuration for the 'aws_auth' extra.
properties:
enabled:
type: bool
help: |
Whether to enable AWS authentication for retrieving
packages from CodeArtifact.
memo:
type: path
help: |
Path to the memoized information regarding the aws_auth
extra.
key_duration:
type: int
help: |
Time in seconds defining how long the plugin should
consider the authentication token as valid before
issuing a new one.
static_oidc:
type: bool
help: |
Whether to static OIDC when authenticating with AWS
CodeArtifact.
index:
type: str
help: The CodeArtifact repository index (e.g. "16.0/simple").
client_id:
type: str
help: The OIDC client ID to use.
client_secret:
type: secret
help: |
The OIDC client secret to use, defaults to the
environment variable 'CS_AWS_OIDC_CLIENT_SECRET'.
role_arn:
type: str
help: The role ARN to assume when authenticating.
skip_js_build:
type: bool
help: |
If true the build_js part of setuptools_ce will be skipped
during provision.