Skip to main content

项目: 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

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.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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