Skip to main content

Python package for Lean Environment Management

Project description

LeanUp

一个用于管理 Lean 数学证明语言环境的 Python 工具

English | 简体中文

🎯 功能特性

  • 📦 仓库管理: 安装和管理 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


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)

Uploaded Source

Built Distribution

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

leanup-0.1.2-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

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

Hashes for leanup-0.1.2.tar.gz
Algorithm Hash digest
SHA256 cfb0818aeea8741290d751176c5aa482be87e7c8e272081b6a4b58d23b4ba74f
MD5 658902e3dd09caccb31adff8ae5eaf15
BLAKE2b-256 fdf782193e64856e5e7e4e3d95ca16f9d7adac4f9362ca94e37d2ffcd60ab7a5

See more details on using hashes here.

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

Hashes for leanup-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 44562db169ce3c5947c6d9da80e8c4c2fcc7b3c97bf115b7639dcad86e3d0170
MD5 274b4d6ac3caf9dccc225605545a3cf1
BLAKE2b-256 a88809d5b78d3430b5bac6627bbf4d36273419f60c64e9f96ff3250549c6baad

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