基于 [copier](https://copier.readthedocs.io/) 的通用 Python 项目模板。
Project description
coopie
基于 copier 的通用 Python 项目模板。
特性
- 构建工具链:hatchling + uv + ruff + pyrefly + pytest + coverage
- Python 版本:3.8 ~ 3.14
- 代码质量:pre-commit 钩子 + ruff lint/format,覆盖率阈值 95%
- CI/CD:GitHub Actions(lint + typecheck + 多版本测试 + 自动发布到 PyPI)
- 文档:Sphinx + ReadTheDocs(中文 zh_CN)
- 多版本测试:tox + tox-uv(py38, py39, py310, py311, py312, py313, py314)
- 项目结构:src layout + py.typed 类型标记
安装
pip install coopie
或使用 uv:
uv add coopie
快速上手
import coopie
print(coopie.__version__)
开发
# 安装开发依赖
uv sync --extra dev
# 运行测试(含覆盖率,阈值 95%)
uv run pytest -m "not slow" --cov=coopie --cov-fail-under=95
# 类型检查
uv run pyrefly check .
# 代码风格
uv run ruff check src tests
uv run ruff format --check src tests
Make 快捷命令
项目提供 Makefile 封装常用操作,运行 make help 查看全部命令:
make sync # 安装开发依赖
make check # 全套门禁 (lint + typecheck + cov)
make build # 构建分发包
make clean # 清理构建产物
make bump PART=patch # 版本号 bump
文档
文档由 Sphinx 构建,托管在 ReadTheDocs:
# 本地构建文档
make doc
多版本测试
使用 tox 在多个 Python 版本(py38, py39, py310, py311, py312, py313, py314)下运行测试:
make tox
许可证
MIT
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
coopie-0.7.11.tar.gz
(312.2 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
File details
Details for the file coopie-0.7.11.tar.gz.
File metadata
- Download URL: coopie-0.7.11.tar.gz
- Upload date:
- Size: 312.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ab5e5b2f16d2d9761c4743d25553189e74308bf1ac7016236c30a38b824a8bb
|
|
| MD5 |
208d6e8625afedcd25412f135dc782b0
|
|
| BLAKE2b-256 |
eb814366b3fd88c46eb6eec0694abcc8d8827242bdb77304a616e37a0397f8c5
|
File details
Details for the file coopie-0.7.11-py3-none-any.whl.
File metadata
- Download URL: coopie-0.7.11-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c799e072e7d4ee139aad2262ff508dbd528398cf0999c6977763a43855b12e9
|
|
| MD5 |
23aee012b41ab2b18d2de40d86949fa9
|
|
| BLAKE2b-256 |
e5b26c6d023662a3c2f343b21703baf3aca44836a1e68ef6a2c83364ec95b3f2
|