A tool for creating and managing Mermaid diagrams with modern UI
Project description
PyMerDoc - Mermaid Documentation Tools
A modern documentation toolkit built with PyQt6 that combines Mermaid diagram support with animated GIF creation capabilities. Perfect for creating technical documentation, tutorials, and animated diagrams.
Screenshots
Main Documentation Interface
Create and edit documentation with live Mermaid diagram previews.
GIF Builder Tool
Convert image sequences to animated GIFs for documentation.
Mermaid Converter
Convert Mermaid syntax to various diagram formats.
Features
Main Application (pymerdoc)
- Real-time preview of Mermaid diagrams
- Export diagrams to PNG/SVG
- Modern cyberpunk-themed interface
- Theme support (Light/Dark/System)
- File management capabilities
GIF Maker (pymerdoc-gm)
- Convert PNG sequences to animated GIFs
- Customizable background colors
- Adjustable frame delay
- Drag-and-drop frame reordering
- Preview functionality
Mermaid Converter (pymerdoc-mc)
- Standalone Mermaid diagram converter
- Multiple export formats
- Batch processing capabilities
- Custom styling options
Installation
From PyPI (Recommended)
pip install pymerdoc
From Source
git clone https://github.com/scottpeterman/pymerdoc.git
cd pymerdoc
pip install -e .
Usage
Running the Applications
- Main Documentation Tool:
pymerdoc
# or
python -m pymerdoc.main
- GIF Builder:
pymerdoc-gm
# or
python -m pymerdoc.gm
- Mermaid Converter:
pymerdoc-mc
# or
python -m pymerdoc.mc
Creating Mermaid Diagrams
- Open the main application
- Enter your Mermaid syntax:
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[OK]
B -->|No| D[Cancel]
- Preview updates in real-time
- Export to desired format
Creating Animated GIFs
- Launch the GIF Builder:
pymerdoc-gm
- Add PNG files using the "Add Files" button
- Adjust frame order and timing
- Set background color if needed
- Click "Generate GIF" to create animation
Requirements
- Python 3.8+
- PyQt6 6.8.0+
- PyQt6-WebEngine 6.8.0+
- Pillow 11.0.0+
- Additional dependencies listed in requirements.txt
Configuration
The application stores configuration in platform-specific locations:
- Windows:
%APPDATA%/pymerdoc/ - Linux:
~/.config/pymerdoc/ - macOS:
~/Library/Application Support/pymerdoc/
Development Setup
- Create virtual environment:
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
- Install development dependencies:
pip install -r requirements.txt
- Run tests:
pytest tests/
Project Structure
pymerdoc/
├── docs/ # Documentation and screenshots
├── pymerdoc/ # Main package
│ ├── main.py # Main application
│ ├── gm.py # GIF maker
│ ├── mc.py # Mermaid converter
│ └── theme_manager.py # Theme handling
└── tests/ # Test suite
Contributing
- Fork the repository
- Create your feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature'
- Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
Testing
Run the test suite:
pytest tests/
License
This project is licensed under the GNU General Public License v3 (GPLv3) - see the LICENSE file for details.
Contact
Project Link: https://github.com/scottpeterman/pymerdoc
Acknowledgments
- Mermaid.js for diagram rendering
- PyQt6 for the application framework
- All our contributors and users
Release Notes
0.1.0
- Initial release
- Basic Mermaid diagram support
- GIF creation tool
- Mermaid converter utility
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pymerdoc-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pymerdoc-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81e4129b246e0855cb89b59d081625b6eac5a236a3851892d145f0cdf893832e
|
|
| MD5 |
c78dc085f1978824d13e239f663f506f
|
|
| BLAKE2b-256 |
ea36a22a8c4fc22a2373ab9fd8a1d5e4ac218f74d0a1492b8919b78f1152c9a8
|