Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
pycklets / resources / frecklet / python-packages-in-virtualenv.frecklet
Size: Mime:
doc:
  short_help: Installs Python packages into a Virtualenv.
  help: |
    Installs Python packages into a Virtualenv.

    Don't use this directly (in most cases), just use the 'python-virtualenv' frecklet instead, because this frecklet does not create that virtualenv, nor does it ensure that Python is available at all.

args:
  system_dependencies:
    doc:
      short_help: System packages the application depends on.
    type: list
    empty: true
    required: false
    default: []
    cli:
      param_decls:
      - --system-dependency
      - -s
  python_packages:
    doc:
      short_help: All necessary Python packages.
    type: list
    empty: true
    required: true
    default: []
    schema:
      type: string
    cli:
      param_decls:
      - --python-pkg
      - -p
  pip_extra_args:
    doc:
      short_help: Extra arguments forwarded to 'pip'.
    type: string
    required: false
  update:
    doc:
      short_help: Update packages if already installed.
    type: boolean
    default: false
    cli:
      param_decls:
      - --update
frecklets:
- packages-installed:
    frecklet::skip: '{{:: system_dependencies | true_if_empty ::}}'
    packages: '{{:: system_dependencies ::}}'

- frecklet:
    name: freckfrackery.python
    type: ansible-role
    resources:
      ansible-role:
      - freckfrackery.python
      - freckfrackery.install-pkgs
      - freckfrackery.install-pkg-mgrs
    properties:
      idempotent: true
      internet: true
      elevated: '{{:: user | true_if_not_empty ::}}'
    desc:
      references:
        pyenv homepage: https://github.com/pyenv/pyenv
  task:
    include-type: include
  vars:
    frecklet::skip: '{{:: python_packages | true_if_empty ::}}'
    python_owner: '{{:: user ::}}'
    python_virtualenv_name: '{{:: venv_name ::}}'
    python_virtualenv_base: '{{:: venv_base_path ::}}'
    python_version: '{{:: python_version ::}}'
    python_type: '{{:: python_type ::}}'
    python_virtualenv_exe: '{{:: venv_python_exe ::}}'
    python_tasks:
    - install-packages
    python_pip_extra_args: '{{:: pip_extra_args ::}}'
    python_pip_packages: '{{:: python_packages ::}}'
    python_pip_packages_state: '{%:: if update ::%}latest{%:: else ::%}present{%:: endif ::%}'


meta: {}