Polars注册命名空间的方法无法在IDE中显示文档字符串与参数类型的问题求助
Polars注册命名空间的方法无法在IDE中显示文档字符串与参数类型的问题求助
各位好,我最近在用Polars注册自定义DataFrame命名空间的时候遇到了一个IDE提示的问题,想请教下大家怎么解决。
我写了这样一段示例代码,用来注册一个名为test的命名空间,里面包含add_lit_col方法,还用上了Pydantic的validate_call做参数验证:
import polars as pl from pydantic import ValidationError, validate_call @pl.api.register_dataframe_namespace("test") class TestOps: def __init__(self, df: pl.DataFrame) -> None: self._df = df @validate_call def add_lit_col(self, lit_int: int = 5) -> pl.DataFrame: """ Add a literal integer defined by `lit_int` to the dataframe """ return self._df.with_columns(pl.lit(lit_int)) pl.DataFrame( data=["aaa", "bbb", "ccc", "ddd", "eee", "fff"], ).test.add_lit_col("foo")
目前来看,Pydantic的参数验证是正常工作的,而且我直接打印这个方法的文档字符串也能得到正确结果:
TestOps.add_lit_col.__doc__ # 输出: ' Add a literal integer defined by `lit_int` to the dataframe\n '
但问题是,在IDE里不管我悬停在pl.DataFrame的test命名空间上,还是悬停在add_lit_col方法上,都看不到对应的文档字符串和参数类型提示,只会显示(function) add_lit_col: Any,完全没有方法的参数和文档信息,这对开发体验影响挺大的。
有没有大佬知道怎么让IDE能正确识别这些自定义命名空间方法的类型和文档呀?
备注:内容来源于stack exchange,提问作者Kevin Li
相关产品推荐
相关产品推荐

