Skip to main content

项目流程管理命令行工具

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 命令列表。每个命令支持 namehelpscriptdepsoutputsoutputs_no_cacheno_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

d_project-0.1.3.tar.gz (69.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

d_project-0.1.3-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

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

Hashes for d_project-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a51988658a137356050f17ac82dba01e88c4bf1fa61a6582915d76952e79df5b
MD5 6515a8c52b503ec23033677f90f7c6bc
BLAKE2b-256 ebdb19891d4e86477d5da318563003e0384e03dabff211985e26afce91b39776

See more details on using hashes here.

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

Hashes for d_project-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 737a40517fe128a5d5a61f53bb49cde67391d283e694c11e9379a139322b4463
MD5 d2c8fa49f369abc03f18ad037caa2c3d
BLAKE2b-256 a922e985d798ffa118622dbe0e435212c2ea83667b2707b7461234d9fad9a319

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page