fspacker.parsers package

Submodules

fspacker.parsers.manager module

class fspacker.parsers.manager.ProjectManager(root_dir: str | Path = '.', match_name: str = '')[源代码]

基类:object

项目管理工具, 可执行搜索、构建、运行、清理等操作.

build() None[源代码]

构建项目.

run(name: str = '') None[源代码]

运行项目.

抛出:

RunExecutableError -- 未找到项目或可执行文件

clean() None[源代码]

清理项目分发目录.

fspacker.parsers.package module

fspacker.parsers.package.analyze_package_deps(package_file_path: Path) list[Requirement][源代码]

分析包文件依赖项.

参数:

package_file_path (pathlib.Path) -- 包文件路径.

返回:

依赖项列表.

返回类型:

list[Requirement]

fspacker.parsers.project module

Config file parser for project, support poetry and PEP621 format.

Usage example:
>>> from fspacker.parsers.project import Project
>>> from pathlib import Path
>>> project = Project(Path("."))
>>> project.name
'fspacker'
>>> project.python_specifiers
'>=3.8'
>>> project.authors
[{'name': 'gooker_young', 'email': 'gooker_young@qq.com'}]
>>> project.description
'Fast & Simple Packer toolset for python.'
class fspacker.parsers.project.Project(project_dir: Path)[源代码]

基类:object

项目构建信息.

IGNORE_ENTRIES = frozenset({'dist', 'dist-info', 'runtime', 'site-packages'})
property dist_dir: Path

打包目录.

property dest_src_dir: Path

目标源代码目录.

property license_file: Path | None

LICENSE 文件路径.

property runtime_dir: Path

运行时目录.

property exe_file: Path

可执行文件.

property min_python_version: str[源代码]

Calculate the minimum Python version.

返回:

minimum Python version.

返回类型:

str

property embed_filename: str[源代码]

嵌入文件名.

property embed_filepath: Path[源代码]

嵌入文件路径.

property is_gui: bool

判断是否为 GUI 项目.

property is_normal_project: bool

判断是否为普通项目.

property normalized_dir: Path | None

项目常规目录.

property normalized_name: str

名称归一化, 替换所有'-'为'_'.

is_valid_entry(filepath: Path) bool[源代码]

判断文件是否有效.

参数:

filepath -- 文件路径.

返回:

是否有效.

Module contents