首页 > 其他分享 >kedro package 命令内部处理简单说明

kedro package 命令内部处理简单说明

时间:2024-09-21 08:52:35浏览次数:8  
标签:package settings project 命令 kedro dir metadata

kedro package 是一个比较方便的能力,可以将我们开发的data pipeline 打包为python 包,方便分发以及使用,以下简单说明下内部实现

参考内部处理

  • 代码
    可以看到内部并没有特殊的地方,对于标准python whl 文件基于了build 模块进行构建,对于配置部分使用了tar 命令进行处理
@project_group.command()
@click.pass_obj  # this will pass the metadata as first argument
def package(metadata: ProjectMetadata) -> None:
    """Package the project as a Python wheel."""
    # Even if the user decides for the older setup.py on purpose,
    # pyproject.toml is needed for Kedro metadata
    if (metadata.project_path / "pyproject.toml").is_file():
        metadata_dir = metadata.project_path
        destination_dir = "dist"
    else:
        # Assume it's an old Kedro project, packaging metadata was under src
        # (could be pyproject.toml or setup.py, it's not important)
        metadata_dir = metadata.source_dir
        destination_dir = "../dist"
 
    call(
        [
            sys.executable,
            "-m",
            "build",
            "--wheel",
            "--outdir",
            destination_dir,
        ],
        cwd=str(metadata_dir),
    )
 
    directory = (
        str(Path(settings.CONF_SOURCE).parent)
        if settings.CONF_SOURCE != "conf"
        else metadata.project_path
    )
    call(
        [
            "tar",
            "--exclude=local/*.yml",
            "-czf",
            f"dist/conf-{metadata.package_name}.tar.gz",
            f"--directory={directory}",
            str(Path(settings.CONF_SOURCE).stem),
        ]
    )

参考资料

https://docs.kedro.org/en/stable/kedro_project_setup/settings.html
https://docs.kedro.org/en/stable/tutorial/package_a_project.html

标签:package,settings,project,命令,kedro,dir,metadata
From: https://www.cnblogs.com/rongfengliang/p/18351310

相关文章

  • Go:开源命令行词典工具 - `dictcli` 推荐
    在日常的语言学习或工作中,我们经常需要快速查询单词的定义、同义词等信息。为了满足这种需求,开源社区中涌现了很多便捷的工具。今天,我非常高兴向大家推荐一个出色的开源项目——dictcli,它是一个用Go语言编写的命令行词典查询工具,支持本地查询单词定义,并且将词典数据嵌入到......
  • dig 命令
    dig是DomainInformationGroper的缩写yuminstallbind-utils基本语法dig[@server][name][type]@server:请求所指向的DNS服务器的主机名或IP地址。如果没有指定DNS服务器,则使用系统当前配置的DNS服务器name:要查找的域名type:要检索的DNS记录的类型,默认为A记录类......
  • 深入理解 Docker Exec 与 Dockerfile CMD 的执行机制|容器启动|优化|命令执行
    在容器化应用的开发与部署过程中,Docker扮演着极为重要的角色。对于使用Docker的开发者而言,如何正确地执行容器中的命令是至关重要的。Docker提供了多种方式来运行容器中的命令,其中最常见的是Dockerfile中的CMD指令和运行时使用dockerexec命令。本文将深入探讨这两者的区......
  • A lightweight python package, alternative of pyscafford
    python_packagehttps://github.com/fanqingsong/python_packageDescriptionAproductionreadypythonlibrarytemplateMetadataanddependencyinformationisstoredinthepyproject.tomlforcompatibilitywithbothpipandpoetry.Flake8,pylint,andi......
  • 命令行提示:-bash-4.2$ ,原因分析及解决
    inux普通用户登录后,命令行提示:-bash-4.1$,原因分析及解决有时候在使用用户登陆Linux系统时会发现,命令行提示符成了:-bash-4.2$,不显示用户名,路径信息。 原因:用户家目录里面与环境变量有关的文件被删除所导致的也就是这俩文件:.bash_profile.bashrc这两个文件被删除了,导致......
  • PHP命令行脚本接收参数
    使用$argvor$argc参数接收<?phpecho"接收到{$argc}个参数";print_r($argv);phptest.php接收到1个参数Array(   [0]=>test.php)phptest.phpabcd接收到5个参数Array(   [0]=>test.php   [1]=>a   [2]=>b   [3]=>c......
  • anaconda中cd命令不起作用
     TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChineseSimplifiedHungarianRussianChineseTraditionalIndonesianSlovakCzechItalianSlovenianDanishJapaneseSpanishDut......
  • 《华为三台交换机堆叠的详细命令行配置示例》
    华为三台交换机堆叠的详细命令行配置示例目录目录华为三台交换机堆叠的详细命令行配置示例 在Switch1(作为主交换机)上的配置: 1. 进入系统视图2. 开启堆叠功能并设置堆叠域编号(假设为10)3. 设置堆叠优先级(假设为200,数值越大越优先成为主交换机)4. 配置堆叠端口 ......
  • linux基础-linux基本命令
       linux基本命令    1.APT(AdvancedPackingTool)   ubuntu中功能最强大的命令行软件包管理工具,用于获取、   安装、编译、卸载和查询一些软件包,以及检测软件信号关系。      工作原理:       /etc/apt/sources.list文件  ......
  • Linux curl命令详解使用
    curl是一个非常强大且灵活的工具,支持多种协议(如HTTP、HTTPS、FTP等),并通过各种选项支持不同的请求方式、认证机制、代理设置、传输限制等。这些参数可以极大地提高网络请求中的效率和灵活性。curl命令的基本语法curl[options][URL...]options:指定不同操作的参数。U......