excel-codegen 0.9.1__tar.gz → 0.9.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/CHANGELOG.md +13 -0
  2. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/MANIFEST.in +1 -0
  3. excel_codegen-0.9.2/NOTICE.md +56 -0
  4. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/PKG-INFO +31 -3
  5. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/README.md +29 -2
  6. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/__init__.py +1 -1
  7. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/README.md +13 -0
  8. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen.egg-info/PKG-INFO +31 -3
  9. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen.egg-info/SOURCES.txt +1 -0
  10. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/pyproject.toml +3 -2
  11. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/uv.lock +1 -1
  12. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/.python-version +0 -0
  13. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/LICENSE +0 -0
  14. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/docs/cli.md +0 -0
  15. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/docs/publishing.md +0 -0
  16. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/docs/setup.md +0 -0
  17. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/docs/template_guide.md +0 -0
  18. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/__main__.py +0 -0
  19. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/cli.py +0 -0
  20. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/derived.py +0 -0
  21. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/example_pack.py +0 -0
  22. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/README.md +0 -0
  23. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/ABS_FPI_load_cases.xlsx +0 -0
  24. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/ABS_FPI_load_cases_render.bat +0 -0
  25. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/ABS_FPI_load_cases_render.sh +0 -0
  26. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/abs_fpi.yaml +0 -0
  27. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/abs_fpi_external.xlsx +0 -0
  28. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/abs_fpi_external.yaml +0 -0
  29. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/abs_fpi_external_render.bat +0 -0
  30. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/abs_fpi_external_render.sh +0 -0
  31. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/abs_fpi_internal.xlsx +0 -0
  32. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/abs_fpi_internal.yaml +0 -0
  33. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/abs_fpi_internal_render.bat +0 -0
  34. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/abs_fpi_internal_render.sh +0 -0
  35. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/compose.yaml +0 -0
  36. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/COT1-d20.559-mu60.js +0 -0
  37. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/COT1-d20.559-mu60_summary.md +0 -0
  38. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/EXT-T15-mu0-kf-1.js +0 -0
  39. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/EXT-T15-mu0-kf-1_summary.md +0 -0
  40. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/EXT-T15-mu90-kf+1.js +0 -0
  41. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/EXT-T15-mu90-kf+1_summary.md +0 -0
  42. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/EXT-T20.559-mu90-kf+1.js +0 -0
  43. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/EXT-T20.559-mu90-kf+1_summary.md +0 -0
  44. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/WBT6-d15.059-mu0.js +0 -0
  45. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/WBT6-d15.059-mu0_summary.md +0 -0
  46. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/WBT6-d8-mu90.js +0 -0
  47. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/WBT6-d8-mu90_summary.md +0 -0
  48. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/WBT7-d20.559-mu90.js +0 -0
  49. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/generated/WBT7-d20.559-mu90_summary.md +0 -0
  50. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/templates/ext_body.js.j2 +0 -0
  51. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/templates/ext_summary.md.j2 +0 -0
  52. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/templates/int_body.js.j2 +0 -0
  53. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/abs_fpi/templates/int_summary.md.j2 +0 -0
  54. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/example.yaml +0 -0
  55. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/example_formula.yaml +0 -0
  56. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/generated/uart_init_Case1.c +0 -0
  57. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/generated/uart_init_Case2.c +0 -0
  58. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/generated/uart_summary_Case1.md +0 -0
  59. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/generated/uart_summary_Case2.md +0 -0
  60. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/generated_formula/uart_init_Case1.c +0 -0
  61. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/generated_formula/uart_init_Case2.c +0 -0
  62. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/generated_formula/uart_pins_Case1.csv +0 -0
  63. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/generated_formula/uart_pins_Case2.csv +0 -0
  64. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/template.xlsx +0 -0
  65. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/template_formula.xlsx +0 -0
  66. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/template_formula_render.bat +0 -0
  67. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/template_formula_render.sh +0 -0
  68. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/template_render.bat +0 -0
  69. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/basic/template_render.sh +0 -0
  70. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/case_control.deck +0 -0
  71. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/cc_01_LC1.inc +0 -0
  72. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/cc_02_LC2.inc +0 -0
  73. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/cc_03_LC3.inc +0 -0
  74. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/cc_04_COMB4.inc +0 -0
  75. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/cc_05_LC5.inc +0 -0
  76. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/cc_summary_01_LC1.md +0 -0
  77. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/cc_summary_02_LC2.md +0 -0
  78. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/cc_summary_03_LC3.md +0 -0
  79. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/cc_summary_04_COMB4.md +0 -0
  80. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/generated/cc_summary_05_LC5.md +0 -0
  81. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/nastran_case_control.xlsx +0 -0
  82. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/nastran_case_control.yaml +0 -0
  83. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/nastran_case_control_render.bat +0 -0
  84. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/examples/nastran/nastran_case_control_render.sh +0 -0
  85. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/excel_io.py +0 -0
  86. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/formula.py +0 -0
  87. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/formula_eval.py +0 -0
  88. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/jinja_env.py +0 -0
  89. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/models.py +0 -0
  90. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/renderer.py +0 -0
  91. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen/utils.py +0 -0
  92. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen.egg-info/dependency_links.txt +0 -0
  93. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen.egg-info/entry_points.txt +0 -0
  94. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen.egg-info/requires.txt +0 -0
  95. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/excel_codegen.egg-info/top_level.txt +0 -0
  96. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/setup.cfg +0 -0
  97. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/setup.sh +0 -0
  98. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/conftest.py +0 -0
  99. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_abs_fpi_group.py +0 -0
  100. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_asserts.py +0 -0
  101. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_check_report.py +0 -0
  102. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_cli.py +0 -0
  103. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_comments.py +0 -0
  104. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_constraints.py +0 -0
  105. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_derived.py +0 -0
  106. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_doctor.py +0 -0
  107. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_engine_default.py +0 -0
  108. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_examples_command.py +0 -0
  109. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_excel_io.py +0 -0
  110. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_extends.py +0 -0
  111. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_formula.py +0 -0
  112. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_formula_eval.py +0 -0
  113. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_formula_if.py +0 -0
  114. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_group.py +0 -0
  115. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_include.py +0 -0
  116. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_local_direction.py +0 -0
  117. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_nastran_case_control.py +0 -0
  118. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_renderer.py +0 -0
  119. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_run_scripts.py +0 -0
  120. {excel_codegen-0.9.1 → excel_codegen-0.9.2}/tests/test_setup_script.py +0 -0
@@ -7,6 +7,19 @@
7
7
  0.9.0 内置示例随包发布(`excel-codegen examples`)→ 0.9.1 文档修正。逐条实测证据见
8
8
  [`abs_fpi/FINDINGS.md`](abs_fpi/FINDINGS.md)。
9
9
 
10
+ ---
11
+ ## 0.9.2 — 弃用跳板:项目已改名为 spreadsheet_codegen(2026-09-30)
12
+
13
+ **本版本不再演进,功能与 0.9.1 完全相同。**
14
+
15
+ 项目改名为 **`spreadsheet_codegen`**(PyPI:`spreadsheet-codegen`),原因是旧名里带
16
+ Microsoft 的商标 "Excel",作为**产品名**使用存在商标风险(PyPI 的 Acceptable Use Policy
17
+ 禁止侵犯商标,且处罚不可申诉)。完整的排查与法律声明见 `NOTICE.md`。
18
+
19
+ * 请改用:`pip install spreadsheet-codegen` / `uv tool install spreadsheet-codegen`
20
+ * 新项目:<https://pypi.org/project/spreadsheet-codegen/>
21
+ * **旧名 `excel-codegen` 的所有版本随后会被 yank**(新装的人装不到,已被锁定的依赖不受影响)
22
+
10
23
  ---
11
24
 
12
25
  ## 0.9.1 — 文档修正:PyPI 项目描述(2026-09-30)
@@ -10,6 +10,7 @@
10
10
  # `excel-codegen examples --copy DIR` 就能拿到(见 excel_codegen/example_pack.py)。
11
11
 
12
12
  include LICENSE
13
+ include NOTICE.md
13
14
  include README.md
14
15
  include CHANGELOG.md
15
16
  include pyproject.toml
@@ -0,0 +1,56 @@
1
+ # 商标、版权与免责声明(NOTICE)
2
+
3
+ 本文件是 [excel_codegen](README.md) 的法律声明汇总。
4
+
5
+ > **本项目与下列任何厂商均无关联,也未获得其赞助、认可或背书。**
6
+
7
+ ---
8
+
9
+ ## 1. 商标归属
10
+
11
+ 文档与示例中会出现下列名称。它们仅用于**说明兼容性、或说明所依据的规范**(描述性 /
12
+ 指示性使用),相关商标归各自所有者所有:
13
+
14
+ | 名称 | 商标所有者 | 在本项目中的用途 |
15
+ | --- | --- | --- |
16
+ | Microsoft Excel / Excel | Microsoft Corporation | 说明本工具生成与读写的是 Excel 工作簿(`.xlsx`) |
17
+ | NASTRAN | MSC Software Corporation(最初由 NASA 开发) | 说明示例生成的是 NASTRAN 工况控制语句 |
18
+ | GeniE | DNV AS | 说明示例生成的是 GeniE 的 JavaScript 函数体 |
19
+ | ABS(含 ABS FPI / Rules for Building and Classing) | American Bureau of Shipping | 说明示例实现的是一种船级社规范的载荷计算方法 |
20
+ | WPS | 金山办公(Kingsoft Office) | 说明生成的工作簿也能用 WPS 打开 |
21
+ | STM32 | STMicroelectronics | 示例中的 MCU 名称,仅作举例 |
22
+ | Python、PyPI | Python Software Foundation | 运行环境与分发平台 |
23
+
24
+ **本项目不使用**上述任何厂商的 logo、图标、字体或其他品牌视觉元素。
25
+
26
+ ---
27
+
28
+ ## 2. 关于规范文本与工程计算
29
+
30
+ `abs_fpi` 示例实现的是 **ABS《Rules for Building and Classing》**(5A-3-2/5.5 外压、
31
+ 5.7 内压)中的面载荷计算方法。请注意:
32
+
33
+ * **规范文本本身受版权保护,版权归 American Bureau of Shipping 所有。** 本仓库只包含
34
+ 为演示工具用法所必需的公式与系数,**不包含**规范原文、表格或图表;
35
+ * 使用者应**自行取得正式规范**,并以其为准;本项目的实现**未经 ABS 审核或认可**;
36
+ * 本项目**不是**任何船级社的送审工具,输出结果**不能替代**船级社的审查与批准。
37
+
38
+ ---
39
+
40
+ ## 3. 工程用途免责
41
+
42
+ 本工具生成的是**工程计算代码**。生成结果可能因输入数据、模板版本、区域设置
43
+ (例如公式里 `TEXT()` 的数字格式串)等原因而与预期不符:
44
+
45
+ * **用于实际设计、建造或送审之前,必须由具备资格的人员独立复核**;
46
+ * 作者与贡献者**不对任何使用后果承担责任**(另见 [`LICENSE`](LICENSE) 的免责条款)。
47
+
48
+ ---
49
+
50
+ ## 4. 关于 AI 生成
51
+
52
+ 本项目由 AI(DeepSeek)生成,人工负责提需求、定方向与验收(见 [README](README.md))。
53
+
54
+ 请注意:纯 AI 生成内容在部分法域可能**不构成受版权保护的客体** —— 也就是说,
55
+ [`LICENSE`](LICENSE) 里的 MIT 授权对这部分内容未必可执行,你也未必能阻止他人复制。
56
+ 这不影响你使用本项目,但会限制你**主张权利**。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: excel_codegen
3
- Version: 0.9.1
3
+ Version: 0.9.2
4
4
  Summary: Excel 模板参数填写 + Jinja2 代码生成器(支持 Prefix/Value/Suffix 组合)
5
5
  Author: JG. Luo
6
6
  License-Expression: MIT
@@ -18,6 +18,7 @@ Classifier: Topic :: Software Development :: Code Generators
18
18
  Requires-Python: >=3.11
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
+ License-File: NOTICE.md
21
22
  Requires-Dist: openpyxl>=3.1.2
22
23
  Requires-Dist: jinja2>=3.1.2
23
24
  Requires-Dist: pyyaml>=6.0
@@ -31,9 +32,23 @@ Requires-Dist: ruff>=0.6; extra == "dev"
31
32
  Requires-Dist: mypy>=1.11; extra == "dev"
32
33
  Dynamic: license-file
33
34
 
35
+ > # ⛔ 本项目已改名,请勿再使用
36
+ >
37
+ > **`excel-codegen` 已弃用**,请改用 **`spreadsheet-codegen`**:
38
+ >
39
+ > ```bash
40
+ > pip install spreadsheet-codegen # 或 uv tool install spreadsheet-codegen
41
+ > ```
42
+ >
43
+ > 改名原因:旧名里带 Microsoft 的商标 "Excel",存在被投诉下架的商标风险。
44
+ > 本版本(`0.9.2`)只是**弃用跳板** —— 功能与 `0.9.1` 完全相同,**不会再有任何更新**。
45
+ > 新项目:<https://pypi.org/project/spreadsheet-codegen/>
46
+ >
47
+ > ---
48
+
34
49
  # excel_codegen
35
50
 
36
- **在 Excel 里填参数,用 YAML + Jinja2 出代码。**
51
+ **在 Microsoft Excel 里填参数,用 YAML + Jinja2 出代码。**
37
52
 
38
53
  [![ci](https://github.com/Dog-Chest/excel_codegen/actions/workflows/ci.yml/badge.svg)](https://github.com/Dog-Chest/excel_codegen/actions/workflows/ci.yml)
39
54
  ![python](https://img.shields.io/badge/python-3.11%2B-blue)
@@ -137,6 +152,7 @@ excel-codegen render -c examples/basic/example_formula.yaml \
137
152
  | [`CHANGELOG.md`](CHANGELOG.md) | 版本变更历史 |
138
153
  | [`abs_fpi/README.md`](abs_fpi/README.md) | 现场项目:怎么用、边界、四层校验链 |
139
154
  | [`docs/publishing.md`](docs/publishing.md) | 维护者向:发布到 GitHub / PyPI、密钥与隐私 |
155
+ | [`NOTICE.md`](NOTICE.md) | **商标归属、规范版权与免责声明**(含 AI 生成与版权归属说明) |
140
156
 
141
157
  ## 安装
142
158
 
@@ -186,6 +202,18 @@ CI([配置](.github/workflows/ci.yml))在 **Windows / macOS / Linux × Pytho
186
202
  > 语法错误,而在本地 3.12 上跑得好好的),`[tool.coverage.report]` 的 `fail_under = 85`
187
203
  > 让覆盖率掉了就直接红。
188
204
 
205
+ ## 商标与免责
206
+
207
+ * 本项目与 **Microsoft**、**MSC Software**、**DNV**、**ABS**、**金山办公**、**ST**
208
+ 等厂商**均无关联**,也未获得其赞助或背书;文档中出现的产品名仅为说明兼容性或所依据
209
+ 规范的**描述性使用**,相关商标归各自所有者所有;
210
+ * `abs_fpi` 示例依据 **ABS 规范**实现:**规范文本版权归 ABS 所有**,本仓库不含规范原文
211
+ 与表格;该实现**未经 ABS 审核或认可**,使用前请自行取得正式规范并独立复核;
212
+ * 本工具生成的是**工程计算代码**:用于实际设计 / 建造 / 送审之前必须由具备资格的人员
213
+ 独立复核,**不能替代**船级社审查;作者不对使用后果负责。
214
+
215
+ 完整声明(含各商标的所有者清单、AI 生成与版权归属说明)见 [`NOTICE.md`](NOTICE.md)。
216
+
189
217
  ## License
190
218
 
191
- MIT —— 见 [`LICENSE`](LICENSE)。
219
+ MIT —— 见 [`LICENSE`](LICENSE);商标、规范版权与免责声明见 [`NOTICE.md`](NOTICE.md)。
@@ -1,6 +1,20 @@
1
+ > # ⛔ 本项目已改名,请勿再使用
2
+ >
3
+ > **`excel-codegen` 已弃用**,请改用 **`spreadsheet-codegen`**:
4
+ >
5
+ > ```bash
6
+ > pip install spreadsheet-codegen # 或 uv tool install spreadsheet-codegen
7
+ > ```
8
+ >
9
+ > 改名原因:旧名里带 Microsoft 的商标 "Excel",存在被投诉下架的商标风险。
10
+ > 本版本(`0.9.2`)只是**弃用跳板** —— 功能与 `0.9.1` 完全相同,**不会再有任何更新**。
11
+ > 新项目:<https://pypi.org/project/spreadsheet-codegen/>
12
+ >
13
+ > ---
14
+
1
15
  # excel_codegen
2
16
 
3
- **在 Excel 里填参数,用 YAML + Jinja2 出代码。**
17
+ **在 Microsoft Excel 里填参数,用 YAML + Jinja2 出代码。**
4
18
 
5
19
  [![ci](https://github.com/Dog-Chest/excel_codegen/actions/workflows/ci.yml/badge.svg)](https://github.com/Dog-Chest/excel_codegen/actions/workflows/ci.yml)
6
20
  ![python](https://img.shields.io/badge/python-3.11%2B-blue)
@@ -104,6 +118,7 @@ excel-codegen render -c examples/basic/example_formula.yaml \
104
118
  | [`CHANGELOG.md`](CHANGELOG.md) | 版本变更历史 |
105
119
  | [`abs_fpi/README.md`](abs_fpi/README.md) | 现场项目:怎么用、边界、四层校验链 |
106
120
  | [`docs/publishing.md`](docs/publishing.md) | 维护者向:发布到 GitHub / PyPI、密钥与隐私 |
121
+ | [`NOTICE.md`](NOTICE.md) | **商标归属、规范版权与免责声明**(含 AI 生成与版权归属说明) |
107
122
 
108
123
  ## 安装
109
124
 
@@ -153,6 +168,18 @@ CI([配置](.github/workflows/ci.yml))在 **Windows / macOS / Linux × Pytho
153
168
  > 语法错误,而在本地 3.12 上跑得好好的),`[tool.coverage.report]` 的 `fail_under = 85`
154
169
  > 让覆盖率掉了就直接红。
155
170
 
171
+ ## 商标与免责
172
+
173
+ * 本项目与 **Microsoft**、**MSC Software**、**DNV**、**ABS**、**金山办公**、**ST**
174
+ 等厂商**均无关联**,也未获得其赞助或背书;文档中出现的产品名仅为说明兼容性或所依据
175
+ 规范的**描述性使用**,相关商标归各自所有者所有;
176
+ * `abs_fpi` 示例依据 **ABS 规范**实现:**规范文本版权归 ABS 所有**,本仓库不含规范原文
177
+ 与表格;该实现**未经 ABS 审核或认可**,使用前请自行取得正式规范并独立复核;
178
+ * 本工具生成的是**工程计算代码**:用于实际设计 / 建造 / 送审之前必须由具备资格的人员
179
+ 独立复核,**不能替代**船级社审查;作者不对使用后果负责。
180
+
181
+ 完整声明(含各商标的所有者清单、AI 生成与版权归属说明)见 [`NOTICE.md`](NOTICE.md)。
182
+
156
183
  ## License
157
184
 
158
- MIT —— 见 [`LICENSE`](LICENSE)。
185
+ MIT —— 见 [`LICENSE`](LICENSE);商标、规范版权与免责声明见 [`NOTICE.md`](NOTICE.md)。
@@ -92,7 +92,7 @@ from .utils import (
92
92
  to_text,
93
93
  )
94
94
 
95
- __version__ = "0.9.1"
95
+ __version__ = "0.9.2"
96
96
 
97
97
  __all__ = [
98
98
  "FIRST_CASE_COLUMN",
@@ -19,6 +19,19 @@ GeniE 会对被加载面的**每一个离散点**调用它,所以 x/y/z 是当
19
19
  > 这是随包发布的**示例**。开发侧的现场脚本、探针与逐轮实测报告在仓库根的
20
20
  > [`abs_fpi/`](../../../abs_fpi/)(不进包)。
21
21
 
22
+ > ⚠️ **规范版权与免责**
23
+ >
24
+ > * 本示例依据 **ABS《Rules for Building and Classing》**(5A-3-2/5.5 外压、5.7 内压)
25
+ > 实现。**规范文本版权归 American Bureau of Shipping 所有**;本仓库只包含演示所必需的
26
+ > 公式与系数,**不含**规范原文、表格或图表。
27
+ > * 使用者须**自行取得正式规范**并以其为准。本实现**未经 ABS 审核或认可**,
28
+ > 本项目与 ABS **无关联**,`ABS` 是 American Bureau of Shipping 的商标。
29
+ > * 输出**不能替代**船级社审查与批准。用于实际设计 / 建造 / 送审前,必须由具备资格的人员
30
+ > 独立复核。
31
+ > * 示例中的舱容与工况只是**示意数值**,不代表任何真实船舶。
32
+ >
33
+ > 完整声明见仓库根的 `NOTICE.md`(也随发行包发布在 `.dist-info/licenses/` 下)。
34
+
22
35
  ---
23
36
 
24
37
  ## 1. 三本工作簿
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: excel_codegen
3
- Version: 0.9.1
3
+ Version: 0.9.2
4
4
  Summary: Excel 模板参数填写 + Jinja2 代码生成器(支持 Prefix/Value/Suffix 组合)
5
5
  Author: JG. Luo
6
6
  License-Expression: MIT
@@ -18,6 +18,7 @@ Classifier: Topic :: Software Development :: Code Generators
18
18
  Requires-Python: >=3.11
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
+ License-File: NOTICE.md
21
22
  Requires-Dist: openpyxl>=3.1.2
22
23
  Requires-Dist: jinja2>=3.1.2
23
24
  Requires-Dist: pyyaml>=6.0
@@ -31,9 +32,23 @@ Requires-Dist: ruff>=0.6; extra == "dev"
31
32
  Requires-Dist: mypy>=1.11; extra == "dev"
32
33
  Dynamic: license-file
33
34
 
35
+ > # ⛔ 本项目已改名,请勿再使用
36
+ >
37
+ > **`excel-codegen` 已弃用**,请改用 **`spreadsheet-codegen`**:
38
+ >
39
+ > ```bash
40
+ > pip install spreadsheet-codegen # 或 uv tool install spreadsheet-codegen
41
+ > ```
42
+ >
43
+ > 改名原因:旧名里带 Microsoft 的商标 "Excel",存在被投诉下架的商标风险。
44
+ > 本版本(`0.9.2`)只是**弃用跳板** —— 功能与 `0.9.1` 完全相同,**不会再有任何更新**。
45
+ > 新项目:<https://pypi.org/project/spreadsheet-codegen/>
46
+ >
47
+ > ---
48
+
34
49
  # excel_codegen
35
50
 
36
- **在 Excel 里填参数,用 YAML + Jinja2 出代码。**
51
+ **在 Microsoft Excel 里填参数,用 YAML + Jinja2 出代码。**
37
52
 
38
53
  [![ci](https://github.com/Dog-Chest/excel_codegen/actions/workflows/ci.yml/badge.svg)](https://github.com/Dog-Chest/excel_codegen/actions/workflows/ci.yml)
39
54
  ![python](https://img.shields.io/badge/python-3.11%2B-blue)
@@ -137,6 +152,7 @@ excel-codegen render -c examples/basic/example_formula.yaml \
137
152
  | [`CHANGELOG.md`](CHANGELOG.md) | 版本变更历史 |
138
153
  | [`abs_fpi/README.md`](abs_fpi/README.md) | 现场项目:怎么用、边界、四层校验链 |
139
154
  | [`docs/publishing.md`](docs/publishing.md) | 维护者向:发布到 GitHub / PyPI、密钥与隐私 |
155
+ | [`NOTICE.md`](NOTICE.md) | **商标归属、规范版权与免责声明**(含 AI 生成与版权归属说明) |
140
156
 
141
157
  ## 安装
142
158
 
@@ -186,6 +202,18 @@ CI([配置](.github/workflows/ci.yml))在 **Windows / macOS / Linux × Pytho
186
202
  > 语法错误,而在本地 3.12 上跑得好好的),`[tool.coverage.report]` 的 `fail_under = 85`
187
203
  > 让覆盖率掉了就直接红。
188
204
 
205
+ ## 商标与免责
206
+
207
+ * 本项目与 **Microsoft**、**MSC Software**、**DNV**、**ABS**、**金山办公**、**ST**
208
+ 等厂商**均无关联**,也未获得其赞助或背书;文档中出现的产品名仅为说明兼容性或所依据
209
+ 规范的**描述性使用**,相关商标归各自所有者所有;
210
+ * `abs_fpi` 示例依据 **ABS 规范**实现:**规范文本版权归 ABS 所有**,本仓库不含规范原文
211
+ 与表格;该实现**未经 ABS 审核或认可**,使用前请自行取得正式规范并独立复核;
212
+ * 本工具生成的是**工程计算代码**:用于实际设计 / 建造 / 送审之前必须由具备资格的人员
213
+ 独立复核,**不能替代**船级社审查;作者不对使用后果负责。
214
+
215
+ 完整声明(含各商标的所有者清单、AI 生成与版权归属说明)见 [`NOTICE.md`](NOTICE.md)。
216
+
189
217
  ## License
190
218
 
191
- MIT —— 见 [`LICENSE`](LICENSE)。
219
+ MIT —— 见 [`LICENSE`](LICENSE);商标、规范版权与免责声明见 [`NOTICE.md`](NOTICE.md)。
@@ -2,6 +2,7 @@
2
2
  CHANGELOG.md
3
3
  LICENSE
4
4
  MANIFEST.in
5
+ NOTICE.md
5
6
  README.md
6
7
  pyproject.toml
7
8
  setup.sh
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "excel_codegen"
8
- version = "0.9.1"
8
+ version = "0.9.2"
9
9
  description = "Excel 模板参数填写 + Jinja2 代码生成器(支持 Prefix/Value/Suffix 组合)"
10
10
  readme = "README.md"
11
11
  # 支持下限 = **CI 真正测过的最老版本**(见 .github/workflows/ci.yml)。
@@ -13,7 +13,8 @@ readme = "README.md"
13
13
  # 只需把这里、CI 矩阵、以及 README 的说明一起改掉(不要让文档比代码乐观)。
14
14
  requires-python = ">=3.11"
15
15
  license = "MIT"
16
- license-files = ["LICENSE"]
16
+ # NOTICE.md 一起进 wheel 的 .dist-info/licenses/ 与 sdist —— 商标与免责声明要跟着分发走
17
+ license-files = ["LICENSE", "NOTICE.md"]
17
18
  authors = [{ name = "JG. Luo" }]
18
19
  keywords = ["excel", "openpyxl", "jinja2", "codegen", "template"]
19
20
  classifiers = [
@@ -227,7 +227,7 @@ wheels = [
227
227
 
228
228
  [[package]]
229
229
  name = "excel-codegen"
230
- version = "0.9.1"
230
+ version = "0.9.2"
231
231
  source = { editable = "." }
232
232
  dependencies = [
233
233
  { name = "jinja2" },
File without changes
File without changes
File without changes
File without changes