update server

This commit is contained in:
2026-07-30 11:12:31 +08:00
commit 4312cb878c
99 changed files with 24034 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
# setup.py
"""Cython 编译脚本 — 将核心业务 .py 文件编译为 .pyd/.so 防止反编译。
用法:
python setup.py build_ext --inplace # 原地编译(开发测试)
python setup.py build_ext # 输出到 build_libs/
"""
from setuptools import setup, find_packages
from Cython.Build import cythonize
import os
# ============================================================
# 1. 明确指定要加密保护的核心业务文件(千万不要把 main.py 放进去)
# ============================================================
py_modules = [
# 根目录业务文件
"api.py",
"controllers.py",
"PcControl.py",
"ind_collector.py",
"get_V.py",
"styles.py",
# 许可证模块(含公钥 + 验签逻辑,编译后不可篡改)
"license_utils.py",
# core/ 业务逻辑层
"core/__init__.py", # 模块级验签入口,import 时自动触发
"core/connection_manager.py",
"core/control_engine.py",
"core/model_manager.py",
"core/data_collector.py",
"core/identification.py",
"core/identification_config.py",
"core/identification_feedback.py",
"core/volume_config.py",
]
# 过滤掉本地不存在的文件,防止报错
py_modules = [f for f in py_modules if os.path.exists(f)]
# ============================================================
# 2. 编译器优化指令
# ============================================================
compiler_directives = {
'language_level': "3", # Python 3 语义
'boundscheck': False, # 关闭数组越界检查(提升性能)
'wraparound': False, # 关闭负索引检查
'cdivision': True, # C 除法语义(更快)
'always_allow_keywords': False, # 不生成 **kwargs(减小体积)
}
setup(
name="PressureControlCore",
version="1.0.0",
python_requires=">=3.8",
packages=find_packages(include=["core", "core.*"]),
ext_modules=cythonize(
py_modules,
compiler_directives=compiler_directives,
annotate=False, # 不生成 html 报告,减少垃圾文件
build_dir="build_libs/temp", # .c 文件的临时目录
force=True, # 强制重新生成 .c 文件(防止用旧缓存)
),
options={
"build_ext": {
"build_lib": "build_libs", # 最终 .pyd/.so 输出目录
"build_temp": "build_libs/temp" # 中间 .c 和 .o 输出目录
}
},
)