zylab
通用科学计算仿真分析平台。
特性
- 构建工具链:hatchling + uv + ruff + pyrefly + pytest + coverage
- Python 版本:3.11 ~ 3.14
- 代码质量:pre-commit 钩子 + ruff lint/format,覆盖率阈值 95%
- CI/CD:GitHub Actions(lint + typecheck + 多版本测试 + 自动发布到 PyPI)
- 文档:Sphinx + ReadTheDocs(中文 zh_CN)
- 多版本测试:tox + tox-uv(py311, py312, py313, py314)
- 容器化:Dockerfile(含国内镜像源配置)
- GUI 框架:PySide2(Qt5,Python≤3.10)/ PySide6(Qt6,Python≥3.11),按版本自动区分
- 项目结构:src layout + py.typed 类型标记
安装
pip install zylab
或使用 uv:
uv add zylab
快速上手
import zylab
print(zylab.__version__)
命令行(无界面求解模板/工程,支持参数覆盖与扫描):
zylab # 启动图形界面
zylab templates # 列出可用模板
zylab run structural.cantilever_static -p model.nx=20
zylab run demo.zprj --scan "model.tip_load=-50:-100:5"
开发
# 安装开发依赖
uv sync --extra dev
# 运行测试(含覆盖率,阈值 95%)
uv run pytest -m "not slow" --cov=zylab --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 版本(py311, py312, py313, py314)下运行测试:
make tox
许可证
MIT
Metadata
Release files for zylab 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zylab-0.1.9.tar.gz | 1.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zylab-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.2 MB
Release files / zylab-0.1.9.tar.gz
| Download URL | zylab-0.1.9.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e38f86e86e4f2edc8508a8eede5c39f63e312cfc0400f99e3197d3323f0fd345
|
|
BLAKE2b-256 checksum How to use checksums |
10db1848989bb7b3bb6024679691f755fef93c2afedbba665ca7bfb01b02493c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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}
|
Release files / zylab-0.1.9-py3-none-any.whl
| Download URL | zylab-0.1.9-py3-none-any.whl |
|---|---|
| Size | 825.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e1ae0d74f0e0b5934e7a9dd51f61006d0199cd33193a3058559b396b12914d86
|
|
BLAKE2b-256 checksum How to use checksums |
1ce954133e280b685ab387e66b16e8220929e2f031800597f5f0aac3dd4d5416
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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}
|