Skip to main content

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.

Platform License Python

Screenshots

Main Documentation Interface

Main Screen Create and edit documentation with live Mermaid diagram previews.

GIF Builder Tool

GIF Builder Convert image sequences to animated GIFs for documentation.

Mermaid Converter

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

  1. Main Documentation Tool:
pymerdoc
# or
python -m pymerdoc.main
  1. GIF Builder:
pymerdoc-gm
# or
python -m pymerdoc.gm
  1. Mermaid Converter:
pymerdoc-mc
# or
python -m pymerdoc.mc

Creating Mermaid Diagrams

  1. Open the main application
  2. Enter your Mermaid syntax:
graph TD
    A[Start] --> B{Decision}
    B -->|Yes| C[OK]
    B -->|No| D[Cancel]
  1. Preview updates in real-time
  2. Export to desired format

Creating Animated GIFs

  1. Launch the GIF Builder:
pymerdoc-gm
  1. Add PNG files using the "Add Files" button
  2. Adjust frame order and timing
  3. Set background color if needed
  4. 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

  1. Create virtual environment:
python -m venv .venv
source .venv/bin/activate  # Linux/macOS
.venv\Scripts\activate     # Windows
  1. Install development dependencies:
pip install -r requirements.txt
  1. 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

  1. Fork the repository
  2. Create your feature branch
git checkout -b feature/AmazingFeature
  1. Commit your changes
git commit -m 'Add some AmazingFeature'
  1. Push to the branch
git push origin feature/AmazingFeature
  1. 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


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

pymerdoc-0.1.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

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

Hashes for pymerdoc-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81e4129b246e0855cb89b59d081625b6eac5a236a3851892d145f0cdf893832e
MD5 c78dc085f1978824d13e239f663f506f
BLAKE2b-256 ea36a22a8c4fc22a2373ab9fd8a1d5e4ac218f74d0a1492b8919b78f1152c9a8

See more details on using hashes here.

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