DataPlotly 项目结构与配置指南
一、项目整体架构
DataPlotly 采用模块化设计,其核心目录布局如下:DataPlotly/
├── img/ # 图像资源目录
├── scripts/ # 辅助脚本目录
├── .gitignore # Git 版本控制排除规则
├── CHANGELOG.md # 版本变更记录
├── LICENSE.md # 开源许可证
├── Makefile # 构建自动化脚本
├── README.md # 项目说明文档
├── REQUIREMENTS_TESTING.txt # 测试环境依赖
├── publiccode.yml # 公共代码清单配置
├── pylintrc # 代码质量检查配置
├── setup.cfg # 项目初始化配置
└── DataPlotly/ # 主程序包
├── __init__.py
├── core/ # 核心功能模块
├── gui/ # 图形界面模块
├── processing/ # 数据处理模块
├── resources/ # 静态资源模块
└── test/ # 单元测试模块
各目录功能说明
- img/:存储项目文档和演示所需的图片资源
- scripts/:包含自动化脚本和工具程序
- DataPlotly/:项目主命名空间,包含全部业务逻辑代码
- test/:存放测试用例和测试数据
二、包初始化机制
项目的入口点位于DataPlotly/__init__.py,该文件负责将各子模块统一导出:
# DataPlotly/__init__.py
# 加载核心绘图功能
from .core import PlotRenderer, DataTransformer
# 加载图形用户界面组件
from .gui import MainWindow, PlotWidget, ConfigDialog
# 加载数据处理算法
from .processing import PlotProcessor, StyleApplier
# 加载测试工具集
from .test import TestSuite, BenchmarkRunner
上述初始化逻辑实现了命名空间的统一管理,使外部调用更加简洁。
三、项目配置体系
setup.cfg 是项目的主要配置文件,涵盖元数据、代码规范和测试设置:
# setup.cfg
[metadata]
name = DataPlotly
version = 0.2
description = 基于 Plotly 的 QGIS 图表生成插件
author = Development Team
author_email = dev@dataplotly.org
license = GPL-2.0
url = https://github.com/dataplotly/DataPlotly
[pylint]
max-line-length = 120
disable = missing-docstring, invalid-name, too-few-public-methods
[flake8]
max-line-length = 120
ignore = E203, E266, W503
exclude = test_*.py
[tool:pytest]
addopts = -v --cov=dataplotly --cov-report=html
testpaths = test
python_files = test_*.py
python_classes = Test*
python_functions = test_*
配置项详解
| 配置段 | 作用 |
|---|---|
| [metadata] | 定义项目名称、版本、描述、作者和许可证信息 |
| [pylint] | 设置代码风格检查规则,包括行长度限制和禁用规则 |
| [flake8] | 配置 Python 语法检查,排除特定错误码 |
| [tool:pytest] | 配置测试运行参数、覆盖率报告格式和测试文件路径 |
通过统一的配置文件管理,项目团队可以保持代码风格一致,并自动化执行测试流程。