Skip to main content

Project management tool for UV + FastAPI + Vue3 + Electron desktop applications

Project description

xb - Project Management Tool

xb 是一个基于 uv 又类似 uv 的项目管理工具,用于快速初始化 UV + FastAPI + Vue3 + Electron 桌面应用。

特性

  • 一键初始化完整项目结构
  • UV + FastAPI + Vue3 + Electron 开箱即用
  • 可选 sudo 免密配置
  • 内置开发、构建、版本管理脚本
  • 自动初始化 git 仓库并提交首个 commit

安装

# 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# 安装 xb
cd xb
uv sync
uv tool install .

xb --help

快速开始

# 在当前目录创建 myapp/ 子目录,自动 git init + 首次 commit
xb init myapp

# 带 sudo 免密配置
xb init myapp --sudoers

cd myapp

# 启动开发环境
xb dev

# 查看状态
xb dev status

# 停止
xb dev stop

xb init 自动行为:在目标目录执行 git init 并以 chore: xb init 初始化 <package> 项目 提交首个 commit。 若系统未安装 git 或未配置 user.name/user.email,会打印警告但不阻塞项目创建,可稍后手动补提交。

构建

# 构建所有
xb build

# 单独构建
xb build frontend    # 或 xb build -f
xb build backend     # 或 xb build -b
xb build electron    # 或 xb build -e

项目结构

myapp/
├── pyproject.toml          # Python 依赖 (uv)
├── backend/                # FastAPI 后端
│   ├── main.py
│   ├── api/
│   └── managers/
├── frontend/               # Vue 3 前端
│   └── src/
├── electron/               # Electron 主进程
├── version/                # 版本管理
│   ├── hooks/
│   └── scripts/
├── configs/                # 配置文件
├── scripts/                # 可执行脚本
├── dev.sh                  # 开发脚本
├── build.sh                # 打包脚本
└── .venv                   # Python 虚拟环境

版本管理

# 查看当前版本
xb version

配置

Sudo 免密

# 启用 sudo 免密配置
xb init myapp --sudoers

# 密码存储在 configs/global_config.yaml
# 建议设置文件权限: chmod 600 configs/global_config.yaml

技术栈

组件 技术
后端 FastAPI + Uvicorn
前端 Vue 3 + Vite
桌面 Electron
构建 PyInstaller + electron-builder
依赖 uv

环境要求

  • Python: 3.12+
  • Node.js: 16+
  • npm: 8+
  • OS: Linux

许可证

MIT

故障排查

# 后端启动失败
cat datas/logs/backend.log
lsof -i :8000

# 手动启动测试
cd myapp
.venv/bin/python backend/main.py

# 前端启动失败
cat datas/logs/frontend.log
cd frontend && rm -rf node_modules && npm install

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

xiaomi_xb-1.2.11.tar.gz (80.4 kB view details)

Uploaded Source

Built Distribution

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

xiaomi_xb-1.2.11-py3-none-any.whl (103.2 kB view details)

Uploaded Python 3

File details

Details for the file xiaomi_xb-1.2.11.tar.gz.

File metadata

  • Download URL: xiaomi_xb-1.2.11.tar.gz
  • Upload date:
  • Size: 80.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for xiaomi_xb-1.2.11.tar.gz
Algorithm Hash digest
SHA256 9b7c60f9e0025d1b1b383a61d9a5654cc0e00331d5daca6bb1cc2cc3e51a6556
MD5 40c625b36478d70d03b6f5f6cf334af2
BLAKE2b-256 c464fa53adade18c983aab4c068c4999c15084a03fc3d7e233be5d62fff92d0d

See more details on using hashes here.

File details

Details for the file xiaomi_xb-1.2.11-py3-none-any.whl.

File metadata

  • Download URL: xiaomi_xb-1.2.11-py3-none-any.whl
  • Upload date:
  • Size: 103.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for xiaomi_xb-1.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 cfe62f861bfd2a920839bad7d8a02d5ad34e6bc29156d2cdea77ee867b5f1f49
MD5 2ad6666d978aeb5b61c0b59849205023
BLAKE2b-256 71b387aa054e6e02670c8b8356f18d6f7646ead075d7954ae510ada2c426ab06

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