随笔分类 -  Python

dbt macro 名称获取简单说明
摘要:dbt common 包中包含了一个工具模块可以进行macro 的组合 参考代码 可以看出主要是进行组合的,属于一个格式,对于后续任务执行的macro 处理需要使用 from dbt_common.exceptions import DbtInternalError # dbt 对于macro 会默 阅读全文

posted @ 2024-04-13 00:07 荣锋亮 阅读(19) 评论(0) 推荐(0) 编辑

dbt BaseAdapter简单说明
摘要:BaseAdapter是dbt 所有adapter 的父类,dbt 内部默认实现了有一个SQLAdapter 的实现,现有的一些扩展基本实现SQLAdapter 就可以了 比如dremio 的dbt adapter 就是直接扩展的SQLAdapter BaseAdapter 提供的能力 简单说明 a 阅读全文

posted @ 2024-04-12 07:38 荣锋亮 阅读(22) 评论(0) 推荐(0) 编辑

dbt manifest Compiler 简单说明
摘要:包含了与处理以及实际的编译处理compile 以及compile_node 在compilation 模块中的Compiler 类中 主要使用的模块 主要是CompileRunner.compile, GenericRPCRunner.compile, RunTask.get_hook_sql 这几 阅读全文

posted @ 2024-04-11 07:11 荣锋亮 阅读(12) 评论(0) 推荐(0) 编辑

poetry pip extras 模式包配置简单说明
摘要:我们经常看到一些开源pip 包提供了类似pip install awesome[databases] 模式的安装方法,以下是一个简单说明 使用到的核心配置 核心就是extras 配置,对于不同的构建工具的配置可能不太一样,但是都是基于extras的 poetry参考配置 我使用的是编辑模式的包,实际 阅读全文

posted @ 2024-04-10 07:09 荣锋亮 阅读(97) 评论(0) 推荐(0) 编辑

ludic 基于纯python 开发动态html 页面的框架
摘要:ludic 使用了htmx 进行页面的处理,同时基于starlette 提供asgi web 能力 包含的特性 基于python 的无缝的htmx 集成快速开发web 基于python 类型系统的类型组件 基于starlette的异步搞性能web 处理 基于python f-strings 的htm 阅读全文

posted @ 2024-04-09 13:36 荣锋亮 阅读(26) 评论(0) 推荐(0) 编辑

fire google 开源的python cli 工具
摘要:click 是python 一个比较常用的cli 开发工具包,fire是google 开发的一个更加方便的cli 工具包,使用起来比较简单 以下是一个简单的试用 简单使用 项目init hatch new demo 添加依赖 pyproject.toml dependencies = [ "fire 阅读全文

posted @ 2024-04-09 08:00 荣锋亮 阅读(17) 评论(0) 推荐(0) 编辑

pluggy python setuptools entry_points 模式加载插件
摘要:已经简单介绍过关于pluggy python 插件包的使用,以下演示下基于python 的setuptools entry_points 模式加载插件 此功能是pluggy 插件注册的一个模式 项目代码结构 结构 ├── README.md ├── bootstrap │ ├── README.md 阅读全文

posted @ 2024-04-08 00:07 荣锋亮 阅读(73) 评论(0) 推荐(0) 编辑

pluggy python 最小产品级插件框架
摘要:pluggy python 最小产品级插件框架,目前在pytest,tox 以及devpi 项目中都有使用到 简单使用 项目准备 poetry new plugindemo poetry shell poetry add pluggy 代码 plugindemo/demo.py import plu 阅读全文

posted @ 2024-04-07 08:00 荣锋亮 阅读(67) 评论(0) 推荐(0) 编辑

dbt debug macro 简单说明
摘要:dbt 支持debug macro 可以用来进行调试 使用 {% macro my_macro() %} {% set something_complex = my_complicated_macro() %} {{ debug() }} {% endmacro %} 参考实现 实际上就是通过环境变 阅读全文

posted @ 2024-04-05 08:00 荣锋亮 阅读(16) 评论(0) 推荐(0) 编辑

dbt statement macro 简单说明
摘要:statement blocks 实际上就是一个标准的jinja2 macro 调用包装, 提供了方便的sql 执行能力,因为需要进行 查询结果的存储,dbt 提供了一个store_result 的macro,内部数据的处理基于了agate 这个方便的python 数据处理包 为了查询使用提供了lo 阅读全文

posted @ 2024-04-04 08:33 荣锋亮 阅读(30) 评论(0) 推荐(0) 编辑

dbt adapter 注册处理简单说明
摘要:以下简单说明下dbt 是如何加载其他adapter 的 参考注册处理 实际上是在cli 的manifest 装饰器的parse_manifest 中处理的 参考代码 def parse_manifest(runtime_config, write_perf_info, write, write_js 阅读全文

posted @ 2024-04-03 00:48 荣锋亮 阅读(17) 评论(0) 推荐(0) 编辑

dbt click包执行上下文manifest 处理简单说明
摘要:dbt 的cli 执行是基于了click 者pip 包,同时为了方便执行(比如依赖的参数),dbt 核心比较重要的是manifest 这个参数是通过context 传递的 run 参考task 处理 参考代码 core dbt/cli/main.py @cli.command("run") @cli 阅读全文

posted @ 2024-04-03 00:47 荣锋亮 阅读(11) 评论(0) 推荐(0) 编辑

agate 一个方便的python 数据分析包
摘要:对于基于python数据处理的同学,使用pandas 的可能比较多,但是agate 也是一个很不错的选择,比如dbt 对于seed 模型的处理就基于了agate agate包含的特性 易读以及用户用好的api 完整的类似sql 的操作 unicode 支持 比较完整的文档 插件化的扩展支持(比如sq 阅读全文

posted @ 2024-04-02 13:07 荣锋亮 阅读(26) 评论(0) 推荐(0) 编辑

PyNest基于fastapi 类似nestjs 的python 框架
摘要:PyNest基于fastapi 类似nestjs 的python 框架 支持的特性 依赖注入 类型注解 装饰器 代码生成 参考使用 安装cli pip install pynest-api 创建项目 pynest create-nest-app -n my_app_name 添加模块 pynest 阅读全文

posted @ 2024-04-02 08:00 荣锋亮 阅读(58) 评论(0) 推荐(0) 编辑

dbt Runner 简单说明
摘要:Runner 提供了一个任务执行的抽象定义,同时 BaseRunner参考类图 可以看出BaseRunner task 使用 主要是基于提供的一个方法标记使用的runner 实现 def get_runner_type(self, node): raise NotImplementedError(" 阅读全文

posted @ 2024-04-02 08:00 荣锋亮 阅读(30) 评论(0) 推荐(0) 编辑

setuptools 对于现代python包支持的简单试用
摘要:以前我们编写python包通过setuptools 是编写配置setup.cfg以及一个setup.py 文件,现代的玩法是基于pyproject.toml 以下是一个简单学习 项目准备 使用venv cli python -m venv venv source venv/bin/activate 阅读全文

posted @ 2024-04-01 08:00 荣锋亮 阅读(39) 评论(0) 推荐(0) 编辑

dbt macro 的执行简单说明
摘要:BaseAdapter 中包含了一个adapter 实际运行依赖的转换,链接处理,当然也包含了macro 的执行,具体方法有直接的execute_macro ModelRunner 中的materialization_macro(run 命令)还有run-operation 中RunOperatio 阅读全文

posted @ 2024-04-01 08:00 荣锋亮 阅读(31) 评论(0) 推荐(0) 编辑

hatch python 现代项目管理工具
摘要:hatch python 现代项目管理工具,以下是一些简单试用 安装 cli brew install hatch 一些推荐配置 这样我们的venv 直接在执行目录中,比较方便使用 hatch config set dirs.env.virtual .hatch 简单项目 cli hatch new 阅读全文

posted @ 2024-03-30 10:13 荣锋亮 阅读(218) 评论(0) 推荐(0) 编辑

dremio sqlalchemy poetry 模式包管理
摘要:比较有意思的是关于poetry setuptools entry_points 配置的,目前基于script 模式是有问题的,结果通过尝试 使用plugin 模式是可以的 参考配置 [tool.poetry.plugins."sqlalchemy.dialects"] "dremio.flight" 阅读全文

posted @ 2024-03-30 08:00 荣锋亮 阅读(7) 评论(0) 推荐(0) 编辑

dremio sqlalchemy 连接说明
摘要:实际上有社区已经有一个python包了,但是里边一些实现目前有一些问题(pip 包的,当然还有一些数据类型支持的问题) 我fork 进行了一些调整 一些问题 pandas 依赖 应该是pyarrow的调整,我在代码setup.py 添加了 supports_statement_cache 问题 我按 阅读全文

posted @ 2024-03-29 08:00 荣锋亮 阅读(34) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示