Python package for Lean Environment Management
Project description
LeanUp
🎯 功能特性
- 📦 仓库管理: 安装和管理 Lean 仓库,支持交互式配置
- 🌍 跨平台支持: 支持 Linux、macOS 和 Windows
- 📦 简单易用: 通过
pip install -e LeanUp快速安装 - 🔄 命令代理: 透明代理所有 elan 命令,无缝体验
🚀 快速开始
安装
# 从 PyPI 安装
pip install leanup
# 或者克隆仓库后安装
git clone https://github.com/Lean-zh/LeanUp.git
cd LeanUp
pip install -e .
基础使用
# 查看帮助
leanup --help
# 安装 elan 并初始化配置
leanup init
# 安装
leanup install # stable
# 查看状态
leanup status
# 代理执行 elan 命令
leanup elan --help
leanup elan toolchain list
leanup elan toolchain install stable
leanup elan default stable
📖 详细使用指南
管理 Lean 工具链
安装 elan 后,您可以使用 leanup elan 命令来管理 Lean 工具链:
# 列出所有可用的工具链
leanup elan toolchain list
# 安装稳定版工具链
leanup elan toolchain install stable
# 安装夜间构建版本
leanup elan toolchain install leanprover/lean4:nightly
# 设置默认工具链
leanup elan default stable
# 更新所有工具链
leanup elan update
# 查看当前活动的工具链
leanup elan show
仓库管理
# 从默认源安装仓库
leanup repo install mathlib4
# 使用交互式配置安装
leanup repo install mathlib4 --interactive
# 从指定源安装
leanup repo install mathlib4 --source github
# 从完整 URL 安装
leanup repo install --url https://github.com/leanprover-community/mathlib4.git
# 安装特定分支或标签
leanup repo install mathlib4 --branch v4.3.0
# 强制替换现有目录
leanup repo install mathlib4 --force
# 安装到自定义目录
leanup repo install mathlib4 --dest-dir /path/to/custom/dir
# 列出已安装的仓库
leanup repo list
交互式安装
使用 leanup repo install 的 --interactive 标志时,您可以配置:
- 仓库前缀(如
leanprover-community/) - 仓库源的基础 URL
- 存储仓库的缓存目录
- 是否在克隆后运行
lake update - 是否在克隆后运行
lake build - 要编译的特定构建包
项目管理
# 为项目设置特定的工具链
cd your-lean-project
leanup elan override set stable
# 移除项目的工具链覆盖
leanup elan override unset
🛠️ 开发
环境设置
# 克隆仓库
git clone https://github.com/Lean-zh/LeanUp.git
cd LeanUp
# 安装开发依赖
pip install -r requirements_dev.txt
# 安装项目(可编辑模式)
pip install -e .
运行测试
# 运行所有测试
pytest tests/ -v
# 运行测试并生成覆盖率报告
coverage run -m pytest tests/
coverage report -m
⚙️ 配置
LeanUp 使用位于 ~/.leanup/config.toml 的配置文件。您可以自定义:
- 默认仓库源
- 仓库缓存目录
- elan 自动安装设置
- 仓库前缀和基础 URL
🌍 跨平台支持
LeanUp 在以下平台上经过测试:
- Linux: Ubuntu 20.04+, CentOS 7+, Debian 10+
- macOS: macOS 10.15+(Intel 和 Apple Silicon)
- Windows: Windows 10+
📊 项目状态
| 功能 | 状态 | 说明 |
|---|---|---|
| elan 安装 | ✅ | 支持自动检测平台和版本 |
| 命令代理 | ✅ | 透明传递所有 elan 命令 |
| 仓库管理 | ✅ | 安装和管理 Lean 仓库 |
| 交互式配置 | ✅ | 用户友好的设置过程 |
| 跨平台支持 | ✅ | Linux/macOS/Windows |
| 单元测试 | ✅ | 覆盖率 > 85% |
| CI/CD | ✅ | GitHub Actions 多平台测试 |
🤝 贡献
欢迎贡献代码!请查看 贡献指南 了解详细信息。
📝 许可证
本项目采用 MIT 许可证。详细信息请查看 LICENSE 文件。
🔗 相关链接
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
leanup-0.1.2.tar.gz
(21.5 kB
view details)
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
leanup-0.1.2-py3-none-any.whl
(24.2 kB
view details)
File details
Details for the file leanup-0.1.2.tar.gz.
File metadata
- Download URL: leanup-0.1.2.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfb0818aeea8741290d751176c5aa482be87e7c8e272081b6a4b58d23b4ba74f
|
|
| MD5 |
658902e3dd09caccb31adff8ae5eaf15
|
|
| BLAKE2b-256 |
fdf782193e64856e5e7e4e3d95ca16f9d7adac4f9362ca94e37d2ffcd60ab7a5
|
File details
Details for the file leanup-0.1.2-py3-none-any.whl.
File metadata
- Download URL: leanup-0.1.2-py3-none-any.whl
- Upload date:
- Size: 24.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44562db169ce3c5947c6d9da80e8c4c2fcc7b3c97bf115b7639dcad86e3d0170
|
|
| MD5 |
274b4d6ac3caf9dccc225605545a3cf1
|
|
| BLAKE2b-256 |
a88809d5b78d3430b5bac6627bbf4d36273419f60c64e9f96ff3250549c6baad
|