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.

PlatformLicense Python

Screenshots

Main Documentation Interface

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

GIF Builder Tool

GIF BuilderLicense

Convert image sequences to animated GIFs for documentation.

Mermaid Converter

Mermaid ConverterLicense

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.2.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file pymerdoc-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pymerdoc-0.2.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1fb10a59c67f2aebd1cba6607fd2640916c0b674965ba20d351514cbc45d71cd
MD5 fd9a70e6630b14a8d683b4804cb9454a
BLAKE2b-256 33fa0195e4f2fe4622c47a41343e556be0f9c03d0b0a24a1a2a498e20d2ace9b

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