Skip to main content

A powerful architectural calculation tool for building and analyzing complex calculation graphs

Project description

🎨 ArchDash

PyPI version Python Version License: MIT Downloads

ArchDash 是一个强大的架构计算工具,用于构建和分析复杂的计算图。通过直观的 Web 界面,您可以轻松创建节点、设置参数、建立依赖关系,并进行参数敏感性分析。

系统界面预览

✨ 主要功能

  • 🏗️ 可视化计算图构建 - 通过拖拽创建节点和参数
  • 🔗 智能依赖管理 - 自动检测和防止循环依赖
  • 实时计算更新 - 参数变化时自动重新计算依赖项
  • 📊 参数敏感性分析 - 可视化参数对结果的影响
  • 🎯 累计绘图模式 - 对比多个分析结果
  • 💾 数据导出功能 - 支持计算图和分析数据导出
  • 🌙 深色/浅色主题 - 优雅的用户界面设计
  • 📝 Python 代码编辑 - 内置代码编辑器支持复杂计算

🚀 快速开始

方式一:从 PyPI 安装(推荐)

# 创建虚拟环境(可选但推荐)
python -m venv archdash-env
source archdash-env/bin/activate  # Linux/macOS
# 或 archdash-env\Scripts\activate  # Windows

# 安装 ArchDash
pip install archdash

# 启动应用
archdash

# 指定端口启动
archdash --port 8080

# 调试模式启动
archdash --debug

方式二:从源码安装

# 克隆仓库
git clone https://github.com/Readm/ArchDash.git
cd ArchDash

# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate  # Linux/macOS
# 或 venv\Scripts\activate  # Windows

# 安装依赖
pip install -r requirements.txt

# 运行应用
python app.py

访问应用

无论使用哪种安装方式,应用启动后都可以通过浏览器访问:

⚠️ 环境要求

  • Python: 3.8 或更高版本
  • 操作系统: Windows, macOS, Linux
  • 浏览器: Chrome, Firefox, Safari, Edge(推荐使用现代浏览器)

💡 安装提示

  1. 虚拟环境: 强烈建议使用虚拟环境以避免依赖冲突
  2. 网络: 首次安装需要下载约 50MB 的依赖包
  3. 权限: 某些系统可能需要管理员权限安装包
  4. 防火墙: 确保所选端口未被防火墙阻止

🛠️ 技术栈

  • 后端: Python 3.8+, Flask
  • 前端: Dash, Bootstrap
  • 数据处理: Pandas, NumPy
  • 可视化: Plotly
  • 代码编辑: Ace Editor
  • 测试: Pytest

📖 使用指南

1. 创建节点

  • 点击左上角 ➕ 按钮创建新节点
  • 双击节点编辑名称和描述

2. 添加参数

  • 使用节点标题栏的 ➕ 按钮添加参数
  • 双击参数进入详细编辑模式

3. 建立依赖关系

  • 在参数编辑面板中选择依赖参数
  • 编写计算函数(支持 Python 语法)
  • 系统自动检测循环依赖

4. 敏感性分析

  • 选择 X 轴和 Y 轴参数
  • 设置扫描范围和步长
  • 生成可视化分析图表

5. 数据导出

  • 保存完整计算图为 JSON 文件
  • 导出敏感性分析数据为 CSV 文件

🎯 示例应用

ArchDash 适用于多种场景:

  • 架构设计评估 - 评估不同架构参数对性能的影响
  • 多核 SoC 分析 - 分析处理器核心数、频率等参数关系
  • 系统优化 - 通过参数扫描找到最优配置
  • 教学演示 - 可视化展示复杂系统的参数依赖关系

点击应用内的 🎯 按钮可以加载一个多核SoC示例,快速了解系统功能。

🤝 贡献

欢迎贡献代码!请遵循以下步骤:

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

📝 开发

本地开发设置

# 克隆仓库
git clone https://github.com/Readm/ArchDash.git
cd ArchDash

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安装开发依赖
pip install -r requirements.txt
pip install -e .

# 运行测试
pytest

# 启动开发服务器
python app.py --debug

虚拟环境管理

# 激活虚拟环境
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate     # Windows

# 停用虚拟环境
deactivate

# 删除虚拟环境(如需重新创建)
rm -rf venv  # Linux/macOS
rmdir /s venv  # Windows

项目结构

ArchDash/
├── archdash/           # 主包目录
│   ├── __init__.py
│   ├── app.py         # 主应用文件
│   ├── models.py      # 数据模型
│   ├── layout.py      # UI 布局
│   ├── constants.py   # 常量定义
│   └── assets/        # 静态资源
├── tests/             # 测试文件
├── requirements.txt   # 依赖列表
├── setup.py          # 包配置
└── README.md         # 项目说明

📄 许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。

🙏 致谢

  • Dash - 强大的 Python Web 框架
  • Plotly - 优秀的数据可视化库
  • Bootstrap - 现代化的 CSS 框架

📞 联系


⭐ 如果这个项目对您有帮助,请给我们一个星标!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

archdash-0.0.1.tar.gz (537.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

archdash-0.0.1-py3-none-any.whl (70.8 kB view details)

Uploaded Python 3

File details

Details for the file archdash-0.0.1.tar.gz.

File metadata

  • Download URL: archdash-0.0.1.tar.gz
  • Upload date:
  • Size: 537.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for archdash-0.0.1.tar.gz
Algorithm Hash digest
SHA256 86c3f4d57450edbc64dba55bbb03c4a430435e7905372a6c968e65e21530aa7f
MD5 8b19cd2944c58d84a8014dc5c21d2277
BLAKE2b-256 133b870f13f255ea90324c48e40396b9a301ca8a766f6a19931ef8cb6964ed1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for archdash-0.0.1.tar.gz:

Publisher: python-publish.yml on Readm/ArchDash

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file archdash-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: archdash-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 70.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for archdash-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7b4325c47bb3a08dd62efb91eb6c4de599bd4e6329ce9444a71fa31ae8430ebb
MD5 797c5bf71ac4333ab4212fb59b7ed0ff
BLAKE2b-256 31c258f41fb8fd9b1307e14d64c2f5618f30cd691589832f6226b516b356bbcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for archdash-0.0.1-py3-none-any.whl:

Publisher: python-publish.yml on Readm/ArchDash

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page