使用 Python -m build打包 Python 项目:详解过程与细节
使用 Python -m build
打包 Python 项目:详解过程与细节
Python 项目的打包是发布和分发软件的核心环节。本文将基于用户提供的 pyproject.toml
文件和项目目录结构,详细说明 Python -m build
命令的执行过程,并解答 是否会将 oe_eval
中的代码打包 的问题。
1. 项目目录结构简析
来源: https://github.com/allenai/olmes
(olmes) (base)@test:~/test$ tree -L 2 olmes/
olmes/
├── LICENSE
├── oe_eval
│ ├── components
│ ├── configs
│ ├── data
│ ├── default_configs.py
│ ├── dependencies
│ ├── __init__.py
│ ├── launch.py
│ ├── metrics
│ ├── models
│ ├── py.typed
│ ├── run_eval.py
│ ├── tasks
│ ├── utilities
│ ├── utils.py
│ └── version.py
├── OUTPUT_FORMATS.md
├── pyproject.toml
└── README.md9 directories, 11 files
项目名为 olmes
,核心模块位于 oe_eval
文件夹中。根据目录结构和 pyproject.toml
文件配置,oe_eval
包含以下内容:
- 代码模块:如
launch.py
、run_eval.py
和子目录models
、tasks
等。 - 元数据文件:如
py.typed
、version.py
。 - 配置文件:
default_configs.py
和其他子目录。
此外,项目根目录还包括 pyproject.toml
、README.md
、LICENSE
等。
2. pyproject.toml
文件的重要配置
pyproject.toml
是现代 Python 项目打包的核心配置文件,其关键部分包括:
-
构建系统声明
[build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta"
- 指定使用
setuptools
和wheel
完成打包。 build-backend
决定了构建逻辑。
- 指定使用
-
项目配置
[project] name = "ai2-olmes" dynamic = ["version"] readme = "README.md" dependencies = ["numpy<2", "torch>=2.2,<2.5", ...]
- 项目名为
ai2-olmes
,动态版本号由oe_eval.version.VERSION
提供。 dependencies
列出了安装依赖。
- 项目名为
-
打包规则
[tool.setuptools.packages.find] exclude = ["*.tests", "*.tests.*", "tests.*", "tests", "docs*", "scripts*" ]
- 使用
find_packages
查找项目包。 - 排除了测试、文档和脚本相关目录。
- 使用
-
包数据
[tool.setuptools.package-data] olmes = ["py.typed"]
- 包含类型标注文件
py.typed
。
- 包含类型标注文件
3. Python -m build
命令详解
Python -m build
是构建 Python 分发包的工具,分为以下步骤:
-
安装构建工具
- 命令:
pip install build
- 确保安装了
build
包。
- 命令:
-
执行构建
在项目根目录运行:python -m build
- 此命令会读取
pyproject.toml
配置,生成以下两类分发包:- 源代码分发包 (Source Distribution,
.tar.gz
) - 已构建分发包 (Built Distribution,
.whl
)
- 源代码分发包 (Source Distribution,
- 此命令会读取
-
具体执行过程
- 解析配置:读取
pyproject.toml
,加载setuptools
作为构建工具。 - 收集包内容:
- 使用
find_packages
自动定位需要打包的目录,如oe_eval
。 - 排除测试和文档目录。
- 使用
- 生成元数据:包含项目名、版本、依赖等信息。
- 构建分发包:根据配置生成
.tar.gz
和.whl
文件。
- 解析配置:读取
4. 是否会打包 oe_eval
目录中的代码?
根据 pyproject.toml
和项目结构:
find_packages
默认会查找所有符合条件的子包和模块。- 由于
oe_eval
是项目的核心模块,且未被exclude
排除,因此会被打包。 - 打包后,
oe_eval
中的代码将包含在.tar.gz
和.whl
文件中。
打包之后的结果:
后记
2024年12月30日18点52分于上海,在GPT4o大模型辅助下完成。
附录:具体打包过程
(olmes)@test:~/test$ ls
olmes
(olmes) (base) @test:~/test$ python -m build
* Creating isolated environment: venv+pip...
ERROR Source /test does not appear to be a Python project: no pyproject.toml or setup.py
(olmes) (base) @test:~/test$ cd olmes/
(olmes) (base) @test:~/test/olmes$ python -m build
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:- setuptools- wheel
* Getting build dependencies for sdist...
running egg_info
creating ai2_olmes.egg-info
writing ai2_olmes.egg-info/PKG-INFO
writing dependency_links to ai2_olmes.egg-info/dependency_links.txt
writing entry points to ai2_olmes.egg-info/entry_points.txt
writing requirements to ai2_olmes.egg-info/requires.txt
writing top-level names to ai2_olmes.egg-info/top_level.txt
writing manifest file 'ai2_olmes.egg-info/SOURCES.txt'
reading manifest file 'ai2_olmes.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'ai2_olmes.egg-info/SOURCES.txt'
* Building sdist...
running sdist
running egg_info
writing ai2_olmes.egg-info/PKG-INFO
writing dependency_links to ai2_olmes.egg-info/dependency_links.txt
writing entry points to ai2_olmes.egg-info/entry_points.txt
writing requirements to ai2_olmes.egg-info/requires.txt
writing top-level names to ai2_olmes.egg-info/top_level.txt
reading manifest file 'ai2_olmes.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'ai2_olmes.egg-info/SOURCES.txt'
running check
creating ai2_olmes-0.1.0
creating ai2_olmes-0.1.0/ai2_olmes.egg-info
creating ai2_olmes-0.1.0/oe_eval
creating ai2_olmes-0.1.0/oe_eval/components
creating ai2_olmes-0.1.0/oe_eval/configs
creating ai2_olmes-0.1.0/oe_eval/data
creating ai2_olmes-0.1.0/oe_eval/dependencies/AGIEval/src
creating ai2_olmes-0.1.0/oe_eval/dependencies/drop
creating ai2_olmes-0.1.0/oe_eval/dependencies/hf_evaluate
creating ai2_olmes-0.1.0/oe_eval/dependencies/ifeval
creating ai2_olmes-0.1.0/oe_eval/dependencies/squad
creating ai2_olmes-0.1.0/oe_eval/metrics
creating ai2_olmes-0.1.0/oe_eval/metrics/code_evals
creating ai2_olmes-0.1.0/oe_eval/models
creating ai2_olmes-0.1.0/oe_eval/tasks
creating ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
creating ai2_olmes-0.1.0/oe_eval/utilities
copying files to ai2_olmes-0.1.0...
copying LICENSE -> ai2_olmes-0.1.0
copying README.md -> ai2_olmes-0.1.0
copying pyproject.toml -> ai2_olmes-0.1.0
copying ai2_olmes.egg-info/PKG-INFO -> ai2_olmes-0.1.0/ai2_olmes.egg-info
copying ai2_olmes.egg-info/SOURCES.txt -> ai2_olmes-0.1.0/ai2_olmes.egg-info
copying ai2_olmes.egg-info/dependency_links.txt -> ai2_olmes-0.1.0/ai2_olmes.egg-info
copying ai2_olmes.egg-info/entry_points.txt -> ai2_olmes-0.1.0/ai2_olmes.egg-info
copying ai2_olmes.egg-info/requires.txt -> ai2_olmes-0.1.0/ai2_olmes.egg-info
copying ai2_olmes.egg-info/top_level.txt -> ai2_olmes-0.1.0/ai2_olmes.egg-info
copying oe_eval/__init__.py -> ai2_olmes-0.1.0/oe_eval
copying oe_eval/default_configs.py -> ai2_olmes-0.1.0/oe_eval
copying oe_eval/launch.py -> ai2_olmes-0.1.0/oe_eval
copying oe_eval/py.typed -> ai2_olmes-0.1.0/oe_eval
copying oe_eval/run_eval.py -> ai2_olmes-0.1.0/oe_eval
copying oe_eval/utils.py -> ai2_olmes-0.1.0/oe_eval
copying oe_eval/version.py -> ai2_olmes-0.1.0/oe_eval
copying oe_eval/components/instances.py -> ai2_olmes-0.1.0/oe_eval/components
copying oe_eval/components/requests.py -> ai2_olmes-0.1.0/oe_eval/components
copying oe_eval/configs/models.py -> ai2_olmes-0.1.0/oe_eval/configs
copying oe_eval/configs/task_suites.py -> ai2_olmes-0.1.0/oe_eval/configs
copying oe_eval/configs/tasks.py -> ai2_olmes-0.1.0/oe_eval/configs
copying oe_eval/configs/utils.py -> ai2_olmes-0.1.0/oe_eval/configs
copying oe_eval/data/__init__.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/data/agi_eval_tasks.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/data/bbh_tasks.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/data/deepmind_math_categories.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/data/hendrycks_math_split.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/data/math_task_types.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/data/mmlu_pro_categories.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/data/mmlu_tasks.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/data/mt_eval_tasks.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/data/tydiqa_languages.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/data/zero_scrolls_tasks.py -> ai2_olmes-0.1.0/oe_eval/data
copying oe_eval/dependencies/AGIEval/src/__init__.py -> ai2_olmes-0.1.0/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/constructions.py -> ai2_olmes-0.1.0/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/dataset_loader.py -> ai2_olmes-0.1.0/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/evaluation.py -> ai2_olmes-0.1.0/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/math_equivalence.py -> ai2_olmes-0.1.0/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/post_process.py -> ai2_olmes-0.1.0/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/utils.py -> ai2_olmes-0.1.0/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/drop/process_results.py -> ai2_olmes-0.1.0/oe_eval/dependencies/drop
copying oe_eval/dependencies/hf_evaluate/exact_match.py -> ai2_olmes-0.1.0/oe_eval/dependencies/hf_evaluate
copying oe_eval/dependencies/ifeval/__init__.py -> ai2_olmes-0.1.0/oe_eval/dependencies/ifeval
copying oe_eval/dependencies/ifeval/instructions.py -> ai2_olmes-0.1.0/oe_eval/dependencies/ifeval
copying oe_eval/dependencies/ifeval/instructions_registry.py -> ai2_olmes-0.1.0/oe_eval/dependencies/ifeval
copying oe_eval/dependencies/ifeval/instructions_util.py -> ai2_olmes-0.1.0/oe_eval/dependencies/ifeval
copying oe_eval/dependencies/ifeval/utils.py -> ai2_olmes-0.1.0/oe_eval/dependencies/ifeval
copying oe_eval/dependencies/squad/squad_emf1.py -> ai2_olmes-0.1.0/oe_eval/dependencies/squad
copying oe_eval/metrics/__init__.py -> ai2_olmes-0.1.0/oe_eval/metrics
copying oe_eval/metrics/llm_judge.py -> ai2_olmes-0.1.0/oe_eval/metrics
copying oe_eval/metrics/metric.py -> ai2_olmes-0.1.0/oe_eval/metrics
copying oe_eval/metrics/metric_utils.py -> ai2_olmes-0.1.0/oe_eval/metrics
copying oe_eval/metrics/code_evals/code_eval_routes.py -> ai2_olmes-0.1.0/oe_eval/metrics/code_evals
copying oe_eval/metrics/code_evals/code_execution_local.py -> ai2_olmes-0.1.0/oe_eval/metrics/code_evals
copying oe_eval/metrics/code_evals/code_execution_remote.py -> ai2_olmes-0.1.0/oe_eval/metrics/code_evals
copying oe_eval/metrics/code_evals/sanitize.py -> ai2_olmes-0.1.0/oe_eval/metrics/code_evals
copying oe_eval/models/__init__.py -> ai2_olmes-0.1.0/oe_eval/models
copying oe_eval/models/eleuther_huggingface.py -> ai2_olmes-0.1.0/oe_eval/models
copying oe_eval/models/eleuther_vllm_causallms.py -> ai2_olmes-0.1.0/oe_eval/models
copying oe_eval/models/litellm.py -> ai2_olmes-0.1.0/oe_eval/models
copying oe_eval/tasks/__init__.py -> ai2_olmes-0.1.0/oe_eval/tasks
copying oe_eval/tasks/aggregate_tasks.py -> ai2_olmes-0.1.0/oe_eval/tasks
copying oe_eval/tasks/base_task.py -> ai2_olmes-0.1.0/oe_eval/tasks
copying oe_eval/tasks/chat_templates.py -> ai2_olmes-0.1.0/oe_eval/tasks
copying oe_eval/tasks/eleuther_task.py -> ai2_olmes-0.1.0/oe_eval/tasks
copying oe_eval/tasks/fewshot_sources.py -> ai2_olmes-0.1.0/oe_eval/tasks
copying oe_eval/tasks/utils.py -> ai2_olmes-0.1.0/oe_eval/tasks
copying oe_eval/tasks/oe_eval_tasks/__init__.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/agi_eval.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/alpaca_eval.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/arc.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/bbh.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/boolq.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/codex_bigcodebench.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/codex_humaneval.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/codex_mbpp.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/copa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/copycolors.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/coqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/cosmosqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/csqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/deepmind_math.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/drop.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/gpqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/gsm8k.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/hellaswag.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/ifeval.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/jeopardy.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/logiqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/minerva_math.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/mmlu.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/mmlu_pro.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/mt_eval.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/naturalqs_open.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/openbookqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/piqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/popqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/sciq.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/siqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/squad.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/squad2.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/triviaqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/truthfulqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/tydiqa.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/winogrande.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/zero_scrolls.py -> ai2_olmes-0.1.0/oe_eval/tasks/oe_eval_tasks
copying oe_eval/utilities/__init__.py -> ai2_olmes-0.1.0/oe_eval/utilities
copying oe_eval/utilities/gsheet_writing.py -> ai2_olmes-0.1.0/oe_eval/utilities
copying oe_eval/utilities/hf_hub_writing.py -> ai2_olmes-0.1.0/oe_eval/utilities
copying oe_eval/utilities/model_results_collation.py -> ai2_olmes-0.1.0/oe_eval/utilities
copying oe_eval/utilities/remote_utils.py -> ai2_olmes-0.1.0/oe_eval/utilities
copying oe_eval/utilities/rtest_helpers.py -> ai2_olmes-0.1.0/oe_eval/utilities
copying oe_eval/utilities/wandb_writing.py -> ai2_olmes-0.1.0/oe_eval/utilities
copying ai2_olmes.egg-info/SOURCES.txt -> ai2_olmes-0.1.0/ai2_olmes.egg-info
Writing ai2_olmes-0.1.0/setup.cfg
Creating tar archive
removing 'ai2_olmes-0.1.0' (and everything under it)
* Building wheel from sdist
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:- setuptools- wheel
* Getting build dependencies for wheel...
running egg_info
writing ai2_olmes.egg-info/PKG-INFO
writing dependency_links to ai2_olmes.egg-info/dependency_links.txt
writing entry points to ai2_olmes.egg-info/entry_points.txt
writing requirements to ai2_olmes.egg-info/requires.txt
writing top-level names to ai2_olmes.egg-info/top_level.txt
reading manifest file 'ai2_olmes.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'ai2_olmes.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
creating build/lib/oe_eval
copying oe_eval/run_eval.py -> build/lib/oe_eval
copying oe_eval/version.py -> build/lib/oe_eval
copying oe_eval/utils.py -> build/lib/oe_eval
copying oe_eval/default_configs.py -> build/lib/oe_eval
copying oe_eval/__init__.py -> build/lib/oe_eval
copying oe_eval/launch.py -> build/lib/oe_eval
creating build/lib/oe_eval/configs
copying oe_eval/configs/utils.py -> build/lib/oe_eval/configs
copying oe_eval/configs/task_suites.py -> build/lib/oe_eval/configs
copying oe_eval/configs/tasks.py -> build/lib/oe_eval/configs
copying oe_eval/configs/models.py -> build/lib/oe_eval/configs
creating build/lib/oe_eval/data
copying oe_eval/data/hendrycks_math_split.py -> build/lib/oe_eval/data
copying oe_eval/data/agi_eval_tasks.py -> build/lib/oe_eval/data
copying oe_eval/data/bbh_tasks.py -> build/lib/oe_eval/data
copying oe_eval/data/zero_scrolls_tasks.py -> build/lib/oe_eval/data
copying oe_eval/data/tydiqa_languages.py -> build/lib/oe_eval/data
copying oe_eval/data/mmlu_pro_categories.py -> build/lib/oe_eval/data
copying oe_eval/data/__init__.py -> build/lib/oe_eval/data
copying oe_eval/data/math_task_types.py -> build/lib/oe_eval/data
copying oe_eval/data/mt_eval_tasks.py -> build/lib/oe_eval/data
copying oe_eval/data/deepmind_math_categories.py -> build/lib/oe_eval/data
copying oe_eval/data/mmlu_tasks.py -> build/lib/oe_eval/data
creating build/lib/oe_eval/models
copying oe_eval/models/litellm.py -> build/lib/oe_eval/models
copying oe_eval/models/eleuther_huggingface.py -> build/lib/oe_eval/models
copying oe_eval/models/eleuther_vllm_causallms.py -> build/lib/oe_eval/models
copying oe_eval/models/__init__.py -> build/lib/oe_eval/models
creating build/lib/oe_eval/tasks
copying oe_eval/tasks/base_task.py -> build/lib/oe_eval/tasks
copying oe_eval/tasks/utils.py -> build/lib/oe_eval/tasks
copying oe_eval/tasks/chat_templates.py -> build/lib/oe_eval/tasks
copying oe_eval/tasks/__init__.py -> build/lib/oe_eval/tasks
copying oe_eval/tasks/fewshot_sources.py -> build/lib/oe_eval/tasks
copying oe_eval/tasks/aggregate_tasks.py -> build/lib/oe_eval/tasks
copying oe_eval/tasks/eleuther_task.py -> build/lib/oe_eval/tasks
creating build/lib/oe_eval/utilities
copying oe_eval/utilities/gsheet_writing.py -> build/lib/oe_eval/utilities
copying oe_eval/utilities/remote_utils.py -> build/lib/oe_eval/utilities
copying oe_eval/utilities/wandb_writing.py -> build/lib/oe_eval/utilities
copying oe_eval/utilities/hf_hub_writing.py -> build/lib/oe_eval/utilities
copying oe_eval/utilities/__init__.py -> build/lib/oe_eval/utilities
copying oe_eval/utilities/model_results_collation.py -> build/lib/oe_eval/utilities
copying oe_eval/utilities/rtest_helpers.py -> build/lib/oe_eval/utilities
creating build/lib/oe_eval/metrics
copying oe_eval/metrics/metric_utils.py -> build/lib/oe_eval/metrics
copying oe_eval/metrics/__init__.py -> build/lib/oe_eval/metrics
copying oe_eval/metrics/llm_judge.py -> build/lib/oe_eval/metrics
copying oe_eval/metrics/metric.py -> build/lib/oe_eval/metrics
creating build/lib/oe_eval/components
copying oe_eval/components/instances.py -> build/lib/oe_eval/components
copying oe_eval/components/requests.py -> build/lib/oe_eval/components
creating build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/minerva_math.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/codex_mbpp.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/squad2.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/openbookqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/gpqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/ifeval.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/coqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/sciq.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/mmlu_pro.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/popqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/logiqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/deepmind_math.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/cosmosqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/winogrande.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/drop.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/mmlu.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/alpaca_eval.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/jeopardy.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/copa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/truthfulqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/csqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/codex_humaneval.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/agi_eval.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/gsm8k.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/siqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/boolq.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/piqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/squad.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/__init__.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/triviaqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/hellaswag.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/naturalqs_open.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/tydiqa.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/codex_bigcodebench.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/bbh.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/copycolors.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/zero_scrolls.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/mt_eval.py -> build/lib/oe_eval/tasks/oe_eval_tasks
copying oe_eval/tasks/oe_eval_tasks/arc.py -> build/lib/oe_eval/tasks/oe_eval_tasks
creating build/lib/oe_eval/dependencies/drop
copying oe_eval/dependencies/drop/process_results.py -> build/lib/oe_eval/dependencies/drop
creating build/lib/oe_eval/dependencies/ifeval
copying oe_eval/dependencies/ifeval/instructions_registry.py -> build/lib/oe_eval/dependencies/ifeval
copying oe_eval/dependencies/ifeval/utils.py -> build/lib/oe_eval/dependencies/ifeval
copying oe_eval/dependencies/ifeval/instructions.py -> build/lib/oe_eval/dependencies/ifeval
copying oe_eval/dependencies/ifeval/__init__.py -> build/lib/oe_eval/dependencies/ifeval
copying oe_eval/dependencies/ifeval/instructions_util.py -> build/lib/oe_eval/dependencies/ifeval
creating build/lib/oe_eval/dependencies/hf_evaluate
copying oe_eval/dependencies/hf_evaluate/exact_match.py -> build/lib/oe_eval/dependencies/hf_evaluate
creating build/lib/oe_eval/dependencies/squad
copying oe_eval/dependencies/squad/squad_emf1.py -> build/lib/oe_eval/dependencies/squad
creating build/lib/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/utils.py -> build/lib/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/dataset_loader.py -> build/lib/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/post_process.py -> build/lib/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/constructions.py -> build/lib/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/__init__.py -> build/lib/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/math_equivalence.py -> build/lib/oe_eval/dependencies/AGIEval/src
copying oe_eval/dependencies/AGIEval/src/evaluation.py -> build/lib/oe_eval/dependencies/AGIEval/src
creating build/lib/oe_eval/metrics/code_evals
copying oe_eval/metrics/code_evals/sanitize.py -> build/lib/oe_eval/metrics/code_evals
copying oe_eval/metrics/code_evals/code_eval_routes.py -> build/lib/oe_eval/metrics/code_evals
copying oe_eval/metrics/code_evals/code_execution_local.py -> build/lib/oe_eval/metrics/code_evals
copying oe_eval/metrics/code_evals/code_execution_remote.py -> build/lib/oe_eval/metrics/code_evals
running egg_info
writing ai2_olmes.egg-info/PKG-INFO
writing dependency_links to ai2_olmes.egg-info/dependency_links.txt
writing entry points to ai2_olmes.egg-info/entry_points.txt
writing requirements to ai2_olmes.egg-info/requires.txt
writing top-level names to ai2_olmes.egg-info/top_level.txt
reading manifest file 'ai2_olmes.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'ai2_olmes.egg-info/SOURCES.txt'
copying oe_eval/py.typed -> build/lib/oe_eval
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/oe_eval
creating build/bdist.linux-x86_64/wheel/oe_eval/configs
copying build/lib/oe_eval/configs/utils.py -> build/bdist.linux-x86_64/wheel/./oe_eval/configs
copying build/lib/oe_eval/configs/task_suites.py -> build/bdist.linux-x86_64/wheel/./oe_eval/configs
copying build/lib/oe_eval/configs/tasks.py -> build/bdist.linux-x86_64/wheel/./oe_eval/configs
copying build/lib/oe_eval/configs/models.py -> build/bdist.linux-x86_64/wheel/./oe_eval/configs
copying build/lib/oe_eval/run_eval.py -> build/bdist.linux-x86_64/wheel/./oe_eval
creating build/bdist.linux-x86_64/wheel/oe_eval/data
copying build/lib/oe_eval/data/hendrycks_math_split.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
copying build/lib/oe_eval/data/agi_eval_tasks.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
copying build/lib/oe_eval/data/bbh_tasks.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
copying build/lib/oe_eval/data/zero_scrolls_tasks.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
copying build/lib/oe_eval/data/tydiqa_languages.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
copying build/lib/oe_eval/data/mmlu_pro_categories.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
copying build/lib/oe_eval/data/__init__.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
copying build/lib/oe_eval/data/math_task_types.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
copying build/lib/oe_eval/data/mt_eval_tasks.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
copying build/lib/oe_eval/data/deepmind_math_categories.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
copying build/lib/oe_eval/data/mmlu_tasks.py -> build/bdist.linux-x86_64/wheel/./oe_eval/data
creating build/bdist.linux-x86_64/wheel/oe_eval/models
copying build/lib/oe_eval/models/litellm.py -> build/bdist.linux-x86_64/wheel/./oe_eval/models
copying build/lib/oe_eval/models/eleuther_huggingface.py -> build/bdist.linux-x86_64/wheel/./oe_eval/models
copying build/lib/oe_eval/models/eleuther_vllm_causallms.py -> build/bdist.linux-x86_64/wheel/./oe_eval/models
copying build/lib/oe_eval/models/__init__.py -> build/bdist.linux-x86_64/wheel/./oe_eval/models
creating build/bdist.linux-x86_64/wheel/oe_eval/tasks
copying build/lib/oe_eval/tasks/base_task.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks
creating build/bdist.linux-x86_64/wheel/oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/minerva_math.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/codex_mbpp.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/squad2.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/openbookqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/gpqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/ifeval.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/coqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/sciq.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/mmlu_pro.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/popqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/logiqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/deepmind_math.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/cosmosqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/winogrande.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/drop.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/mmlu.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/alpaca_eval.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/jeopardy.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/copa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/truthfulqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/csqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/codex_humaneval.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/agi_eval.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/gsm8k.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/siqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/boolq.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/piqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/squad.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/__init__.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/triviaqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/hellaswag.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/naturalqs_open.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/tydiqa.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/codex_bigcodebench.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/bbh.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/copycolors.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/zero_scrolls.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/mt_eval.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/oe_eval_tasks/arc.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks/oe_eval_tasks
copying build/lib/oe_eval/tasks/utils.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks
copying build/lib/oe_eval/tasks/chat_templates.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks
copying build/lib/oe_eval/tasks/__init__.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks
copying build/lib/oe_eval/tasks/fewshot_sources.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks
copying build/lib/oe_eval/tasks/aggregate_tasks.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks
copying build/lib/oe_eval/tasks/eleuther_task.py -> build/bdist.linux-x86_64/wheel/./oe_eval/tasks
copying build/lib/oe_eval/version.py -> build/bdist.linux-x86_64/wheel/./oe_eval
creating build/bdist.linux-x86_64/wheel/oe_eval/utilities
copying build/lib/oe_eval/utilities/gsheet_writing.py -> build/bdist.linux-x86_64/wheel/./oe_eval/utilities
copying build/lib/oe_eval/utilities/remote_utils.py -> build/bdist.linux-x86_64/wheel/./oe_eval/utilities
copying build/lib/oe_eval/utilities/wandb_writing.py -> build/bdist.linux-x86_64/wheel/./oe_eval/utilities
copying build/lib/oe_eval/utilities/hf_hub_writing.py -> build/bdist.linux-x86_64/wheel/./oe_eval/utilities
copying build/lib/oe_eval/utilities/__init__.py -> build/bdist.linux-x86_64/wheel/./oe_eval/utilities
copying build/lib/oe_eval/utilities/model_results_collation.py -> build/bdist.linux-x86_64/wheel/./oe_eval/utilities
copying build/lib/oe_eval/utilities/rtest_helpers.py -> build/bdist.linux-x86_64/wheel/./oe_eval/utilities
copying build/lib/oe_eval/utils.py -> build/bdist.linux-x86_64/wheel/./oe_eval
creating build/bdist.linux-x86_64/wheel/oe_eval/dependencies
creating build/bdist.linux-x86_64/wheel/oe_eval/dependencies/drop
copying build/lib/oe_eval/dependencies/drop/process_results.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/drop
creating build/bdist.linux-x86_64/wheel/oe_eval/dependencies/AGIEval
creating build/bdist.linux-x86_64/wheel/oe_eval/dependencies/AGIEval/src
copying build/lib/oe_eval/dependencies/AGIEval/src/utils.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/AGIEval/src
copying build/lib/oe_eval/dependencies/AGIEval/src/dataset_loader.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/AGIEval/src
copying build/lib/oe_eval/dependencies/AGIEval/src/post_process.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/AGIEval/src
copying build/lib/oe_eval/dependencies/AGIEval/src/constructions.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/AGIEval/src
copying build/lib/oe_eval/dependencies/AGIEval/src/__init__.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/AGIEval/src
copying build/lib/oe_eval/dependencies/AGIEval/src/math_equivalence.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/AGIEval/src
copying build/lib/oe_eval/dependencies/AGIEval/src/evaluation.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/AGIEval/src
creating build/bdist.linux-x86_64/wheel/oe_eval/dependencies/ifeval
copying build/lib/oe_eval/dependencies/ifeval/instructions_registry.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/ifeval
copying build/lib/oe_eval/dependencies/ifeval/utils.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/ifeval
copying build/lib/oe_eval/dependencies/ifeval/instructions.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/ifeval
copying build/lib/oe_eval/dependencies/ifeval/__init__.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/ifeval
copying build/lib/oe_eval/dependencies/ifeval/instructions_util.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/ifeval
creating build/bdist.linux-x86_64/wheel/oe_eval/dependencies/hf_evaluate
copying build/lib/oe_eval/dependencies/hf_evaluate/exact_match.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/hf_evaluate
creating build/bdist.linux-x86_64/wheel/oe_eval/dependencies/squad
copying build/lib/oe_eval/dependencies/squad/squad_emf1.py -> build/bdist.linux-x86_64/wheel/./oe_eval/dependencies/squad
copying build/lib/oe_eval/default_configs.py -> build/bdist.linux-x86_64/wheel/./oe_eval
copying build/lib/oe_eval/py.typed -> build/bdist.linux-x86_64/wheel/./oe_eval
copying build/lib/oe_eval/__init__.py -> build/bdist.linux-x86_64/wheel/./oe_eval
creating build/bdist.linux-x86_64/wheel/oe_eval/metrics
copying build/lib/oe_eval/metrics/metric_utils.py -> build/bdist.linux-x86_64/wheel/./oe_eval/metrics
creating build/bdist.linux-x86_64/wheel/oe_eval/metrics/code_evals
copying build/lib/oe_eval/metrics/code_evals/sanitize.py -> build/bdist.linux-x86_64/wheel/./oe_eval/metrics/code_evals
copying build/lib/oe_eval/metrics/code_evals/code_eval_routes.py -> build/bdist.linux-x86_64/wheel/./oe_eval/metrics/code_evals
copying build/lib/oe_eval/metrics/code_evals/code_execution_local.py -> build/bdist.linux-x86_64/wheel/./oe_eval/metrics/code_evals
copying build/lib/oe_eval/metrics/code_evals/code_execution_remote.py -> build/bdist.linux-x86_64/wheel/./oe_eval/metrics/code_evals
copying build/lib/oe_eval/metrics/__init__.py -> build/bdist.linux-x86_64/wheel/./oe_eval/metrics
copying build/lib/oe_eval/metrics/llm_judge.py -> build/bdist.linux-x86_64/wheel/./oe_eval/metrics
copying build/lib/oe_eval/metrics/metric.py -> build/bdist.linux-x86_64/wheel/./oe_eval/metrics
creating build/bdist.linux-x86_64/wheel/oe_eval/components
copying build/lib/oe_eval/components/instances.py -> build/bdist.linux-x86_64/wheel/./oe_eval/components
copying build/lib/oe_eval/components/requests.py -> build/bdist.linux-x86_64/wheel/./oe_eval/components
copying build/lib/oe_eval/launch.py -> build/bdist.linux-x86_64/wheel/./oe_eval
running install_egg_info
Copying ai2_olmes.egg-info to build/bdist.linux-x86_64/wheel/./ai2_olmes-0.1.0-py3.10.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/ai2_olmes-0.1.0.dist-info/WHEEL
creating '/data/lishizheng/test/olmes/dist/.tmp-9hgqfz8k/ai2_olmes-0.1.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'oe_eval/__init__.py'
adding 'oe_eval/default_configs.py'
adding 'oe_eval/launch.py'
adding 'oe_eval/py.typed'
adding 'oe_eval/run_eval.py'
adding 'oe_eval/utils.py'
adding 'oe_eval/version.py'
adding 'oe_eval/components/instances.py'
adding 'oe_eval/components/requests.py'
adding 'oe_eval/configs/models.py'
adding 'oe_eval/configs/task_suites.py'
adding 'oe_eval/configs/tasks.py'
adding 'oe_eval/configs/utils.py'
adding 'oe_eval/data/__init__.py'
adding 'oe_eval/data/agi_eval_tasks.py'
adding 'oe_eval/data/bbh_tasks.py'
adding 'oe_eval/data/deepmind_math_categories.py'
adding 'oe_eval/data/hendrycks_math_split.py'
adding 'oe_eval/data/math_task_types.py'
adding 'oe_eval/data/mmlu_pro_categories.py'
adding 'oe_eval/data/mmlu_tasks.py'
adding 'oe_eval/data/mt_eval_tasks.py'
adding 'oe_eval/data/tydiqa_languages.py'
adding 'oe_eval/data/zero_scrolls_tasks.py'
adding 'oe_eval/dependencies/AGIEval/src/__init__.py'
adding 'oe_eval/dependencies/AGIEval/src/constructions.py'
adding 'oe_eval/dependencies/AGIEval/src/dataset_loader.py'
adding 'oe_eval/dependencies/AGIEval/src/evaluation.py'
adding 'oe_eval/dependencies/AGIEval/src/math_equivalence.py'
adding 'oe_eval/dependencies/AGIEval/src/post_process.py'
adding 'oe_eval/dependencies/AGIEval/src/utils.py'
adding 'oe_eval/dependencies/drop/process_results.py'
adding 'oe_eval/dependencies/hf_evaluate/exact_match.py'
adding 'oe_eval/dependencies/ifeval/__init__.py'
adding 'oe_eval/dependencies/ifeval/instructions.py'
adding 'oe_eval/dependencies/ifeval/instructions_registry.py'
adding 'oe_eval/dependencies/ifeval/instructions_util.py'
adding 'oe_eval/dependencies/ifeval/utils.py'
adding 'oe_eval/dependencies/squad/squad_emf1.py'
adding 'oe_eval/metrics/__init__.py'
adding 'oe_eval/metrics/llm_judge.py'
adding 'oe_eval/metrics/metric.py'
adding 'oe_eval/metrics/metric_utils.py'
adding 'oe_eval/metrics/code_evals/code_eval_routes.py'
adding 'oe_eval/metrics/code_evals/code_execution_local.py'
adding 'oe_eval/metrics/code_evals/code_execution_remote.py'
adding 'oe_eval/metrics/code_evals/sanitize.py'
adding 'oe_eval/models/__init__.py'
adding 'oe_eval/models/eleuther_huggingface.py'
adding 'oe_eval/models/eleuther_vllm_causallms.py'
adding 'oe_eval/models/litellm.py'
adding 'oe_eval/tasks/__init__.py'
adding 'oe_eval/tasks/aggregate_tasks.py'
adding 'oe_eval/tasks/base_task.py'
adding 'oe_eval/tasks/chat_templates.py'
adding 'oe_eval/tasks/eleuther_task.py'
adding 'oe_eval/tasks/fewshot_sources.py'
adding 'oe_eval/tasks/utils.py'
adding 'oe_eval/tasks/oe_eval_tasks/__init__.py'
adding 'oe_eval/tasks/oe_eval_tasks/agi_eval.py'
adding 'oe_eval/tasks/oe_eval_tasks/alpaca_eval.py'
adding 'oe_eval/tasks/oe_eval_tasks/arc.py'
adding 'oe_eval/tasks/oe_eval_tasks/bbh.py'
adding 'oe_eval/tasks/oe_eval_tasks/boolq.py'
adding 'oe_eval/tasks/oe_eval_tasks/codex_bigcodebench.py'
adding 'oe_eval/tasks/oe_eval_tasks/codex_humaneval.py'
adding 'oe_eval/tasks/oe_eval_tasks/codex_mbpp.py'
adding 'oe_eval/tasks/oe_eval_tasks/copa.py'
adding 'oe_eval/tasks/oe_eval_tasks/copycolors.py'
adding 'oe_eval/tasks/oe_eval_tasks/coqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/cosmosqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/csqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/deepmind_math.py'
adding 'oe_eval/tasks/oe_eval_tasks/drop.py'
adding 'oe_eval/tasks/oe_eval_tasks/gpqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/gsm8k.py'
adding 'oe_eval/tasks/oe_eval_tasks/hellaswag.py'
adding 'oe_eval/tasks/oe_eval_tasks/ifeval.py'
adding 'oe_eval/tasks/oe_eval_tasks/jeopardy.py'
adding 'oe_eval/tasks/oe_eval_tasks/logiqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/minerva_math.py'
adding 'oe_eval/tasks/oe_eval_tasks/mmlu.py'
adding 'oe_eval/tasks/oe_eval_tasks/mmlu_pro.py'
adding 'oe_eval/tasks/oe_eval_tasks/mt_eval.py'
adding 'oe_eval/tasks/oe_eval_tasks/naturalqs_open.py'
adding 'oe_eval/tasks/oe_eval_tasks/openbookqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/piqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/popqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/sciq.py'
adding 'oe_eval/tasks/oe_eval_tasks/siqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/squad.py'
adding 'oe_eval/tasks/oe_eval_tasks/squad2.py'
adding 'oe_eval/tasks/oe_eval_tasks/triviaqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/truthfulqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/tydiqa.py'
adding 'oe_eval/tasks/oe_eval_tasks/winogrande.py'
adding 'oe_eval/tasks/oe_eval_tasks/zero_scrolls.py'
adding 'oe_eval/utilities/__init__.py'
adding 'oe_eval/utilities/gsheet_writing.py'
adding 'oe_eval/utilities/hf_hub_writing.py'
adding 'oe_eval/utilities/model_results_collation.py'
adding 'oe_eval/utilities/remote_utils.py'
adding 'oe_eval/utilities/rtest_helpers.py'
adding 'oe_eval/utilities/wandb_writing.py'
adding 'ai2_olmes-0.1.0.dist-info/LICENSE'
adding 'ai2_olmes-0.1.0.dist-info/METADATA'
adding 'ai2_olmes-0.1.0.dist-info/WHEEL'
adding 'ai2_olmes-0.1.0.dist-info/entry_points.txt'
adding 'ai2_olmes-0.1.0.dist-info/top_level.txt'
adding 'ai2_olmes-0.1.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built ai2_olmes-0.1.0.tar.gz and ai2_olmes-0.1.0-py3-none-any.whl
相关文章:
使用 Python -m build打包 Python 项目:详解过程与细节
使用 Python -m build 打包 Python 项目:详解过程与细节 Python 项目的打包是发布和分发软件的核心环节。本文将基于用户提供的 pyproject.toml 文件和项目目录结构,详细说明 Python -m build 命令的执行过程,并解答 是否会将 oe_eval 中的代…...
019-spring-基于aop的事务控制原理
1、事务配置: <tx:annotation-driven transaction-manager"transactionManager"/> transaction-manager 默认是找这个bean:transactionManager 2、从命名空间开始找到对应的解析配置如下: 对应的是这个 后续跟源码没有搞明…...
210.xxl-job定时任务:架构,可视化,GLUE模式,负载均衡,分片
目录 一、为什么要用xxl-job 二、xxl-job架构 三、启动调度中心 1.初始化数据库 2.编译源码 四、启动执行器 五、GLUE模式运行 六、负载均衡 七、分片 1.分片环境准备 2.分片实现 八、感谢支持 一、为什么要用xxl-job 以前我们用quartz实现定时任务,但是那是单机…...
LVS 负载均衡原理 | 配置示例
注:本文为 “ LVS 负载均衡原理 | 配置” 相关文章合辑。 部分内容已过时,可以看看原理实现。 未整理去重。 使用 LVS 实现负载均衡原理及安装配置详解 posted on 2017-02-12 14:35 肖邦 linux 负载均衡集群是 load balance 集群的简写,翻…...
堆内存易碎片化
堆内存容易碎片化主要是由于其内存分配和释放的特性以及管理方式的复杂性所导致的。以下是对堆内存容易碎片化的详细解释: 一、内存分配和释放的非连续性 堆内存的分配和释放并不是连续的,这意味着在多次分配和释放后,原本连续的内存空间可…...
Docker镜像瘦身:从1.43G到22.4MB
Docker镜像瘦身:从1.43G到22.4MB 背景1、创建项目2、构建第一个镜像3、修改基础镜像4、多级构建5、使用Nginx背景 在使用 Docker 时,镜像大小至关重要。我们从 create-react-app (https://reactjs.org/docs/create-a-new-react-app.html)获得的样板项目通常都超过 1.43 GB…...
Linux套接字通信学习
Linux套接字通信 代码源码:https://github.com/say-Hai/TcpSocketLearn/tree/CThreadSocket 在网络通信的时候, 程序猿需要负责的应用层数据的处理(最上层),而底层的数据封装与解封装(如TCP/IP协议栈的功能)通常由操作系统、网络协…...
XIAO Esp32S3制作网络摄像头——音频获取
1、功能介绍 本文主要是基于XIAO Esp32S3(Sense)做的一款网络摄像头,主要包含以下功能 1 音频获取/保存 2 视频获取/视频保存 3 行人检测/火焰检测/行人追踪(告警) 4 指定区域 5 摄像头旋转 。。。 本文主要实现第一步,音频获取,后续会陆续实现后面的功能,敬请期…...
Docker搭建RocketMQ
Docker搭建RocketMQ 操作系统: CentOS 7 x64 版本号: CentOS Linux release 7.9.2009 (Core) IP地址: 192.168.157.130 Docker 信息: Client: Docker Engine - Community Version: 24.0.7 API version: 1.43 Go version: go1.20.10 Git commit: …...
Python 迭代器与生成器
Python 中的迭代器和生成器是处理集合元素的重要工具,它们在处理大量数据时特别有用,因为它们不需要一次性将所有数据加载到内存中。 迭代器(Iterator) 迭代器是一个实现了迭代器协议的对象,这意味着它有两个方法&am…...
细说STM32F407单片机通过IIC读写EEPROM 24C02
目录 一、操作说明 二、工程配置 1、时钟、DEBUG、GPIO、USART6、NVIC、Code Generator 2、 IIC2 (1)Master Features组,主设备参数 (2)Slave Features组,从设备参数 三、软件设计 1、KELED 2、E…...
Redis 深度解析:从入门到精通
引言 Redis 是一个开源的、高性能的键值存储系统,它支持多种数据结构,并且提供了丰富的功能和接口。作为内存数据库,Redis 以其快速的数据访问速度、灵活的数据模型以及持久化选项而闻名。本文将详细介绍 Redis 的核心概念、工作原理及其应用…...
6-pandas数据读取
前言 一、分组聚合 1.groupby使用: groupby() 是 pandas 库中用于对数据进行分组操作的一个非常重要的方法。 import pandas as pddata {城市: [北京, 上海, 广州, 北京, 上海, 广州],人口: [2154, 2424, 1303, 2154, 2424, 1303],年龄: [25, 30, 35, 25, 30, 3…...
omi friend实战记录
一、简介 omi friend是国外githab上开源的一个“AI硬件”的制作教程,它的形状是个三角形,属于项链佩戴这类的。可以接入llm进行对话,他有麦克风、扬声器,还有电池。外形好看,功能实用。还有专属的一系列app可以供方便…...
马原复习笔记
文章目录 前言导论物质实践人类社会资本主义社会主义共产主义后记 前言 一月二号下午四点多考试,很友好,不是早八,哈哈哈。之前豪言壮语和朋友说这次马原要全对,多做了几次测试之后,发现总有一些知识点是自己不知道的…...
VIM: Vision Mamba基于双向状态空间模型的高效视觉表示学习
这篇文章的主要内容可以概括如下: 背景与动机: 近年来,状态空间模型(SSM)在长序列建模中展现出巨大潜力,尤其是Mamba模型在硬件感知设计上的高效性。 然而,现有的SSM模型在处理视觉数据时面临…...
CannotRetrieveUpdates alert in disconnected OCP 4 cluster解决
环境: Red Hat OpenShift Container Platform (RHOCP) 4 问题: Cluster Version Operator 不断发送警报,表示在受限网络/断开连接的 OCP 4 集群中无法接收更新。 在隔离的 OpenShift 4 集群中看到 CannotRetrieveUpdates 警报: …...
libmodbus源码中重要的两个结构体讲解
文章目录 一、libmodbus重要数据结构讲解**1. 结构体 `_modbus`**定义成员解析小结**2. 结构体 `_modbus_backend`**定义成员解析小结**3. 两者关系和工作流程****关系****工作流程**一、libmodbus重要数据结构讲解 这两个结构体是 libmodbus 的核心,定义了 Modbus 通信上下文…...
PostgreSQL的一主两从集群搭建部署 (两同步)
一、实验环境 虚拟机名IP身份简称keep-postgres12-node1192.168.122.87主节点node1keep-postgres12-node2192.168.122.89备节点node2keep-postgres12-node3192.168.122.90备节点node3 二、安装数据库 源码包方式(主) 1、创建用户 [rootkeep-postgre…...
CPT203 Software Engineering 软件工程 Pt.5 软件测试(中英双语)
文章目录 8. 软件测试8.1 Testing(测试)8.1.1 A note of testing under the V & A framework8.1.2 The Basics8.1.3 The Goals8.1.4 The Stages 8.2 Developing testing(开发测试)8.2.1 Unit testing(单元测试&…...
在 Blazor 和 ASP.NET Core 中使用依赖注入和Scoped 服务实现数据共享方法详解
依赖注入(Dependency Injection,简称 DI)是一种设计模式,用于将对象的依赖关系从对象内部解耦出来,由外部容器进行管理和提供。在 Blazor 和 ASP.NET Core 中,DI 是内置的核心功能,它通过服务生…...
【信号滤波 (下)】采样条件,多种滤波算法对比(Matlab/C++)
目录 一、信号采样条件采样定理ADC的SPS设置 二、常用滤波算法对比A.滑动平均滤波B.陷波滤波陷波滤波器简介FIR(有限脉冲响应)滤波器和IIR(无限脉冲响应)滤波器 基于IIR实现陷波滤波滤波原理讲解双二阶滤波器计算过程陷波滤波优势 在上一篇中,介绍了信号时域到频域的…...
将广播发送和接收端实现一遍,完成一个发送端发送信息,对应多个接收端接收信息实验。
1、将广播发送和接收端实现一遍,完成一个发送端发送信息,对应多个接收端接收信息实验。 接受端 #include<myhead.h> #define handel_err(res,val) if(val-1){perror(res);return-1;} int main(int argc, const char *argv[]) {int rfdsocket(AF_…...
Nginx 负载均衡详解
一、Nginx 简介 Nginx 是一个高性能的开源 Web 服务器和反向代理服务器,以其轻量级、高并发、低内存消耗等特点著称。Nginx 不仅适用于静态资源的快速分发,还广泛应用于负载均衡、反向代理等场景。通过Nginx,可以轻松地构建一个高效、可靠且…...
自动驾驶新纪元:城区NOA功能如何成为智能驾驶技术的分水岭
目录 一、NOA 的定义 二、NOA 的主要特点 导航集成 场景覆盖 智能决策 高级感知能力 驾驶员参与 三、NOA 的优势 四、NOA的衡量指标 定性评价指标 安全性评价指标定义 可靠性评价指标定义 舒适性评价指标定义 通行效率评价指标 定量评价指标 五、代表厂商的实测…...
FFmpeg 编码和解码
文章目录 音频格式AACADIF音频数据交换格式ADTS音频数据传输流 音频解码音频编码 视频格式H264GOP图像组I帧,P帧,B帧H264压缩技术H264压缩级别H264视频级别H264码流结构SPSPPS 解码视频编码视频 音频格式 AAC AAC全称 Advanced Audio Coding࿰…...
【Ubuntu】Ubuntu server 18.04 搭建Slurm并行计算环境(包含NFS)
Ubuntu server 18.04 搭建Slurm并行计算环境(包含NFS) 一、Munge 认证模块 1.1、安装 munge 主节点和子节点都安装munge #安装 sudo apt update && sudo apt install munge libmunge-dev#设置开机启动 sudo systemctl enable munge sudo syste…...
WPF 绘制过顶点的圆滑曲线 (样条,贝塞尔)
在一个WPF项目中要用到样条曲线,必须过顶点,圆滑后还不能太走样,捣鼓一番,发现里面颇有玄机,于是把我多方抄来改造的方法发出来,方便新手: 如上图,看代码吧: ----------…...
Spring 的不同事务传播行为
目录 Spring 的不同事务传播行为 PROPAGATION_REQUIRES_NEW事务传播行为什么情况下会使用? 一、PROPAGATION_REQUIRES_NEW的含义 二、使用场景 三、注意事项 PROPAGATION_NESTED事务传播行为什么情况下会使用? 一、PROPAGATION_NESTED的含义 二、使用场景 三、嵌套事…...
PlantUML 时序图 基本例子
基本的例子 序列-> 用于绘制两个参与者之间的信息。参与者不必明确声明。 要有一个点状的箭头,就用--> 也可以用<- 和<-- 。这不会改变绘图,但可能提高可读性。注意,这只适用于顺序图,其他图的规则不同。 plantum…...
QILSTE H8-C414SY高亮黄光LED灯珠 发光二极管LED
在电子组件的复杂世界中,H8-C414SY型号的LED以其精确的技术参数和卓越的性能,成为了工程师和技术人员不可忽视的选择。本文将通过对这款高亮黄光LED的技术参数进行深入分析,增加文本的复杂性和突发性,以提供一份详尽的技术参考。 …...
git clone 和 conda 换源
文章目录 git clone 通过 sshconda 创建虚拟环境通过 env.yml 文件conda 换源 git clone 通过 ssh git clone ssh://用户名IP地址:/仓库名字.gitconda 创建虚拟环境通过 env.yml 文件 conda env create -f environment.ymlconda 换源 Step 1 生成 .bashrc 文件在家目录下。…...
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(下)
在上一篇博客《Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘》介绍了dynamic-datasource-spring-boot-starter的自动配置类和配置属性类之后,本文继续来剖析多数据源是如何切换的,什么时候切换的。 前文中提…...
移动 APP 设计规范参考
一、界面设计规范 布局原则: 内容优先:以内容为核心进行布局,突出用户需要的信息,简化页面导航,提升屏幕空间利用率.一致性:保持界面元素风格一致,包括颜色、字体、图标等,使用户在…...
yolov6算法及其改进
yolov6算法及其改进 1、YOLOV6简介2、RepVGG重参思想3、YOLOv6架构改进3.1、Backbone方面3.2、SPP改进3.3、Neck改进3.4、Head改进 4、正负样本匹配与损失函数4.1、TaskAligned样本匹配4.2、VFL Loss分类损失函数4.3、SIOU损失函数4.4、DFL损失函数 1、YOLOV6简介 YOLOv6设计主…...
java自定义注解对枚举类型参数的校验
目录 1.前提准备条件 1.1 pom.xml文件依赖: 1.2 枚举类: 1.3 controller接口: 1.4 实体参数: 1.5 knife4j的配置 2.实现要求 3.实现步骤 3.1 自定义注解类: 3.2 使用注解: 3.3 添加注解校验类: …...
K8S-LLM:用自然语言轻松操作 Kubernetes
在 Kubernetes (K8s) 的日常管理中,复杂的命令行操作常常让开发者感到头疼。无论是部署应用、管理资源还是调试问题,都需要记住大量的命令和参数。Kubernetes 作为容器编排的行业标准,其强大的功能伴随着陡峭的学习曲线和复杂的命令行操作。这…...
【GO基础学习】gin的使用
文章目录 模版使用流程参数传递路由分组数据解析和绑定gin中间件 模版使用流程 package mainimport ("net/http""github.com/gin-gonic/gin" )func main() {// 1.创建路由r : gin.Default()// 2.绑定路由规则,执行的函数// gin.Context&#x…...
【PCIe 总线及设备入门学习专栏 4.5 -- PCIe Message and PCIe MSI】
文章目录 PCIe Message 与 MSIPCIe Message 和 MSI 的作用与关系MSI 的配置与寄存器MSI 和 ARM GIC 的关系示例:MSI 在 ARM GIC 的实际应用总结 PCIe Message 与 MSI 本文将介绍 PCIe message 的作用以及message 与 MSI 的关系,再介绍 MSI 如何配置以及…...
sklearn_pandas.DataFrameMapper的用法
文章目录 介绍主要作用基本用法示例对不同列应用不同的转换器对多列应用相同的转换器输出为 Pandas DataFrame 注意事项转换器的适用性:输出格式:与 scikit-learn 的兼容性: 介绍 DataFrameMapper 是 sklearn-pandas 库中的一个工具…...
【2024年-7月-27日-开源社区openEuler实践记录】剖析 elease - management:优化软件发布流程的开源方案
开篇介绍 大家好,我是 fzr123,在软件开发流程管控领域探索许久,今天要给大家详细说说release - management这个极具价值的开源项目。在软件开发的生命周期里,发布管理至关重要,它关乎着软件能否稳定、高效且按时交付&…...
CPT203 Software Engineering 软件工程 Pt.1 概论和软件过程(中英双语)
文章目录 1.Introduction1.1 What software engineering is and why it is important(什么是软件工程,为什么它很重要)1.1 We can’t run the modern world without software(我们的世界离不开软件)1.1.1 What is Soft…...
Mysql数据库Redo日志和Undo日志的理解
数据库redo日志和undo日志 1、redo日志1.1 redo日志的作用1.1.1 不使用redo日志的问题1.1.2 使用redo日志的好处 1.2 redo日志刷盘策略 2、undo日志2.1 undo日志的作用2.2 undo日志的简要生成过程 1、redo日志 事务的4大特性(ACID):原子性、…...
大厂高频总线协议面试题及参考答案(几百家面试题挑选最高频精华)
目录 请介绍一下 SPI 总线协议及其工作原理,包括 SPI 有哪四种模式以及四根线的电气特性是什么? SPI 通信的波特率是多少,时钟来源是什么?SPI 的帧长度和数据格式是怎样的? 请简述 IIC 协议及其工作原理,包括 IIC 协议最多能挂载多少个从设备? IIC 总线上挂不同的设备…...
使用策略模式时的一个生效问题
策略模式的替换场景: 1:产品有默认策略A,B,项目扩展策略C,此为正常扩展。 2:产品有默认策略A,B,项目需要改写策略B,此为项目替换默认策略。 3:产品有默认策略A,B,项目扩展策略C,产品需要反向扩展…...
活动预告 |【Part2】 Azure 在线技术公开课:迁移和保护 Windows Server 和 SQL Server 工作负载
课程介绍 通过 Microsoft Learn 免费参加 Microsoft Azure 在线技术公开课,掌握创造新机遇所需的技能,加快对 Microsoft 云技术的了解。参加我们举办的“迁移和保护 Windows Server 和 SQL Server 工作负载”活动,了解 Azure 如何为将工作负载…...
关于 PCB线路板细节锣槽问题 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/144783817 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...
机器学习特征选择
一、特征选择概述 在实际的数据集中,往往包含了大量的特征,但并非所有特征都对我们要预测的目标变量(如分类任务中的类别标签,回归任务中的数值目标)有积极作用。有些特征可能携带的信息量极少,甚至会引入…...
第R5周:天气预测
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 任务说明:该数据集提供了来自澳大利亚许多地点的大约 10 年的每日天气观测数据。你需要做的是根据这些数据对RainTomorrow进行一个预测,…...
【每日学点鸿蒙知识】ets匿名类、获取控件坐标、Web显示iframe标签、软键盘导致上移、改变Text的背景色
1、HarmonyOS ets不支持匿名类吗? 不支持,需要显式标注对象字面量的类型,可以参考以下文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/typescript-to-arkts-migration-guide-V5#%E9%9C%80%E8%A6%81%E6%…...