singer-pipeline

Description

Create a directory with everything necessary for a single Singer pipe.

Variables

Name Type Default Description

path

string --

The directory to use for the pipe. Required

tap_name

string --

The name of the tap. Required

target_name

string --

The name of the target. Required

tap_config

dict --

The tap config.

tap_pip_string

string --

The package name or git url for this tap.

tap_system_dependencies

list --

(Optional) system dependencies for the tap Python package to be installed.

target_config

dict --

The target config.

target_pip_string

string --

The package name or git url for this target.

target_system_dependencies

list --

(Optional) system dependencies for the target Python package to be installed.

wrapper_script

string --

The path of the wrapper shell-script, will be written if this value is non-empty.

Code

doc:
  short_help: Create a directory with everything necessary for a single Singer pipe.

args:
  _import:
  - singer-tap-installed
  - singer-target-installed
  path:
    doc:
      short_help: The directory to use for the pipe.
    type: string
    required: true
  tap_name:
    doc:
      short_help: The name of the tap.
    type: string
    required: true
  tap_config:
    doc:
      short_help: The tap config.
    type: dict
    required: false
    empty: true
  target_name:
    doc:
      short_help: The name of the target.
    type: string
    required: true
  target_config:
    doc:
      short_help: The target config.
    type: dict
    required: false
    empty: true
  wrapper_script:
    doc:
      short_help: The path of the wrapper shell-script, will be written if this value
        is non-empty.
    type: string
    required: false

frecklets:
- singer-tap-installed:
    tap_name: '{{:: tap_name ::}}'
    tap_pip_string: '{{:: tap_pip_string ::}}'
    link_base_path: '{{:: path ::}}'
    tap_system_dependencies: '{{:: tap_system_dependencies ::}}'
- singer-config-file:
    frecklet::skip: '{{:: tap_config | true_if_empty ::}}'
    path: '{{:: path ::}}/tap_config.json'
    config: '{{:: tap_config ::}}'
- singer-target-installed:
    target_name: '{{:: target_name ::}}'
    target_pip_string: '{{:: target_pip_string ::}}'
    link_base_path: '{{:: path ::}}'
    target_system_dependencies: '{{:: target_system_dependencies ::}}'
- singer-config-file:
    frecklet::skip: '{{:: target_config | true_if_empty ::}}'
    path: '{{:: path ::}}/target_config.json'
    config: '{{:: target_config ::}}'
- singer-pipeline-wrapper-script:
    frecklet::skip: '{{:: wrapper_script | true_if_empty ::}}'
    path: '{{:: wrapper_script ::}}'
    pipeline_path: '{{:: path ::}}'
    tap_name: '{{:: tap_name ::}}'
    tap_config: '{{:: tap_config ::}}'
    target_name: '{{:: target_name ::}}'
    target_config: '{{:: target_config ::}}'
frecklecute --community singer-pipeline --help

Usage: frecklecute singer-pipeline [OPTIONS] TAP_NAME TARGET_NAME

  Create a directory with everything necessary for a single Singer pipe.

Options:
  --path PATH                     The directory to use for the pipe.
                                  [required]
  --tap-config TAP_CONFIG         The tap config.
  --tap-pip-string TAP_PIP_STRING
                                  The package name or git url for this tap.
  --tap-system-dependency TAP_SYSTEM_DEPENDENCIES
                                  (Optional) system dependencies for the tap
                                  Python package to be installed.
  --target-config TARGET_CONFIG   The target config.
  --target-pip-string TARGET_PIP_STRING
                                  The package name or git url for this target.
  --target-system-dependency TARGET_SYSTEM_DEPENDENCIES
                                  (Optional) system dependencies for the
                                  target Python package to be installed.
  --wrapper-script WRAPPER_SCRIPT
                                  The path of the wrapper shell-script, will
                                  be written if this value is non-empty.
  --help                          Show this message and exit.
# -*- coding: utf-8 -*-


#
# module path: pycklets.singer_pipeline.SingerPipeline
#


from dataclasses import dataclass
from pyckles import AutoPycklet
from typing import *    # noqa

@dataclass
class SingerPipeline(AutoPycklet):
    """Create a directory with everything necessary for a single Singer pipe.

       Args:
         path: The directory to use for the pipe.
         tap_config: The tap config.
         tap_name: The name of the tap.
         tap_pip_string: The package name or git url for this tap.
         tap_system_dependencies: (Optional) system dependencies for the tap Python package to be installed.
         target_config: The target config.
         target_name: The name of the target.
         target_pip_string: The package name or git url for this target.
         target_system_dependencies: (Optional) system dependencies for the target Python package to be installed.
         wrapper_script: The path of the wrapper shell-script, will be written if this value is non-empty.

    """

    FRECKLET_ID = "singer-pipeline"

    path: str = None
    tap_config: Dict = None
    tap_name: str = None
    tap_pip_string: str = None
    tap_system_dependencies: List = None
    target_config: Dict = None
    target_name: str = None
    target_pip_string: str = None
    target_system_dependencies: List = None
    wrapper_script: str = None


    def __post_init__(self):
        super(SingerPipeline, self).__init__(var_names=["path", "tap_config", "tap_name", "tap_pip_string", "tap_system_dependencies", "target_config", "target_name", "target_pip_string", "target_system_dependencies", "wrapper_script"])


frecklet_class = SingerPipeline
# -*- coding: utf-8 -*-


#
# module path: pycklets.singer_pipeline.SingerPipeline
#


from pyckles import AutoPycklet

class SingerPipeline(AutoPycklet):
    """Create a directory with everything necessary for a single Singer pipe.

       Args:
         path: The directory to use for the pipe.
         tap_config: The tap config.
         tap_name: The name of the tap.
         tap_pip_string: The package name or git url for this tap.
         tap_system_dependencies: (Optional) system dependencies for the tap Python package to be installed.
         target_config: The target config.
         target_name: The name of the target.
         target_pip_string: The package name or git url for this target.
         target_system_dependencies: (Optional) system dependencies for the target Python package to be installed.
         wrapper_script: The path of the wrapper shell-script, will be written if this value is non-empty.

    """

    FRECKLET_ID = "singer-pipeline"

    def __init__(self, path=None, tap_config=None, tap_name=None, tap_pip_string=None, tap_system_dependencies=None, target_config=None, target_name=None, target_pip_string=None, target_system_dependencies=None, wrapper_script=None):

        super(SingerPipeline, self).__init__(var_names=["path", "tap_config", "tap_name", "tap_pip_string", "tap_system_dependencies", "target_config", "target_name", "target_pip_string", "target_system_dependencies", "wrapper_script"])
        self._path = path
        self._tap_config = tap_config
        self._tap_name = tap_name
        self._tap_pip_string = tap_pip_string
        self._tap_system_dependencies = tap_system_dependencies
        self._target_config = target_config
        self._target_name = target_name
        self._target_pip_string = target_pip_string
        self._target_system_dependencies = target_system_dependencies
        self._wrapper_script = wrapper_script

    @property
    def path(self):
        return self._path

    @path.setter
    def path(self, path):
        self._path = path

    @property
    def tap_config(self):
        return self._tap_config

    @tap_config.setter
    def tap_config(self, tap_config):
        self._tap_config = tap_config

    @property
    def tap_name(self):
        return self._tap_name

    @tap_name.setter
    def tap_name(self, tap_name):
        self._tap_name = tap_name

    @property
    def tap_pip_string(self):
        return self._tap_pip_string

    @tap_pip_string.setter
    def tap_pip_string(self, tap_pip_string):
        self._tap_pip_string = tap_pip_string

    @property
    def tap_system_dependencies(self):
        return self._tap_system_dependencies

    @tap_system_dependencies.setter
    def tap_system_dependencies(self, tap_system_dependencies):
        self._tap_system_dependencies = tap_system_dependencies

    @property
    def target_config(self):
        return self._target_config

    @target_config.setter
    def target_config(self, target_config):
        self._target_config = target_config

    @property
    def target_name(self):
        return self._target_name

    @target_name.setter
    def target_name(self, target_name):
        self._target_name = target_name

    @property
    def target_pip_string(self):
        return self._target_pip_string

    @target_pip_string.setter
    def target_pip_string(self, target_pip_string):
        self._target_pip_string = target_pip_string

    @property
    def target_system_dependencies(self):
        return self._target_system_dependencies

    @target_system_dependencies.setter
    def target_system_dependencies(self, target_system_dependencies):
        self._target_system_dependencies = target_system_dependencies

    @property
    def wrapper_script(self):
        return self._wrapper_script

    @wrapper_script.setter
    def wrapper_script(self, wrapper_script):
        self._wrapper_script = wrapper_script



frecklet_class = SingerPipeline