项目流程管理命令行工具
Project description
项目: d-project
描述
项目命令管理工具
特点
- 通过配置文件管理项目命令
- 支持
.env自动加载 - 支持变量和环境变量插值
- 支持工作流编排和跳过未变更步骤
- 导出readme文件
安装
uv sync
使用
- 本地开发运行 CLI
uv run project --help
- 首先初始化project.yml文件
# 默认生成当前目录
uv run project init
# 若要修改目录
uv run project init ./configs/project.yml
- 运行自定义的命令或者流程
uv run project run some_command
uv run project run some_workflow
project run执行时会自动加载项目根目录下的.env
UV_PUBLISH_TOKEN=pypi-xxxx
-
可以参照下面的
project.yml示例来定义命令和流程 -
project.yml字段说明
title
项目标题,主要用于帮助信息和文档生成。
description
项目描述,显示在帮助信息和生成文档中。
vars
项目内变量,可在配置中通过 ${vars.xxx} 引用。
env
环境变量映射,可在配置中通过 ${env.xxx} 引用;会读取系统环境变量和项目根目录 .env。
check_requirements
是否在运行前检查 requirements.txt 里的依赖是否安装。
directories
加载配置时自动创建的目录列表。
workflows
工作流定义,值是命令名列表,按顺序执行。
commands
命令列表。每个命令支持 name、help、script、deps、outputs、outputs_no_cache、no_skip。
- 示例
project.yml
title: demo
description: describe project details
vars:
name: demo
dist_dir: dist
env:
publish_token: UV_PUBLISH_TOKEN
check_requirements: false
directories:
- dist
workflows:
all:
- build
- publish
commands:
- name: build
help: build package artifacts
script:
- uv build
deps:
- pyproject.toml
outputs:
- ${vars.dist_dir}
- name: publish
help: publish current version to pypi
script:
- uv publish
deps:
- ${vars.dist_dir}
outputs: []
no_skip: true
- 生成READMD.md文件
uv run project document --output ./README.md
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file d_project-0.1.3.tar.gz.
File metadata
- Download URL: d_project-0.1.3.tar.gz
- Upload date:
- Size: 69.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a51988658a137356050f17ac82dba01e88c4bf1fa61a6582915d76952e79df5b
|
|
| MD5 |
6515a8c52b503ec23033677f90f7c6bc
|
|
| BLAKE2b-256 |
ebdb19891d4e86477d5da318563003e0384e03dabff211985e26afce91b39776
|
File details
Details for the file d_project-0.1.3-py3-none-any.whl.
File metadata
- Download URL: d_project-0.1.3-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
737a40517fe128a5d5a61f53bb49cde67391d283e694c11e9379a139322b4463
|
|
| MD5 |
d2c8fa49f369abc03f18ad037caa2c3d
|
|
| BLAKE2b-256 |
a922e985d798ffa118622dbe0e435212c2ea83667b2707b7461234d9fad9a319
|