首页 > 编程语言 >lazy_loader python 子包以及函数懒加载框架

lazy_loader python 子包以及函数懒加载框架

时间:2024-10-03 08:50:40浏览次数:1  
标签:__ lazy python loader https 加载

lazy_loader python 子包以及函数懒加载框架, 内部处理上是基于了importlib.import_module 进行动态加载

包含的特性

  • 可以确保子模块对于用户的可见行,不引起而外的开销
  • 允许外部库在使用的时候被加载,提升导入时间

说明

此包在kedro 的datasets 模块中使用比较多,基本上每个datasets 扩展都能看到身影
比如 polars 中dataset 的处理 __init__.py

from typing import Any
 
import lazy_loader as lazy
 
# https://github.com/pylint-dev/pylint/issues/4300#issuecomment-1043601901
CSVDataset: Any
EagerPolarsDataset: Any
LazyPolarsDataset: Any
 
__getattr__, __dir__, __all__ = lazy.attach(
    __name__,
    submod_attrs={
        "csv_dataset": ["CSVDataset"],
        "eager_polars_dataset": [
            "EagerPolarsDataset",
        ],
        "lazy_polars_dataset": ["LazyPolarsDataset"],
    },

参考资料

https://github.com/kedro-org/kedro-plugins
https://scientific-python.org/specs/spec-0001/
https://github.com/scientific-python/lazy-loader

标签:__,lazy,python,loader,https,加载
From: https://www.cnblogs.com/rongfengliang/p/18354121

相关文章

  • python必会的函数或者操作
    排序sorted(data,reverse=TrueorFalse)zip()将多个可迭代对象打包成一个元组列表listorset(zip())map()对可迭代对象中的每个元素应用函数map(data,func)filter()跟map类似的用法reduce()对可迭代对象中的元素进行累计计算fromfunctoolsimportreduce......
  • python+flask计算机毕业设计门诊管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着医疗技术的飞速发展和患者需求的日益增长,传统的手工门诊管理模式已难以满足现代医院高效、精准、便捷的服务要求。门诊作为医院面向患......
  • 【python应用】最牛逼的Python API文档生成:Sphinx全攻略
    原创蔡大叔在Python开发的世界里,代码的文档化是至关重要的。它不仅帮助开发者理解代码的功能和用法,还能在团队协作中发挥巨大作用。Sphinx,作为一个强大的文档生成器,已经成为Python项目文档化的首选工具。本文将带你全面了解如何使用Sphinx为你的Python项目生成精美且实用的API......
  • python字典添加_增
    在Python中,字典(dictionary)是一种可变容器模型,且可存储任意类型对象。字典的每个元素都是一个键值对(key-valuepair)。添加新项到字典中非常直接,可以通过直接给字典指定一个新的键并赋予一个值来完成。如果指定的键在字典中不存在,则这个新项会被添加到字典中;如果键已存在,则对应的值......
  • python字典获取_查
    在Python中,字典(dict)是一种用于存储键值对(key-valuepairs)的内置数据结构。字典的键(key)必须是唯一的,而值(value)则可以是任何数据类型。使用字典时,经常需要获取(或查询)与特定键相关联的值。下面介绍几种获取字典中值的方法:1.直接通过键访问如果你知道键的确切名称,可以直接使用键来......
  • [Python手撕]网格中的最短路径(可以有k次破墙的机会)
    classSolution:defshortestPath(self,grid:List[List[int]],k:int)->int:n=len(grid)m=len(grid[0])ifm==n==1:return0direction=[[0,1],[-1,0],[1,0],[0,-1]]visited=[[[......
  • dynaconf python 配置管理库
    dynaconfpython配置管理库包含的特性基于12factor原则设置管理(默认值、校验、解析、模版)保护敏感信息(比如用户密码)多文件格式支持(toml,yaml,ini,json,py)支持环境变量重写可选的分层多环境配置支持支持外部配置存储(vault,redis)对于django,flask的扩展支持cli支持说......
  • Python-数据分析学习手册-全-
    Python数据分析学习手册(全)原文:LearnDataAnalysiswithPython协议:CCBY-NC-SA4.0一、如何使用这本书如果您已经在使用Python进行数据分析,只需浏览这本书的目录。你可能会发现很多你希望知道如何用Python做的事情。如果是这样,请随意直接翻到那一章并开始工作。每一课......
  • Python-自然语言处理应用指南-全-
    Python自然语言处理应用指南(全)原文:AppliedNaturalLanguageProcessingwithPython协议:CCBY-NC-SA4.0一、什么是自然语言处理?深度学习和机器学习继续在各个行业中扩散,并彻底改变了我希望在本书中讨论的主题:自然语言处理(NLP)。NLP是计算机科学的一个子领域,致力于让计......
  • python 包含有引号和花括号的字符串的格式化
    replace不起作用;update_per_seconds="30"uploadtime_per_seconds="30"imei_string="1234"###采用{0}format不行###下面replace不行msg="""{"rmtcmd":"set","dev":{"poll":{&......