Ejemplo n.º 1
0
def _configure(config_dir, image_name, aws_region, aws_profile, python_version,
               requirements_dir):
    try:
        config_manager = ConfigManager(os.path.join(config_dir,
                                                    '.sagify.json'))
        config = config_manager.get_config()

        if image_name is not None:
            config.image_name = image_name

        if aws_region is not None:
            config.aws_region = aws_region

        if aws_profile is not None:
            config.aws_profile = aws_profile

        if python_version is not None:
            config.python_version = python_version

        if requirements_dir is not None:
            config.requirements_dir = requirements_dir

        config_manager.set_config(config)

        logger.info("\nConfiguration updated successfully!\n")
    except ValueError as e:
        logger.info("{}".format(e))
        sys.exit(-1)
Ejemplo n.º 2
0
def _template_creation(app_name, aws_profile, aws_region, python_version,
                       output_dir, requirements_dir):
    sagify_module_name = 'sagify_base'

    sagify_exists = os.path.exists(os.path.join(output_dir,
                                                sagify_module_name))
    if sagify_exists:
        raise ValueError("There is a sagify directory/module already. "
                         "Please, rename it in order to use sagify.")

    Path(output_dir).mkdir(exist_ok=True)
    Path(os.path.join(output_dir, '__init__.py')).touch()

    # Set 'sagify module' directory up
    copy_tree(os.path.join(_FILE_DIR_PATH, '../template'), output_dir)

    # Set configuration file up
    config_manager = ConfigManager(os.path.join('.sagify.json'))
    config = config_manager.get_config()

    config.image_name = app_name
    config.aws_region = aws_region
    config.aws_profile = aws_profile
    config.sagify_module_dir = output_dir
    config.python_version = python_version
    config.requirements_dir = requirements_dir
    config_manager.set_config(config)
Ejemplo n.º 3
0
def test_config(tmpdir):
    config_file = tmpdir.join('config.json')
    config_file.write("""
    {
        "image_name": "keras-app-img",
        "aws_profile": "sagemaker",
        "aws_region": "us-east-1"
    }
    """)
    config_manager = ConfigManager(str(config_file))
    actual_config_obj = config_manager.get_config()
    assert actual_config_obj.to_dict() == Config(
        image_name="keras-app-img",
        aws_profile="sagemaker",
        aws_region="us-east-1").to_dict()
Ejemplo n.º 4
0
def test_config(tmpdir):
    config_file = tmpdir.join('config.json')
    config_file.write("""
    {
        "image_name": "keras-app-img",
        "aws_profile": "sagemaker",
        "aws_region": "us-east-1",
        "python_version": "3.6",
        "sagify_module_dir": "keras-app-img",
        "requirements_dir": "requirements.txt"
    }
    """)
    config_manager = ConfigManager(str(config_file))
    actual_config_obj = config_manager.get_config()
    assert actual_config_obj.to_dict() == Config(
        image_name="keras-app-img",
        aws_profile="sagemaker",
        aws_region="us-east-1",
        python_version="3.6",
        sagify_module_dir="keras-app-img",
        requirements_dir="requirements.txt").to_dict()