Skip to main content

基于 [copier](https://copier.readthedocs.io/) 的通用 Python 项目模板。

Project description

coopie

基于 copier 的通用 Python 项目模板。

PyPI CI Python License Coverage

特性

  • 构建工具链: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


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.5.tar.gz (256.1 kB view details)

Uploaded Source

Built Distribution

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

coopie-0.7.5-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file coopie-0.7.5.tar.gz.

File metadata

  • Download URL: coopie-0.7.5.tar.gz
  • Upload date:
  • Size: 256.1 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

Hashes for coopie-0.7.5.tar.gz
Algorithm Hash digest
SHA256 1838c0420f050dbd872dfed9536668f2e80b7d53e5ce2c3e7c738249d380ee82
MD5 d87873734c36e354e164c737da0f32c2
BLAKE2b-256 6f6b381e4674e6f3d829efb28251bc433fa0010ce30bf8320e9024508717d6d9

See more details on using hashes here.

File details

Details for the file coopie-0.7.5-py3-none-any.whl.

File metadata

  • Download URL: coopie-0.7.5-py3-none-any.whl
  • Upload date:
  • Size: 6.7 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

Hashes for coopie-0.7.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3e31f0742a5d19ba83d5892235cf6ae9a2e0c8236008a9c4bd6f0a7f024eff85
MD5 259990ed2c8b2931fd5bc53b4d487bb3
BLAKE2b-256 dc9ceea4dd5b96f7c622fed13c7bdfc474a40f15885819b60007a9903ac74dc5

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