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 / src / pycklets / python_gunicorn_service.py
Size: Mime:
# -*- coding: utf-8 -*-

from pyckles import AutoPycklet


class PythonGunicornService(AutoPycklet):
    """Setup a service executing an application from within a virtualenv.

       Args:
         app_module: The entry point.
         project_config: Environment variables to configure app.
         project_name: n/a
         python_packages: All necessary Python packages.
         python_version: The version of python.

    """

    FRECKLET_ID = "python-gunicorn-service"

    def __init__(
        self,
        app_module=None,
        project_config=None,
        project_name=None,
        python_packages=None,
        python_version="latest",
    ):

        super(PythonGunicornService, self).__init__(
            var_names=[
                "app_module",
                "project_config",
                "project_name",
                "python_packages",
                "python_version",
            ]
        )
        self._app_module = app_module
        self._project_config = project_config
        self._project_name = project_name
        self._python_packages = python_packages
        self._python_version = python_version

    @property
    def app_module(self):
        return self._app_module

    @app_module.setter
    def app_module(self, app_module):
        self._app_module = app_module

    @property
    def project_config(self):
        return self._project_config

    @project_config.setter
    def project_config(self, project_config):
        self._project_config = project_config

    @property
    def project_name(self):
        return self._project_name

    @project_name.setter
    def project_name(self, project_name):
        self._project_name = project_name

    @property
    def python_packages(self):
        return self._python_packages

    @python_packages.setter
    def python_packages(self, python_packages):
        self._python_packages = python_packages

    @property
    def python_version(self):
        return self._python_version

    @python_version.setter
    def python_version(self, python_version):
        self._python_version = python_version