gitextract_29sbg3vw/ ├── .asf.yaml ├── .bumpversion.cfg ├── .github/ │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── pre_commits.yml │ ├── unittests.yml │ └── versioning.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── DISCLAIMER-WIP ├── LICENSE ├── MANIFEST.in ├── NOTICE ├── README.md ├── RETIRED.txt ├── dev/ │ ├── LICENSE.txt │ ├── RELEASE.md │ └── sign.sh ├── docs/ │ ├── Makefile │ ├── README.md │ ├── architecture.md │ ├── conf.py │ ├── getting-started/ │ │ ├── hello_world.md │ │ ├── iris_classification.md │ │ └── spark_app_demo.md │ ├── index.rst │ ├── liminal/ │ │ ├── README.md │ │ ├── advanced.liminal.yml.md │ │ ├── executors/ │ │ │ ├── README.md │ │ │ ├── emr.md │ │ │ ├── index.rst │ │ │ └── kubernetes.md │ │ ├── extensibility.md │ │ ├── images/ │ │ │ ├── README.md │ │ │ ├── index.rst │ │ │ ├── python.md │ │ │ └── python_server.md │ │ ├── index.rst │ │ ├── kubernetes/ │ │ │ └── secret_util.md │ │ ├── liminal.yml.md │ │ ├── metrics_backends/ │ │ │ ├── README.md │ │ │ ├── aws_cloudwatch.md │ │ │ └── index.rst │ │ ├── monitoring.md │ │ ├── pipelines.md │ │ ├── services.md │ │ └── tasks/ │ │ ├── README.md │ │ ├── create_cloudformation_stack.md │ │ ├── delete_cloudformation_stack.md │ │ ├── index.rst │ │ ├── python.md │ │ └── spark.md │ ├── make.bat │ └── source/ │ ├── How_to_install_liminal_in_airflow_on_kubernetes.md │ └── liminal_aws_deploy.sh ├── examples/ │ ├── aws-ml-app-demo/ │ │ ├── __init__.py │ │ ├── liminal.yml │ │ ├── manifests/ │ │ │ └── aws-ml-app-demo.yaml │ │ ├── model_store.py │ │ ├── requirements.txt │ │ ├── serving.py │ │ └── training.py │ ├── extensibility/ │ │ ├── __init__.py │ │ ├── executors/ │ │ │ ├── __init__.py │ │ │ └── custom_executor.py │ │ ├── images/ │ │ │ ├── __init__.py │ │ │ ├── custom_image.py │ │ │ └── custom_image_builder/ │ │ │ ├── Dockerfile │ │ │ └── __init__.py │ │ ├── liminal.yml │ │ └── tasks/ │ │ ├── __init__.py │ │ └── custom_task.py │ ├── liminal-getting-started/ │ │ ├── __init__.py │ │ ├── hello_world.json │ │ ├── helloworld/ │ │ │ ├── __init__.py │ │ │ └── hello_world.py │ │ ├── liminal.yml │ │ ├── myserver/ │ │ │ ├── __init__.py │ │ │ └── my_server.py │ │ ├── pip.conf │ │ └── requirements.txt │ ├── sagemaker_example/ │ │ ├── README.md │ │ ├── archetype/ │ │ │ └── liminal.yaml │ │ ├── data_preparation/ │ │ │ ├── __init__.py │ │ │ ├── data_preparation.py │ │ │ └── data_uploader.py │ │ ├── data_train/ │ │ │ ├── __init__.py │ │ │ └── train.py │ │ ├── inference.py │ │ ├── liminal.yaml │ │ ├── liminal_sm.py │ │ ├── requirements.txt │ │ └── sm_ops.py │ └── spark-app-demo/ │ └── k8s/ │ ├── __init__.py │ ├── archetype/ │ │ └── liminal.yml │ ├── data/ │ │ └── iris.csv │ ├── data_cleanup.py │ ├── liminal.yml │ ├── manifests/ │ │ └── spark-app-demo.yaml │ ├── model_store.py │ ├── requirements.txt │ ├── serving.py │ └── training.py ├── install.sh ├── liminal/ │ ├── __init__.py │ ├── build/ │ │ ├── __init__.py │ │ ├── image/ │ │ │ ├── __init__.py │ │ │ ├── python/ │ │ │ │ ├── Dockerfile │ │ │ │ ├── __init__.py │ │ │ │ └── python.py │ │ │ ├── python_server/ │ │ │ │ ├── Dockerfile │ │ │ │ ├── __init__.py │ │ │ │ ├── liminal_python_server.py │ │ │ │ ├── python_server.py │ │ │ │ └── python_server_requirements.txt │ │ │ └── spark/ │ │ │ ├── Dockerfile │ │ │ ├── __init__.py │ │ │ └── spark.py │ │ ├── image_builder.py │ │ ├── liminal_apps_builder.py │ │ └── python.py │ ├── core/ │ │ ├── __init__.py │ │ ├── config/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ └── defaults/ │ │ │ ├── __init__.py │ │ │ ├── base/ │ │ │ │ ├── __init__.py │ │ │ │ └── liminal.yml │ │ │ └── default_configs.py │ │ ├── environment.py │ │ └── util/ │ │ ├── __init__.py │ │ ├── class_util.py │ │ ├── dict_util.py │ │ ├── env_util.py │ │ ├── extensible.py │ │ └── files_util.py │ ├── docker/ │ │ └── __init__.py │ ├── kubernetes/ │ │ ├── __init__.py │ │ ├── secret_util.py │ │ └── volume_util.py │ ├── logging/ │ │ ├── __init__.py │ │ └── logging_setup.py │ ├── monitoring/ │ │ └── __init__.py │ ├── runners/ │ │ ├── __init__.py │ │ └── airflow/ │ │ ├── __init__.py │ │ ├── config/ │ │ │ ├── __init__.py │ │ │ └── standalone_variable_backend.py │ │ ├── dag/ │ │ │ ├── __init__.py │ │ │ ├── liminal_dags.py │ │ │ └── liminal_register_dags.py │ │ ├── executors/ │ │ │ ├── __init__.py │ │ │ ├── airflow.py │ │ │ ├── emr.py │ │ │ └── kubernetes.py │ │ ├── model/ │ │ │ ├── __init__.py │ │ │ ├── executor.py │ │ │ └── task.py │ │ ├── operators/ │ │ │ ├── __init__.py │ │ │ ├── cloudformation.py │ │ │ ├── job_status_operator.py │ │ │ └── operator_with_variable_resolving.py │ │ └── tasks/ │ │ ├── __init__.py │ │ ├── airflow.py │ │ ├── containerable.py │ │ ├── create_cloudformation_stack.py │ │ ├── delete_cloudformation_stack.py │ │ ├── hadoop.py │ │ ├── job_end.py │ │ ├── job_start.py │ │ ├── python.py │ │ ├── spark.py │ │ └── sql.py │ ├── settings.py │ └── sql/ │ └── __init__.py ├── liminal-arch.md ├── pyproject.toml ├── requirements.txt ├── run_tests.sh ├── scripts/ │ ├── Dockerfile-airflow │ ├── __init__.py │ ├── docker-compose.yml │ ├── liminal │ ├── requirements-airflow.txt │ └── webserver_config.py ├── setup.py ├── tests/ │ ├── __init__.py │ ├── liminal/ │ │ ├── __init__.py │ │ ├── core/ │ │ │ ├── __init__.py │ │ │ ├── config/ │ │ │ │ ├── __init__.py │ │ │ │ ├── defaults/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_apply_variables_substitution.py │ │ │ │ │ ├── test_defaults_pipeline_config.py │ │ │ │ │ ├── test_defaults_service_config.py │ │ │ │ │ └── test_defaults_tasks_config.py │ │ │ │ └── test_config.py │ │ │ └── util/ │ │ │ ├── __init__.py │ │ │ └── test_dict_utils.py │ │ └── kubernetes/ │ │ ├── __init__.py │ │ └── test_volume_util.py │ ├── runners/ │ │ ├── __init__.py │ │ ├── airflow/ │ │ │ ├── __init__.py │ │ │ ├── build/ │ │ │ │ ├── __init__.py │ │ │ │ ├── http/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── python/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_python_server_image_builder.py │ │ │ │ ├── python/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_python_image_builder.py │ │ │ │ ├── spark/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_spark_image_builder.py │ │ │ │ └── test_liminal_apps_builder.py │ │ │ ├── compiler/ │ │ │ │ └── __init__.py │ │ │ ├── dag/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_liminal_dags.py │ │ │ ├── executors/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_airflow_executor.py │ │ │ │ └── test_emr.py │ │ │ ├── liminal/ │ │ │ │ ├── __init__.py │ │ │ │ ├── liminal.yml │ │ │ │ ├── myserver/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── my_server.py │ │ │ │ ├── pip.conf │ │ │ │ ├── requirements.txt │ │ │ │ ├── write_inputs/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── write_inputs.py │ │ │ │ └── write_outputs/ │ │ │ │ ├── __init__.py │ │ │ │ └── write_outputs.py │ │ │ ├── operators/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_operator_with_variable_resolving.py │ │ │ └── tasks/ │ │ │ ├── __init__.py │ │ │ ├── test_create_cloudformation_stack.py │ │ │ ├── test_delete_cloudformation_stack.py │ │ │ ├── test_job_end.py │ │ │ ├── test_job_start.py │ │ │ ├── test_python.py │ │ │ └── test_spark_task.py │ │ └── apps/ │ │ ├── __init__.py │ │ ├── test/ │ │ │ └── liminal.yml │ │ ├── test_app/ │ │ │ ├── __init__.py │ │ │ ├── defaults/ │ │ │ │ ├── __init__.py │ │ │ │ └── liminal.yml │ │ │ ├── extra/ │ │ │ │ ├── __init__.py │ │ │ │ └── liminal.yml │ │ │ ├── helloworld/ │ │ │ │ ├── __init__.py │ │ │ │ └── hellp_world.py │ │ │ ├── liminal.yml │ │ │ └── my_server/ │ │ │ ├── __init__.py │ │ │ └── my_server.py │ │ └── test_spark_app/ │ │ ├── __init__.py │ │ ├── liminal.yml │ │ └── wordcount/ │ │ ├── __init__.py │ │ ├── requirements.txt │ │ ├── wordcount.py │ │ └── words.txt │ ├── test_licenses.py │ └── util/ │ ├── __init__.py │ ├── dag_test_utils.py │ ├── test_class_utils.py │ └── test_pkg_1/ │ ├── __init__.py │ ├── test_clazz_base.py │ └── test_pkg_1_1/ │ ├── __init__.py │ ├── test_clazz_child_1.py │ ├── test_clazz_child_2.py │ ├── test_pkg_1_1_1/ │ │ ├── __init__.py │ │ └── test_clazz_leaf_1.py │ └── test_pkg_1_1_2/ │ ├── __init__.py │ └── test_clazz_leaf_2.py └── yamllint-config.yml