我在 上上传了一个 python 包Pypi,但我也想将其上传到Github,这样它就可以是开源的,任何人都可以做出贡献。
是否可以将 github 存储库与 Pypi 上已上传的包链接起来,这样每当我将某些内容推送到 master 分支时,它也会在 Pypi 上更新?
我正在尝试使用 pytest 从 kfp.v2.ds1 (在管道上工作)本地测试 kubeflow 组件,但在输入/输出参数和固定装置上遇到了困难。
下面是一个代码示例来说明这个问题:
首先,我创建了一个夹具来模拟数据集。该装置也是一个 kubeflow 组件。
# ./fixtures/
@pytest.fixture
@component()
def sample_df(dataset: Output[Dataset]):
df = pd.DataFrame(
{
'name': ['Ana', 'Maria', 'Josh'],
'age': [15, 19, 22],
}
)
dataset.path += '.csv'
df.to_csv(dataset.path, index=False)
return
Run Code Online (Sandbox Code Playgroud)
让我们假设该组件的年龄加倍。
# ./src/
@component()
def double_ages(df_input: Input[Dataset], df_output: Output[Dataset]):
df = pd.read_csv(df_input.path)
double_df = df.copy()
double_df['age'] = double_df['age']*2
df_output.path += '.csv'
double_df.to_csv(df_output.path, index=False)
Run Code Online (Sandbox Code Playgroud)
然后,测试:
#./tests/
@pytest.mark.usefixtures("sample_df")
def test_double_ages(sample_df):
expected_df = pd.DataFrame(
{
'name': ['Ana', 'Maria', 'Josh'],
'age': [30, 38, 44],
}
) …Run Code Online (Sandbox Code Playgroud)