217 Commits

Author SHA1 Message Date
muzing
525af63e96 Add CONTRIBUTING.md
添加贡献指南;
2024-01-16 16:50:44 +08:00
pre-commit-ci[bot]
61dffaeaa6 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.11 → v0.1.13](https://github.com/astral-sh/ruff-pre-commit/compare/v0.1.11...v0.1.13)
2024-01-16 16:44:43 +08:00
dependabot[bot]
bb2e491b36 Bump ruff from 0.1.11 to 0.1.13
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.1.11 to 0.1.13.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.1.11...v0.1.13)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-16 16:44:43 +08:00
pre-commit-ci[bot]
422314abb5 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.9 → v0.1.11](https://github.com/astral-sh/ruff-pre-commit/compare/v0.1.9...v0.1.11)
2024-01-11 09:42:33 +08:00
muzing
c7800b8eb6 Update validators
更新验证器模块:
- 实现可选依赖 Pillow 对应的精确图标格式识别功能;
- 补充完善docstrings;
- 将 `print()` 改为 `warnings.warn()`;
2024-01-07 05:15:16 +08:00
muzing
26e149c0ec Update ROADMAP.md 2024-01-06 12:04:35 +08:00
muzing
0edbed1fa5 Update dev scripts
添加 `__all__`,模块级提供的函数列表呈现更清晰;
更新 docstrings;
其他微小改动优化;
2024-01-06 12:00:00 +08:00
muzing
a6b7e323e4 Simplify dependencies
将主要依赖 PySide6 替换为 PySide6-Essentials,显著减少了程序体积;
手动控制 requirements.txt 中的版本约束,使更宽松易满足;
2024-01-05 16:52:41 +08:00
木子
35e24cb95b
Merge pull request #20 from muziing/dev
Version `0.3.1`
v0.3.1-beta
2024-01-04 22:21:16 +08:00
muzing
09f6533b8d Version 0.3.1
新功能:
- 初步实现国际化,实现自动切换界面语言功能;
- 初步实现英文界面;
2024-01-04 22:04:06 +08:00
muzing
ed67cd8b87 Update README 2024-01-04 21:59:23 +08:00
muzing
6a30d8c56e Update README 2024-01-04 21:54:28 +08:00
muzing
c42fbaecc9 New feature: i18n
初步实现界面控件的国际化翻译功能;
初步完成界面的全英文翻译;
2024-01-04 20:46:18 +08:00
muzing
cea7f5ba2a Update resources
更新静态资源文件:
- 更新「关于」文档中的版权信息;
- 将 Text 中的 zh 改为更准确的 zh_CN;
- qrc 中添加 `i18n/zh_CN.qm`,为实现界面翻译做准备;
2024-01-04 20:36:48 +08:00
muzing
b099b94625 Add QObjTr
增加 `QObjTr` 类,为实现界面翻译做准备;
2024-01-04 15:39:39 +08:00
muzing
b7e36c9960 Update dev scripts
更新开发脚本:
- 增加对 poetry build 构建的异常处理;
- 修复路径常量中获取项目根路径的方法,排除运行脚本的工作目录不同带来的干扰;
- 添加两个关于构建 PySide 翻译工作流的函数 `gen_ts()` 与 `gen_qm()`;
- 将 RCC 资源编译函数 `compile_resources()` 重构至新的模块中;
2024-01-04 14:47:15 +08:00
木子
5f3bc8b46f
Merge pull request #19 from muziing/dev
Version `0.3.0`
v0.3.0-beta
2024-01-02 22:31:52 +08:00
muzing
f5b3793903 Version 0.3.0
新功能:
- 初步实现用户浏览选择其他 Python 解释器环境功能;
- 可以根据路径名称规律简单推断 Python 环境类型;

修复与优化:
- 修复因类型错误导致不能正确处理 option_error 的问题,用户输入错误时能够得到正确的警告提示了;
- 大幅完善与优化 docstrings,使符合 Sphinx 风格;
- 添加各模块的 `__all__` 白名单入口,模块成员更清晰;
- 将部分控件的从属关系进行调整优化;
- 略微优化性能;
2024-01-02 22:26:42 +08:00
muzing
8e48c32216 Update PyEnv
add `install_package()`;
2024-01-02 21:53:12 +08:00
muzing
c691a71373 Update ROADMAP.md 2024-01-02 15:32:08 +08:00
muzing
5ce25f0c99 Move pyinstaller_option_table into CenterWidget
通过将选项详情表格从 `MainWindow` 移动至 `CenterWidget` 中来实现避免重复调用耗时的 `load_pyinst_options()` 函数;
2024-01-02 14:59:52 +08:00
muzing
e37711efb1 Add filter to InterpreterFileDlg 2024-01-02 14:56:39 +08:00
muzing
8d50c97cd4 Add global variable ALL_PY_ENVs
使用新增的全局变量 `ALL_PY_ENVs` 来管理当前已加载的所有 `PyEnv` 实例;
`PyEnvComboBox` 的条目的 data 改为存储对应 `ALL_PY_ENVs` 索引,而不再是 `PyEnv` 实例;
`PackagingTask` 中新增对使用的 Python 环境的存储;
2024-01-02 11:08:25 +08:00
muzing
950b8d813a Update README 2024-01-01 11:23:27 +08:00
muzing
f7d5934b0e Add __all__ 2024-01-01 09:47:50 +08:00
muzing
c83614eb17 Add __all__ 2024-01-01 09:42:57 +08:00
muzing
37e7fd48c9 Move handle_pyenv_change() into CenterWidget
将处理 pyenv_combobox.currentIndexChanged 的槽函数从 `MainApp` 移入 `CenterWidget`,改变运行打包时获取当前选中 Python 解释器可执行文件路径的方式;
规范统一槽函数的名称,使用 `handle_` 前缀;
为涉及模块添加 `__all__`;
2023-12-31 21:49:54 +08:00
muzing
3b98417164 Update pkg_browser_dlg
将 PkgBrowserDlg 的实例从 hidden_import_dlg 中移出到 CenterWidget 中;
为涉及模块添加 `__all__`;
2023-12-31 21:28:22 +08:00
muzing
6f4966cff1 Update pyinstaller_option_widget.py
更新 `load_pyinst_options()` 函数:
- 完善文档
- 使用性能更高的 CLoader 来解析 YAML;
- 使用性能更高的列表推导式来创建选项字典;

更新 `PyinstallerOptionTable`:
- 将耗时的从文件中加载选项详情操作变为懒加载,初始化时不调用,只有显示窗口时才调用;
2023-12-31 20:24:06 +08:00
muzing
244f149e9a Add dev tool line-profiler
添加一个新的开发工具 line-profiler,将使用该工具进行性能分析与优化;
2023-12-31 14:56:17 +08:00
muzing
3dd2013131 Update PyEnv
将重要属性保存到 `@property` 保护的实例属性中,实现只读,外部操作更安全;
将非常耗时的 `get_py_version()` 和 `get_installed_packages()` 处理为有缓存的懒加载;
2023-12-31 11:42:43 +08:00
muzing
8614ca1d42 Fix duplicate PyEnv issue
修复可以重复添加相同的 Python 解释器环境的问题;
将槽函数统一命名,加 `handle_` 前缀;
完善注释与文档;
修复 `PyEnvComboBox` 可能无法显示完整图标的问题;
2023-12-31 09:59:34 +08:00
muzing
a3224c86e5 Update Resources 2023-12-31 09:40:11 +08:00
muzing
fc7dfd7dfb New feature: browse Python environment
初步实现用户浏览与选择 Python 解释器环境功能;
2023-12-31 00:35:33 +08:00
muzing
e75204a282 Update docstrings
完善与更新docstrings;
`SubProcessTool` 的输出类型使用枚举值管理;
其他零碎优化;
2023-12-29 21:07:38 +08:00
muzing
9b0555bdac Update dev script build 2023-12-29 16:13:12 +08:00
muzing
9f0a0bd1cd Update docstrings
更新与完善docstrings,使符合 Sphinx 风格;
2023-12-29 16:05:25 +08:00
muzing
972c379277 Update validators
更新验证器模块:
添加与完善docstrings;
完善三个验证方法的实现;
2023-12-29 15:58:42 +08:00
muzing
6aae8f4aab Update PyEnvComboBox
更新与完善 docstrings;
启用 `PyEnv` 自动类型推断;
重写 `_gen_item()` 静态方法,使用字典映射更清晰易扩展、增加异常处理机制;
增加一个新的图标;
2023-12-29 11:28:45 +08:00
muzing
23ae7522d0 Update open_qfile.py
更新与完善 docstrings;
将 `qba_to_str()` 提取成独立的函数,方便其他模块调用;
2023-12-28 23:36:17 +08:00
muzing
f78e697693 Fix PackagingTask.option_error
修复 option_error 信号参数值的类型,解决选项有错误时界面却不能正常处理的问题;
将槽函数(也是回调函数)`handle_option()` 重命名为 `on_opt_selected()`,含义更清晰;
更新与补充 docstrings;
2023-12-28 22:53:33 +08:00
muzing
bc035f955b Update PyEnv
更新 `PyEnv` 模块:
极大丰富注释与文档;
初步实现 `infer_type()` 方法;
删除不必要的实例属性;
2023-12-28 22:50:30 +08:00
muzing
40e3941c86 Fix import 2023-12-28 22:20:37 +08:00
muzing
b712168f35 Refactor Platform
删去 `platform_constants` 模块,将平台相关常量和功能移至 `runtime_info` 模块中;
将枚举类 `PLATFORM` 重命名为 `Platform`,避免全大写名称与全局变量混淆,同时修改为 enum.StrEnum 类型;
补充注释与文档;
2023-12-28 17:10:40 +08:00
muzing
a3c431a3de Add more exclude rules for dev tools
为开发工具补充更多排除规则,免去检查编译资源文件;
2023-12-28 17:04:47 +08:00
muzing
a7cb5aa722 Add package-level docstrings
增加与完善软件包级文档字符串
2023-12-28 11:00:42 +08:00
muzing
ea39c09317 Version 0.2.1
新功能:
- 界面上许多控件增加 ToolTip 提示,显示对应的 PyInstaller 选项详情;
- `--hidden-import` 添加“隐式导入”功能;
- 增加浏览当前 Python 环境中所有已安装库的窗口对话框 `PkgBrowserDlg`;

重大修改:
- 重新实现 `PyEnv` 类,不再仅是简单存储可执行文件的数据类,还重构集成了获取版本、已安装包等等功能;
- 将 `PyinstallerArgs` 枚举类重命名为 `PyInstOpt`;
- `PackagingTask` 实例属性中改用字典存储打包任务参数;

修复与优化:
- 优化 `QtFileOpen` 与 `PyQTextFileIo`,有了更完善的异常机制;
- 其他异常处理与优化;
2023-12-27 16:39:35 +08:00
muzing
f3b0bc9ac1 Optimize subprocess
增加一批异常处理机制,增强代码健壮性(感谢“通义灵码”!);
2023-12-27 16:39:35 +08:00
muzing
c4e9591d3d Fix PyEnv
修复相对导入问题;
处理 pip list 命令中更新 pip 提示的问题;
删去 `PyEnvComboBox` 中无用的条目;
2023-12-27 16:39:35 +08:00
muzing
d0e71181e7 Update PkgBrowserDlg
添加更新界面上表格控件数据的方法;
2023-12-27 16:39:35 +08:00